# HG changeset patch # User Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com> # Date 1303923271 -7200 # Node ID 9578d3ddce176b70936145a641099b32d13fa2ec # Parent c84f8401d36e8f26abb66084aff18c41d4295597 correct line endings + other small errors diff -r c84f8401d36e -r 9578d3ddce17 web/about.php --- a/web/about.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/about.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,167 +1,167 @@ - - - - - - - ENMI 2010 - Live Video and Annotation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
-
-
- -

_("A propos"); ?> :


-
- -
_("1. AboutTitle"); ?>
-
- _("1. AboutText"); ?> -
-
- - -
-
_("2. AboutIRITitle"); ?>
- _("2. AboutIRIText"); ?> - -
_("3. AboutCreditsTitle"); ?>
-
- _("3. AboutCreditsText"); ?> -
- - -
-
-
-
- - -
- - -
-
-
-
ENMI 2010
-
Annotation critique par tweet
-
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. -
-
-
- S'identifier

- Libre accès -
-
-
-
- - - - + + + + + + + ENMI 2010 - Live Video and Annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+
+ +

_("A propos"); ?> :


+
+ +
_("1. AboutTitle"); ?>
+
+ _("1. AboutText"); ?> +
+
+ + +
+
_("2. AboutIRITitle"); ?>
+ _("2. AboutIRIText"); ?> + +
_("3. AboutCreditsTitle"); ?>
+
+ _("3. AboutCreditsText"); ?> +
+ + +
+
+
+
+ + +
+ + +
+
+
+
ENMI 2010
+
Annotation critique par tweet
+
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. +
+
+
+ S'identifier

+ Libre accès +
+
+
+
+ + + + diff -r c84f8401d36e -r 9578d3ddce17 web/client.php --- a/web/client.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/client.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,415 +1,415 @@ -getRequestToken(); - $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); - - /** - * Now redirect user to Twitter site so they can log in and - * approve our access - */ - $consumer->redirect(); -} - -/* CLIENT VAR LIVE */ - -$C_hashtag= "#rsln"; -$C_link = "http://www.rslnmag.fr/blog/2011/3/24/la-journaliste-mercedes-bunz-prochaine-invitee-des-rencontres-rsln/"; -$C_title = "Mercedes Bunz et le journaliste"; -$C_REP = "rsln-mercedes-bunz/"; -$C_description = "Elle nous racontera comment les algorithmes ont fini par devenir des producteurs d'infos et pourquoi ils ne remplaceront pour autant jamais les journalistes. -

-(titre de sa conférence, en VO : When robots learned to write, How the rise of the algorithms will change journalism and revolutionize our concept of knowledge.) -

-C'est un thème sur lequel elle avait été très remarquée, lors d'une intervention à la conférence Lift, à Genève, en mai 2010."; - -$C_partenaires = " - - IRI - | RSLN - | MICROSOFT.fr "; - -?> - - - - - - - RSLN - Live Video and Annotation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
-
- -
- -
- -
- -
-
-
-
-
-
-
- - -
- -
-

_("ClientTitle1 :"); ?>

-
- - ".$translate->_("Vous n'êtes pas connecté.")."
"); - }else{ - echo(""); - } - ?> - - -
- _("Envoyé"); ?>

-
- -
- _("Erreur1"); ?>
 


-
- - - - - _("Envoyer"); ?> - - ++ - -- - == - ?? - -
- -
- -
- - - - - - - -
-
-
-
 
-
_("splatchPageTitle"); ?>
-
_("splatchPageText"); ?>
-
-
- _("S'identifier"); ?>

- _("Libre accès"); ?> -
-
-
-
- - - - - +getRequestToken(); + $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); + + /** + * Now redirect user to Twitter site so they can log in and + * approve our access + */ + $consumer->redirect(); +} + +/* CLIENT VAR LIVE */ + +$C_hashtag= "#rsln"; +$C_link = "http://www.rslnmag.fr/blog/2011/3/24/la-journaliste-mercedes-bunz-prochaine-invitee-des-rencontres-rsln/"; +$C_title = "Mercedes Bunz et le journaliste"; +$C_REP = "rsln-mercedes-bunz/"; +$C_description = "Elle nous racontera comment les algorithmes ont fini par devenir des producteurs d'infos et pourquoi ils ne remplaceront pour autant jamais les journalistes. +

+(titre de sa conférence, en VO : When robots learned to write, How the rise of the algorithms will change journalism and revolutionize our concept of knowledge.) +

+C'est un thème sur lequel elle avait été très remarquée, lors d'une intervention à la conférence Lift, à Genève, en mai 2010."; + +$C_partenaires = " + + IRI + | RSLN + | MICROSOFT.fr "; + +?> + + + + + + + RSLN - Live Video and Annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
+ +
+ +
+ +
+ +
+
+
+
+
+
+
+ + +
+ +
+

_("ClientTitle1 :"); ?>

+
+ + ".$translate->_("Vous n'êtes pas connecté.")."
"); + }else{ + echo(""); + } + ?> + + +
+ _("Envoyé"); ?>

+
+ +
+ _("Erreur1"); ?>
 


+
+ + + + + _("Envoyer"); ?> + + ++ + -- + == + ?? + +
+ +
+ +
+ + + + + + + +
+
+
+
 
+
_("splatchPageTitle"); ?>
+
_("splatchPageText"); ?>
+
+
+ _("S'identifier"); ?>

+ _("Libre accès"); ?> +
+
+
+
+ + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/config.php --- a/web/enmi/config.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/config.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,15 +1,15 @@ - 'http://amateur.iri.centrepompidou.fr/live/enmi/callback.php', - 'siteUrl' => 'http://twitter.com/oauth', - 'consumerKey' => '***REMOVED***', - 'consumerSecret' => '***REMOVED***' -); + 'http://amateur.iri.centrepompidou.fr/live/enmi/callback.php', + 'siteUrl' => 'http://twitter.com/oauth', + 'consumerKey' => '***REMOVED***', + 'consumerSecret' => '***REMOVED***' +); diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/index.php --- a/web/enmi/index.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/index.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,614 +1,614 @@ -getRequestToken(); - $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); - - /** - * Now redirect user to Twitter site so they can log in and - * approve our access - */ - $consumer->redirect(); -} - -?> - - - - - - - ENMI 2010 - Live Video and Annotation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - - - - - - - -
-
- -
- -
- -
-
14 dec 2010
-
- -
-
15 dec 2010
-
- -
- -
- -
- -
- -
- -
- -
-
- -
- -
- -
- - -
- -
-
-
-
- - - - - -
Nanomondes et imaginaires -de l’hyperminiaturisation :
-
-
- Cliquez sur la ligne de temps ci dessus afin d'afficher les différentes sessions du programme. -

- Impact des nanotechnologies et de l’hyperminiaturisation -sur les imaginaires, les méthodes de conception et les outils -de débat public du nouveau monde industriel.

-
-S’il faut parler de nouveau monde industriel – au sens où une industrie est en premier lieu un processus de transformation technologique -de la matière –, c’est bien avec les nanotechnologies et ce que l’on -appelle le « nano-monde » que cela s’impose. -Lorsque Bill Clinton lança la National Nanotechnology Initiative, -c’était en posant que les technologies d’exploitation et de transformation de la matière à l’échelle nanométrique permettraient d’envisager -une nouvelle économie, alors même que l’atteinte des limites à l’exploitation micro-électronique de la matière semblait avérée. -La « loi de Moore », aussi sujette à discussion qu’elle puisse être (et -ces nouveaux Entretiens en feront un sujet de débat), a mis la microphysique au cœur du développement économique depuis les premiers -transistors jusqu’aux microprocesseurs, c’est-à-dire aux puces -électroniques. Elle montre que loin d’être « immatérielle », -l’économie numérique est au contraire extrêmement liée aux -technologies de la matière. -La micro-électronique est cependant réputée devoir atteindre ses -limites à une échéance prochaine. Or, c’est la réduction vertigineuse -des coûts de la mémoire électronique qui a permis l’expansion des -technologies numériques, en particulier depuis la constitution du -world wide web. Ceci a permis une pratique massive d’internet qui a -bouleversé les modèles industriels des télécommunications aussi bien -que de l’informatique et de l’audiovisuel et bien au-delà : -commerce, rapport à l’espace et au temps, savoirs, débat public, etc.

- -C’est d’abord de ce point de vue que la question a été posée de -passer d’une industrie de transformation de la matière à l’échelle du -millionième de mètre à la nano-industrie, c’est-à-dire aux matériaux -nanostructurés au milliardième de mètre. -Bien au-delà du numérique, ce sont cependant les domaines des -matériaux (bâtiment, métallurgie, etc.), de la médecine, des -biotechnologies, notamment, qui sont concernés. Tous les domaines -du secteur industriel semblent en fin de compte impliqués par ce que -l’on décrit parfois comme la nouvelle convergence (après celle de -l’informatique, des télécommunications et de l’audiovisuel). -Tel est l’enjeu de ce que nous décrirons au cours de ces Entretiens -2010 comme un processus d’hyper-miniaturisation. Ce devenir qui -ouvre une série de possibilités inouïes, soulève autant de questions -économiques, politiques et épistémologiques. -L’hyper-miniaturisation fait passer le monde industriel à l’échelle -quantique dont les propriétés sont tout autre qu’à l’échelle macrophysique (et relèvent d’une « hypermatière », c’est-à-dire d’un couple énergie/information où l’opposition entre la matière et la forme -n’a plus cours : la matière s’y « présente » précisément comme une -forme). Et ce que l’on appelle les « nanoparticules » issues de cette -hyper-miniaturisation troublent les frontières par lesquelles les -organismes vivants se distinguent de leurs milieux extérieurs.

- -Le changement d’échelle est l’enjeu de nouveaux imaginaires où se -projette le « nano-monde » – parmi lesquels on peut distinguer : - les imaginaires de l’industrie, et de l’histoire nouvelle qu’elle nous . -raconte à travers la conquête de la nano-dimension, qui permettrait -de maintenir ouvertes les possibilités d’innovation industrielle et -l’activité économique dans son ensemble ; - les imaginaires scientifiques tels qu’ils passent par une technologie . -de l’imagination (au sens fort de la production d’images) de ce qui, à -l’échelle nanométrique, n’est pas visible, et que le microscope à effet -tunnel, par exemple, permet de manipuler, mais aussi de figurer par -des artefacts graphiques ; - les imaginaires sociaux traversés et surcodés aussi bien par les pratiques littéraires de la science-fiction que par les discours politiques et . -les débats citoyens – dans un contexte de crise économique et morale -mondiale.
-Nous faisons aussi l’hypothèse que des imaginaires économiques et -politiques nouveaux, tels qu’ils permettraient de projeter et de désirer -un avenir technologique et industriel raisonné, réfléchi, débattu et -partagé par la société, passent par l’intégration des questions nanotechnologiques avec celles que nous avions soulevées dans les éditions -précédentes des Entretiens du nouveau monde industriel : l’innovation ascendante, les technologies relationnelles réticulaires et les -objets communicants – opérateurs technologiques qui transforment -le monde quotidien en profondeur. -Cette transformation est déjà largement entamée. La quatrième -édition des Entretiens du nouveau monde industriel s’efforcera d’intégrer ces questions. -
- - -
- -
-

Annotations critique :

-
- - Vous n'êtes pas connecté.
- Pour participer, veuillez vous identifier en cliquant ici.
"); - }else{ - echo(""); - } - ?> - - -
- Votre tweet a bien été envoyé !

-
- -
- Ooups! il y a une erreur vous avez le droit de frapper le developpeur :
 


-
- - - - Envoyer - - ++ - -- - == - ?? - -
- -
- -
- - - - - - - -
-
-
-
ENMI 2010
-
Annotation critique par tweet
-
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. -
-
-
- S'identifier

- Libre accès -
-
-
-
- - - - +getRequestToken(); + $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); + + /** + * Now redirect user to Twitter site so they can log in and + * approve our access + */ + $consumer->redirect(); +} + +?> + + + + + + + ENMI 2010 - Live Video and Annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + + + + + + + + +
+
+ +
+ +
+ +
+
14 dec 2010
+
+ +
+
15 dec 2010
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ +
+ + +
+ +
+
+
+
+ + + + + +
Nanomondes et imaginaires +de l’hyperminiaturisation :
+
+
+ Cliquez sur la ligne de temps ci dessus afin d'afficher les différentes sessions du programme. +

+ Impact des nanotechnologies et de l’hyperminiaturisation +sur les imaginaires, les méthodes de conception et les outils +de débat public du nouveau monde industriel.

+
+S’il faut parler de nouveau monde industriel – au sens où une industrie est en premier lieu un processus de transformation technologique +de la matière –, c’est bien avec les nanotechnologies et ce que l’on +appelle le « nano-monde » que cela s’impose. +Lorsque Bill Clinton lança la National Nanotechnology Initiative, +c’était en posant que les technologies d’exploitation et de transformation de la matière à l’échelle nanométrique permettraient d’envisager +une nouvelle économie, alors même que l’atteinte des limites à l’exploitation micro-électronique de la matière semblait avérée. +La « loi de Moore », aussi sujette à discussion qu’elle puisse être (et +ces nouveaux Entretiens en feront un sujet de débat), a mis la microphysique au cœur du développement économique depuis les premiers +transistors jusqu’aux microprocesseurs, c’est-à-dire aux puces +électroniques. Elle montre que loin d’être « immatérielle », +l’économie numérique est au contraire extrêmement liée aux +technologies de la matière. +La micro-électronique est cependant réputée devoir atteindre ses +limites à une échéance prochaine. Or, c’est la réduction vertigineuse +des coûts de la mémoire électronique qui a permis l’expansion des +technologies numériques, en particulier depuis la constitution du +world wide web. Ceci a permis une pratique massive d’internet qui a +bouleversé les modèles industriels des télécommunications aussi bien +que de l’informatique et de l’audiovisuel et bien au-delà : +commerce, rapport à l’espace et au temps, savoirs, débat public, etc.

+ +C’est d’abord de ce point de vue que la question a été posée de +passer d’une industrie de transformation de la matière à l’échelle du +millionième de mètre à la nano-industrie, c’est-à-dire aux matériaux +nanostructurés au milliardième de mètre. +Bien au-delà du numérique, ce sont cependant les domaines des +matériaux (bâtiment, métallurgie, etc.), de la médecine, des +biotechnologies, notamment, qui sont concernés. Tous les domaines +du secteur industriel semblent en fin de compte impliqués par ce que +l’on décrit parfois comme la nouvelle convergence (après celle de +l’informatique, des télécommunications et de l’audiovisuel). +Tel est l’enjeu de ce que nous décrirons au cours de ces Entretiens +2010 comme un processus d’hyper-miniaturisation. Ce devenir qui +ouvre une série de possibilités inouïes, soulève autant de questions +économiques, politiques et épistémologiques. +L’hyper-miniaturisation fait passer le monde industriel à l’échelle +quantique dont les propriétés sont tout autre qu’à l’échelle macrophysique (et relèvent d’une « hypermatière », c’est-à-dire d’un couple énergie/information où l’opposition entre la matière et la forme +n’a plus cours : la matière s’y « présente » précisément comme une +forme). Et ce que l’on appelle les « nanoparticules » issues de cette +hyper-miniaturisation troublent les frontières par lesquelles les +organismes vivants se distinguent de leurs milieux extérieurs.

+ +Le changement d’échelle est l’enjeu de nouveaux imaginaires où se +projette le « nano-monde » – parmi lesquels on peut distinguer : + les imaginaires de l’industrie, et de l’histoire nouvelle qu’elle nous . +raconte à travers la conquête de la nano-dimension, qui permettrait +de maintenir ouvertes les possibilités d’innovation industrielle et +l’activité économique dans son ensemble ; + les imaginaires scientifiques tels qu’ils passent par une technologie . +de l’imagination (au sens fort de la production d’images) de ce qui, à +l’échelle nanométrique, n’est pas visible, et que le microscope à effet +tunnel, par exemple, permet de manipuler, mais aussi de figurer par +des artefacts graphiques ; + les imaginaires sociaux traversés et surcodés aussi bien par les pratiques littéraires de la science-fiction que par les discours politiques et . +les débats citoyens – dans un contexte de crise économique et morale +mondiale.
+Nous faisons aussi l’hypothèse que des imaginaires économiques et +politiques nouveaux, tels qu’ils permettraient de projeter et de désirer +un avenir technologique et industriel raisonné, réfléchi, débattu et +partagé par la société, passent par l’intégration des questions nanotechnologiques avec celles que nous avions soulevées dans les éditions +précédentes des Entretiens du nouveau monde industriel : l’innovation ascendante, les technologies relationnelles réticulaires et les +objets communicants – opérateurs technologiques qui transforment +le monde quotidien en profondeur. +Cette transformation est déjà largement entamée. La quatrième +édition des Entretiens du nouveau monde industriel s’efforcera d’intégrer ces questions. +
+ + +
+ +
+

Annotations critique :

+
+ + Vous n'êtes pas connecté.
+ Pour participer, veuillez vous identifier en cliquant ici.
"); + }else{ + echo(""); + } + ?> + + +
+ Votre tweet a bien été envoyé !

+
+ +
+ Ooups! il y a une erreur vous avez le droit de frapper le developpeur :
 


+
+ + + + Envoyer + + ++ + -- + == + ?? + +
+ +
+ +
+ + + + + + + +
+
+
+
ENMI 2010
+
Annotation critique par tweet
+
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. +
+
+
+ S'identifier

+ Libre accès +
+
+
+
+ + + + diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/blueprint/plugins/fancy-type/screen.css --- a/web/enmi/res/blueprint/plugins/fancy-type/screen.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/blueprint/plugins/fancy-type/screen.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,71 +1,71 @@ -/* -------------------------------------------------------------- - - fancy-type.css - * Lots of pretty advanced classes for manipulating text. - - See the Readme file in this folder for additional instructions. - --------------------------------------------------------------- */ - -/* Indentation instead of line shifts for sibling paragraphs. */ - p + p { text-indent:2em; margin-top:-1.5em; } - form p + p { text-indent: 0; } /* Don't want this in forms. */ - - -/* For great looking type, use this code instead of asdf: - asdf - Best used on prepositions and ampersands. */ - -.alt { - color: #666; - font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif; - font-style: italic; - font-weight: normal; -} - - -/* For great looking quote marks in titles, replace "asdf" with: - asdf” - (That is, when the title starts with a quote mark). - (You may have to change this value depending on your font size). */ - -.dquo { margin-left: -.5em; } - - -/* Reduced size type with incremental leading - (http://www.markboulton.co.uk/journal/comments/incremental_leading/) - - This could be used for side notes. For smaller type, you don't necessarily want to - follow the 1.5x vertical rhythm -- the line-height is too much. - - Using this class, it reduces your font size and line-height so that for - every four lines of normal sized type, there is five lines of the sidenote. eg: - - New type size in em's: - 10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems) - - New line-height value: - 12px x 1.5 = 18px (old line-height) - 18px x 4 = 72px - 72px / 5 = 14.4px (new line height) - 14.4px / 10px = 1.44 (new line height in em's) */ - -p.incr, .incr p { - font-size: 10px; - line-height: 1.44em; - margin-bottom: 1.5em; -} - - -/* Surround uppercase words and abbreviations with this class. - Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */ - -.caps { - font-variant: small-caps; - letter-spacing: 1px; - text-transform: lowercase; - font-size:1.2em; - line-height:1%; - font-weight:bold; - padding:0 2px; -} +/* -------------------------------------------------------------- + + fancy-type.css + * Lots of pretty advanced classes for manipulating text. + + See the Readme file in this folder for additional instructions. + +-------------------------------------------------------------- */ + +/* Indentation instead of line shifts for sibling paragraphs. */ + p + p { text-indent:2em; margin-top:-1.5em; } + form p + p { text-indent: 0; } /* Don't want this in forms. */ + + +/* For great looking type, use this code instead of asdf: + asdf + Best used on prepositions and ampersands. */ + +.alt { + color: #666; + font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif; + font-style: italic; + font-weight: normal; +} + + +/* For great looking quote marks in titles, replace "asdf" with: + asdf” + (That is, when the title starts with a quote mark). + (You may have to change this value depending on your font size). */ + +.dquo { margin-left: -.5em; } + + +/* Reduced size type with incremental leading + (http://www.markboulton.co.uk/journal/comments/incremental_leading/) + + This could be used for side notes. For smaller type, you don't necessarily want to + follow the 1.5x vertical rhythm -- the line-height is too much. + + Using this class, it reduces your font size and line-height so that for + every four lines of normal sized type, there is five lines of the sidenote. eg: + + New type size in em's: + 10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems) + + New line-height value: + 12px x 1.5 = 18px (old line-height) + 18px x 4 = 72px + 72px / 5 = 14.4px (new line height) + 14.4px / 10px = 1.44 (new line height in em's) */ + +p.incr, .incr p { + font-size: 10px; + line-height: 1.44em; + margin-bottom: 1.5em; +} + + +/* Surround uppercase words and abbreviations with this class. + Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */ + +.caps { + font-variant: small-caps; + letter-spacing: 1px; + text-transform: lowercase; + font-size:1.2em; + line-height:1%; + font-weight:bold; + padding:0 2px; +} diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/ajax.txt --- a/web/enmi/res/jquery.fancybox/ajax.txt Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/ajax.txt Wed Apr 27 18:54:31 2011 +0200 @@ -1,6 +1,6 @@ -
-

This comes from ajax request

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. -

+
+

This comes from ajax request

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. +

\ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css --- a/web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,359 +1,359 @@ -/* - * FancyBox - jQuery Plugin - * Simple and fancy lightbox alternative - * - * Examples and documentation at: http://fancybox.net - * - * Copyright (c) 2008 - 2010 Janis Skarnelis - * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. - * - * Version: 1.3.4 (11/11/2010) - * Requires: jQuery v1.3+ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -#fancybox-loading { - position: fixed; - top: 50%; - left: 50%; - width: 40px; - height: 40px; - margin-top: -20px; - margin-left: -20px; - cursor: pointer; - overflow: hidden; - z-index: 1104; - display: none; -} - -#fancybox-loading div { - position: absolute; - top: 0; - left: 0; - width: 40px; - height: 480px; - background-image: url('fancybox.png'); -} - -#fancybox-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: 1100; - display: none; -} - -#fancybox-tmp { - padding: 0; - margin: 0; - border: 0; - overflow: auto; - display: none; -} - -#fancybox-wrap { - position: absolute; - top: 0; - left: 0; - padding: 20px; - z-index: 1101; - outline: none; - display: none; -} - -#fancybox-outer { - position: relative; - width: 100%; - height: 100%; - background: #fff; -} - -#fancybox-content { - width: 0; - height: 0; - padding: 0; - outline: none; - position: relative; - overflow: hidden; - z-index: 1102; - border: 0px solid #fff; -} - -#fancybox-hide-sel-frame { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: transparent; - z-index: 1101; -} - -#fancybox-close { - position: absolute; - top: -15px; - right: -15px; - width: 30px; - height: 30px; - background: transparent url('fancybox.png') -40px 0px; - cursor: pointer; - z-index: 1103; - display: none; -} - -#fancybox-error { - color: #444; - font: normal 12px/20px Arial; - padding: 14px; - margin: 0; -} - -#fancybox-img { - width: 100%; - height: 100%; - padding: 0; - margin: 0; - border: none; - outline: none; - line-height: 0; - vertical-align: top; -} - -#fancybox-frame { - width: 100%; - height: 100%; - border: none; - display: block; -} - -#fancybox-left, #fancybox-right { - position: absolute; - bottom: 0px; - height: 100%; - width: 35%; - cursor: pointer; - outline: none; - background: transparent url('blank.gif'); - z-index: 1102; - display: none; -} - -#fancybox-left { - left: 0px; -} - -#fancybox-right { - right: 0px; -} - -#fancybox-left-ico, #fancybox-right-ico { - position: absolute; - top: 50%; - left: -9999px; - width: 30px; - height: 30px; - margin-top: -15px; - cursor: pointer; - z-index: 1102; - display: block; -} - -#fancybox-left-ico { - background-image: url('fancybox.png'); - background-position: -40px -30px; -} - -#fancybox-right-ico { - background-image: url('fancybox.png'); - background-position: -40px -60px; -} - -#fancybox-left:hover, #fancybox-right:hover { - visibility: visible; /* IE6 */ -} - -#fancybox-left:hover span { - left: 20px; -} - -#fancybox-right:hover span { - left: auto; - right: 20px; -} - -.fancybox-bg { - position: absolute; - padding: 0; - margin: 0; - border: 0; - width: 20px; - height: 20px; - z-index: 1001; -} - -#fancybox-bg-n { - top: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); -} - -#fancybox-bg-ne { - top: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -162px; -} - -#fancybox-bg-e { - top: 0; - right: -20px; - height: 100%; - background-image: url('fancybox-y.png'); - background-position: -20px 0px; -} - -#fancybox-bg-se { - bottom: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -182px; -} - -#fancybox-bg-s { - bottom: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); - background-position: 0px -20px; -} - -#fancybox-bg-sw { - bottom: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -142px; -} - -#fancybox-bg-w { - top: 0; - left: -20px; - height: 100%; - background-image: url('fancybox-y.png'); -} - -#fancybox-bg-nw { - top: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -122px; -} - -#fancybox-title { - font-family: Helvetica; - font-size: 12px; - z-index: 1102; -} - -.fancybox-title-inside { - padding-bottom: 10px; - text-align: center; - color: #333; - background: #fff; - position: relative; -} - -.fancybox-title-outside { - padding-top: 10px; - color: #fff; -} - -.fancybox-title-over { - position: absolute; - bottom: 0; - left: 0; - color: #FFF; - text-align: left; -} - -#fancybox-title-over { - padding: 10px; - background-image: url('fancy_title_over.png'); - display: block; -} - -.fancybox-title-float { - position: absolute; - left: 0; - bottom: -20px; - height: 32px; -} - -#fancybox-title-float-wrap { - border: none; - border-collapse: collapse; - width: auto; -} - -#fancybox-title-float-wrap td { - border: none; - white-space: nowrap; -} - -#fancybox-title-float-left { - padding: 0 0 0 15px; - background: url('fancybox.png') -40px -90px no-repeat; -} - -#fancybox-title-float-main { - color: #FFF; - line-height: 29px; - font-weight: bold; - padding: 0 0 3px 0; - background: url('fancybox-x.png') 0px -40px; -} - -#fancybox-title-float-right { - padding: 0 0 0 15px; - background: url('fancybox.png') -55px -90px no-repeat; -} - -/* IE6 */ - -.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } -.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { - height: expression(this.parentNode.clientHeight + "px"); -} - -#fancybox-loading.fancybox-ie6 { - position: absolute; margin-top: 0; - top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); -} - -#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } - -/* IE6, IE7, IE8 */ - -.fancybox-ie .fancybox-bg { background: transparent !important; } - -.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + width: 40px; + height: 40px; + margin-top: -20px; + margin-left: -20px; + cursor: pointer; + overflow: hidden; + z-index: 1104; + display: none; +} + +#fancybox-loading div { + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 480px; + background-image: url('fancybox.png'); +} + +#fancybox-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 1100; + display: none; +} + +#fancybox-tmp { + padding: 0; + margin: 0; + border: 0; + overflow: auto; + display: none; +} + +#fancybox-wrap { + position: absolute; + top: 0; + left: 0; + padding: 20px; + z-index: 1101; + outline: none; + display: none; +} + +#fancybox-outer { + position: relative; + width: 100%; + height: 100%; + background: #fff; +} + +#fancybox-content { + width: 0; + height: 0; + padding: 0; + outline: none; + position: relative; + overflow: hidden; + z-index: 1102; + border: 0px solid #fff; +} + +#fancybox-hide-sel-frame { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: transparent; + z-index: 1101; +} + +#fancybox-close { + position: absolute; + top: -15px; + right: -15px; + width: 30px; + height: 30px; + background: transparent url('fancybox.png') -40px 0px; + cursor: pointer; + z-index: 1103; + display: none; +} + +#fancybox-error { + color: #444; + font: normal 12px/20px Arial; + padding: 14px; + margin: 0; +} + +#fancybox-img { + width: 100%; + height: 100%; + padding: 0; + margin: 0; + border: none; + outline: none; + line-height: 0; + vertical-align: top; +} + +#fancybox-frame { + width: 100%; + height: 100%; + border: none; + display: block; +} + +#fancybox-left, #fancybox-right { + position: absolute; + bottom: 0px; + height: 100%; + width: 35%; + cursor: pointer; + outline: none; + background: transparent url('blank.gif'); + z-index: 1102; + display: none; +} + +#fancybox-left { + left: 0px; +} + +#fancybox-right { + right: 0px; +} + +#fancybox-left-ico, #fancybox-right-ico { + position: absolute; + top: 50%; + left: -9999px; + width: 30px; + height: 30px; + margin-top: -15px; + cursor: pointer; + z-index: 1102; + display: block; +} + +#fancybox-left-ico { + background-image: url('fancybox.png'); + background-position: -40px -30px; +} + +#fancybox-right-ico { + background-image: url('fancybox.png'); + background-position: -40px -60px; +} + +#fancybox-left:hover, #fancybox-right:hover { + visibility: visible; /* IE6 */ +} + +#fancybox-left:hover span { + left: 20px; +} + +#fancybox-right:hover span { + left: auto; + right: 20px; +} + +.fancybox-bg { + position: absolute; + padding: 0; + margin: 0; + border: 0; + width: 20px; + height: 20px; + z-index: 1001; +} + +#fancybox-bg-n { + top: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); +} + +#fancybox-bg-ne { + top: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -162px; +} + +#fancybox-bg-e { + top: 0; + right: -20px; + height: 100%; + background-image: url('fancybox-y.png'); + background-position: -20px 0px; +} + +#fancybox-bg-se { + bottom: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -182px; +} + +#fancybox-bg-s { + bottom: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); + background-position: 0px -20px; +} + +#fancybox-bg-sw { + bottom: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -142px; +} + +#fancybox-bg-w { + top: 0; + left: -20px; + height: 100%; + background-image: url('fancybox-y.png'); +} + +#fancybox-bg-nw { + top: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -122px; +} + +#fancybox-title { + font-family: Helvetica; + font-size: 12px; + z-index: 1102; +} + +.fancybox-title-inside { + padding-bottom: 10px; + text-align: center; + color: #333; + background: #fff; + position: relative; +} + +.fancybox-title-outside { + padding-top: 10px; + color: #fff; +} + +.fancybox-title-over { + position: absolute; + bottom: 0; + left: 0; + color: #FFF; + text-align: left; +} + +#fancybox-title-over { + padding: 10px; + background-image: url('fancy_title_over.png'); + display: block; +} + +.fancybox-title-float { + position: absolute; + left: 0; + bottom: -20px; + height: 32px; +} + +#fancybox-title-float-wrap { + border: none; + border-collapse: collapse; + width: auto; +} + +#fancybox-title-float-wrap td { + border: none; + white-space: nowrap; +} + +#fancybox-title-float-left { + padding: 0 0 0 15px; + background: url('fancybox.png') -40px -90px no-repeat; +} + +#fancybox-title-float-main { + color: #FFF; + line-height: 29px; + font-weight: bold; + padding: 0 0 3px 0; + background: url('fancybox-x.png') 0px -40px; +} + +#fancybox-title-float-right { + padding: 0 0 0 15px; + background: url('fancybox.png') -55px -90px no-repeat; +} + +/* IE6 */ + +.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } +.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { + height: expression(this.parentNode.clientHeight + "px"); +} + +#fancybox-loading.fancybox-ie6 { + position: absolute; margin-top: 0; + top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); +} + +#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } + +/* IE6, IE7, IE8 */ + +.fancybox-ie .fancybox-bg { background: transparent !important; } + +.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js --- a/web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1156 +1,1156 @@ -/* - * FancyBox - jQuery Plugin - * Simple and fancy lightbox alternative - * - * Examples and documentation at: http://fancybox.net - * - * Copyright (c) 2008 - 2010 Janis Skarnelis - * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. - * - * Version: 1.3.4 (11/11/2010) - * Requires: jQuery v1.3+ - * - * 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 tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right, - - selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [], - - ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i, - - loadingTimer, loadingFrame = 1, - - titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('
')[0], { prop: 0 }), - - isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, - - /* - * Private methods - */ - - _abort = function() { - loading.hide(); - - imgPreloader.onerror = imgPreloader.onload = null; - - if (ajaxLoader) { - ajaxLoader.abort(); - } - - tmp.empty(); - }, - - _error = function() { - if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { - loading.hide(); - busy = false; - return; - } - - selectedOpts.titleShow = false; - - selectedOpts.width = 'auto'; - selectedOpts.height = 'auto'; - - tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); - - _process_inline(); - }, - - _start = function() { - var obj = selectedArray[ selectedIndex ], - href, - type, - title, - str, - emb, - ret; - - _abort(); - - selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); - - ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); - - if (ret === false) { - busy = false; - return; - } else if (typeof ret == 'object') { - selectedOpts = $.extend(selectedOpts, ret); - } - - title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; - - if (obj.nodeName && !selectedOpts.orig) { - selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); - } - - if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { - title = selectedOpts.orig.attr('alt'); - } - - href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; - - if ((/^(?:javascript)/i).test(href) || href == '#') { - href = null; - } - - if (selectedOpts.type) { - type = selectedOpts.type; - - if (!href) { - href = selectedOpts.content; - } - - } else if (selectedOpts.content) { - type = 'html'; - - } else if (href) { - if (href.match(imgRegExp)) { - type = 'image'; - - } else if (href.match(swfRegExp)) { - type = 'swf'; - - } else if ($(obj).hasClass("iframe")) { - type = 'iframe'; - - } else if (href.indexOf("#") === 0) { - type = 'inline'; - - } else { - type = 'ajax'; - } - } - - if (!type) { - _error(); - return; - } - - if (type == 'inline') { - obj = href.substr(href.indexOf("#")); - type = $(obj).length > 0 ? 'inline' : 'ajax'; - } - - selectedOpts.type = type; - selectedOpts.href = href; - selectedOpts.title = title; - - if (selectedOpts.autoDimensions) { - if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { - selectedOpts.width = 'auto'; - selectedOpts.height = 'auto'; - } else { - selectedOpts.autoDimensions = false; - } - } - - if (selectedOpts.modal) { - selectedOpts.overlayShow = true; - selectedOpts.hideOnOverlayClick = false; - selectedOpts.hideOnContentClick = false; - selectedOpts.enableEscapeButton = false; - selectedOpts.showCloseButton = false; - } - - selectedOpts.padding = parseInt(selectedOpts.padding, 10); - selectedOpts.margin = parseInt(selectedOpts.margin, 10); - - tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); - - $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { - $(this).replaceWith(content.children()); - }); - - switch (type) { - case 'html' : - tmp.html( selectedOpts.content ); - _process_inline(); - break; - - case 'inline' : - if ( $(obj).parent().is('#fancybox-content') === true) { - busy = false; - return; - } - - $('
') - .hide() - .insertBefore( $(obj) ) - .bind('fancybox-cleanup', function() { - $(this).replaceWith(content.children()); - }).bind('fancybox-cancel', function() { - $(this).replaceWith(tmp.children()); - }); - - $(obj).appendTo(tmp); - - _process_inline(); - break; - - case 'image': - busy = false; - - $.fancybox.showActivity(); - - imgPreloader = new Image(); - - imgPreloader.onerror = function() { - _error(); - }; - - imgPreloader.onload = function() { - busy = true; - - imgPreloader.onerror = imgPreloader.onload = null; - - _process_image(); - }; - - imgPreloader.src = href; - break; - - case 'swf': - selectedOpts.scrolling = 'no'; - - str = ''; - emb = ''; - - $.each(selectedOpts.swf, function(name, val) { - str += ''; - emb += ' ' + name + '="' + val + '"'; - }); - - str += ''; - - tmp.html(str); - - _process_inline(); - break; - - case 'ajax': - busy = false; - - $.fancybox.showActivity(); - - selectedOpts.ajax.win = selectedOpts.ajax.success; - - ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { - url : href, - data : selectedOpts.ajax.data || {}, - error : function(XMLHttpRequest, textStatus, errorThrown) { - if ( XMLHttpRequest.status > 0 ) { - _error(); - } - }, - success : function(data, textStatus, XMLHttpRequest) { - var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; - if (o.status == 200) { - if ( typeof selectedOpts.ajax.win == 'function' ) { - ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); - - if (ret === false) { - loading.hide(); - return; - } else if (typeof ret == 'string' || typeof ret == 'object') { - data = ret; - } - } - - tmp.html( data ); - _process_inline(); - } - } - })); - - break; - - case 'iframe': - _show(); - break; - } - }, - - _process_inline = function() { - var - w = selectedOpts.width, - h = selectedOpts.height; - - if (w.toString().indexOf('%') > -1) { - w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; - - } else { - w = w == 'auto' ? 'auto' : w + 'px'; - } - - if (h.toString().indexOf('%') > -1) { - h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; - - } else { - h = h == 'auto' ? 'auto' : h + 'px'; - } - - tmp.wrapInner('
'); - - selectedOpts.width = tmp.width(); - selectedOpts.height = tmp.height(); - - _show(); - }, - - _process_image = function() { - selectedOpts.width = imgPreloader.width; - selectedOpts.height = imgPreloader.height; - - $("").attr({ - 'id' : 'fancybox-img', - 'src' : imgPreloader.src, - 'alt' : selectedOpts.title - }).appendTo( tmp ); - - _show(); - }, - - _show = function() { - var pos, equal; - - loading.hide(); - - if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { - $.event.trigger('fancybox-cancel'); - - busy = false; - return; - } - - busy = true; - - $(content.add( overlay )).unbind(); - - $(window).unbind("resize.fb scroll.fb"); - $(document).unbind('keydown.fb'); - - if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { - wrap.css('height', wrap.height()); - } - - currentArray = selectedArray; - currentIndex = selectedIndex; - currentOpts = selectedOpts; - - if (currentOpts.overlayShow) { - overlay.css({ - 'background-color' : currentOpts.overlayColor, - 'opacity' : currentOpts.overlayOpacity, - 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', - 'height' : $(document).height() - }); - - if (!overlay.is(':visible')) { - if (isIE6) { - $('select:not(#fancybox-tmp select)').filter(function() { - return this.style.visibility !== 'hidden'; - }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { - this.style.visibility = 'inherit'; - }); - } - - overlay.show(); - } - } else { - overlay.hide(); - } - - final_pos = _get_zoom_to(); - - _process_title(); - - if (wrap.is(":visible")) { - $( close.add( nav_left ).add( nav_right ) ).hide(); - - pos = wrap.position(), - - start_pos = { - top : pos.top, - left : pos.left, - width : wrap.width(), - height : wrap.height() - }; - - equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); - - content.fadeTo(currentOpts.changeFade, 0.3, function() { - var finish_resizing = function() { - content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); - }; - - $.event.trigger('fancybox-change'); - - content - .empty() - .removeAttr('filter') - .css({ - 'border-width' : currentOpts.padding, - 'width' : final_pos.width - currentOpts.padding * 2, - 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 - }); - - if (equal) { - finish_resizing(); - - } else { - fx.prop = 0; - - $(fx).animate({prop: 1}, { - duration : currentOpts.changeSpeed, - easing : currentOpts.easingChange, - step : _draw, - complete : finish_resizing - }); - } - }); - - return; - } - - wrap.removeAttr("style"); - - content.css('border-width', currentOpts.padding); - - if (currentOpts.transitionIn == 'elastic') { - start_pos = _get_zoom_from(); - - content.html( tmp.contents() ); - - wrap.show(); - - if (currentOpts.opacity) { - final_pos.opacity = 0; - } - - fx.prop = 0; - - $(fx).animate({prop: 1}, { - duration : currentOpts.speedIn, - easing : currentOpts.easingIn, - step : _draw, - complete : _finish - }); - - return; - } - - if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { - title.show(); - } - - content - .css({ - 'width' : final_pos.width - currentOpts.padding * 2, - 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 - }) - .html( tmp.contents() ); - - wrap - .css(final_pos) - .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); - }, - - _format_title = function(title) { - if (title && title.length) { - if (currentOpts.titlePosition == 'float') { - return '
' + title + '
'; - } - - return '
' + title + '
'; - } - - return false; - }, - - _process_title = function() { - titleStr = currentOpts.title || ''; - titleHeight = 0; - - title - .empty() - .removeAttr('style') - .removeClass(); - - if (currentOpts.titleShow === false) { - title.hide(); - return; - } - - titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); - - if (!titleStr || titleStr === '') { - title.hide(); - return; - } - - title - .addClass('fancybox-title-' + currentOpts.titlePosition) - .html( titleStr ) - .appendTo( 'body' ) - .show(); - - switch (currentOpts.titlePosition) { - case 'inside': - title - .css({ - 'width' : final_pos.width - (currentOpts.padding * 2), - 'marginLeft' : currentOpts.padding, - 'marginRight' : currentOpts.padding - }); - - titleHeight = title.outerHeight(true); - - title.appendTo( outer ); - - final_pos.height += titleHeight; - break; - - case 'over': - title - .css({ - 'marginLeft' : currentOpts.padding, - 'width' : final_pos.width - (currentOpts.padding * 2), - 'bottom' : currentOpts.padding - }) - .appendTo( outer ); - break; - - case 'float': - title - .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) - .appendTo( wrap ); - break; - - default: - title - .css({ - 'width' : final_pos.width - (currentOpts.padding * 2), - 'paddingLeft' : currentOpts.padding, - 'paddingRight' : currentOpts.padding - }) - .appendTo( wrap ); - break; - } - - title.hide(); - }, - - _set_navigation = function() { - if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { - $(document).bind('keydown.fb', function(e) { - if (e.keyCode == 27 && currentOpts.enableEscapeButton) { - e.preventDefault(); - $.fancybox.close(); - - } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { - e.preventDefault(); - $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); - } - }); - } - - if (!currentOpts.showNavArrows) { - nav_left.hide(); - nav_right.hide(); - return; - } - - if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { - nav_left.show(); - } - - if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { - nav_right.show(); - } - }, - - _finish = function () { - if (!$.support.opacity) { - content.get(0).style.removeAttribute('filter'); - wrap.get(0).style.removeAttribute('filter'); - } - - if (selectedOpts.autoDimensions) { - content.css('height', 'auto'); - } - - wrap.css('height', 'auto'); - - if (titleStr && titleStr.length) { - title.show(); - } - - if (currentOpts.showCloseButton) { - close.show(); - } - - _set_navigation(); - - if (currentOpts.hideOnContentClick) { - content.bind('click', $.fancybox.close); - } - - if (currentOpts.hideOnOverlayClick) { - overlay.bind('click', $.fancybox.close); - } - - $(window).bind("resize.fb", $.fancybox.resize); - - if (currentOpts.centerOnScroll) { - $(window).bind("scroll.fb", $.fancybox.center); - } - - if (currentOpts.type == 'iframe') { - $('').appendTo(content); - } - - wrap.show(); - - busy = false; - - $.fancybox.center(); - - currentOpts.onComplete(currentArray, currentIndex, currentOpts); - - _preload_images(); - }, - - _preload_images = function() { - var href, - objNext; - - if ((currentArray.length -1) > currentIndex) { - href = currentArray[ currentIndex + 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - - if (currentIndex > 0) { - href = currentArray[ currentIndex - 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - }, - - _draw = function(pos) { - var dim = { - width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), - height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), - - top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), - left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) - }; - - if (typeof final_pos.opacity !== 'undefined') { - dim.opacity = pos < 0.5 ? 0.5 : pos; - } - - wrap.css(dim); - - content.css({ - 'width' : dim.width - currentOpts.padding * 2, - 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 - }); - }, - - _get_viewport = function() { - return [ - $(window).width() - (currentOpts.margin * 2), - $(window).height() - (currentOpts.margin * 2), - $(document).scrollLeft() + currentOpts.margin, - $(document).scrollTop() + currentOpts.margin - ]; - }, - - _get_zoom_to = function () { - var view = _get_viewport(), - to = {}, - resize = currentOpts.autoScale, - double_padding = currentOpts.padding * 2, - ratio; - - if (currentOpts.width.toString().indexOf('%') > -1) { - to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); - } else { - to.width = currentOpts.width + double_padding; - } - - if (currentOpts.height.toString().indexOf('%') > -1) { - to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); - } else { - to.height = currentOpts.height + double_padding; - } - - if (resize && (to.width > view[0] || to.height > view[1])) { - if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { - ratio = (currentOpts.width ) / (currentOpts.height ); - - if ((to.width ) > view[0]) { - to.width = view[0]; - to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); - } - - if ((to.height) > view[1]) { - to.height = view[1]; - to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); - } - - } else { - to.width = Math.min(to.width, view[0]); - to.height = Math.min(to.height, view[1]); - } - } - - to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); - to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); - - return to; - }, - - _get_obj_pos = function(obj) { - var pos = obj.offset(); - - pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; - pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; - - pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; - pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; - - pos.width = obj.width(); - pos.height = obj.height(); - - return pos; - }, - - _get_zoom_from = function() { - var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, - from = {}, - pos, - view; - - if (orig && orig.length) { - pos = _get_obj_pos(orig); - - from = { - width : pos.width + (currentOpts.padding * 2), - height : pos.height + (currentOpts.padding * 2), - top : pos.top - currentOpts.padding - 20, - left : pos.left - currentOpts.padding - 20 - }; - - } else { - view = _get_viewport(); - - from = { - width : currentOpts.padding * 2, - height : currentOpts.padding * 2, - top : parseInt(view[3] + view[1] * 0.5, 10), - left : parseInt(view[2] + view[0] * 0.5, 10) - }; - } - - return from; - }, - - _animate_loading = function() { - if (!loading.is(':visible')){ - clearInterval(loadingTimer); - return; - } - - $('div', loading).css('top', (loadingFrame * -40) + 'px'); - - loadingFrame = (loadingFrame + 1) % 12; - }; - - /* - * Public methods - */ - - $.fn.fancybox = function(options) { - if (!$(this).length) { - return this; - } - - $(this) - .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) - .unbind('click.fb') - .bind('click.fb', function(e) { - e.preventDefault(); - - if (busy) { - return; - } - - busy = true; - - $(this).blur(); - - selectedArray = []; - selectedIndex = 0; - - var rel = $(this).attr('rel') || ''; - - if (!rel || rel == '' || rel === 'nofollow') { - selectedArray.push(this); - - } else { - selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); - selectedIndex = selectedArray.index( this ); - } - - _start(); - - return; - }); - - return this; - }; - - $.fancybox = function(obj) { - var opts; - - if (busy) { - return; - } - - busy = true; - opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; - - selectedArray = []; - selectedIndex = parseInt(opts.index, 10) || 0; - - if ($.isArray(obj)) { - for (var i = 0, j = obj.length; i < j; i++) { - if (typeof obj[i] == 'object') { - $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); - } else { - obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); - } - } - - selectedArray = jQuery.merge(selectedArray, obj); - - } else { - if (typeof obj == 'object') { - $(obj).data('fancybox', $.extend({}, opts, obj)); - } else { - obj = $({}).data('fancybox', $.extend({content : obj}, opts)); - } - - selectedArray.push(obj); - } - - if (selectedIndex > selectedArray.length || selectedIndex < 0) { - selectedIndex = 0; - } - - _start(); - }; - - $.fancybox.showActivity = function() { - clearInterval(loadingTimer); - - loading.show(); - loadingTimer = setInterval(_animate_loading, 66); - }; - - $.fancybox.hideActivity = function() { - loading.hide(); - }; - - $.fancybox.next = function() { - return $.fancybox.pos( currentIndex + 1); - }; - - $.fancybox.prev = function() { - return $.fancybox.pos( currentIndex - 1); - }; - - $.fancybox.pos = function(pos) { - if (busy) { - return; - } - - pos = parseInt(pos); - - selectedArray = currentArray; - - if (pos > -1 && pos < currentArray.length) { - selectedIndex = pos; - _start(); - - } else if (currentOpts.cyclic && currentArray.length > 1) { - selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; - _start(); - } - - return; - }; - - $.fancybox.cancel = function() { - if (busy) { - return; - } - - busy = true; - - $.event.trigger('fancybox-cancel'); - - _abort(); - - selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); - - busy = false; - }; - - // Note: within an iframe use - parent.$.fancybox.close(); - $.fancybox.close = function() { - if (busy || wrap.is(':hidden')) { - return; - } - - busy = true; - - if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { - busy = false; - return; - } - - _abort(); - - $(close.add( nav_left ).add( nav_right )).hide(); - - $(content.add( overlay )).unbind(); - - $(window).unbind("resize.fb scroll.fb"); - $(document).unbind('keydown.fb'); - - content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); - - if (currentOpts.titlePosition !== 'inside') { - title.empty(); - } - - wrap.stop(); - - function _cleanup() { - overlay.fadeOut('fast'); - - title.empty().hide(); - wrap.hide(); - - $.event.trigger('fancybox-cleanup'); - - content.empty(); - - currentOpts.onClosed(currentArray, currentIndex, currentOpts); - - currentArray = selectedOpts = []; - currentIndex = selectedIndex = 0; - currentOpts = selectedOpts = {}; - - busy = false; - } - - if (currentOpts.transitionOut == 'elastic') { - start_pos = _get_zoom_from(); - - var pos = wrap.position(); - - final_pos = { - top : pos.top , - left : pos.left, - width : wrap.width(), - height : wrap.height() - }; - - if (currentOpts.opacity) { - final_pos.opacity = 1; - } - - title.empty().hide(); - - fx.prop = 1; - - $(fx).animate({ prop: 0 }, { - duration : currentOpts.speedOut, - easing : currentOpts.easingOut, - step : _draw, - complete : _cleanup - }); - - } else { - wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); - } - }; - - $.fancybox.resize = function() { - if (overlay.is(':visible')) { - overlay.css('height', $(document).height()); - } - - $.fancybox.center(true); - }; - - $.fancybox.center = function() { - var view, align; - - if (busy) { - return; - } - - align = arguments[0] === true ? 1 : 0; - view = _get_viewport(); - - if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { - return; - } - - wrap - .stop() - .animate({ - 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), - 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) - }, typeof arguments[0] == 'number' ? arguments[0] : 200); - }; - - $.fancybox.init = function() { - if ($("#fancybox-wrap").length) { - return; - } - - $('body').append( - tmp = $('
'), - loading = $('
'), - overlay = $('
'), - wrap = $('
') - ); - - outer = $('
') - .append('
') - .appendTo( wrap ); - - outer.append( - content = $('
'), - close = $(''), - title = $('
'), - - nav_left = $(''), - nav_right = $('') - ); - - close.click($.fancybox.close); - loading.click($.fancybox.cancel); - - nav_left.click(function(e) { - e.preventDefault(); - $.fancybox.prev(); - }); - - nav_right.click(function(e) { - e.preventDefault(); - $.fancybox.next(); - }); - - if ($.fn.mousewheel) { - wrap.bind('mousewheel.fb', function(e, delta) { - if (busy) { - e.preventDefault(); - - } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { - e.preventDefault(); - $.fancybox[ delta > 0 ? 'prev' : 'next'](); - } - }); - } - - if (!$.support.opacity) { - wrap.addClass('fancybox-ie'); - } - - if (isIE6) { - loading.addClass('fancybox-ie6'); - wrap.addClass('fancybox-ie6'); - - $('').prependTo(outer); - } - }; - - $.fn.fancybox.defaults = { - padding : 10, - margin : 40, - opacity : false, - modal : false, - cyclic : false, - scrolling : 'auto', // 'auto', 'yes' or 'no' - - width : 560, - height : 340, - - autoScale : true, - autoDimensions : true, - centerOnScroll : false, - - ajax : {}, - swf : { wmode: 'transparent' }, - - hideOnOverlayClick : true, - hideOnContentClick : false, - - overlayShow : true, - overlayOpacity : 0.7, - overlayColor : '#777', - - titleShow : true, - titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' - titleFormat : null, - titleFromAlt : false, - - transitionIn : 'fade', // 'elastic', 'fade' or 'none' - transitionOut : 'fade', // 'elastic', 'fade' or 'none' - - speedIn : 300, - speedOut : 300, - - changeSpeed : 300, - changeFade : 'fast', - - easingIn : 'swing', - easingOut : 'swing', - - showCloseButton : true, - showNavArrows : true, - enableEscapeButton : true, - enableKeyboardNav : true, - - onStart : function(){}, - onCancel : function(){}, - onComplete : function(){}, - onCleanup : function(){}, - onClosed : function(){}, - onError : function(){} - }; - - $(document).ready(function() { - $.fancybox.init(); - }); - +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * 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 tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right, + + selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [], + + ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i, + + loadingTimer, loadingFrame = 1, + + titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('
')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
' + title + '
'; + } + + return '
' + title + '
'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
'), + loading = $('
'), + overlay = $('
'), + wrap = $('
') + ); + + outer = $('
') + .append('
') + .appendTo( wrap ); + + outer.append( + content = $('
'), + close = $(''), + title = $('
'), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + })(jQuery); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/index.html --- a/web/enmi/res/jquery.fancybox/index.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/index.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,165 +1,165 @@ - - - - - - FancyBox 1.3.4 | Demonstration - - - - - - - - - -
-

fancybox v1.3.4

- -

This is a demonstration. Home page

- -
- -

- Different animations
- - example1 - - example2 - - example3 - - example4 -

- -

- Different title positions
- - example4 - - example5 - - example6 - - example7 -

- -

- Image gallery (ps, try using mouse scroll wheel)
- - - - - - - - -

- -

- Various examples -

- - - -
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. -
-
- -

- Ajax example will not run from your local computer and requires a server to run. -

-

- Photo Credit: Katie Harris -

-
- + + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + +
+

fancybox v1.3.4

+ +

This is a demonstration. Home page

+ +
+ +

+ Different animations
+ + example1 + + example2 + + example3 + + example4 +

+ +

+ Different title positions
+ + example4 + + example5 + + example6 + + example7 +

+ +

+ Image gallery (ps, try using mouse scroll wheel)
+ + + + + + + + +

+ +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +

+ Ajax example will not run from your local computer and requires a server to run. +

+

+ Photo Credit: Katie Harris +

+
+ \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/index2.html --- a/web/enmi/res/jquery.fancybox/index2.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/index2.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,58 +1,58 @@ - - - - - FancyBox 1.3.4 | Demonstration - - - - - - - - - - - -
- - -

- Various examples -

- - - -
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. -
-
- -
- + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + + + +
+ + +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +
+ \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/jquery.fancybox/style.css --- a/web/enmi/res/jquery.fancybox/style.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/jquery.fancybox/style.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,65 +1,65 @@ -html, body, div, ul { - margin: 0; - padding: 0; -} - -body { - color: #262626; - background: #f4f4f4; - font: normal 12px/18px Verdana, sans-serif; -} - -#content { - width: 400px; - margin: 40px auto 0 auto; - padding: 0 60px 30px 60px; - border: solid 1px #cbcbcb; - background: #fafafa; - -moz-box-shadow: 0px 0px 10px #cbcbcb; - -webkit-box-shadow: 0px 0px 10px #cbcbcb; -} - -h1 { - margin: 30px 0 15px 0; - font-size: 30px; - font-weight: bold; - font-family: Arial; -} - -h1 span { - font-size: 50%; - letter-spacing: -0.05em; -} - -hr { - border: none; - height: 1px; line-height: 1px; - background: #E5E5E5; - margin-bottom: 20px; - padding: 0; -} - -p { - margin: 0; - padding: 7px 0; -} - -a { - outline: none; -} - -a img { - border: 1px solid #BBB; - padding: 2px; - margin: 10px 20px 10px 0; - vertical-align: top; -} - -a img.last { - margin-right: 0; -} - -ul { - margin-bottom: 24px; - padding-left: 30px; -} +html, body, div, ul { + margin: 0; + padding: 0; +} + +body { + color: #262626; + background: #f4f4f4; + font: normal 12px/18px Verdana, sans-serif; +} + +#content { + width: 400px; + margin: 40px auto 0 auto; + padding: 0 60px 30px 60px; + border: solid 1px #cbcbcb; + background: #fafafa; + -moz-box-shadow: 0px 0px 10px #cbcbcb; + -webkit-box-shadow: 0px 0px 10px #cbcbcb; +} + +h1 { + margin: 30px 0 15px 0; + font-size: 30px; + font-weight: bold; + font-family: Arial; +} + +h1 span { + font-size: 50%; + letter-spacing: -0.05em; +} + +hr { + border: none; + height: 1px; line-height: 1px; + background: #E5E5E5; + margin-bottom: 20px; + padding: 0; +} + +p { + margin: 0; + padding: 7px 0; +} + +a { + outline: none; +} + +a img { + border: 1px solid #BBB; + padding: 2px; + margin: 10px 20px 10px 0; + vertical-align: top; +} + +a img.last { + margin-right: 0; +} + +ul { + margin-bottom: 24px; + padding-left: 30px; +} diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/mediaplayer/swfobject.js --- a/web/enmi/res/mediaplayer/swfobject.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/mediaplayer/swfobject.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,8 +1,8 @@ -/** - * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ - * - * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - */ +/** + * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="";_19+="";var _1d=this.getParams();for(var key in _1d){_19+="";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="";}_19+="";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.majorfv.major){return true;}if(this.minorfv.minor){return true;}if(this.rev=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/niceforms/niceforms-custom.css --- a/web/enmi/res/niceforms/niceforms-custom.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/niceforms/niceforms-custom.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,79 +1,79 @@ - - -/*########################################## -Script: Niceforms 2.0 -Theme: StandardBlue -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/ -##########################################*/ - -/*Text inputs*/ -.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} -.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} -.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} -.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} -.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} -/*Radio*/ -.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} -/*Checkbox*/ -.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} -/*Buttons*/ -.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} -.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} -.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} -.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} -/*Textareas*/ -.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} -.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} -.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} -.NFTextareaLeft, .NFTextareaLeftH {width:5px;} -.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} -.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} -/*Files*/ -.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} -.NFFile {position:relative; margin-bottom:5px;} -.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} -.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} -/*Selects*/ -.NFSelect {height:21px; position:absolute; border:1px solid transparent;} -.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} -.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} -.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} -.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} -.NFSelectOptions li {padding-bottom:1px;} -.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} -.NFSelectOptions a.NFOptionActive {background:#464646;} -.NFSelectOptions a:hover {background:#333;} -/*Multiple Selects*/ -.NFMultiSelect {border:0; background:none; margin:0;} -.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} -.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} -.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} -.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} -.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} - -/*Focused*/ -.NFfocused {border:1px dotted #666;} -/*Hovered*/ -.NFh {background-position:0 100%;} -.NFhr {background-position:100% 100%;} -/*Hidden*/ -.NFhidden {opacity:0; z-index:-1; position:relative;} -/*Safari*/ + + +/*########################################## +Script: Niceforms 2.0 +Theme: StandardBlue +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/ +##########################################*/ + +/*Text inputs*/ +.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} +.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} +.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} +.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} +.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} +/*Radio*/ +.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} +/*Checkbox*/ +.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} +/*Buttons*/ +.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} +.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} +.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} +.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} +/*Textareas*/ +.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} +.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} +.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} +.NFTextareaLeft, .NFTextareaLeftH {width:5px;} +.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} +.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} +/*Files*/ +.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} +.NFFile {position:relative; margin-bottom:5px;} +.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} +.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} +/*Selects*/ +.NFSelect {height:21px; position:absolute; border:1px solid transparent;} +.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} +.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} +.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} +.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} +.NFSelectOptions li {padding-bottom:1px;} +.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} +.NFSelectOptions a.NFOptionActive {background:#464646;} +.NFSelectOptions a:hover {background:#333;} +/*Multiple Selects*/ +.NFMultiSelect {border:0; background:none; margin:0;} +.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} +.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} +.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} +.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} +.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} + +/*Focused*/ +.NFfocused {border:1px dotted #666;} +/*Hovered*/ +.NFh {background-position:0 100%;} +.NFhr {background-position:100% 100%;} +/*Hidden*/ +.NFhidden {opacity:0; z-index:-1; position:relative;} +/*Safari*/ select, input, textarea, button {outline:none; resize:none;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/niceforms/niceforms-default.css --- a/web/enmi/res/niceforms/niceforms-default.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/niceforms/niceforms-default.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,92 +1,92 @@ -/*Defaults Styling*/ -body {font:12px/17px Arial, Helvetica, sans-serif; color:#333; background:#ccc; padding:40px 20px 20px 20px;} -fieldset {background:#f2f2e6; padding:10px; border:1px solid #fff; border-color:#fff #666661 #666661 #fff; margin-bottom:36px; width:600px;} -input, textarea, select {font:12px/12px Arial, Helvetica, sans-serif; padding:0;} -fieldset.action {background:#9da2a6; border-color:#e5e5e5 #797c80 #797c80 #e5e5e5; margin-top:-20px;} -legend {background:#bfbf30; color:#fff; font:17px/21px Calibri, Arial, Helvetica, sans-serif; padding:0 10px; margin:-26px 0 0 -11px; font-weight:bold; border:1px solid #fff; border-color:#e5e5c3 #505014 #505014 #e5e5c3;} -label {font-size:11px; font-weight:bold; color:#666;} -label.opt {font-weight:normal;} -dl {clear:both;} -dt {float:left; text-align:right; width:90px; line-height:25px; margin:0 10px 10px 0;} -dd {float:left; width:475px; line-height:25px; margin:0 0 10px 0;} -#footer {font-size:11px;} - -#container {width:700px; margin:0 auto;} - -/*########################################## -Script: Niceforms 2.0 -Theme: StandardBlue -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/ -##########################################*/ - -/*Text inputs*/ -.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} -.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} -.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} -.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} -.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} -/*Radio*/ -.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} -/*Checkbox*/ -.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} -/*Buttons*/ -.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} -.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} -.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} -.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} -/*Textareas*/ -.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} -.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} -.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} -.NFTextareaLeft, .NFTextareaLeftH {width:5px;} -.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} -.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} -/*Files*/ -.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} -.NFFile {position:relative; margin-bottom:5px;} -.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} -.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} -/*Selects*/ -.NFSelect {height:21px; position:absolute; border:1px solid transparent;} -.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} -.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} -.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} -.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} -.NFSelectOptions li {padding-bottom:1px;} -.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} -.NFSelectOptions a.NFOptionActive {background:#464646;} -.NFSelectOptions a:hover {background:#333;} -/*Multiple Selects*/ -.NFMultiSelect {border:0; background:none; margin:0;} -.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} -.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} -.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} -.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} -.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} - -/*Focused*/ -.NFfocused {border:1px dotted #666;} -/*Hovered*/ -.NFh {background-position:0 100%;} -.NFhr {background-position:100% 100%;} -/*Hidden*/ -.NFhidden {opacity:0; z-index:-1; position:relative;} -/*Safari*/ +/*Defaults Styling*/ +body {font:12px/17px Arial, Helvetica, sans-serif; color:#333; background:#ccc; padding:40px 20px 20px 20px;} +fieldset {background:#f2f2e6; padding:10px; border:1px solid #fff; border-color:#fff #666661 #666661 #fff; margin-bottom:36px; width:600px;} +input, textarea, select {font:12px/12px Arial, Helvetica, sans-serif; padding:0;} +fieldset.action {background:#9da2a6; border-color:#e5e5e5 #797c80 #797c80 #e5e5e5; margin-top:-20px;} +legend {background:#bfbf30; color:#fff; font:17px/21px Calibri, Arial, Helvetica, sans-serif; padding:0 10px; margin:-26px 0 0 -11px; font-weight:bold; border:1px solid #fff; border-color:#e5e5c3 #505014 #505014 #e5e5c3;} +label {font-size:11px; font-weight:bold; color:#666;} +label.opt {font-weight:normal;} +dl {clear:both;} +dt {float:left; text-align:right; width:90px; line-height:25px; margin:0 10px 10px 0;} +dd {float:left; width:475px; line-height:25px; margin:0 0 10px 0;} +#footer {font-size:11px;} + +#container {width:700px; margin:0 auto;} + +/*########################################## +Script: Niceforms 2.0 +Theme: StandardBlue +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/ +##########################################*/ + +/*Text inputs*/ +.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} +.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} +.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} +.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} +.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} +/*Radio*/ +.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} +/*Checkbox*/ +.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} +/*Buttons*/ +.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} +.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} +.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} +.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} +/*Textareas*/ +.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} +.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} +.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} +.NFTextareaLeft, .NFTextareaLeftH {width:5px;} +.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} +.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} +/*Files*/ +.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} +.NFFile {position:relative; margin-bottom:5px;} +.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} +.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} +/*Selects*/ +.NFSelect {height:21px; position:absolute; border:1px solid transparent;} +.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} +.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} +.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} +.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} +.NFSelectOptions li {padding-bottom:1px;} +.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} +.NFSelectOptions a.NFOptionActive {background:#464646;} +.NFSelectOptions a:hover {background:#333;} +/*Multiple Selects*/ +.NFMultiSelect {border:0; background:none; margin:0;} +.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} +.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} +.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} +.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} +.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} + +/*Focused*/ +.NFfocused {border:1px dotted #666;} +/*Hovered*/ +.NFh {background-position:0 100%;} +.NFhr {background-position:100% 100%;} +/*Hidden*/ +.NFhidden {opacity:0; z-index:-1; position:relative;} +/*Safari*/ select, input, textarea, button {outline:none; resize:none;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/niceforms/niceforms.html --- a/web/enmi/res/niceforms/niceforms.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/niceforms/niceforms.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,201 +1,201 @@ - - - -Niceforms - - - - - -
-
-
- Personal Info -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
- - - -
-
-
-
- Preferences -
-
-
- - - -
-
-
-
-
- - - - - -
-
-
-
-
- -
-
-
-
- Comments -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
- + + + +Niceforms + + + + + +
+
+
+ Personal Info +
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+ + + +
+
+
+
+ Preferences +
+
+
+ + + +
+
+
+
+
+ + + + + +
+
+
+
+
+ +
+
+
+
+ Comments +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+ diff -r c84f8401d36e -r 9578d3ddce17 web/enmi/res/niceforms/niceforms.js --- a/web/enmi/res/niceforms/niceforms.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/enmi/res/niceforms/niceforms.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,576 +1,576 @@ -/*############################################################# -Name: Niceforms -Version: 2.0 -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/projects/niceforms/ - -Feel free to use and modify but please keep this copyright intact. -#################################################################*/ - -//Theme Variables - edit these to match your theme -var imagesPath = "img/"; -var selectRightWidthSimple = 19; -var selectRightWidthScroll = 2; -var selectMaxHeight = 200; -var textareaTopPadding = 10; -var textareaSidePadding = 10; - -//Global Variables -var NF = new Array(); -var isIE = false; -var resizeTest = 1; - -//Initialization function -function NFInit() { - try { - document.execCommand('BackgroundImageCache', false, true); - } catch(e) {} - if(!document.getElementById) {return false;} - //alert("click me first"); - NFDo('start'); -} -function NFDo(what) { - var niceforms = document.getElementsByTagName('form'); - var identifier = new RegExp('(^| )'+'niceform'+'( |$)'); - if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { - var ieversion=new Number(RegExp.$1); - if(ieversion < 7) {return false;} //exit script if IE6 - isIE = true; - } - for(var q = 0; q < niceforms.length; q++) {if(identifier.test(niceforms[q].className)) { - if(what == "start") { //Load Niceforms - NF[q] = new niceform(niceforms[q]); - niceforms[q].start(); - } - else { //Unload Niceforms - niceforms[q].unload(); - NF[q] = ""; - } - }} -} -function NFFix() { - NFDo('stop'); - NFDo('start'); -} -function niceform(nf) { - nf._inputText = new Array(); nf._inputRadio = new Array(); nf._inputCheck = new Array(); nf._inputSubmit = new Array(); nf._inputFile = new Array(); nf._textarea = new Array(); nf._select = new Array(); nf._multiselect = new Array(); - nf.add_inputText = function(obj) {this._inputText[this._inputText.length] = obj; inputText(obj);} - nf.add_inputRadio = function(obj) {this._inputRadio[this._inputRadio.length] = obj; inputRadio(obj);} - nf.add_inputCheck = function(obj) {this._inputCheck[this._inputCheck.length] = obj; inputCheck(obj);} - nf.add_inputSubmit = function(obj) {this._inputSubmit[this._inputSubmit.length] = obj; inputSubmit(obj);} - nf.add_inputFile = function(obj) {this._inputFile[this._inputFile.length] = obj; inputFile(obj);} - nf.add_textarea = function(obj) {this._textarea[this._textarea.length] = obj; textarea(obj);} - nf.add_select = function(obj) {this._select[this._select.length] = obj; selects(obj);} - nf.add_multiselect = function(obj) {this._multiselect[this._multiselect.length] = obj; multiSelects(obj);} - nf.start = function() { - //Separate and assign elements - var allInputs = this.getElementsByTagName('input'); - for(var w = 0; w < allInputs.length; w++) { - switch(allInputs[w].type) { - case "text": case "password": {this.add_inputText(allInputs[w]); break;} - case "radio": {this.add_inputRadio(allInputs[w]); break;} - case "checkbox": {this.add_inputCheck(allInputs[w]); break;} - case "submit": case "reset": case "button": {this.add_inputSubmit(allInputs[w]); break;} - case "file": {this.add_inputFile(allInputs[w]); break;} - } - } - var allButtons = this.getElementsByTagName('button'); - for(var w = 0; w < allButtons.length; w++) { - this.add_inputSubmit(allButtons[w]); - } - var allTextareas = this.getElementsByTagName('textarea'); - for(var w = 0; w < allTextareas.length; w++) { - this.add_textarea(allTextareas[w]); - } - var allSelects = this.getElementsByTagName('select'); - for(var w = 0; w < allSelects.length; w++) { - if(allSelects[w].size == "1") {this.add_select(allSelects[w]);} - else {this.add_multiselect(allSelects[w]);} - } - //Start - for(w = 0; w < this._inputText.length; w++) {this._inputText[w].init();} - for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].init();} - for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].init();} - for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].init();} - for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].init();} - for(w = 0; w < this._textarea.length; w++) {this._textarea[w].init();} - for(w = 0; w < this._select.length; w++) {this._select[w].init(w);} - for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].init(w);} - } - nf.unload = function() { - //Stop - for(w = 0; w < this._inputText.length; w++) {this._inputText[w].unload();} - for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].unload();} - for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].unload();} - for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].unload();} - for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].unload();} - for(w = 0; w < this._textarea.length; w++) {this._textarea[w].unload();} - for(w = 0; w < this._select.length; w++) {this._select[w].unload();} - for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].unload();} - } -} -function inputText(el) { //extent Text inputs - el.oldClassName = el.className; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFTextLeft"; - el.right = document.createElement('img'); - el.right.src = imagesPath + "0.png"; - el.right.className = "NFTextRight"; - el.dummy = document.createElement('div'); - el.dummy.className = "NFTextCenter"; - el.onfocus = function() { - this.dummy.className = "NFTextCenter NFh"; - this.left.className = "NFTextLeft NFh"; - this.right.className = "NFTextRight NFh"; - } - el.onblur = function() { - this.dummy.className = "NFTextCenter"; - this.left.className = "NFTextLeft"; - this.right.className = "NFTextRight"; - } - el.init = function() { - this.parentNode.insertBefore(this.left, this); - this.parentNode.insertBefore(this.right, this.nextSibling); - this.dummy.appendChild(this); - this.right.parentNode.insertBefore(this.dummy, this.right); - this.className = "NFText"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.left); - this.parentNode.removeChild(this.right); - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputRadio(el) { //extent Radio buttons - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - if(el.checked) {el.dummy.className = "NFRadio NFh";} - else {el.dummy.className = "NFRadio";} - el.dummy.ref = el; - if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} - else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} - el.dummy.onclick = function() { - if(!this.ref.checked) { - var siblings = getInputsByName(this.ref.name); - for(var q = 0; q < siblings.length; q++) { - siblings[q].checked = false; - siblings[q].dummy.className = "NFRadio"; - } - this.ref.checked = true; - this.className = "NFRadio NFh"; - } - } - el.onclick = function() { - if(this.checked) { - var siblings = getInputsByName(this.name); - for(var q = 0; q < siblings.length; q++) { - siblings[q].dummy.className = "NFRadio"; - } - this.dummy.className = "NFRadio NFh"; - } - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.init = function() { - this.parentNode.insertBefore(this.dummy, this); - el.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputCheck(el) { //extend Checkboxes - el.oldClassName = el.className; - el.dummy = document.createElement('img'); - el.dummy.src = imagesPath + "0.png"; - if(el.checked) {el.dummy.className = "NFCheck NFh";} - else {el.dummy.className = "NFCheck";} - el.dummy.ref = el; - if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} - else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} - el.dummy.onclick = function() { - if(!this.ref.checked) { - this.ref.checked = true; - this.className = "NFCheck NFh"; - } - else { - this.ref.checked = false; - this.className = "NFCheck"; - } - } - el.onclick = function() { - if(this.checked) {this.dummy.className = "NFCheck NFh";} - else {this.dummy.className = "NFCheck";} - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.init = function() { - this.parentNode.insertBefore(this.dummy, this); - el.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputSubmit(el) { //extend Buttons - el.oldClassName = el.className; - el.left = document.createElement('img'); - el.left.className = "NFButtonLeft"; - el.left.src = imagesPath + "0.png"; - el.right = document.createElement('img'); - el.right.src = imagesPath + "0.png"; - el.right.className = "NFButtonRight"; - el.onmouseover = function() { - this.className = "NFButton NFh"; - this.left.className = "NFButtonLeft NFh"; - this.right.className = "NFButtonRight NFh"; - } - el.onmouseout = function() { - this.className = "NFButton"; - this.left.className = "NFButtonLeft"; - this.right.className = "NFButtonRight"; - } - el.init = function() { - this.parentNode.insertBefore(this.left, this); - this.parentNode.insertBefore(this.right, this.nextSibling); - this.className = "NFButton"; - } - el.unload = function() { - this.parentNode.removeChild(this.left); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - } -} -function inputFile(el) { //extend File inputs - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - el.dummy.className = "NFFile"; - el.file = document.createElement('div'); - el.file.className = "NFFileNew"; - el.center = document.createElement('div'); - el.center.className = "NFTextCenter"; - el.clone = document.createElement('input'); - el.clone.type = "text"; - el.clone.className = "NFText"; - el.clone.ref = el; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFTextLeft"; - el.button = document.createElement('img'); - el.button.src = imagesPath + "0.png"; - el.button.className = "NFFileButton"; - el.button.ref = el; - el.button.onclick = function() {this.ref.click();} - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(this.dummy, where); - this.dummy.appendChild(this); - this.center.appendChild(this.clone); - this.file.appendChild(this.center); - this.file.insertBefore(this.left, this.center); - this.file.appendChild(this.button); - this.dummy.appendChild(this.file); - this.className = "NFhidden"; - this.relatedElement = this.clone; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } - el.onchange = el.onmouseout = function() {this.relatedElement.value = this.value;} - el.onfocus = function() { - this.left.className = "NFTextLeft NFh"; - this.center.className = "NFTextCenter NFh"; - this.button.className = "NFFileButton NFh"; - } - el.onblur = function() { - this.left.className = "NFTextLeft"; - this.center.className = "NFTextCenter"; - this.button.className = "NFFileButton"; - } - el.onselect = function() { - this.relatedElement.select(); - this.value = ''; - } -} -function textarea(el) { //extend Textareas - el.oldClassName = el.className; - el.height = el.offsetHeight - textareaTopPadding; - el.width = el.offsetWidth - textareaSidePadding; - el.topLeft = document.createElement('img'); - el.topLeft.src = imagesPath + "0.png"; - el.topLeft.className = "NFTextareaTopLeft"; - el.topRight = document.createElement('div'); - el.topRight.className = "NFTextareaTop"; - el.bottomLeft = document.createElement('img'); - el.bottomLeft.src = imagesPath + "0.png"; - el.bottomLeft.className = "NFTextareaBottomLeft"; - el.bottomRight = document.createElement('div'); - el.bottomRight.className = "NFTextareaBottom"; - el.left = document.createElement('div'); - el.left.className = "NFTextareaLeft"; - el.right = document.createElement('div'); - el.right.className = "NFTextareaRight"; - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(el.topRight, where); - top.insertBefore(el.right, where); - top.insertBefore(el.bottomRight, where); - this.topRight.appendChild(this.topLeft); - this.right.appendChild(this.left); - this.right.appendChild(this); - this.bottomRight.appendChild(this.bottomLeft); - el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; - el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; - this.className = "NFTextarea"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.topRight); - this.parentNode.removeChild(this.bottomRight); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - this.style.width = this.style.height = ""; - } - el.onfocus = function() { - this.topLeft.className = "NFTextareaTopLeft NFh"; - this.topRight.className = "NFTextareaTop NFhr"; - this.left.className = "NFTextareaLeftH"; - this.right.className = "NFTextareaRightH"; - this.bottomLeft.className = "NFTextareaBottomLeft NFh"; - this.bottomRight.className = "NFTextareaBottom NFhr"; - } - el.onblur = function() { - this.topLeft.className = "NFTextareaTopLeft"; - this.topRight.className = "NFTextareaTop"; - this.left.className = "NFTextareaLeft"; - this.right.className = "NFTextareaRight"; - this.bottomLeft.className = "NFTextareaBottomLeft"; - this.bottomRight.className = "NFTextareaBottom"; - } -} -function selects(el) { //extend Selects - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - el.dummy.className = "NFSelect"; - el.dummy.style.width = el.offsetWidth + 'px'; - el.dummy.ref = el; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFSelectLeft"; - el.right = document.createElement('div'); - el.right.className = "NFSelectRight"; - el.txt = document.createTextNode(el.options[0].text); - el.bg = document.createElement('div'); - el.bg.className = "NFSelectTarget"; - el.bg.style.display = "none"; - el.opt = document.createElement('ul'); - el.opt.className = "NFSelectOptions"; - el.dummy.style.left = findPosX(el) + 'px'; - el.dummy.style.top = findPosY(el) + 'px'; - el.opts = new Array(el.options.length); - el.init = function(pos) { - this.dummy.appendChild(this.left); - this.right.appendChild(this.txt); - this.dummy.appendChild(this.right); - this.bg.appendChild(this.opt); - this.dummy.appendChild(this.bg); - for(var q = 0; q < this.options.length; q++) { - this.opts[q] = new option(this.options[q], q); - this.opt.appendChild(this.options[q].li); - this.options[q].lnk.onclick = function() { - this._onclick(); - this.ref.dummy.getElementsByTagName('div')[0].innerHTML = this.ref.options[this.pos].text; - this.ref.options[this.pos].selected = "selected"; - for(var w = 0; w < this.ref.options.length; w++) {this.ref.options[w].lnk.className = "";} - this.ref.options[this.pos].lnk.className = "NFOptionActive"; - } - } - if(this.options.selectedIndex) { - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[this.options.selectedIndex].text; - this.options[this.options.selectedIndex].lnk.className = "NFOptionActive"; - } - this.dummy.style.zIndex = 999 - pos; - this.parentNode.insertBefore(this.dummy, this); - this.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } - el.dummy.onclick = function() { - var allDivs = document.getElementsByTagName('div'); for(var q = 0; q < allDivs.length; q++) {if((allDivs[q].className == "NFSelectTarget") && (allDivs[q] != this.ref.bg)) {allDivs[q].style.display = "none";}} - if(this.ref.bg.style.display == "none") {this.ref.bg.style.display = "block";} - else {this.ref.bg.style.display = "none";} - if(this.ref.opt.offsetHeight > selectMaxHeight) { - this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthScroll + 33 + 'px'; - this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthScroll + 'px'; - } - else { - this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthSimple + 33 + 'px'; - this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthSimple + 'px'; - } - } - el.bg.onmouseout = function(e) { - if (!e) var e = window.event; - e.cancelBubble = true; - if (e.stopPropagation) e.stopPropagation(); - var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; - if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; - if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; - else{this.style.display = "none";} - } - el.dummy.onmouseout = function(e) { - if (!e) var e = window.event; - e.cancelBubble = true; - if (e.stopPropagation) e.stopPropagation(); - var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; - if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; - if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; - else{this.ref.bg.style.display = "none";} - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.onkeydown = function(e) { - if (!e) var e = window.event; - var thecode = e.keyCode; - var active = this.selectedIndex; - switch(thecode){ - case 40: //down - if(active < this.options.length - 1) { - for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} - var newOne = active + 1; - this.options[newOne].selected = "selected"; - this.options[newOne].lnk.className = "NFOptionActive"; - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; - } - return false; - break; - case 38: //up - if(active > 0) { - for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} - var newOne = active - 1; - this.options[newOne].selected = "selected"; - this.options[newOne].lnk.className = "NFOptionActive"; - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; - } - return false; - break; - default: - break; - } - } -} -function multiSelects(el) { //extend Multiple Selects - el.oldClassName = el.className; - el.height = el.offsetHeight; - el.width = el.offsetWidth; - el.topLeft = document.createElement('img'); - el.topLeft.src = imagesPath + "0.png"; - el.topLeft.className = "NFMultiSelectTopLeft"; - el.topRight = document.createElement('div'); - el.topRight.className = "NFMultiSelectTop"; - el.bottomLeft = document.createElement('img'); - el.bottomLeft.src = imagesPath + "0.png"; - el.bottomLeft.className = "NFMultiSelectBottomLeft"; - el.bottomRight = document.createElement('div'); - el.bottomRight.className = "NFMultiSelectBottom"; - el.left = document.createElement('div'); - el.left.className = "NFMultiSelectLeft"; - el.right = document.createElement('div'); - el.right.className = "NFMultiSelectRight"; - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(el.topRight, where); - top.insertBefore(el.right, where); - top.insertBefore(el.bottomRight, where); - this.topRight.appendChild(this.topLeft); - this.right.appendChild(this.left); - this.right.appendChild(this); - this.bottomRight.appendChild(this.bottomLeft); - el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; - el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; - el.className = "NFMultiSelect"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.topRight); - this.parentNode.removeChild(this.bottomRight); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - this.style.width = this.style.height = ""; - } - el.onfocus = function() { - this.topLeft.className = "NFMultiSelectTopLeft NFh"; - this.topRight.className = "NFMultiSelectTop NFhr"; - this.left.className = "NFMultiSelectLeftH"; - this.right.className = "NFMultiSelectRightH"; - this.bottomLeft.className = "NFMultiSelectBottomLeft NFh"; - this.bottomRight.className = "NFMultiSelectBottom NFhr"; - } - el.onblur = function() { - this.topLeft.className = "NFMultiSelectTopLeft"; - this.topRight.className = "NFMultiSelectTop"; - this.left.className = "NFMultiSelectLeft"; - this.right.className = "NFMultiSelectRight"; - this.bottomLeft.className = "NFMultiSelectBottomLeft"; - this.bottomRight.className = "NFMultiSelectBottom"; - } -} -function option(el, no) { //extend Options - el.li = document.createElement('li'); - el.lnk = document.createElement('a'); - el.lnk.href = "javascript:;"; - el.lnk.ref = el.parentNode; - el.lnk.pos = no; - el.lnk._onclick = el.onclick || function () {}; - el.txt = document.createTextNode(el.text); - el.lnk.appendChild(el.txt); - el.li.appendChild(el.lnk); -} - -//Get Position -function findPosY(obj) { - var posTop = 0; - do {posTop += obj.offsetTop;} while (obj = obj.offsetParent); - return posTop; -} -function findPosX(obj) { - var posLeft = 0; - do {posLeft += obj.offsetLeft;} while (obj = obj.offsetParent); - return posLeft; -} -//Get Siblings -function getInputsByName(name) { - var inputs = document.getElementsByTagName("input"); - var w = 0; var results = new Array(); - for(var q = 0; q < inputs.length; q++) {if(inputs[q].name == name) {results[w] = inputs[q]; ++w;}} - return results; -} - -//Add events -var existingLoadEvent = window.onload || function () {}; -var existingResizeEvent = window.onresize || function() {}; -window.onload = function () { - existingLoadEvent(); - NFInit(); -} -window.onresize = function() { - if(resizeTest != document.documentElement.clientHeight) { - existingResizeEvent(); - NFFix(); - } - resizeTest = document.documentElement.clientHeight; +/*############################################################# +Name: Niceforms +Version: 2.0 +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/projects/niceforms/ + +Feel free to use and modify but please keep this copyright intact. +#################################################################*/ + +//Theme Variables - edit these to match your theme +var imagesPath = "img/"; +var selectRightWidthSimple = 19; +var selectRightWidthScroll = 2; +var selectMaxHeight = 200; +var textareaTopPadding = 10; +var textareaSidePadding = 10; + +//Global Variables +var NF = new Array(); +var isIE = false; +var resizeTest = 1; + +//Initialization function +function NFInit() { + try { + document.execCommand('BackgroundImageCache', false, true); + } catch(e) {} + if(!document.getElementById) {return false;} + //alert("click me first"); + NFDo('start'); +} +function NFDo(what) { + var niceforms = document.getElementsByTagName('form'); + var identifier = new RegExp('(^| )'+'niceform'+'( |$)'); + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var ieversion=new Number(RegExp.$1); + if(ieversion < 7) {return false;} //exit script if IE6 + isIE = true; + } + for(var q = 0; q < niceforms.length; q++) {if(identifier.test(niceforms[q].className)) { + if(what == "start") { //Load Niceforms + NF[q] = new niceform(niceforms[q]); + niceforms[q].start(); + } + else { //Unload Niceforms + niceforms[q].unload(); + NF[q] = ""; + } + }} +} +function NFFix() { + NFDo('stop'); + NFDo('start'); +} +function niceform(nf) { + nf._inputText = new Array(); nf._inputRadio = new Array(); nf._inputCheck = new Array(); nf._inputSubmit = new Array(); nf._inputFile = new Array(); nf._textarea = new Array(); nf._select = new Array(); nf._multiselect = new Array(); + nf.add_inputText = function(obj) {this._inputText[this._inputText.length] = obj; inputText(obj);} + nf.add_inputRadio = function(obj) {this._inputRadio[this._inputRadio.length] = obj; inputRadio(obj);} + nf.add_inputCheck = function(obj) {this._inputCheck[this._inputCheck.length] = obj; inputCheck(obj);} + nf.add_inputSubmit = function(obj) {this._inputSubmit[this._inputSubmit.length] = obj; inputSubmit(obj);} + nf.add_inputFile = function(obj) {this._inputFile[this._inputFile.length] = obj; inputFile(obj);} + nf.add_textarea = function(obj) {this._textarea[this._textarea.length] = obj; textarea(obj);} + nf.add_select = function(obj) {this._select[this._select.length] = obj; selects(obj);} + nf.add_multiselect = function(obj) {this._multiselect[this._multiselect.length] = obj; multiSelects(obj);} + nf.start = function() { + //Separate and assign elements + var allInputs = this.getElementsByTagName('input'); + for(var w = 0; w < allInputs.length; w++) { + switch(allInputs[w].type) { + case "text": case "password": {this.add_inputText(allInputs[w]); break;} + case "radio": {this.add_inputRadio(allInputs[w]); break;} + case "checkbox": {this.add_inputCheck(allInputs[w]); break;} + case "submit": case "reset": case "button": {this.add_inputSubmit(allInputs[w]); break;} + case "file": {this.add_inputFile(allInputs[w]); break;} + } + } + var allButtons = this.getElementsByTagName('button'); + for(var w = 0; w < allButtons.length; w++) { + this.add_inputSubmit(allButtons[w]); + } + var allTextareas = this.getElementsByTagName('textarea'); + for(var w = 0; w < allTextareas.length; w++) { + this.add_textarea(allTextareas[w]); + } + var allSelects = this.getElementsByTagName('select'); + for(var w = 0; w < allSelects.length; w++) { + if(allSelects[w].size == "1") {this.add_select(allSelects[w]);} + else {this.add_multiselect(allSelects[w]);} + } + //Start + for(w = 0; w < this._inputText.length; w++) {this._inputText[w].init();} + for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].init();} + for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].init();} + for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].init();} + for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].init();} + for(w = 0; w < this._textarea.length; w++) {this._textarea[w].init();} + for(w = 0; w < this._select.length; w++) {this._select[w].init(w);} + for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].init(w);} + } + nf.unload = function() { + //Stop + for(w = 0; w < this._inputText.length; w++) {this._inputText[w].unload();} + for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].unload();} + for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].unload();} + for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].unload();} + for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].unload();} + for(w = 0; w < this._textarea.length; w++) {this._textarea[w].unload();} + for(w = 0; w < this._select.length; w++) {this._select[w].unload();} + for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].unload();} + } +} +function inputText(el) { //extent Text inputs + el.oldClassName = el.className; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFTextLeft"; + el.right = document.createElement('img'); + el.right.src = imagesPath + "0.png"; + el.right.className = "NFTextRight"; + el.dummy = document.createElement('div'); + el.dummy.className = "NFTextCenter"; + el.onfocus = function() { + this.dummy.className = "NFTextCenter NFh"; + this.left.className = "NFTextLeft NFh"; + this.right.className = "NFTextRight NFh"; + } + el.onblur = function() { + this.dummy.className = "NFTextCenter"; + this.left.className = "NFTextLeft"; + this.right.className = "NFTextRight"; + } + el.init = function() { + this.parentNode.insertBefore(this.left, this); + this.parentNode.insertBefore(this.right, this.nextSibling); + this.dummy.appendChild(this); + this.right.parentNode.insertBefore(this.dummy, this.right); + this.className = "NFText"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.left); + this.parentNode.removeChild(this.right); + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputRadio(el) { //extent Radio buttons + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + if(el.checked) {el.dummy.className = "NFRadio NFh";} + else {el.dummy.className = "NFRadio";} + el.dummy.ref = el; + if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} + else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} + el.dummy.onclick = function() { + if(!this.ref.checked) { + var siblings = getInputsByName(this.ref.name); + for(var q = 0; q < siblings.length; q++) { + siblings[q].checked = false; + siblings[q].dummy.className = "NFRadio"; + } + this.ref.checked = true; + this.className = "NFRadio NFh"; + } + } + el.onclick = function() { + if(this.checked) { + var siblings = getInputsByName(this.name); + for(var q = 0; q < siblings.length; q++) { + siblings[q].dummy.className = "NFRadio"; + } + this.dummy.className = "NFRadio NFh"; + } + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.init = function() { + this.parentNode.insertBefore(this.dummy, this); + el.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputCheck(el) { //extend Checkboxes + el.oldClassName = el.className; + el.dummy = document.createElement('img'); + el.dummy.src = imagesPath + "0.png"; + if(el.checked) {el.dummy.className = "NFCheck NFh";} + else {el.dummy.className = "NFCheck";} + el.dummy.ref = el; + if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} + else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} + el.dummy.onclick = function() { + if(!this.ref.checked) { + this.ref.checked = true; + this.className = "NFCheck NFh"; + } + else { + this.ref.checked = false; + this.className = "NFCheck"; + } + } + el.onclick = function() { + if(this.checked) {this.dummy.className = "NFCheck NFh";} + else {this.dummy.className = "NFCheck";} + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.init = function() { + this.parentNode.insertBefore(this.dummy, this); + el.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputSubmit(el) { //extend Buttons + el.oldClassName = el.className; + el.left = document.createElement('img'); + el.left.className = "NFButtonLeft"; + el.left.src = imagesPath + "0.png"; + el.right = document.createElement('img'); + el.right.src = imagesPath + "0.png"; + el.right.className = "NFButtonRight"; + el.onmouseover = function() { + this.className = "NFButton NFh"; + this.left.className = "NFButtonLeft NFh"; + this.right.className = "NFButtonRight NFh"; + } + el.onmouseout = function() { + this.className = "NFButton"; + this.left.className = "NFButtonLeft"; + this.right.className = "NFButtonRight"; + } + el.init = function() { + this.parentNode.insertBefore(this.left, this); + this.parentNode.insertBefore(this.right, this.nextSibling); + this.className = "NFButton"; + } + el.unload = function() { + this.parentNode.removeChild(this.left); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + } +} +function inputFile(el) { //extend File inputs + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + el.dummy.className = "NFFile"; + el.file = document.createElement('div'); + el.file.className = "NFFileNew"; + el.center = document.createElement('div'); + el.center.className = "NFTextCenter"; + el.clone = document.createElement('input'); + el.clone.type = "text"; + el.clone.className = "NFText"; + el.clone.ref = el; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFTextLeft"; + el.button = document.createElement('img'); + el.button.src = imagesPath + "0.png"; + el.button.className = "NFFileButton"; + el.button.ref = el; + el.button.onclick = function() {this.ref.click();} + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(this.dummy, where); + this.dummy.appendChild(this); + this.center.appendChild(this.clone); + this.file.appendChild(this.center); + this.file.insertBefore(this.left, this.center); + this.file.appendChild(this.button); + this.dummy.appendChild(this.file); + this.className = "NFhidden"; + this.relatedElement = this.clone; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } + el.onchange = el.onmouseout = function() {this.relatedElement.value = this.value;} + el.onfocus = function() { + this.left.className = "NFTextLeft NFh"; + this.center.className = "NFTextCenter NFh"; + this.button.className = "NFFileButton NFh"; + } + el.onblur = function() { + this.left.className = "NFTextLeft"; + this.center.className = "NFTextCenter"; + this.button.className = "NFFileButton"; + } + el.onselect = function() { + this.relatedElement.select(); + this.value = ''; + } +} +function textarea(el) { //extend Textareas + el.oldClassName = el.className; + el.height = el.offsetHeight - textareaTopPadding; + el.width = el.offsetWidth - textareaSidePadding; + el.topLeft = document.createElement('img'); + el.topLeft.src = imagesPath + "0.png"; + el.topLeft.className = "NFTextareaTopLeft"; + el.topRight = document.createElement('div'); + el.topRight.className = "NFTextareaTop"; + el.bottomLeft = document.createElement('img'); + el.bottomLeft.src = imagesPath + "0.png"; + el.bottomLeft.className = "NFTextareaBottomLeft"; + el.bottomRight = document.createElement('div'); + el.bottomRight.className = "NFTextareaBottom"; + el.left = document.createElement('div'); + el.left.className = "NFTextareaLeft"; + el.right = document.createElement('div'); + el.right.className = "NFTextareaRight"; + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(el.topRight, where); + top.insertBefore(el.right, where); + top.insertBefore(el.bottomRight, where); + this.topRight.appendChild(this.topLeft); + this.right.appendChild(this.left); + this.right.appendChild(this); + this.bottomRight.appendChild(this.bottomLeft); + el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; + el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; + this.className = "NFTextarea"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.topRight); + this.parentNode.removeChild(this.bottomRight); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + this.style.width = this.style.height = ""; + } + el.onfocus = function() { + this.topLeft.className = "NFTextareaTopLeft NFh"; + this.topRight.className = "NFTextareaTop NFhr"; + this.left.className = "NFTextareaLeftH"; + this.right.className = "NFTextareaRightH"; + this.bottomLeft.className = "NFTextareaBottomLeft NFh"; + this.bottomRight.className = "NFTextareaBottom NFhr"; + } + el.onblur = function() { + this.topLeft.className = "NFTextareaTopLeft"; + this.topRight.className = "NFTextareaTop"; + this.left.className = "NFTextareaLeft"; + this.right.className = "NFTextareaRight"; + this.bottomLeft.className = "NFTextareaBottomLeft"; + this.bottomRight.className = "NFTextareaBottom"; + } +} +function selects(el) { //extend Selects + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + el.dummy.className = "NFSelect"; + el.dummy.style.width = el.offsetWidth + 'px'; + el.dummy.ref = el; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFSelectLeft"; + el.right = document.createElement('div'); + el.right.className = "NFSelectRight"; + el.txt = document.createTextNode(el.options[0].text); + el.bg = document.createElement('div'); + el.bg.className = "NFSelectTarget"; + el.bg.style.display = "none"; + el.opt = document.createElement('ul'); + el.opt.className = "NFSelectOptions"; + el.dummy.style.left = findPosX(el) + 'px'; + el.dummy.style.top = findPosY(el) + 'px'; + el.opts = new Array(el.options.length); + el.init = function(pos) { + this.dummy.appendChild(this.left); + this.right.appendChild(this.txt); + this.dummy.appendChild(this.right); + this.bg.appendChild(this.opt); + this.dummy.appendChild(this.bg); + for(var q = 0; q < this.options.length; q++) { + this.opts[q] = new option(this.options[q], q); + this.opt.appendChild(this.options[q].li); + this.options[q].lnk.onclick = function() { + this._onclick(); + this.ref.dummy.getElementsByTagName('div')[0].innerHTML = this.ref.options[this.pos].text; + this.ref.options[this.pos].selected = "selected"; + for(var w = 0; w < this.ref.options.length; w++) {this.ref.options[w].lnk.className = "";} + this.ref.options[this.pos].lnk.className = "NFOptionActive"; + } + } + if(this.options.selectedIndex) { + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[this.options.selectedIndex].text; + this.options[this.options.selectedIndex].lnk.className = "NFOptionActive"; + } + this.dummy.style.zIndex = 999 - pos; + this.parentNode.insertBefore(this.dummy, this); + this.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } + el.dummy.onclick = function() { + var allDivs = document.getElementsByTagName('div'); for(var q = 0; q < allDivs.length; q++) {if((allDivs[q].className == "NFSelectTarget") && (allDivs[q] != this.ref.bg)) {allDivs[q].style.display = "none";}} + if(this.ref.bg.style.display == "none") {this.ref.bg.style.display = "block";} + else {this.ref.bg.style.display = "none";} + if(this.ref.opt.offsetHeight > selectMaxHeight) { + this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthScroll + 33 + 'px'; + this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthScroll + 'px'; + } + else { + this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthSimple + 33 + 'px'; + this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthSimple + 'px'; + } + } + el.bg.onmouseout = function(e) { + if (!e) var e = window.event; + e.cancelBubble = true; + if (e.stopPropagation) e.stopPropagation(); + var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; + if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; + if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; + else{this.style.display = "none";} + } + el.dummy.onmouseout = function(e) { + if (!e) var e = window.event; + e.cancelBubble = true; + if (e.stopPropagation) e.stopPropagation(); + var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; + if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; + if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; + else{this.ref.bg.style.display = "none";} + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.onkeydown = function(e) { + if (!e) var e = window.event; + var thecode = e.keyCode; + var active = this.selectedIndex; + switch(thecode){ + case 40: //down + if(active < this.options.length - 1) { + for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} + var newOne = active + 1; + this.options[newOne].selected = "selected"; + this.options[newOne].lnk.className = "NFOptionActive"; + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; + } + return false; + break; + case 38: //up + if(active > 0) { + for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} + var newOne = active - 1; + this.options[newOne].selected = "selected"; + this.options[newOne].lnk.className = "NFOptionActive"; + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; + } + return false; + break; + default: + break; + } + } +} +function multiSelects(el) { //extend Multiple Selects + el.oldClassName = el.className; + el.height = el.offsetHeight; + el.width = el.offsetWidth; + el.topLeft = document.createElement('img'); + el.topLeft.src = imagesPath + "0.png"; + el.topLeft.className = "NFMultiSelectTopLeft"; + el.topRight = document.createElement('div'); + el.topRight.className = "NFMultiSelectTop"; + el.bottomLeft = document.createElement('img'); + el.bottomLeft.src = imagesPath + "0.png"; + el.bottomLeft.className = "NFMultiSelectBottomLeft"; + el.bottomRight = document.createElement('div'); + el.bottomRight.className = "NFMultiSelectBottom"; + el.left = document.createElement('div'); + el.left.className = "NFMultiSelectLeft"; + el.right = document.createElement('div'); + el.right.className = "NFMultiSelectRight"; + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(el.topRight, where); + top.insertBefore(el.right, where); + top.insertBefore(el.bottomRight, where); + this.topRight.appendChild(this.topLeft); + this.right.appendChild(this.left); + this.right.appendChild(this); + this.bottomRight.appendChild(this.bottomLeft); + el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; + el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; + el.className = "NFMultiSelect"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.topRight); + this.parentNode.removeChild(this.bottomRight); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + this.style.width = this.style.height = ""; + } + el.onfocus = function() { + this.topLeft.className = "NFMultiSelectTopLeft NFh"; + this.topRight.className = "NFMultiSelectTop NFhr"; + this.left.className = "NFMultiSelectLeftH"; + this.right.className = "NFMultiSelectRightH"; + this.bottomLeft.className = "NFMultiSelectBottomLeft NFh"; + this.bottomRight.className = "NFMultiSelectBottom NFhr"; + } + el.onblur = function() { + this.topLeft.className = "NFMultiSelectTopLeft"; + this.topRight.className = "NFMultiSelectTop"; + this.left.className = "NFMultiSelectLeft"; + this.right.className = "NFMultiSelectRight"; + this.bottomLeft.className = "NFMultiSelectBottomLeft"; + this.bottomRight.className = "NFMultiSelectBottom"; + } +} +function option(el, no) { //extend Options + el.li = document.createElement('li'); + el.lnk = document.createElement('a'); + el.lnk.href = "javascript:;"; + el.lnk.ref = el.parentNode; + el.lnk.pos = no; + el.lnk._onclick = el.onclick || function () {}; + el.txt = document.createTextNode(el.text); + el.lnk.appendChild(el.txt); + el.li.appendChild(el.lnk); +} + +//Get Position +function findPosY(obj) { + var posTop = 0; + do {posTop += obj.offsetTop;} while (obj = obj.offsetParent); + return posTop; +} +function findPosX(obj) { + var posLeft = 0; + do {posLeft += obj.offsetLeft;} while (obj = obj.offsetParent); + return posLeft; +} +//Get Siblings +function getInputsByName(name) { + var inputs = document.getElementsByTagName("input"); + var w = 0; var results = new Array(); + for(var q = 0; q < inputs.length; q++) {if(inputs[q].name == name) {results[w] = inputs[q]; ++w;}} + return results; +} + +//Add events +var existingLoadEvent = window.onload || function () {}; +var existingResizeEvent = window.onresize || function() {}; +window.onload = function () { + existingLoadEvent(); + NFInit(); +} +window.onresize = function() { + if(resizeTest != document.documentElement.clientHeight) { + existingResizeEvent(); + NFFix(); + } + resizeTest = document.documentElement.clientHeight; } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/index.php --- a/web/index.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/index.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,287 +1,286 @@ -getRequestToken(); - $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); - - /** - * Now redirect user to Twitter site so they can log in and - * approve our access - */ - $consumer->redirect(); - -} - -?> - - - - - Polemic tweet - Live Video and Annotation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- -
- -
-

- _("0. TitreSlide"); ?> -

-

- _("0. TextSlide"); ?> -

-
-
-

- _("1. TitreSlide"); ?> -

-



-

- - _("1.1 TextSlide"); ?> - _("1.2 TextSlide"); ?>,

- - _("1.3 TextSlide"); ?> -

-
- -
-

_("2. TitreSlide"); ?>

-

-

- _("2. TextSlide"); ?> -

-
- -
-

_("3. TitreSlide"); ?>

-

-

- _("3. TextSlide"); ?> -

-
- -
-

_("4. TitreSlide"); ?>

-


-

- _("4. TextSlide"); ?> -

- - _("4. Button"); ?> - -
-
- - -
- - - - - -
-
- -
- -
- -
- -
-
-
- -

_("Archive Title :"); ?>

- -
- - - -
Clay Shirky le net, le surplus cognitif
-
- par RSLN à Microsoft France -
le lundi 31 janvier 2011·| 08:30 - 10:30 -
-
- -
- - - -
OPENDATA
-
- par RSLN à Microsoft France -
le jeudi 17 mars 2011 | 14:30 - 17:15 -
-
- -
- - - -
Mercedes Bunz
-
- par RSLN à Microsoft France -
le jeudi 7 avril 2011 | 19:30 - 21:00 -
-
- -
-
-
-
- - - - -
- - -
-
-
-
ENMI 2010
-
Annotation critique par tweet
-
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. -
- -
-
-
- - - - +getRequestToken(); + $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token); + + /** + * Now redirect user to Twitter site so they can log in and + * approve our access + */ + $consumer->redirect(); + +} + +?> + + + + + Polemic tweet - Live Video and Annotation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+ +
+ +
+ +
+

+ _("0. TitreSlide"); ?> +

+

+ _("0. TextSlide"); ?> +

+
+
+

+ _("1. TitreSlide"); ?> +

+



+

+ + _("1.1 TextSlide"); ?> + _("1.2 TextSlide"); ?>,

+ + _("1.3 TextSlide"); ?> +

+
+ +
+

_("2. TitreSlide"); ?>

+

+

+ _("2. TextSlide"); ?> +

+
+ +
+

_("3. TitreSlide"); ?>

+

+

+ _("3. TextSlide"); ?> +

+
+ +
+

_("4. TitreSlide"); ?>

+


+

+ _("4. TextSlide"); ?> +

+ + _("4. Button"); ?> + +
+
+ + +
+ + + + + +
+
+ +
+ +
+ +
+ +
+
+
+ +

_("Archive Title :"); ?>

+ +
+ + + +
Clay Shirky le net, le surplus cognitif
+
+ par RSLN à Microsoft France +
le lundi 31 janvier 2011·| 08:30 - 10:30 +
+
+ +
+ + + +
OPENDATA
+
+ par RSLN à Microsoft France +
le jeudi 17 mars 2011 | 14:30 - 17:15 +
+
+ +
+ + + +
Mercedes Bunz
+
+ par RSLN à Microsoft France +
le jeudi 7 avril 2011 | 19:30 - 21:00 +
+
+ +
+
+
+
+ + + + +
+ + +
+
+
+
ENMI 2010
+
Annotation critique par tweet
+
À partir de cette interface ou de votre client twitter habituel, vous pouvez réagir en direct aux conférences en twittant. Vos tweets seront synchronisés avec l'enregistrement des conférences. Vous pourrez qualifier vos tweets en y intégrant la syntaxe ci-contre. +
+ +
+
+
+ + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/blueprint/plugins/fancy-type/screen.css --- a/web/res/blueprint/plugins/fancy-type/screen.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/blueprint/plugins/fancy-type/screen.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,71 +1,71 @@ -/* -------------------------------------------------------------- - - fancy-type.css - * Lots of pretty advanced classes for manipulating text. - - See the Readme file in this folder for additional instructions. - --------------------------------------------------------------- */ - -/* Indentation instead of line shifts for sibling paragraphs. */ - p + p { text-indent:2em; margin-top:-1.5em; } - form p + p { text-indent: 0; } /* Don't want this in forms. */ - - -/* For great looking type, use this code instead of asdf: - asdf - Best used on prepositions and ampersands. */ - -.alt { - color: #666; - font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif; - font-style: italic; - font-weight: normal; -} - - -/* For great looking quote marks in titles, replace "asdf" with: - asdf” - (That is, when the title starts with a quote mark). - (You may have to change this value depending on your font size). */ - -.dquo { margin-left: -.5em; } - - -/* Reduced size type with incremental leading - (http://www.markboulton.co.uk/journal/comments/incremental_leading/) - - This could be used for side notes. For smaller type, you don't necessarily want to - follow the 1.5x vertical rhythm -- the line-height is too much. - - Using this class, it reduces your font size and line-height so that for - every four lines of normal sized type, there is five lines of the sidenote. eg: - - New type size in em's: - 10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems) - - New line-height value: - 12px x 1.5 = 18px (old line-height) - 18px x 4 = 72px - 72px / 5 = 14.4px (new line height) - 14.4px / 10px = 1.44 (new line height in em's) */ - -p.incr, .incr p { - font-size: 10px; - line-height: 1.44em; - margin-bottom: 1.5em; -} - - -/* Surround uppercase words and abbreviations with this class. - Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */ - -.caps { - font-variant: small-caps; - letter-spacing: 1px; - text-transform: lowercase; - font-size:1.2em; - line-height:1%; - font-weight:bold; - padding:0 2px; -} +/* -------------------------------------------------------------- + + fancy-type.css + * Lots of pretty advanced classes for manipulating text. + + See the Readme file in this folder for additional instructions. + +-------------------------------------------------------------- */ + +/* Indentation instead of line shifts for sibling paragraphs. */ + p + p { text-indent:2em; margin-top:-1.5em; } + form p + p { text-indent: 0; } /* Don't want this in forms. */ + + +/* For great looking type, use this code instead of asdf: + asdf + Best used on prepositions and ampersands. */ + +.alt { + color: #666; + font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif; + font-style: italic; + font-weight: normal; +} + + +/* For great looking quote marks in titles, replace "asdf" with: + asdf” + (That is, when the title starts with a quote mark). + (You may have to change this value depending on your font size). */ + +.dquo { margin-left: -.5em; } + + +/* Reduced size type with incremental leading + (http://www.markboulton.co.uk/journal/comments/incremental_leading/) + + This could be used for side notes. For smaller type, you don't necessarily want to + follow the 1.5x vertical rhythm -- the line-height is too much. + + Using this class, it reduces your font size and line-height so that for + every four lines of normal sized type, there is five lines of the sidenote. eg: + + New type size in em's: + 10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems) + + New line-height value: + 12px x 1.5 = 18px (old line-height) + 18px x 4 = 72px + 72px / 5 = 14.4px (new line height) + 14.4px / 10px = 1.44 (new line height in em's) */ + +p.incr, .incr p { + font-size: 10px; + line-height: 1.44em; + margin-bottom: 1.5em; +} + + +/* Surround uppercase words and abbreviations with this class. + Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */ + +.caps { + font-variant: small-caps; + letter-spacing: 1px; + text-transform: lowercase; + font-size:1.2em; + line-height:1%; + font-weight:bold; + padding:0 2px; +} diff -r c84f8401d36e -r 9578d3ddce17 web/res/css/LdtPlayer.css --- a/web/res/css/LdtPlayer.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/css/LdtPlayer.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,165 +1,165 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#eeeeee; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#cfcfcf; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#b9b9b9; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#eeeeee; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#cfcfcf; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#b9b9b9; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/css/LdtPlayerFc.css --- a/web/res/css/LdtPlayerFc.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/css/LdtPlayerFc.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#EEE; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#4D4D4D; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/purple_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#decfe2; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#bc85be; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#EEE; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#4D4D4D; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/purple_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#decfe2; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#bc85be; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/css/LdtPlayerUniverScience.css --- a/web/res/css/LdtPlayerUniverScience.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/css/LdtPlayerUniverScience.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,170 +1,170 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - .ui-widget { - font-size: 1.5em; - } - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#262626; - height:35px; - padding:5px; - - margin-left:213px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - visibility:hidden; - display:none; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:20px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#131313; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#fff; - margin-left:213px; - } - #Ldt-SaKeyword{ - background-color:#444343; - color:#fff; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - - margin-left:213px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + .ui-widget { + font-size: 1.5em; + } + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#262626; + height:35px; + padding:5px; + + margin-left:213px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + visibility:hidden; + display:none; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:20px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#131313; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#fff; + margin-left:213px; + } + #Ldt-SaKeyword{ + background-color:#444343; + color:#fff; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + + margin-left:213px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/css/demo.css --- a/web/res/css/demo.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/css/demo.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#DECFE2; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#FFF; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#773584; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#000000; - } - #Ldt-SaKeyword{ - background-color:#28042D; - color:#FFFFFF; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#DECFE2; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#FFF; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#773584; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#000000; + } + #Ldt-SaKeyword{ + background-color:#28042D; + color:#FFFFFF; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/ajax.txt --- a/web/res/jquery.fancybox/ajax.txt Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/ajax.txt Wed Apr 27 18:54:31 2011 +0200 @@ -1,6 +1,6 @@ -
-

This comes from ajax request

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. -

+
+

This comes from ajax request

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean non velit. Donec pharetra, felis ut tristique adipiscing, diam magna rhoncus neque, sit amet convallis nibh nibh vel libero. Nulla facilisi. In eleifend nisl quis lorem. Duis semper fringilla justo. Proin imperdiet sapien sed lectus. Integer quis nisl et est elementum tempor. Morbi quis tellus nec turpis suscipit molestie. Praesent sed pede. Pellentesque ac orci. Sed sit amet urna eget tellus hendrerit aliquet. Nulla consectetur, pede aliquam ornare placerat, nunc augue commodo leo, sit amet elementum dolor est eleifend magna. +

\ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css --- a/web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,359 +1,359 @@ -/* - * FancyBox - jQuery Plugin - * Simple and fancy lightbox alternative - * - * Examples and documentation at: http://fancybox.net - * - * Copyright (c) 2008 - 2010 Janis Skarnelis - * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. - * - * Version: 1.3.4 (11/11/2010) - * Requires: jQuery v1.3+ - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -#fancybox-loading { - position: fixed; - top: 50%; - left: 50%; - width: 40px; - height: 40px; - margin-top: -20px; - margin-left: -20px; - cursor: pointer; - overflow: hidden; - z-index: 1104; - display: none; -} - -#fancybox-loading div { - position: absolute; - top: 0; - left: 0; - width: 40px; - height: 480px; - background-image: url('fancybox.png'); -} - -#fancybox-overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: 1100; - display: none; -} - -#fancybox-tmp { - padding: 0; - margin: 0; - border: 0; - overflow: auto; - display: none; -} - -#fancybox-wrap { - position: absolute; - top: 0; - left: 0; - padding: 20px; - z-index: 1101; - outline: none; - display: none; -} - -#fancybox-outer { - position: relative; - width: 100%; - height: 100%; - background: #fff; -} - -#fancybox-content { - width: 0; - height: 0; - padding: 0; - outline: none; - position: relative; - overflow: hidden; - z-index: 1102; - border: 0px solid #fff; -} - -#fancybox-hide-sel-frame { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: transparent; - z-index: 1101; -} - -#fancybox-close { - position: absolute; - top: -15px; - right: -15px; - width: 30px; - height: 30px; - background: transparent url('fancybox.png') -40px 0px; - cursor: pointer; - z-index: 1103; - display: none; -} - -#fancybox-error { - color: #444; - font: normal 12px/20px Arial; - padding: 14px; - margin: 0; -} - -#fancybox-img { - width: 100%; - height: 100%; - padding: 0; - margin: 0; - border: none; - outline: none; - line-height: 0; - vertical-align: top; -} - -#fancybox-frame { - width: 100%; - height: 100%; - border: none; - display: block; -} - -#fancybox-left, #fancybox-right { - position: absolute; - bottom: 0px; - height: 100%; - width: 35%; - cursor: pointer; - outline: none; - background: transparent url('blank.gif'); - z-index: 1102; - display: none; -} - -#fancybox-left { - left: 0px; -} - -#fancybox-right { - right: 0px; -} - -#fancybox-left-ico, #fancybox-right-ico { - position: absolute; - top: 50%; - left: -9999px; - width: 30px; - height: 30px; - margin-top: -15px; - cursor: pointer; - z-index: 1102; - display: block; -} - -#fancybox-left-ico { - background-image: url('fancybox.png'); - background-position: -40px -30px; -} - -#fancybox-right-ico { - background-image: url('fancybox.png'); - background-position: -40px -60px; -} - -#fancybox-left:hover, #fancybox-right:hover { - visibility: visible; /* IE6 */ -} - -#fancybox-left:hover span { - left: 20px; -} - -#fancybox-right:hover span { - left: auto; - right: 20px; -} - -.fancybox-bg { - position: absolute; - padding: 0; - margin: 0; - border: 0; - width: 20px; - height: 20px; - z-index: 1001; -} - -#fancybox-bg-n { - top: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); -} - -#fancybox-bg-ne { - top: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -162px; -} - -#fancybox-bg-e { - top: 0; - right: -20px; - height: 100%; - background-image: url('fancybox-y.png'); - background-position: -20px 0px; -} - -#fancybox-bg-se { - bottom: -20px; - right: -20px; - background-image: url('fancybox.png'); - background-position: -40px -182px; -} - -#fancybox-bg-s { - bottom: -20px; - left: 0; - width: 100%; - background-image: url('fancybox-x.png'); - background-position: 0px -20px; -} - -#fancybox-bg-sw { - bottom: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -142px; -} - -#fancybox-bg-w { - top: 0; - left: -20px; - height: 100%; - background-image: url('fancybox-y.png'); -} - -#fancybox-bg-nw { - top: -20px; - left: -20px; - background-image: url('fancybox.png'); - background-position: -40px -122px; -} - -#fancybox-title { - font-family: Helvetica; - font-size: 12px; - z-index: 1102; -} - -.fancybox-title-inside { - padding-bottom: 10px; - text-align: center; - color: #333; - background: #fff; - position: relative; -} - -.fancybox-title-outside { - padding-top: 10px; - color: #fff; -} - -.fancybox-title-over { - position: absolute; - bottom: 0; - left: 0; - color: #FFF; - text-align: left; -} - -#fancybox-title-over { - padding: 10px; - background-image: url('fancy_title_over.png'); - display: block; -} - -.fancybox-title-float { - position: absolute; - left: 0; - bottom: -20px; - height: 32px; -} - -#fancybox-title-float-wrap { - border: none; - border-collapse: collapse; - width: auto; -} - -#fancybox-title-float-wrap td { - border: none; - white-space: nowrap; -} - -#fancybox-title-float-left { - padding: 0 0 0 15px; - background: url('fancybox.png') -40px -90px no-repeat; -} - -#fancybox-title-float-main { - color: #FFF; - line-height: 29px; - font-weight: bold; - padding: 0 0 3px 0; - background: url('fancybox-x.png') 0px -40px; -} - -#fancybox-title-float-right { - padding: 0 0 0 15px; - background: url('fancybox.png') -55px -90px no-repeat; -} - -/* IE6 */ - -.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } -.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } -.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } - -.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { - height: expression(this.parentNode.clientHeight + "px"); -} - -#fancybox-loading.fancybox-ie6 { - position: absolute; margin-top: 0; - top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); -} - -#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } - -/* IE6, IE7, IE8 */ - -.fancybox-ie .fancybox-bg { background: transparent !important; } - -.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } -.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +#fancybox-loading { + position: fixed; + top: 50%; + left: 50%; + width: 40px; + height: 40px; + margin-top: -20px; + margin-left: -20px; + cursor: pointer; + overflow: hidden; + z-index: 1104; + display: none; +} + +#fancybox-loading div { + position: absolute; + top: 0; + left: 0; + width: 40px; + height: 480px; + background-image: url('fancybox.png'); +} + +#fancybox-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 1100; + display: none; +} + +#fancybox-tmp { + padding: 0; + margin: 0; + border: 0; + overflow: auto; + display: none; +} + +#fancybox-wrap { + position: absolute; + top: 0; + left: 0; + padding: 20px; + z-index: 1101; + outline: none; + display: none; +} + +#fancybox-outer { + position: relative; + width: 100%; + height: 100%; + background: #fff; +} + +#fancybox-content { + width: 0; + height: 0; + padding: 0; + outline: none; + position: relative; + overflow: hidden; + z-index: 1102; + border: 0px solid #fff; +} + +#fancybox-hide-sel-frame { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: transparent; + z-index: 1101; +} + +#fancybox-close { + position: absolute; + top: -15px; + right: -15px; + width: 30px; + height: 30px; + background: transparent url('fancybox.png') -40px 0px; + cursor: pointer; + z-index: 1103; + display: none; +} + +#fancybox-error { + color: #444; + font: normal 12px/20px Arial; + padding: 14px; + margin: 0; +} + +#fancybox-img { + width: 100%; + height: 100%; + padding: 0; + margin: 0; + border: none; + outline: none; + line-height: 0; + vertical-align: top; +} + +#fancybox-frame { + width: 100%; + height: 100%; + border: none; + display: block; +} + +#fancybox-left, #fancybox-right { + position: absolute; + bottom: 0px; + height: 100%; + width: 35%; + cursor: pointer; + outline: none; + background: transparent url('blank.gif'); + z-index: 1102; + display: none; +} + +#fancybox-left { + left: 0px; +} + +#fancybox-right { + right: 0px; +} + +#fancybox-left-ico, #fancybox-right-ico { + position: absolute; + top: 50%; + left: -9999px; + width: 30px; + height: 30px; + margin-top: -15px; + cursor: pointer; + z-index: 1102; + display: block; +} + +#fancybox-left-ico { + background-image: url('fancybox.png'); + background-position: -40px -30px; +} + +#fancybox-right-ico { + background-image: url('fancybox.png'); + background-position: -40px -60px; +} + +#fancybox-left:hover, #fancybox-right:hover { + visibility: visible; /* IE6 */ +} + +#fancybox-left:hover span { + left: 20px; +} + +#fancybox-right:hover span { + left: auto; + right: 20px; +} + +.fancybox-bg { + position: absolute; + padding: 0; + margin: 0; + border: 0; + width: 20px; + height: 20px; + z-index: 1001; +} + +#fancybox-bg-n { + top: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); +} + +#fancybox-bg-ne { + top: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -162px; +} + +#fancybox-bg-e { + top: 0; + right: -20px; + height: 100%; + background-image: url('fancybox-y.png'); + background-position: -20px 0px; +} + +#fancybox-bg-se { + bottom: -20px; + right: -20px; + background-image: url('fancybox.png'); + background-position: -40px -182px; +} + +#fancybox-bg-s { + bottom: -20px; + left: 0; + width: 100%; + background-image: url('fancybox-x.png'); + background-position: 0px -20px; +} + +#fancybox-bg-sw { + bottom: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -142px; +} + +#fancybox-bg-w { + top: 0; + left: -20px; + height: 100%; + background-image: url('fancybox-y.png'); +} + +#fancybox-bg-nw { + top: -20px; + left: -20px; + background-image: url('fancybox.png'); + background-position: -40px -122px; +} + +#fancybox-title { + font-family: Helvetica; + font-size: 12px; + z-index: 1102; +} + +.fancybox-title-inside { + padding-bottom: 10px; + text-align: center; + color: #333; + background: #fff; + position: relative; +} + +.fancybox-title-outside { + padding-top: 10px; + color: #fff; +} + +.fancybox-title-over { + position: absolute; + bottom: 0; + left: 0; + color: #FFF; + text-align: left; +} + +#fancybox-title-over { + padding: 10px; + background-image: url('fancy_title_over.png'); + display: block; +} + +.fancybox-title-float { + position: absolute; + left: 0; + bottom: -20px; + height: 32px; +} + +#fancybox-title-float-wrap { + border: none; + border-collapse: collapse; + width: auto; +} + +#fancybox-title-float-wrap td { + border: none; + white-space: nowrap; +} + +#fancybox-title-float-left { + padding: 0 0 0 15px; + background: url('fancybox.png') -40px -90px no-repeat; +} + +#fancybox-title-float-main { + color: #FFF; + line-height: 29px; + font-weight: bold; + padding: 0 0 3px 0; + background: url('fancybox-x.png') 0px -40px; +} + +#fancybox-title-float-right { + padding: 0 0 0 15px; + background: url('fancybox.png') -55px -90px no-repeat; +} + +/* IE6 */ + +.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; } +.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png', sizingMethod='scale'); } +.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png', sizingMethod='scale'); } + +.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame { + height: expression(this.parentNode.clientHeight + "px"); +} + +#fancybox-loading.fancybox-ie6 { + position: absolute; margin-top: 0; + top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'); +} + +#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); } + +/* IE6, IE7, IE8 */ + +.fancybox-ie .fancybox-bg { background: transparent !important; } + +.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png', sizingMethod='scale'); } +.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png', sizingMethod='scale'); } .fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png', sizingMethod='scale'); } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js --- a/web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1156 +1,1156 @@ -/* - * FancyBox - jQuery Plugin - * Simple and fancy lightbox alternative - * - * Examples and documentation at: http://fancybox.net - * - * Copyright (c) 2008 - 2010 Janis Skarnelis - * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. - * - * Version: 1.3.4 (11/11/2010) - * Requires: jQuery v1.3+ - * - * 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 tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right, - - selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [], - - ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i, - - loadingTimer, loadingFrame = 1, - - titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('
')[0], { prop: 0 }), - - isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, - - /* - * Private methods - */ - - _abort = function() { - loading.hide(); - - imgPreloader.onerror = imgPreloader.onload = null; - - if (ajaxLoader) { - ajaxLoader.abort(); - } - - tmp.empty(); - }, - - _error = function() { - if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { - loading.hide(); - busy = false; - return; - } - - selectedOpts.titleShow = false; - - selectedOpts.width = 'auto'; - selectedOpts.height = 'auto'; - - tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); - - _process_inline(); - }, - - _start = function() { - var obj = selectedArray[ selectedIndex ], - href, - type, - title, - str, - emb, - ret; - - _abort(); - - selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); - - ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); - - if (ret === false) { - busy = false; - return; - } else if (typeof ret == 'object') { - selectedOpts = $.extend(selectedOpts, ret); - } - - title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; - - if (obj.nodeName && !selectedOpts.orig) { - selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); - } - - if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { - title = selectedOpts.orig.attr('alt'); - } - - href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; - - if ((/^(?:javascript)/i).test(href) || href == '#') { - href = null; - } - - if (selectedOpts.type) { - type = selectedOpts.type; - - if (!href) { - href = selectedOpts.content; - } - - } else if (selectedOpts.content) { - type = 'html'; - - } else if (href) { - if (href.match(imgRegExp)) { - type = 'image'; - - } else if (href.match(swfRegExp)) { - type = 'swf'; - - } else if ($(obj).hasClass("iframe")) { - type = 'iframe'; - - } else if (href.indexOf("#") === 0) { - type = 'inline'; - - } else { - type = 'ajax'; - } - } - - if (!type) { - _error(); - return; - } - - if (type == 'inline') { - obj = href.substr(href.indexOf("#")); - type = $(obj).length > 0 ? 'inline' : 'ajax'; - } - - selectedOpts.type = type; - selectedOpts.href = href; - selectedOpts.title = title; - - if (selectedOpts.autoDimensions) { - if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { - selectedOpts.width = 'auto'; - selectedOpts.height = 'auto'; - } else { - selectedOpts.autoDimensions = false; - } - } - - if (selectedOpts.modal) { - selectedOpts.overlayShow = true; - selectedOpts.hideOnOverlayClick = false; - selectedOpts.hideOnContentClick = false; - selectedOpts.enableEscapeButton = false; - selectedOpts.showCloseButton = false; - } - - selectedOpts.padding = parseInt(selectedOpts.padding, 10); - selectedOpts.margin = parseInt(selectedOpts.margin, 10); - - tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); - - $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { - $(this).replaceWith(content.children()); - }); - - switch (type) { - case 'html' : - tmp.html( selectedOpts.content ); - _process_inline(); - break; - - case 'inline' : - if ( $(obj).parent().is('#fancybox-content') === true) { - busy = false; - return; - } - - $('
') - .hide() - .insertBefore( $(obj) ) - .bind('fancybox-cleanup', function() { - $(this).replaceWith(content.children()); - }).bind('fancybox-cancel', function() { - $(this).replaceWith(tmp.children()); - }); - - $(obj).appendTo(tmp); - - _process_inline(); - break; - - case 'image': - busy = false; - - $.fancybox.showActivity(); - - imgPreloader = new Image(); - - imgPreloader.onerror = function() { - _error(); - }; - - imgPreloader.onload = function() { - busy = true; - - imgPreloader.onerror = imgPreloader.onload = null; - - _process_image(); - }; - - imgPreloader.src = href; - break; - - case 'swf': - selectedOpts.scrolling = 'no'; - - str = ''; - emb = ''; - - $.each(selectedOpts.swf, function(name, val) { - str += ''; - emb += ' ' + name + '="' + val + '"'; - }); - - str += ''; - - tmp.html(str); - - _process_inline(); - break; - - case 'ajax': - busy = false; - - $.fancybox.showActivity(); - - selectedOpts.ajax.win = selectedOpts.ajax.success; - - ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { - url : href, - data : selectedOpts.ajax.data || {}, - error : function(XMLHttpRequest, textStatus, errorThrown) { - if ( XMLHttpRequest.status > 0 ) { - _error(); - } - }, - success : function(data, textStatus, XMLHttpRequest) { - var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; - if (o.status == 200) { - if ( typeof selectedOpts.ajax.win == 'function' ) { - ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); - - if (ret === false) { - loading.hide(); - return; - } else if (typeof ret == 'string' || typeof ret == 'object') { - data = ret; - } - } - - tmp.html( data ); - _process_inline(); - } - } - })); - - break; - - case 'iframe': - _show(); - break; - } - }, - - _process_inline = function() { - var - w = selectedOpts.width, - h = selectedOpts.height; - - if (w.toString().indexOf('%') > -1) { - w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; - - } else { - w = w == 'auto' ? 'auto' : w + 'px'; - } - - if (h.toString().indexOf('%') > -1) { - h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; - - } else { - h = h == 'auto' ? 'auto' : h + 'px'; - } - - tmp.wrapInner('
'); - - selectedOpts.width = tmp.width(); - selectedOpts.height = tmp.height(); - - _show(); - }, - - _process_image = function() { - selectedOpts.width = imgPreloader.width; - selectedOpts.height = imgPreloader.height; - - $("").attr({ - 'id' : 'fancybox-img', - 'src' : imgPreloader.src, - 'alt' : selectedOpts.title - }).appendTo( tmp ); - - _show(); - }, - - _show = function() { - var pos, equal; - - loading.hide(); - - if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { - $.event.trigger('fancybox-cancel'); - - busy = false; - return; - } - - busy = true; - - $(content.add( overlay )).unbind(); - - $(window).unbind("resize.fb scroll.fb"); - $(document).unbind('keydown.fb'); - - if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { - wrap.css('height', wrap.height()); - } - - currentArray = selectedArray; - currentIndex = selectedIndex; - currentOpts = selectedOpts; - - if (currentOpts.overlayShow) { - overlay.css({ - 'background-color' : currentOpts.overlayColor, - 'opacity' : currentOpts.overlayOpacity, - 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', - 'height' : $(document).height() - }); - - if (!overlay.is(':visible')) { - if (isIE6) { - $('select:not(#fancybox-tmp select)').filter(function() { - return this.style.visibility !== 'hidden'; - }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { - this.style.visibility = 'inherit'; - }); - } - - overlay.show(); - } - } else { - overlay.hide(); - } - - final_pos = _get_zoom_to(); - - _process_title(); - - if (wrap.is(":visible")) { - $( close.add( nav_left ).add( nav_right ) ).hide(); - - pos = wrap.position(), - - start_pos = { - top : pos.top, - left : pos.left, - width : wrap.width(), - height : wrap.height() - }; - - equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); - - content.fadeTo(currentOpts.changeFade, 0.3, function() { - var finish_resizing = function() { - content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); - }; - - $.event.trigger('fancybox-change'); - - content - .empty() - .removeAttr('filter') - .css({ - 'border-width' : currentOpts.padding, - 'width' : final_pos.width - currentOpts.padding * 2, - 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 - }); - - if (equal) { - finish_resizing(); - - } else { - fx.prop = 0; - - $(fx).animate({prop: 1}, { - duration : currentOpts.changeSpeed, - easing : currentOpts.easingChange, - step : _draw, - complete : finish_resizing - }); - } - }); - - return; - } - - wrap.removeAttr("style"); - - content.css('border-width', currentOpts.padding); - - if (currentOpts.transitionIn == 'elastic') { - start_pos = _get_zoom_from(); - - content.html( tmp.contents() ); - - wrap.show(); - - if (currentOpts.opacity) { - final_pos.opacity = 0; - } - - fx.prop = 0; - - $(fx).animate({prop: 1}, { - duration : currentOpts.speedIn, - easing : currentOpts.easingIn, - step : _draw, - complete : _finish - }); - - return; - } - - if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { - title.show(); - } - - content - .css({ - 'width' : final_pos.width - currentOpts.padding * 2, - 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 - }) - .html( tmp.contents() ); - - wrap - .css(final_pos) - .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); - }, - - _format_title = function(title) { - if (title && title.length) { - if (currentOpts.titlePosition == 'float') { - return '
' + title + '
'; - } - - return '
' + title + '
'; - } - - return false; - }, - - _process_title = function() { - titleStr = currentOpts.title || ''; - titleHeight = 0; - - title - .empty() - .removeAttr('style') - .removeClass(); - - if (currentOpts.titleShow === false) { - title.hide(); - return; - } - - titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); - - if (!titleStr || titleStr === '') { - title.hide(); - return; - } - - title - .addClass('fancybox-title-' + currentOpts.titlePosition) - .html( titleStr ) - .appendTo( 'body' ) - .show(); - - switch (currentOpts.titlePosition) { - case 'inside': - title - .css({ - 'width' : final_pos.width - (currentOpts.padding * 2), - 'marginLeft' : currentOpts.padding, - 'marginRight' : currentOpts.padding - }); - - titleHeight = title.outerHeight(true); - - title.appendTo( outer ); - - final_pos.height += titleHeight; - break; - - case 'over': - title - .css({ - 'marginLeft' : currentOpts.padding, - 'width' : final_pos.width - (currentOpts.padding * 2), - 'bottom' : currentOpts.padding - }) - .appendTo( outer ); - break; - - case 'float': - title - .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) - .appendTo( wrap ); - break; - - default: - title - .css({ - 'width' : final_pos.width - (currentOpts.padding * 2), - 'paddingLeft' : currentOpts.padding, - 'paddingRight' : currentOpts.padding - }) - .appendTo( wrap ); - break; - } - - title.hide(); - }, - - _set_navigation = function() { - if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { - $(document).bind('keydown.fb', function(e) { - if (e.keyCode == 27 && currentOpts.enableEscapeButton) { - e.preventDefault(); - $.fancybox.close(); - - } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { - e.preventDefault(); - $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); - } - }); - } - - if (!currentOpts.showNavArrows) { - nav_left.hide(); - nav_right.hide(); - return; - } - - if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { - nav_left.show(); - } - - if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { - nav_right.show(); - } - }, - - _finish = function () { - if (!$.support.opacity) { - content.get(0).style.removeAttribute('filter'); - wrap.get(0).style.removeAttribute('filter'); - } - - if (selectedOpts.autoDimensions) { - content.css('height', 'auto'); - } - - wrap.css('height', 'auto'); - - if (titleStr && titleStr.length) { - title.show(); - } - - if (currentOpts.showCloseButton) { - close.show(); - } - - _set_navigation(); - - if (currentOpts.hideOnContentClick) { - content.bind('click', $.fancybox.close); - } - - if (currentOpts.hideOnOverlayClick) { - overlay.bind('click', $.fancybox.close); - } - - $(window).bind("resize.fb", $.fancybox.resize); - - if (currentOpts.centerOnScroll) { - $(window).bind("scroll.fb", $.fancybox.center); - } - - if (currentOpts.type == 'iframe') { - $('').appendTo(content); - } - - wrap.show(); - - busy = false; - - $.fancybox.center(); - - currentOpts.onComplete(currentArray, currentIndex, currentOpts); - - _preload_images(); - }, - - _preload_images = function() { - var href, - objNext; - - if ((currentArray.length -1) > currentIndex) { - href = currentArray[ currentIndex + 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - - if (currentIndex > 0) { - href = currentArray[ currentIndex - 1 ].href; - - if (typeof href !== 'undefined' && href.match(imgRegExp)) { - objNext = new Image(); - objNext.src = href; - } - } - }, - - _draw = function(pos) { - var dim = { - width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), - height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), - - top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), - left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) - }; - - if (typeof final_pos.opacity !== 'undefined') { - dim.opacity = pos < 0.5 ? 0.5 : pos; - } - - wrap.css(dim); - - content.css({ - 'width' : dim.width - currentOpts.padding * 2, - 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 - }); - }, - - _get_viewport = function() { - return [ - $(window).width() - (currentOpts.margin * 2), - $(window).height() - (currentOpts.margin * 2), - $(document).scrollLeft() + currentOpts.margin, - $(document).scrollTop() + currentOpts.margin - ]; - }, - - _get_zoom_to = function () { - var view = _get_viewport(), - to = {}, - resize = currentOpts.autoScale, - double_padding = currentOpts.padding * 2, - ratio; - - if (currentOpts.width.toString().indexOf('%') > -1) { - to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); - } else { - to.width = currentOpts.width + double_padding; - } - - if (currentOpts.height.toString().indexOf('%') > -1) { - to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); - } else { - to.height = currentOpts.height + double_padding; - } - - if (resize && (to.width > view[0] || to.height > view[1])) { - if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { - ratio = (currentOpts.width ) / (currentOpts.height ); - - if ((to.width ) > view[0]) { - to.width = view[0]; - to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); - } - - if ((to.height) > view[1]) { - to.height = view[1]; - to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); - } - - } else { - to.width = Math.min(to.width, view[0]); - to.height = Math.min(to.height, view[1]); - } - } - - to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); - to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); - - return to; - }, - - _get_obj_pos = function(obj) { - var pos = obj.offset(); - - pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; - pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; - - pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; - pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; - - pos.width = obj.width(); - pos.height = obj.height(); - - return pos; - }, - - _get_zoom_from = function() { - var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, - from = {}, - pos, - view; - - if (orig && orig.length) { - pos = _get_obj_pos(orig); - - from = { - width : pos.width + (currentOpts.padding * 2), - height : pos.height + (currentOpts.padding * 2), - top : pos.top - currentOpts.padding - 20, - left : pos.left - currentOpts.padding - 20 - }; - - } else { - view = _get_viewport(); - - from = { - width : currentOpts.padding * 2, - height : currentOpts.padding * 2, - top : parseInt(view[3] + view[1] * 0.5, 10), - left : parseInt(view[2] + view[0] * 0.5, 10) - }; - } - - return from; - }, - - _animate_loading = function() { - if (!loading.is(':visible')){ - clearInterval(loadingTimer); - return; - } - - $('div', loading).css('top', (loadingFrame * -40) + 'px'); - - loadingFrame = (loadingFrame + 1) % 12; - }; - - /* - * Public methods - */ - - $.fn.fancybox = function(options) { - if (!$(this).length) { - return this; - } - - $(this) - .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) - .unbind('click.fb') - .bind('click.fb', function(e) { - e.preventDefault(); - - if (busy) { - return; - } - - busy = true; - - $(this).blur(); - - selectedArray = []; - selectedIndex = 0; - - var rel = $(this).attr('rel') || ''; - - if (!rel || rel == '' || rel === 'nofollow') { - selectedArray.push(this); - - } else { - selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); - selectedIndex = selectedArray.index( this ); - } - - _start(); - - return; - }); - - return this; - }; - - $.fancybox = function(obj) { - var opts; - - if (busy) { - return; - } - - busy = true; - opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; - - selectedArray = []; - selectedIndex = parseInt(opts.index, 10) || 0; - - if ($.isArray(obj)) { - for (var i = 0, j = obj.length; i < j; i++) { - if (typeof obj[i] == 'object') { - $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); - } else { - obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); - } - } - - selectedArray = jQuery.merge(selectedArray, obj); - - } else { - if (typeof obj == 'object') { - $(obj).data('fancybox', $.extend({}, opts, obj)); - } else { - obj = $({}).data('fancybox', $.extend({content : obj}, opts)); - } - - selectedArray.push(obj); - } - - if (selectedIndex > selectedArray.length || selectedIndex < 0) { - selectedIndex = 0; - } - - _start(); - }; - - $.fancybox.showActivity = function() { - clearInterval(loadingTimer); - - loading.show(); - loadingTimer = setInterval(_animate_loading, 66); - }; - - $.fancybox.hideActivity = function() { - loading.hide(); - }; - - $.fancybox.next = function() { - return $.fancybox.pos( currentIndex + 1); - }; - - $.fancybox.prev = function() { - return $.fancybox.pos( currentIndex - 1); - }; - - $.fancybox.pos = function(pos) { - if (busy) { - return; - } - - pos = parseInt(pos); - - selectedArray = currentArray; - - if (pos > -1 && pos < currentArray.length) { - selectedIndex = pos; - _start(); - - } else if (currentOpts.cyclic && currentArray.length > 1) { - selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; - _start(); - } - - return; - }; - - $.fancybox.cancel = function() { - if (busy) { - return; - } - - busy = true; - - $.event.trigger('fancybox-cancel'); - - _abort(); - - selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); - - busy = false; - }; - - // Note: within an iframe use - parent.$.fancybox.close(); - $.fancybox.close = function() { - if (busy || wrap.is(':hidden')) { - return; - } - - busy = true; - - if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { - busy = false; - return; - } - - _abort(); - - $(close.add( nav_left ).add( nav_right )).hide(); - - $(content.add( overlay )).unbind(); - - $(window).unbind("resize.fb scroll.fb"); - $(document).unbind('keydown.fb'); - - content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); - - if (currentOpts.titlePosition !== 'inside') { - title.empty(); - } - - wrap.stop(); - - function _cleanup() { - overlay.fadeOut('fast'); - - title.empty().hide(); - wrap.hide(); - - $.event.trigger('fancybox-cleanup'); - - content.empty(); - - currentOpts.onClosed(currentArray, currentIndex, currentOpts); - - currentArray = selectedOpts = []; - currentIndex = selectedIndex = 0; - currentOpts = selectedOpts = {}; - - busy = false; - } - - if (currentOpts.transitionOut == 'elastic') { - start_pos = _get_zoom_from(); - - var pos = wrap.position(); - - final_pos = { - top : pos.top , - left : pos.left, - width : wrap.width(), - height : wrap.height() - }; - - if (currentOpts.opacity) { - final_pos.opacity = 1; - } - - title.empty().hide(); - - fx.prop = 1; - - $(fx).animate({ prop: 0 }, { - duration : currentOpts.speedOut, - easing : currentOpts.easingOut, - step : _draw, - complete : _cleanup - }); - - } else { - wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); - } - }; - - $.fancybox.resize = function() { - if (overlay.is(':visible')) { - overlay.css('height', $(document).height()); - } - - $.fancybox.center(true); - }; - - $.fancybox.center = function() { - var view, align; - - if (busy) { - return; - } - - align = arguments[0] === true ? 1 : 0; - view = _get_viewport(); - - if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { - return; - } - - wrap - .stop() - .animate({ - 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), - 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) - }, typeof arguments[0] == 'number' ? arguments[0] : 200); - }; - - $.fancybox.init = function() { - if ($("#fancybox-wrap").length) { - return; - } - - $('body').append( - tmp = $('
'), - loading = $('
'), - overlay = $('
'), - wrap = $('
') - ); - - outer = $('
') - .append('
') - .appendTo( wrap ); - - outer.append( - content = $('
'), - close = $(''), - title = $('
'), - - nav_left = $(''), - nav_right = $('') - ); - - close.click($.fancybox.close); - loading.click($.fancybox.cancel); - - nav_left.click(function(e) { - e.preventDefault(); - $.fancybox.prev(); - }); - - nav_right.click(function(e) { - e.preventDefault(); - $.fancybox.next(); - }); - - if ($.fn.mousewheel) { - wrap.bind('mousewheel.fb', function(e, delta) { - if (busy) { - e.preventDefault(); - - } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { - e.preventDefault(); - $.fancybox[ delta > 0 ? 'prev' : 'next'](); - } - }); - } - - if (!$.support.opacity) { - wrap.addClass('fancybox-ie'); - } - - if (isIE6) { - loading.addClass('fancybox-ie6'); - wrap.addClass('fancybox-ie6'); - - $('').prependTo(outer); - } - }; - - $.fn.fancybox.defaults = { - padding : 10, - margin : 40, - opacity : false, - modal : false, - cyclic : false, - scrolling : 'auto', // 'auto', 'yes' or 'no' - - width : 560, - height : 340, - - autoScale : true, - autoDimensions : true, - centerOnScroll : false, - - ajax : {}, - swf : { wmode: 'transparent' }, - - hideOnOverlayClick : true, - hideOnContentClick : false, - - overlayShow : true, - overlayOpacity : 0.7, - overlayColor : '#777', - - titleShow : true, - titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' - titleFormat : null, - titleFromAlt : false, - - transitionIn : 'fade', // 'elastic', 'fade' or 'none' - transitionOut : 'fade', // 'elastic', 'fade' or 'none' - - speedIn : 300, - speedOut : 300, - - changeSpeed : 300, - changeFade : 'fast', - - easingIn : 'swing', - easingOut : 'swing', - - showCloseButton : true, - showNavArrows : true, - enableEscapeButton : true, - enableKeyboardNav : true, - - onStart : function(){}, - onCancel : function(){}, - onComplete : function(){}, - onCleanup : function(){}, - onClosed : function(){}, - onError : function(){} - }; - - $(document).ready(function() { - $.fancybox.init(); - }); - +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * 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 tmp, loading, overlay, wrap, outer, content, close, title, nav_left, nav_right, + + selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [], + + ajaxLoader = null, imgPreloader = new Image(), imgRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i, + + loadingTimer, loadingFrame = 1, + + titleHeight = 0, titleStr = '', start_pos, final_pos, busy = false, fx = $.extend($('
')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
' + title + '
'; + } + + return '
' + title + '
'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
'), + loading = $('
'), + overlay = $('
'), + wrap = $('
') + ); + + outer = $('
') + .append('
') + .appendTo( wrap ); + + outer.append( + content = $('
'), + close = $(''), + title = $('
'), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + })(jQuery); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/index.html --- a/web/res/jquery.fancybox/index.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/index.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,165 +1,165 @@ - - - - - - FancyBox 1.3.4 | Demonstration - - - - - - - - - -
-

fancybox v1.3.4

- -

This is a demonstration. Home page

- -
- -

- Different animations
- - example1 - - example2 - - example3 - - example4 -

- -

- Different title positions
- - example4 - - example5 - - example6 - - example7 -

- -

- Image gallery (ps, try using mouse scroll wheel)
- - - - - - - - -

- -

- Various examples -

- - - -
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. -
-
- -

- Ajax example will not run from your local computer and requires a server to run. -

-

- Photo Credit: Katie Harris -

-
- + + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + +
+

fancybox v1.3.4

+ +

This is a demonstration. Home page

+ +
+ +

+ Different animations
+ + example1 + + example2 + + example3 + + example4 +

+ +

+ Different title positions
+ + example4 + + example5 + + example6 + + example7 +

+ +

+ Image gallery (ps, try using mouse scroll wheel)
+ + + + + + + + +

+ +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +

+ Ajax example will not run from your local computer and requires a server to run. +

+

+ Photo Credit: Katie Harris +

+
+ \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/index2.html --- a/web/res/jquery.fancybox/index2.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/index2.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,58 +1,58 @@ - - - - - FancyBox 1.3.4 | Demonstration - - - - - - - - - - - -
- - -

- Various examples -

- - - -
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. -
-
- -
- + + + + + FancyBox 1.3.4 | Demonstration + + + + + + + + + + + +
+ + +

+ Various examples +

+ + + +
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Nulla et lorem eu nibh adipiscing ultricies nec at lacus. Cras laoreet ultricies sem, at blandit mi eleifend aliquam. Nunc enim ipsum, vehicula non pretium varius, cursus ac tortor. Vivamus fringilla congue laoreet. Quisque ultrices sodales orci, quis rhoncus justo auctor in. Phasellus dui eros, bibendum eu feugiat ornare, faucibus eu mi. Nunc aliquet tempus sem, id aliquam diam varius ac. Maecenas nisl nunc, molestie vitae eleifend vel, iaculis sed magna. Aenean tempus lacus vitae orci posuere porttitor eget non felis. Donec lectus elit, aliquam nec eleifend sit amet, vestibulum sed nunc. +
+
+ +
+ \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/jquery.fancybox/style.css --- a/web/res/jquery.fancybox/style.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/jquery.fancybox/style.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,65 +1,65 @@ -html, body, div, ul { - margin: 0; - padding: 0; -} - -body { - color: #262626; - background: #f4f4f4; - font: normal 12px/18px Verdana, sans-serif; -} - -#content { - width: 400px; - margin: 40px auto 0 auto; - padding: 0 60px 30px 60px; - border: solid 1px #cbcbcb; - background: #fafafa; - -moz-box-shadow: 0px 0px 10px #cbcbcb; - -webkit-box-shadow: 0px 0px 10px #cbcbcb; -} - -h1 { - margin: 30px 0 15px 0; - font-size: 30px; - font-weight: bold; - font-family: Arial; -} - -h1 span { - font-size: 50%; - letter-spacing: -0.05em; -} - -hr { - border: none; - height: 1px; line-height: 1px; - background: #E5E5E5; - margin-bottom: 20px; - padding: 0; -} - -p { - margin: 0; - padding: 7px 0; -} - -a { - outline: none; -} - -a img { - border: 1px solid #BBB; - padding: 2px; - margin: 10px 20px 10px 0; - vertical-align: top; -} - -a img.last { - margin-right: 0; -} - -ul { - margin-bottom: 24px; - padding-left: 30px; -} +html, body, div, ul { + margin: 0; + padding: 0; +} + +body { + color: #262626; + background: #f4f4f4; + font: normal 12px/18px Verdana, sans-serif; +} + +#content { + width: 400px; + margin: 40px auto 0 auto; + padding: 0 60px 30px 60px; + border: solid 1px #cbcbcb; + background: #fafafa; + -moz-box-shadow: 0px 0px 10px #cbcbcb; + -webkit-box-shadow: 0px 0px 10px #cbcbcb; +} + +h1 { + margin: 30px 0 15px 0; + font-size: 30px; + font-weight: bold; + font-family: Arial; +} + +h1 span { + font-size: 50%; + letter-spacing: -0.05em; +} + +hr { + border: none; + height: 1px; line-height: 1px; + background: #E5E5E5; + margin-bottom: 20px; + padding: 0; +} + +p { + margin: 0; + padding: 7px 0; +} + +a { + outline: none; +} + +a img { + border: 1px solid #BBB; + padding: 2px; + margin: 10px 20px 10px 0; + vertical-align: top; +} + +a img.last { + margin-right: 0; +} + +ul { + margin-bottom: 24px; + padding-left: 30px; +} diff -r c84f8401d36e -r 9578d3ddce17 web/res/mediaplayer/swfobject.js --- a/web/res/mediaplayer/swfobject.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/mediaplayer/swfobject.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,8 +1,8 @@ -/** - * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ - * - * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - * - */ +/** + * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ + * + * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License: + * http://www.opensource.org/licenses/mit-license.php + * + */ if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="";_19+="";var _1d=this.getParams();for(var key in _1d){_19+="";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="";}_19+="";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.majorfv.major){return true;}if(this.minorfv.minor){return true;}if(this.rev=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer.polemic/src/css/LdtPlayer.css --- a/web/res/metadataplayer.polemic/src/css/LdtPlayer.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer.polemic/src/css/LdtPlayer.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,165 +1,165 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#eeeeee; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#cfcfcf; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#b9b9b9; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#eeeeee; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#cfcfcf; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#b9b9b9; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer.polemic/src/css/LdtPlayerFc.css --- a/web/res/metadataplayer.polemic/src/css/LdtPlayerFc.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer.polemic/src/css/LdtPlayerFc.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#EEE; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#4D4D4D; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/purple_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#decfe2; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#bc85be; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#EEE; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#4D4D4D; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/purple_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#decfe2; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#bc85be; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer.polemic/src/css/LdtPlayerUniverScience.css --- a/web/res/metadataplayer.polemic/src/css/LdtPlayerUniverScience.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer.polemic/src/css/LdtPlayerUniverScience.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,170 +1,170 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - .ui-widget { - font-size: 1.5em; - } - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#262626; - height:35px; - padding:5px; - - margin-left:213px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - visibility:hidden; - display:none; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:20px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#131313; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#fff; - margin-left:213px; - } - #Ldt-SaKeyword{ - background-color:#444343; - color:#fff; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - - margin-left:213px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + .ui-widget { + font-size: 1.5em; + } + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#262626; + height:35px; + padding:5px; + + margin-left:213px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + visibility:hidden; + display:none; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:20px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#131313; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#fff; + margin-left:213px; + } + #Ldt-SaKeyword{ + background-color:#444343; + color:#fff; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + + margin-left:213px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer.polemic/src/css/demo.css --- a/web/res/metadataplayer.polemic/src/css/demo.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer.polemic/src/css/demo.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#DECFE2; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#FFF; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#773584; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#000000; - } - #Ldt-SaKeyword{ - background-color:#28042D; - color:#FFFFFF; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#DECFE2; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#FFF; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#773584; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#000000; + } + #Ldt-SaKeyword{ + background-color:#28042D; + color:#FFFFFF; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer.polemic/src/js/polemic.js --- a/web/res/metadataplayer.polemic/src/js/polemic.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer.polemic/src/js/polemic.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,311 +1,311 @@ -/* - * - * Copyright 2010 Institut de recherche et d'innovation - * contributor(s) : Samuel Huron - * - * contact@iri.centrepompidou.fr - * http://www.iri.centrepompidou.fr - * - * This software is a computer program whose purpose is to show and add annotations on a video . - * This software is governed by the CeCILL-C license under French law and - * abiding by the rules of distribution of free software. You can use, - * modify and/ or redistribute the software under the terms of the CeCILL-C - * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * - * The fact that you are presently reading this means that you have had - * knowledge of the CeCILL-C license and that you accept its terms. -*/ -// CHART TIMELINE / VERSION PROTOTYPE :: - - - var yMax = config.height; - var PaperSlider; - var heightOfChart; - // Make and define the Raphael area - //var paper = Raphael(document.getElementById(config.target),config.width, config.height); - - function ChartTimeLine (){ - - // variable - // yMax - var yCoef = 2; // coef for height of 1 tweet - var frameSize = 5; // frame size - var margin = 1; // marge between frame - var lineSize = config.width; // timeline pixel width - var nbrframes = lineSize/frameSize; // frame numbers - var numberOfTweet = 0; // number of tweet overide later - var duration = config.duration; // timescale width - var frameLenght = lineSize/frameSize; // frame timescale - var timeline; - var colors = new Array("","#1D973D","#C5A62D","#CE0A15","#036AAE","#585858"); - - // array - var tweets = new Array(); - var element = new Array(); - var cluster = new Array(); - var frames = new Array(frameLenght); - var slices = new Array(); - - - // Classes ======================================================================= - var Frames = function(){ - - var Myclusters; - var x; - var y; - var width; - var height; - }; - Frames = function(json){ - // make my clusters - // ou Frame vide - }; - Frames.prototype.draw = function(){ - }; - Frames.prototype.zoom = function(){ - }; - Frames.prototype.inside = function(){ - }; - var Clusters = function(){ - var Object; - var yDist; - var x; - var y; - var width; - var height; - }; - Clusters = function(json){ - // make my object - }; - var Tweet = function(){ - }; - // Classes ======================================================================= - - // trace function - var traceNum = 0; - function trace(msg,value){ - traceNum += 1; - __IriSP.jQuery("
"+traceNum+" - "+msg+" : "+value+"
").appendTo("#output"); - } - - // Refactoring (parametere) ************************************************************ - // color translastion - function colorTranslation(value){ - if(value == "Q"){ - return 2; - }else if(value =="REF"){ - return 4; - }else if(value =="OK"){ - return 1; - }else if(value =="KO"){ - return 3; - }else if(value ==""){ - return 5; - } - } - - - // Refactoring (parametere) ************************************************************ - // load tweets send in parameters - __IriSP.jQuery.ajax({ - dataType: "jsonp", - url:config.metadata, - success : function(json){ - trace("load",""); - __IriSP.jQuery.each(json.annotations, function(i,item) { - - var MyTime = Math.floor(item.begin/duration*lineSize); - var Myframe = Math.floor(MyTime/lineSize*frameLenght); - - if (item.content['polemics'] != undefined) { - if (item.content['polemics'][0] != null) { - - for(var j=0; jmax){max=moy;} - } - - var tweetDrawed = new Array(); - var TweetHeight = 5; - // DRAW TWEETS ============================================ - for(var i=0; i"+traceNum+" - "+msg+" : "+value+"
").appendTo("#output"); + } + + // Refactoring (parametere) ************************************************************ + // color translastion + function colorTranslation(value){ + if(value == "Q"){ + return 2; + }else if(value =="REF"){ + return 4; + }else if(value =="OK"){ + return 1; + }else if(value =="KO"){ + return 3; + }else if(value ==""){ + return 5; + } + } + + + // Refactoring (parametere) ************************************************************ + // load tweets send in parameters + __IriSP.jQuery.ajax({ + dataType: "jsonp", + url:config.metadata, + success : function(json){ + trace("load",""); + __IriSP.jQuery.each(json.annotations, function(i,item) { + + var MyTime = Math.floor(item.begin/duration*lineSize); + var Myframe = Math.floor(MyTime/lineSize*frameLenght); + + if (item.content['polemics'] != undefined) { + if (item.content['polemics'][0] != null) { + + for(var j=0; jmax){max=moy;} + } + + var tweetDrawed = new Array(); + var TweetHeight = 5; + // DRAW TWEETS ============================================ + for(var i=0; i' - ] - , VERTHORZ = { //note : lead and trail are indexes into TRBL - v: { wh:'height', xy:1, tl:'top', lead:0, trail:2, inv:'h' } //Opts.align = left/center/right - , h: { wh:'width', xy:0, tl:'left', lead:3, trail:1, inv:'v' } //Opts.align = top/middle/bottom - } - , DOCKS = [] - , XY = [0, 0] //mouse position from left, mouse position from top - , EMPTYFUNC = function(){} -/** returns integer numeric of leading digits in string argument - * @private - * @param {string} x String representation of an integer - * @return {integer} Number - */ - , AS_INTEGER = function(x){ - var r = parseInt(x, 10); - return isNaN(r) ? 0 : r; - } -//v1.6 : handles clearing all timers... -/** clears a specified timeout timer, or all timers if the supplied index is less than zero - * @private - * @param {object} Dock Dock object - * @param {integer} x Index into TIMERS of timer to clear, or a negative number to clear all timers - */ - , CLEAR_TIMER = function(Dock, x){ - var y = TIMERS[x] ? x + 1 : TIMERS.length; - for( ; x < y && y--; ){ - if(Dock[TIMERS[y]]){ - window.clearTimeout(Dock[TIMERS[y]]); - Dock[TIMERS[y]] = null; - } - } - } -/** returns a dock index as indicated by the numeric suffix to the element's id attribute - * @private - * @param {element} el Element to test - * @return {integer} Dock index, -1 if not found - */ - , DOCK_INDEX_FROM_ID = function(el){ - return el ? 1 * ( (el.id || '').match(/^jqDock(\d+)$/) || [0,-1] )[1] : -1; - } -//v1.6 : moved this out of initDock (used to be var callback) and corrected typo (Dock.Asleep instead of Dock.Sleep!)... -/** from an initial fade-in of a menu, this clears filters (for IE) and notifies readiness - * @private - * @this {element} The element that was initially faded in - */ - , FADEIN_COMPLETE = function(){ - var Dock = DOCKS[ DOCK_INDEX_FROM_ID( $('.jqDockFilter', this).add(this) - //remove any filters... - .css({filter:''}).removeClass('jqDockFilter').filter('.jqDock')[0] ) ]; - if(Dock){ - //clear Asleep so that a docknudge won't do it's wake-up routine - Dock.Asleep = false; - //trigger dockshow (for the calling script) and docknudge (for me)... - Dock.Menu.trigger('dockshow', ['ready']).trigger(CUSTOMEVENTS[0]); - } - } -/** finds a given IMG's entry within the Elem arrays, across all Docks - * @private - * @param {element} el Element to search for - * @param {boolean|integer} indices Switch asking for return of an array of the index values rather than an object - * @return {object|boolean|array} False if not found - */ - , FIND_IMAGE = function(el, indices){ - var cont = true - , id = DOCKS.length - , idx; - while(el && cont && id-- && DOCKS[id].Elem){ - idx = DOCKS[id].Elem.length; - while(cont && idx--){ - cont = DOCKS[id].Elem[idx].Img[0] !== el; - } - } - return cont ? !cont : (indices ? [id, idx] : DOCKS[id].Elem[idx]); - } -//v1.6 : new timestamping function - if you go on then off the menu (before the expansion has completed), -// it makes the time period for the collapse the same as the time used for the partial expansion -/** returns a timestamp; if Dock is supplied and there is anything left of a previous timestamp - when - * duration is added - then subtract that remainder from the new timestamp - * @private - * @param {object} [Dock] Dock object - * @return {integer} New timestamp - */ - , GET_TIME = function(Dock){ - var rtn = (new Date()).getTime() - , prevWillLapse = Dock ? Dock.Stamp + Dock.Opts.duration : 0; - if(prevWillLapse > rtn){ - rtn -= prevWillLapse - rtn; - } - return rtn; - } -/** the onload handler for images; stores width/height, and runs initDock() (on a timeout) if all images for a dock are loaded - * @private - * @this {element} The image element - * @param {object} ev jQuery event object - */ - , IMAGE_ONLOAD = function(ev){ - //store 'large' width and height... - var Dock = DOCKS[ev.data.id] - , el = Dock.Elem[ev.data.idx]; - el.height = this.height; - el.width = this.width; - if(--Dock.Load <= 0){ //check to see if all images are loaded... - window.setTimeout(function(){ $.jqDock.initDock(ev.data.id); }, 0); - } - } -/** returns an item index as indicated by the numeric suffix to the closest jqDockMouse-classed element - * @private - * @param {element} el Element to start from - * @param {element} context Element that the provider of the item index must be within - * @return {integer} Item index, -1 if not found - */ - , ITEM_INDEX_FROM_CLASS = function(el, context){ - var m; - while(el && el.ownerDocument && el !== context){ - m = el.className.toString().match(/jqDockMouse(\d+)/); - if(m){ - return 1 * m[1]; - } - el = el.parentNode; - } - return -1; - } -/** returns an object containing width and height, with the one NOT represented by 'dim' - * being calculated proportionately - * if horizontal menu then attenuation is along horizontal (x) axis, thereby setting the new - * dimension for width, so the one to keep in proportion is height; and vice versa for - * vertical menus, obviously! - * @private - * @param {object} el Element of Elem array - * @param {integer} dim Image dimension - * @param {string} vh Vertical or horizontal - * @return {object} The provided dimension and the proportioned dimension (width and height, but not necessarily respectively!) - */ - , KEEP_PROPORTION = function(el, dim, vh){ - var r = {} - , vhwh = VERTHORZ[vh].wh //convenience - , invwh = VERTHORZ[VERTHORZ[vh].inv].wh //convenience - ; - r[vhwh] = dim; - r[invwh] = Math.round(dim * el[invwh] / el[vhwh]); - return r; - } -/** a label click handler that triggers its related image's click handler - * @private - * @this {element} The DOM element (label) the handler was bound to - * @return {boolean} False - */ - , LABEL_CLICK = function(){ - $(this).prev('img').trigger('click'); - return false; - } -/** shows/hides a label - * @private - * @param {object} Dock Dock object - * @param {integer} [show] Show label - */ - , LABEL_SHOW = function(Dock, show){ - var item = Dock.Elem[Dock.Current]; - if(item && Dock.Opts.labels){ - item.Label.el[show ? 'show' : 'hide'](); - } - } -/** re-positions a label if needed - * only labels with middle and/or center alignment need re-positioning because css handles the corners - * @private - * @param {object} Dock Dock object - * @param {integer|boolean} show Whether to show the label or not - */ - , POSITION_LABEL = function(Dock, show){ - var labels = Dock.Opts.labels - , VH = VERTHORZ[Dock.Opts.vh] - , el = Dock.Elem[Dock.Current] - , i, j, label, labelElem; - if(el && labels){ - label = el.Label; - labelElem = label.el; - //check to see if the information required for a middle/centred label has already been gathered... - //note : middle/centred labels can not be set up while the dock is display:none - if(label.mc){ - label.mc = 0; - //if labels are being aligned middle and/or centre then we need to find any user-styled padding and width/height, and - //store the overall dimensions (incl. padding) for this image's label, so that we don't need to do this next time... - for(i in VERTHORZ){ - label[i] = labelElem[VERTHORZ[i].wh](); - for(j in {lead:1, trail:1}){ - label[i] += AS_INTEGER(labelElem.css('padding' + TRBL[VERTHORZ[i][j]])); - } - } - } - //note: if vertically or horizontally centred then centre is based on the IMAGE only - //note : .xy is 0 on horizontal menus, 1 on vertical menus (and vice versa for [.inv].xy!)... - if(labels.charAt(0) == 'm'){ - labelElem.css({top: Math.floor((el[AXES[VERTHORZ[VH.inv].xy]] - label.v) / 2)}); - } - if(labels.charAt(1) == 'c'){ - labelElem.css({left: Math.floor((el[AXES[VH.xy]] - label.h) / 2)}); - } - } - if(show){ - LABEL_SHOW(Dock, 1); //show - } - } -//v1.6 : was DELTA_XY, but has been renamed and re-worked to not depend on .Current -/** translates (without affecting) XY[0] or XY[1] into an offset within div.jqDock - * note: doing it this way means that all attenuation is against the initial (shrunken) image positions, - * but it saves having to find every image's offset() each time the cursor moves or an image changes size! - * @private - * @param {object} Dock Dock object - * @return {number} Translated mouse offset, or -1 if outside dock - */ - , RELATIVE_XY = function(Dock){ - var VH = VERTHORZ[Dock.Opts.vh] //convenience - , numElems = Dock.Elem.length - , rtn = -1 - , i = 0 - , el, padding, majorWidth - //distance into the menu from the leading edge of first element in menu... - , offset = XY[VH.xy] - Dock.Elem[0].Wrap.parent().offset()[VH.tl]; - if(offset >= 0){ - for( ; rtn < 0 && i < numElems; i++){ - el = Dock.Elem[i]; - padding = el.Pad[VH.lead] + el.Pad[VH.trail]; - majorWidth = el.Major + padding; - if(offset < majorWidth){ - //we've found the element that the mouse is currently on (which may or may not be the same as Current) - if(i != Dock.Current){ - //if its not the same as Current, make sure the label is hidden and reset Current... - LABEL_SHOW(Dock); //hide - Dock.Current = i; - } - rtn = el.Offset + (offset * (el.Initial + padding) / majorWidth); - }else{ - offset -= majorWidth; - } - } - } - return rtn; - } -/** removes ALL text nodes from the menu, so that we don't get spacing issues between menu elements - * @private - * @param {element} el DOM Element - * @recursive - */ - , REMOVE_TEXT = function(el){ - var i = el.childNodes.length, j; - while(i){ - j = el.childNodes[--i]; - if(j.childNodes && j.childNodes.length){ - REMOVE_TEXT(j); - }else if(j.nodeType == 3){ - el.removeChild(j); - } - } - } -/** initial display of the menu, copes with visibility:hidden as well as display:none - * @private - * @param {object} Dock Dock object - */ - , REVEAL_MENU = function(Dock){ - Dock.Menu.css({visibility:'visible'}).show(); - } -/** if appropriate, sets an idle timer to trigger a dockidle - * @private - * @param {object} Dock Dock object - */ - , SET_IDLER = function(Dock){ - var idleDelay = Dock.Opts.idle; - if(idleDelay){ - CLEAR_TIMER(Dock, 0); //Idler - //set Idler timer... - Dock[TIMERS[0]] = window.setTimeout(function(){ - Dock.Menu.trigger('dockidle'); - } - , idleDelay); - } - } -/** create and append the label; unless the label uses middle/center alignment, this is all the label setup required - * any label setting involving middle/center gets handled in POSITION_LABEL() - * @private - * @param {object} Dock Dock object - * @param {object} item Menu item object - * @param {integer} indx Index of menu item within menu - */ - , SET_LABEL = function(Dock, item, indx){ - var op = Dock.Opts //convenience - , labels = op.labels //convenience - , label = item.Label //convenience - , posBottom, posRight, txt - ; - //labels always get created, and get shown if they are enabled; however ... - // - prior to v1.6, enabled labels only got shown IF they had content, where 'content' meant a text string which - // was provided by option.setLabel() *before* actually creating the label - // - as of v1.6, this restriction has been removed, and the creation of the label has been changed slightly, so that - // the label is partially created, *then* option.setLabel is called and the result - if there is one - is used to - // help create the rest of the label, eg - // - create outer label container, div.jqDockLabel - // - set the outer container's css and add a click handler - // - call option.setLabel - // - if setLabel returns false - // - do nothing else to the label - // - create the inner label container (div.jqDockLabelText) with the returned text inside it - // this means that option.setLabel can use DOM manipulation if wants to, and return false to prevent anything further - // being done to the label by jqDock, and labels being 'shown' only depends on labels being enabled! - // NOTE : this means that Dock.Elem[n].Label.txt is now (as of v1.6) superfluous, and has been removed!!! - // NOTE : if setLabel() returns false, then it (setLabel) is responsible for creating the inner container (if it still - // needs it) - - //create the label's *outer* container (div.jqDockLabel) and hide it... - label.el = $('') - .hide().insertAfter(item.Img); //insert after the image element - if(labels){ - posBottom = labels.charAt(0) == 'b'; - posRight = labels.charAt(1) == 'r'; - //position the label and give a click handler... - label.el.css({ - top: posBottom ? 'auto' : 0 - , left: posRight ? 'auto' : 0 - , bottom: posBottom ? 0 : 'auto' - , right: posRight ? 0 : 'auto' - }).click(LABEL_CLICK); //NB: the click handler returns false! - //Note that the click handler is on div.jqDockLabel, not div.jqDockLabelText! This should mean that - //the calling script can put its own click handler(s) on div.jqDockLabelText or its contents without - //having to remove jqDock's LABEL_CLICK handler? - } - //get the content for the *inner* label container... - //NB: 4th parameter (DOM element, div.jqDockLabel) added as of v1.6 - txt = op.setLabel.call(Dock.Menu[0], item.Title, indx, label.el[0]); - if(txt !== false){ - //if there is label content (as an HTML string!) then insert it with the inner container... - $('
' + txt.toString() + '
').appendTo(label.el); - } - } -/** calculates the image sizes according to the current (translated) position of the cursor within div.jqDock - * result stored in Final for each menu element - * @private - * @param {integer} id Dock index - * @param {number} [relxy] Translated cursor offset in main axis - */ - , SET_SIZES = function(id, relxy){ - var Dock = DOCKS[id] //convenience - , op = Dock.Opts //convenience - , wh = VERTHORZ[op.vh].wh //convenience - , i = Dock.Elem.length - , el, ab, newFinal, oscillate; - //if not forced, use current translated cursor position (main axis)... - relxy = relxy || relxy === 0 ? relxy : RELATIVE_XY(Dock); - for( ; i--; ){ - el = Dock.Elem[i]; - newFinal = el.Initial; - if(relxy >= 0){ - ab = Math.abs(relxy - el.Centre); - //if we're smack on or beyond the attenuation distance then set to the min dim - //ensure Final ends up as an integer to avoid 'flutter' - if(ab < op.distance){ - newFinal = el[wh] - Math.round((el[wh] - el.Initial) * Math.pow(ab, op.coefficient) / op.attenuation); - } - //need to check for oscillation, where, for example, the Final dimension gets changed by a pixel, - //which changes the relative position within the dock by a pixel, which changes the Final dimension - //back by a pixel, which changes the relative position within the dock, which changes... etc, etc, etc! - //it doesn't happen very often but it does happen! - if(i == Dock.Current){ - oscillate = [XY[VERTHORZ[op.vh].xy], Dock.Current, newFinal].join(','); - if(oscillate === Dock.ToFro[0] && newFinal !== Dock.ToFro[2]){ - newFinal = Dock.ToFro[2]; - }else{ - Dock.ToFro = [Dock.ToFro[1], oscillate, newFinal]; - } - } - } - el.Final = newFinal; - } - } -/** dummy function, simply returns labelText (for when options.setLabel is not provided) - * @private - * @this {element} original menu element - * @param {string} labelText Current label text for menu option - * @param {integer} indx Index of the menu option within the menu - * @param {element} container DOM element div.jqDockLabelText - * @return {string} labelText - */ - , TRANSFORM_LABEL = function(labelText, indx, container){ - return labelText; - } -/** sets the css for an individual image wrapper to effect its change in size - * 'dim' is the new value for the main axis dimension as specified in VERTHORZ[Opts.vh].wh, so - * the margin needs to be applied to the inverse dimension! - * note: 'force' is only set when called from initDock() to do the initial shrink - * @private - * @param {integer} id Dock index - * @param {integer} idx Image index - * @param {integer} dim Main axis dimension of image - * @param {boolean} force Force change even if no size difference - */ - , CHANGE_SIZE = function(id, idx, dim, force){ - var Dock = DOCKS[id] //convenience - , el = Dock.Elem[idx] //convenience - , op = Dock.Opts //convenience - , yard = Dock.Yard //convenience - , VH = VERTHORZ[op.vh] //convenience - , invVH = VERTHORZ[VH.inv] //convenience - , srcDiff = el.src != el.altsrc - , bdr, css, diff - ; - if(force || el.Major != dim){ - //horizontal menus in IE quirks mode require border widths (if any) of the Dock to be added to the Dock's main axis dimension... - bdr = ($.boxModel || op.vh == 'v') ? 0 : Dock.Border[VH.lead] + Dock.Border[VH.trail]; - //switch image source to large, if (a) it's different to small source, and (b) this is the first step of an expansion... - if(srcDiff && !force && el.Major == el.Initial){ - el.Img[0].src = el.altsrc; - } - Dock.Spread += dim - el.Major; //adjust main axis dimension of dock - css = KEEP_PROPORTION(el, dim, op.vh); - diff = op.size - css[invVH.wh]; - //add minor axis margins according to alignment... - //note: where diff is an odd number of pixels, for 'middle' or 'center' alignment put the odd pixel in the 'lead' margin - if({top:1, left:1}[op.align]){ //set bottom/right margin - css['margin' + TRBL[invVH.trail]] = diff; - }else if({middle:1, center:1}[op.align]){ //set top/left and bottom/right margins - css['margin' + TRBL[invVH.lead]] = (diff + (diff % 2)) / 2; - css['margin' + TRBL[invVH.trail]] = (diff - (diff % 2)) / 2; - }else{ //set top/left margin (op.align = 'bottom' or 'right') - css['margin' + TRBL[invVH.lead]] = diff; - } - //set dock's main axis dimension (if it's changed, or if force and this is first menu item)... - if (dim != el.Major || (force && !idx)) { - if(op.flow){ - //if we ARE running flow, then the wrapper dimensions must be set so as to precisely contain the dock... - yard.parent()[VH.wh](Dock.Spread + Dock.Border[VH.lead] + Dock.Border[VH.trail]); - } - yard[VH.wh](Dock.Spread + bdr); - } - //change image wrapper size and margins... - el.Wrap.css(css); - //set dock's main axis 'lead' offset (not negative!)... - if(!op.flow){ - //if we are NOT running flow (which is the default) then the dock needs to be centered within its wrapper... - yard.css(VH.tl, Math.floor(Math.max(0, (Dock[VH.wh] - Dock.Spread) / 2))); - } - //reposition the label if need be... - if(Dock.OnDock){ - POSITION_LABEL(Dock, !Dock.Stamp); - } - //store new dimensions... - el.Major = dim; //main axis - el.Minor = css[invVH.wh]; //minor axis - //switch image source to small, if (a) it's different to large source, and (b) this was the last step of a shrink... - if(srcDiff && !force && dim == el.Initial){ - el.Img[0].src = el.src; - } - css = null; - } - } -//v1.6 : re-worked to remove need for the 'revers' switch -/** modifies the target sizes in proportion to 'duration' if still within the 'duration' period following a mouseenter/leave - * calls CHANGE_SIZE() for each menu element (if more than Opts.step ms since mouseenter/leave) - * @private - * @param {integer} id Dock index - */ - , FACTOR_SIZES = function(id){ - var Dock = DOCKS[id] //convenience - , op = Dock.Opts //convenience - , VH = VERTHORZ[op.vh] - , lapse = op.duration + op.step - , i = 0 //must go through the elements in logical order - , el, sz, stepsLeft; - if(Dock.Stamp){ - lapse = GET_TIME() - Dock.Stamp; - //there's no point continually checking Date once op.duration has passed... - if(lapse >= op.duration){ - Dock.Stamp = 0; - } - } - if(lapse >= op.step){ //only if Opts.step ms have passed since last mouseenter/leave - stepsLeft = (op.duration - lapse) / op.step; - for( ; i < Dock.Elem.length; i++){ - el = Dock.Elem[i]; - sz = el.Final - el.Major; - sz = (sz && stepsLeft > 1) ? el.Major + Math[sz < 0 ? 'floor' : 'ceil'](sz / stepsLeft) : el.Final; - CHANGE_SIZE(id, i, sz); //...will set .Major to sz - } - //tweak 'best guess': - //having changed all item sizes within the dock, if Spread is greater than main axis dimension, adjust wrap dimension... - if(Dock.Spread > Dock[VH.wh]){ - Dock.Yard.parent()[VH.wh](Dock.Spread + Dock.Border[VH.lead] + Dock.Border[VH.trail]); - Dock[VH.wh] = Dock.Spread; - } - } - } -//v1.6 : new function -/** handles movement of the mouse within a dock, and tidies up after entry (and halt) into a dock - * clears its own timer, runs SET_SIZES, then if not complete, runs FACTOR_SIZES and then itself on a timer - * @private - * @param {integer} id Dock index - * @param {number} [relxy] Translated cursor offset in main axis (when provided to OVER_DOCK) - */ - , IN_DOCK = function(id, relxy){ - var Dock = DOCKS[id], el = Dock.Elem, i = el.length; - CLEAR_TIMER(Dock, 2); //Indock - if(Dock.OnDock && !Dock.Stamp){ - SET_SIZES(id, relxy); - while((i--) && el[i].Major == el[i].Final){} - if(i < 0){ - LABEL_SHOW(Dock, 1); //show - }else{ - FACTOR_SIZES(id); - //set Indock timer... - Dock[TIMERS[2]] = window.setTimeout(function(){ IN_DOCK(id, relxy); }, Dock.Opts.step); - } - } - } -/** called when cursor goes outside menu, and checks for completed shrinking of all menu elements - * calls FACTOR_SIZES() (with revers set) on any menu element that has not finished shrinking - * calls itself on a timer to complete the shrinkage - * @private - * @param {integer} id Dock index - * @param {boolean} noIdle Can idler be set - */ - , OFF_DOCK = function(id, noIdle){ - var Dock = DOCKS[id] //convenience - , el = Dock.Elem - , i = el.length - ; - if(!Dock.OnDock){ - while((i--) && el[i].Major <= el[i].Initial){} - //this is here for no other reason than that early versions of Opera seem to leave - //a 'shadow' residue of the expanded image unless/until this function is called!... - RELATIVE_XY(Dock); - if(i < 0){ //complete - //reset everything back to 'at rest' state... - Dock.Stamp = 0; - for(i = el.length; i--; ){ - el[i].Major = el[i].Final = el[i].Initial; - } - Dock.Current = -1; - if(!noIdle){ - SET_IDLER(Dock); - } - }else{ - FACTOR_SIZES(id); - //set Offdock timer... - Dock[TIMERS[4]] = window.setTimeout(function(){ OFF_DOCK(id, noIdle); }, Dock.Opts.step); - } - } - } -/** checks for completed expansion (if OnDock) - * runs SET_SIZES() then, if not completed, runs FACTOR_SIZES() and then itself on a timer - * @private - * @param {integer} id Dock index - * @param {number} [relxy] Translated cursor offset in main axis - */ - , OVER_DOCK = function(id, relxy){ - var Dock = DOCKS[id] //convenience - , el = Dock.Elem - , i = el.length; - if(Dock.OnDock){ - SET_SIZES(id, relxy); - while((i--) && el[i].Major == el[i].Final){} - if(i < 0 || !Dock.Stamp){ //complete, or beyond 'duration' - Dock.Stamp = 0; - IN_DOCK(id, relxy); - }else{ - FACTOR_SIZES(id); - //set Overdock timer... - Dock[TIMERS[3]] = window.setTimeout(function(){ OVER_DOCK(id, relxy); }, Dock.Opts.step); - } - } - } -/** actions for any type of mouse event - * @private - * @param {integer} etype Type of event as index into MOUSEEVENTS array - * @param {integer} id Dock id - * @param {integer} idx Menu item id or -1 - * @param {integer} fake Set - usually to 1 - if called as a result of inactivity or when faking a mouseenter - */ - , DO_MOUSE = function(etype, id, idx, fake){ - var Dock = DOCKS[id] //convenience - , el = Dock.Elem //convenience - , i = el.length; - //mouseenter... - if(etype === 0){ - Dock.OnDock = 1; - if(Dock.Current >= 0 && Dock.Current !== idx){ - LABEL_SHOW(Dock); //hide - } - Dock.Current = idx; - //if fake is set greater than 1 then timestamp is set to zero (no animation)... - Dock.Stamp = fake && fake > 1 ? 0 : GET_TIME(Dock); - OVER_DOCK(id, fake ? el[idx].Centre : null); - } - //mousemove... - if(etype === 1){ - if(idx !== Dock.Current){ //mousemove from one item onto another - LABEL_SHOW(Dock); //hide - Dock.Current = idx; - } - IN_DOCK(id); - } - //mouseleave... - if(etype === 2){ - CLEAR_TIMER(Dock, 1); //Inactive - Dock.OnDock = 0; - LABEL_SHOW(Dock); //hide - Dock.Stamp = GET_TIME(Dock); - while(i--){ - el[i].Final = el[i].Initial; - } - OFF_DOCK(id, !!fake); //clears Current when complete - } - } -/** handler for all bound mouse events (move/enter/leave) - * @private - * @this {element} - * @param {object} ev jQuery Event object - * @return {boolean} false - */ - , MOUSE_HANDLER = function(ev){ - var dockId = DOCK_INDEX_FROM_ID(this) - , Dock = DOCKS[dockId] - , idx = Dock ? ITEM_INDEX_FROM_CLASS(ev.target, this) : -1 - , doMse = -1 - , onDock - ; - if(Dock){ - if(Dock.Asleep){ //buffer it?... - if(!Dock.Opts.noBuffer){ //...yes... - Dock.Sleeper = { - target:ev.target - , type:ev.type - , pageX:ev.pageX - , pageY:ev.pageY - }; - } - }else{ - onDock = Dock.OnDock; - CLEAR_TIMER(Dock, 0); //Idler - XY = [ev.pageX, ev.pageY]; - if(ev.type == MOUSEEVENTS[2]){//=mouseleave - if(onDock){ - doMse = 2; //mouseleave - }else{ - SET_IDLER(Dock); - } - }else{ //=mousemove or mouseenter... - if(Dock.Opts.inactivity){ - CLEAR_TIMER(Dock, 1); //Inactive - //set Inactive timer... - Dock[TIMERS[1]] = window.setTimeout(function(){ - DO_MOUSE(2, dockId, idx, 1); //mouseleave (faked) - }, Dock.Opts.inactivity); - } - if(ev.type == MOUSEEVENTS[1]){ //=mousemove - if(idx < 0){ - if(onDock && Dock.Current >= 0){ //off of current - doMse = 2; //mouseleave - } - }else if(!onDock || Dock.Current < 0){ //instant re-entry or no current - doMse = 0; //mouseenter - }else{ //change of current or moving within current - doMse = 1; //mousemove - } - }else if(idx >= 0 && !onDock){ //mouseenter... - doMse = 0; //mouseenter - } - } - Dock.Sleeper = null; - if(doMse >= 0){ - DO_MOUSE(doMse, dockId, idx); - } - } - } -//v1.5 don't return false, otherwise handlers listening on docksleep and then, for example, -// checking a mouseover on div.jqDock in order to 'bring back' a hidden menu, would -// not receive notification of the mouseover because it would be blocked here -// return false; - } -/** handler for the docknudge and dockidle events - * @private - * @this {element} The original menu DOM element - * @param {object} ev jQuery event object - */ - , LISTENER = function(ev){ - var el = $('.jqDock', this).get(0) - , dockId = DOCK_INDEX_FROM_ID(el) - , Dock = DOCKS[ dockId ] - , frosty = ev.type == CUSTOMEVENTS[2] - , param = frosty ? 'freeze' : 'sleep' - , stateChange; - if(Dock){ - //attempts to 'nudge' the dock awake... - if(ev.type == CUSTOMEVENTS[0]){ //docknudge - param = Dock.Frozen ? 'thaw' : 'wake'; - //if Asleep, check for onWake returning a false - to stay asleep - and - //trigger a dockwake event if not still asleep... - if(Dock.Asleep && !(Dock.Asleep = (Dock.Opts.onWake.call(this, param) === false))){ - //always clear frozen... - Dock.Frozen = !$(this).trigger('dockwake', [param]); - } - if(!Dock.Asleep){ - //start (or reset) idling now... - SET_IDLER(Dock); - //if we have buffered mouse event, run it... - if(Dock.Sleeper){ - MOUSE_HANDLER.call(el, Dock.Sleeper); - } - } - //...must be dockidle or dockfreeze event type... - }else{ //attempts to send the dock to sleep... - CLEAR_TIMER(Dock, 0); //Idler : needed if triggered by the calling program - //NB: returning false from onSleep() prevents the dock going to sleep/freezing, but - //it does NOT reset the idle timer! - - //onSleep will only get called - and docksleep only get triggered - if we have a change of state, ie... - // - if not already asleep, or - // - if dockfreeze and not already frozen - //this means that if you idle a non-sleeping dock, then freeze it, onSleep will get called twice (once for each); - //but if you freeze, then idle, then freeze, onSleep will only get called for the first freeze. - stateChange = !Dock.Asleep || (frosty && !Dock.Frozen); - if(!stateChange || Dock.Opts.onSleep.call(Dock.Menu[0], param) !== false){ - Dock.Asleep = !CLEAR_TIMER(Dock, frosty ? -1 : 1); //Inactive, or all if freezing - Dock.Frozen = Dock.Frozen || frosty; - if(stateChange){ - Dock.Menu.trigger('docksleep', [param]); - } - if(frosty){ - //need to clear the timestamp in case the dock was frozen during an automatic expansion/collapse... - Dock.Stamp = Dock.OnDock = 0; - }else{ - DO_MOUSE(2, dockId, 0, 1); //fake a mouseleave as if it were due to inactivity - } - } - } - } - } - ; - -/** - * The main $.jqDock object - * @private - * @return {object} - */ - $.jqDock = (function(){ - return { - version : 1.6 - , defaults : { //can be set at runtime, per menu - size : 48 //[px] maximum minor axis dimension of image (width or height depending on 'align' : vertical menu = width, horizontal = height) - , distance : 72 //[px] attenuation distance from cursor - , coefficient : 1.5 //attenuation coefficient - , duration : 300 //[ms] duration of initial expansion and off-menu shrinkage - , align : 'bottom' //[top/middle/bottom or left/center/right] fixes horizontal/vertical expansion axis - , labels : 0 //enable/disable display of a label on the current image; (true) to use default position, or string to specify - , source : 0 //function: given scope of relevant image element; passed index of image within menu; required to return image source path, or false to use original - , loader : 0 //overrides useJqLoader if set to 'image' or 'jquery' - , inactivity : 0 //[ms] duration of inactivity (no mouse movement) after which any expanded images will collapse; 0 (zero) disables the inactivity timeout - , fadeIn : 0 //[ms] duration of the fade-in 'reveal' of the jqDocked menu; set to zero for instant 'show' - , fadeLayer : '' //if fadeIn is set, this can change the element that is faded; the default is the entire original menu; alternatives are 'wrap' (.jqDockWrap element) or 'dock' (.jqDock element) - , step : 50 //[ms] the timer interval between each step of shrinkage/expansion -//v1.5 : added setLabel, flow and idle options... - , setLabel : 0 //function for transforming label text (ie. title) when initially building the label; - //this is provided so that if the label requires HTML, the transform function can set - //it rather than having to put it in the title field and thereby make the markup invalid. - //the called function will be given the scope (this) of the original menu element, and will be - //passed 4 arguments: - // - the derived default text of the label (from the title of either the image or its parent anchor) - // - the (zero-based) index of the option within the menu - // - the outer DOM element of the target label, div.jqDockLabel - // - an array of HTML for creating the inner label container, div.jqDockLabelText (['
', '
']) - //the function should return either - // - the HTML string for the label, in which case jqDock will create the inner container and append the returned text to it - // - or false, in which case jqDock will do nothing further with the label setup - , flow : 0 //alters the default dock behaviour such that the dock is NOT auto-centered and the wrap - //element (.jqDockWrap, which a relatively positioned) expands and collapses to precisely - //contain the dock (.jqDock); this allows elements positioned around the docked menu to - //adjust their own relative position according to the current state of the docked menu - , idle : 0 //[ms] duration of idle time after the mouse has left the menu (without re-entering, obviously!) before the docksleep event is triggered (on the original menu element) -//v1.5 : added onReady, onSleep and onWake hooks... - , onReady : 0 //function: called with scope of original menu element when dock has been initialised but not yet revealed (ie. before being shown) - //NB: the onReady() function is passed a single argument, 'ready', and can return false to cancel the 'reveal' of the menu and put the dock to sleep - , onSleep : 0 //function: called with scope of original menu element when dock has been idle for the defined idle period and has therefore gone to sleep, - //or when either a sleep or freeze has been requested by the calling script (by triggering dockidle/dockfreeze, or commanding idle/freeze) - //NB: the onSleep() function is passed a single argument, 'sleep' or 'freeze', and can return false to cancel the sleep/freeze - , onWake : 0 //function: called with scope of original menu element when dock is 'nudged' awake, but only triggered if the dock was asleep (incl. frozen) prior to the' nudge' - //NB: the onWake() function is passed a single argument, 'wake' or 'thaw', and can return false to cancel the wake-up (dock stays asleep/frozen) -//v1.6 : added noBuffer, active options... - , noBuffer : 0 //disables the buffering of the last mouse event while the dock is asleep - , active : -1 //index (zero-based) of the image required to be expanded on initial display - } - , useJqLoader : $.browser.opera || $.browser.safari //use jQuery method for loading images, rather than "new Image()" method - -/** - * initDock() - * ========== - * called by the image onload function, it stores and sets image height/width; - * once all images have been loaded, it completes the setup of the dock menu - * note: unless all images get loaded, the menu will stay hidden! - * @this {$.jqDock} - * @param {integer} id Dock index - */ - , initDock : function(id){ - //======================================== - var Dock = DOCKS[id] //convenience - , op = Dock.Opts //convenience - , VH = VERTHORZ[op.vh] //convenience - , invVH = VERTHORZ[VH.inv] //convenience - , borders = Dock.Border //convenience - , numItems = Dock.Elem.length - , vanillaDiv = VANILLA.join('') - , offset = 0 - , i = 0 - , j, k, el, wh, acc, upad, wrap - , fadeLayer = op.fadeLayer //convenience - ; - // things will screw up if we don't clear text nodes... - REMOVE_TEXT(Dock.Menu[0]); - //double wrap, and set some basic styles on the dock elements, otherwise it won't work - Dock.Menu.children() - .each(function(i, kid){ - var wrap = Dock.Elem[i].Wrap = $(kid).wrap(vanillaDiv + vanillaDiv + '
').parent(); - if(op.vh == 'h'){ - wrap.parent().css('float', 'left'); - } - }) - .find('img').andSelf() - .css({ - position: 'relative' - , padding: 0 - , margin: 0 - , borderWidth: 0 - , borderStyle: 'none' - , verticalAlign: 'top' - , display: 'block' - , width: '100%' - , height: '100%' - }); - //resize each image and store various settings wrt main axis... - while(i < numItems){ - el = Dock.Elem[i++]; - //resize the image wrapper to make the minor axis dimension meet the specified 'Opts.size'... - wh = KEEP_PROPORTION(el, op.size, VH.inv); //inverted! - el.Major = el.Final = el.Initial = wh[VH.wh]; - el.Wrap.css(wh); //resize the image wrapper to its new shrunken setting - //remove titles, alt text... - el.Img.attr({alt:''}).parent('a').andSelf().removeAttr('title'); - //use inverts because we're after the minor axis dimension... - Dock[invVH.wh] = Math.max(Dock[invVH.wh], op.size + el.Pad[invVH.lead] + el.Pad[invVH.trail]); - - el.Offset = offset; - el.Centre = offset + el.Pad[VH.lead] + (el.Initial / 2); - offset += el.Initial + el.Pad[VH.lead] + el.Pad[VH.trail]; - } - - //'best guess' at calculating max 'spread' (main axis dimension - horizontal or vertical) of menu: - //for each img element of the menu, call SET_SIZES() with a forced cursor position of the centre of the image; - //SET_SIZES() will set each element's Final value, so tally them all, including user-applied padding, to give - //an overall width/height for this cursor position; set dock width/height to be the largest width/height found; - //repeat, with a forced cursor position of the leading edge of image - i = 0; - while(i < numItems){ - el = Dock.Elem[i++]; - upad = el.Pad[VH.lead] + el.Pad[VH.trail]; //user padding in main axis - //tally the minimum widths... - Dock.Spread += el.Initial + upad; - - //for override cursor positions of Centre and Offset... - for(k in {Centre:1, Offset:1}){ - //set sizes with an overridden cursor position... - SET_SIZES(id, el[k]); - //tally image widths/heights (plus padding)... - acc = 0; //accumulator for main axis image dimensions - for(j = numItems; j--; ){ - //note that Final is an image dimension (in main axis) and does not include any user padding... - acc += Dock.Elem[j].Final + upad; - } - //keep largest main axis dock dimension... - if(acc > Dock[VH.wh]){ Dock[VH.wh] = acc; } - } - } //... i is now numItems - //reset Final for each image... - while(i){ - el = Dock.Elem[--i]; - el.Final = el.Initial; - } //... i is now 0 - wrap = [ - VANILLA[0], VANILLA[2] //this will be div.jqDockWrap, but I don't want margin, border or background - , '
' - ].join(''); - Dock.Yard = $('div.jqDock', Dock.Menu.wrapInner(wrap)); - //now that we have div.jqDock, let's see if the user has applied any css border styling to it... - for(j = 4; j--; ){ - borders[j] = AS_INTEGER(Dock.Yard.css('border' + TRBL[j] + 'Width')); - } - Dock.Yard.parent().addClass('jqDockWrap') - .width(Dock.width + borders[1] + borders[3]) //Right and Left - .height(Dock.height + borders[0] + borders[2]); //Top and Bottom - //shrink all images down to 'at rest' size, and add appropriate identifying class... - for( ; i < numItems; i++){ - el = Dock.Elem[i]; - //apply the image's user-applied padding to the outer element wrapper... - upad = el.Wrap.parent(); - for(j = 4; j--; ){ - if(el.Pad[j]){ - upad.css('padding' + TRBL[j], el.Pad[j]); - } - } - CHANGE_SIZE(id, i, el.Final, true); //force - //give a mouse class to both the image and the outer element wrapper (to handle any user padding)... - upad.add(el.Img).addClass('jqDockMouse'+i); - //create and append the label - SET_LABEL(Dock, el, i); - } - //bind dock listener events to the original menu element... - el = Dock.Menu.bind(CUSTOMEVENTS.join(' '), LISTENER); - //bind the mousehandler to the dock, and set filter:inherit on everything below the dock (see below)... - Dock.Yard.bind(MOUSEEVENTS.join(' '), MOUSE_HANDLER).find('*').css({filter:'inherit'}); - - //if we have a request for an 'active' image... - if(Dock.Elem[op.active]){ - //fake a mouseeenter, with no timestamp so no animation... - DO_MOUSE(0, id, op.active, 2); - } - -/*v1.4 : bugfix : in IE8, non-statically positioned child elements do not inherit opacity; a way round this - is to set filter:inherit on child elements - v1.5 : Further complications with IE's opacity handling : - When animating opacity (as opposed to doing a fadeIn) the alpha filter of the animated element *must* - be cleared (='' or ='inherit') on completion back to opacity 1. Otherwise, in IE7 the element will not allow - children (in this case, the images) to be visible beyond its bounds (ie. expanding a menu item gets the image - chopped off at the edge of jqDock); in IE8, the image does expand ok, but leaves 'shadows' when collapsing! - Another complication is that jQuery does not recognise that filter can contain anything other than an - 'alpha(opacity=xxx)' value, so when the filter is set to 'inherit', jQuery animates opacity by *appending* - the 'alpha(...)' value to the current 'inherit' value (eg. filter:'inheritalpha(...)' - So ... - ... on the assumption that nothing outside of jDock is going to want to individually fade - anything below the .jqDock, I'm setting filter:inherit on all its children, for IE8's sake. - this is just in case anyone uses docksleep to perform a fade on .jqDock; if they do a fade - on either .jqDockWrap or the original menu element, then they may have to set (and probably - clear) filter:inherit on .jqDock, or .jqDock and .jqDockWrap (respectively) themselves! -*/ - - //show the menu now?... - //if onReady returns false then the dock goes to sleep and will require a 'nudge' at some point to wake it up - if(!(Dock.Asleep = (op.onReady.call(Dock.Menu[0], 'ready') === false))){ - if(fadeLayer){ - //can only be 1 of menu/wrap/dock, and el is already set to Dock.Menu... - if(fadeLayer != 'menu'){ //either dock or wrap... - el = Dock.Yard; - if(fadeLayer == 'wrap'){ - el = el.parent(); - } - } - //.jqDockFilter is used so that I can ensure that only elements *below* .jqDock - //have filter:inherit set; this is so that if the calling program uses docksleep - //to fade out .jqDock I can at least ensure that it will work for IE8 (regardless - //of the other problems with animating IE's opacity!) - //Unfortunately, because of IE (grrr), we have to put the dock to sleep while the - //fade is taking place. This is because if the user were to mouse-over the menu - //while it was still fading in, the menu element expansion would either be cut off - //at the jqDockWrap boundary (IE6/7) or would leave a 'shadow' trail effect beyond - //the jqDockWrap boundary as it shrank (IE8) ... due to the filters not being reset - //until the end of the animation. - Dock.Asleep = !!$('.jqDock,.jqDockWrap', el).addClass('jqDockFilter').css({filter:'inherit'}); - el.css({opacity:0}); - REVEAL_MENU(Dock); - el.animate({opacity:1}, op.fadeIn, FADEIN_COMPLETE); - }else{ - REVEAL_MENU(Dock); - Dock.Menu.trigger('dockshow', ['ready']); - SET_IDLER(Dock); - } - } - } //end function initDock() - - }; //end of return object - })(); //run the function to set up $.jqDock - - /*************************************************************************************************** - * jQuery.fn.jqDock() - * ================== - * STANDARD - * usage: $(selector).jqDock(options); - * options: see $.jqDock.defaults - * returns: $(selector) - * - * ALTERNATE ...provides a means for modifying image paths post-initialisation - * usage: $(image-selector).jqDock(options); - * options: object, with the following possible properties... - * src: {string|function} Path to 'at rest' image, or function returning a path - * altsrc: {string|function} Path to expanded image, or function returning a path - * returns: $(image-selector) - * Note : image-selector *must* result in solely IMG element(s) - * - * ALTERNATE2 ...provides a means for nudging a dock awake, or sending it to sleep - * (see Advanced documentation) - * usage: $(selector).jqDock('nudge'); //'nudges' dock awake - * $(selector).jqDock('idle'); //sends dock to sleep - * returns: $(selector) - * Note : selector should be (or contain) already initialised dock(s), ie. classed with 'jqDocked' - * - * ALTERNATE3 ...a 'getter', providing a means for retrieving either a Dock's internal object, or - * an image's object from the Elem array - * (undocumented, but used in example.js) - * usage: $(menu-selector).jqDock('get'); - * $(image-selector).jqDock('get'); - * returns: {object} The object corresponding to the first (active) Dock in the $(menu-selector) - * colection; or the object which is the element of the Elem array corresponding - * to the first 'img' DOM element in the $(image-selector) collection - * - * ALTERNATE4 ...provides a means for removing jqDock from a 'docked' element - * (see Advanced documentation) - * usage: $(selector).jqDock('destroy'); - * returns: $(selector) - * Note : selector should be (or contain) already initialised dock(s), ie. classed with 'jqDocked' - * - * ALTERNATE5 ...provides a means for expanding (making active) an image - * usage: $(image-selector).jqDock('expand'); //with animation - * $(image-selector).jqDock('active'); //without animation - * returns: $(image-selector) - * - * note: the aim is to do as little processing as possible after setup, because everything is - * driven from the mousemove/enter/leave events and I don't want to kill the browser if I can help it! - * hence the code below, and in $.jqDock.initDock(), sets up and stores everything it possibly can - * which will reduce processing at runtime, and hopefully give as smooth animation as possible. - ***************************************************************************************************/ - $.fn.jqDock = function(opts){ - /*************************************************************************************************** - * ALTERNATE2: - * Accepts 'nudge', 'idle' or 'freeze'. Chainable. - * - * Example: - * $('#menu').jqDock('nudge'); //wake from sleep - * $('#menu').jqDock('idle'); //send to sleep - * $('#menu').jqDock('freeze'); //freeze the dock - ***************************************************************************************************/ - if(opts === 'nudge' || opts === 'idle' || opts === 'freeze'){ //alternate usage 3 (nudge/idle/freeze) - this.filter('.jqDocked').each(function(){ //only runs on an original menu element that has been docked - LISTENER.call(this, {type:'dock'+opts}); - }); - /*************************************************************************************************** - * ALTERNATE4: - * Accepts 'destroy'. Chainable - * added v1.6 - * - * Example: - * $('#menu').jqDock('destroy'); //remove jqDock functionality from the menu - ***************************************************************************************************/ - }else if(opts === 'destroy'){ //alternate usage 3 (destroy) - this.filter('.jqDocked').each(function(){ - var dockId = DOCK_INDEX_FROM_ID( $('.jqDock', $(this).removeClass('jqDocked')).get(0) ) - , Dock = DOCKS[dockId] - , i = MOUSEEVENTS.length - , j, el, imageEl; - if(Dock){ - //clear any timers... - CLEAR_TIMER(Dock, -1); - //remove all the mouse and custom events... - for( ; i--; ){ - Dock.Yard.unbind(MOUSEEVENTS[i], MOUSE_HANDLER); - } - //only remove the custom events that jqDock was listening for; if the calling - //script bound listeners for the other custom events (show/sleep/wake) then it - //is the calling script's responsibility to remove them (or not) as it wishes - for(i = CUSTOMEVENTS.length; i--; ){ - Dock.Menu.unbind(CUSTOMEVENTS[i], LISTENER); - } - for(i = 0; i < Dock.Elem.length; i++){ - el = Dock.Elem[i]; - imageEl = el.Img; - //unbind the label's click handler and remove the label... - el.Label.el.unbind('click', LABEL_CLICK).remove(); - //put the original attributes back onto the image, and remove the jqDockMouseN class... - imageEl.attr(el.Orig.i).removeClass('jqDockMouse' + i); - if(!el.Orig.i.style){ //if there was no inline style, might as well remove the style attribute - imageEl.removeAttr('style'); - } - //put the original attributes back onto the parent anchor (if present)... - if(el.Link == 'Link'){ - imageEl.parent().attr(el.Orig.a); - if(!el.Orig.a.style){ //if there was no inline style, might as well remove it - imageEl.parent().removeAttr('style'); - } - } - //move the anchor/image back up to the original menu element... - Dock.Menu.append(el.Wrap.children()); - //clear down... - imageEl = el.Label.el = el.Orig.i = el.Orig.a = null; - for(j in el){ - el[j] = null; - } - el = null; - } - //remove the dock wrapper... - $('.jqDockWrap', Dock.Menu).remove(); - //clear down... - for(i in Dock){ - Dock[i] = null; - } - Dock = DOCKS[dockId] = null; - } - for(dockId = DOCKS.length; dockId-- && DOCKS[dockId] === null; ){} - if(dockId < 0){ - DOCKS = []; - } - }); - /*************************************************************************************************** - * ALTERNATE5: - * Accepts 'active' or 'expand'. Chainable - * added v1.6 - * - * Example: - * $('#menu img').eq(1).jqDock('active'); //set the 2nd image instantly to fully expanded - * $('#menu img').last().jqDock('expand'); //animate the last image to fully expanded - ***************************************************************************************************/ - }else if(opts === 'active' || opts === 'expand'){ - this.each(function(){ - var found = FIND_IMAGE(this, 1) //...NB I want the indices (dock and element) returned instead of the Elem object - , Dock = found ? DOCKS[found[0]] : 0; - if(Dock){ - //clear all timers... - CLEAR_TIMER(Dock, -1); - //if it wasn't already frozen, freeze it now and notify... - if(!Dock.Frozen){ - Dock.Frozen = Dock.Asleep = !!Dock.Menu.trigger('docksleep', ['freeze']); - } - //fake a mouseenter, with animation dependent on value of opts ('active' = no animation)... - DO_MOUSE(0, found[0], found[1], opts == 'active' ? 2 : 1); - } - }); - /*************************************************************************************************** - * ALTERNATE3: - * Accepts 'get'. Not chainable, returns object/null - * - * Example: - * //to retrieve an item's original text used for the label (unmodified by setLabel option)... - * var labelText = $('#menu img:eq(2)').jqDock('get').Title; - * Example: - * //to retrieve a dock's options... - * var options = $('#menu').jqDock('get').Opts; - ***************************************************************************************************/ - }else if(opts === 'get'){ - var item = this.filter('.jqDocked'); - //if we've got an active Dock, return that; otherwise, look for an image... - item = item.length ? DOCKS[DOCK_INDEX_FROM_ID($('.jqDock', item).get(0))] : FIND_IMAGE(this.get(0)); - //since this is a getter, it does not support chaining and needs to cop out now - return item ? $.extend(true, {}, item) : null; - /*************************************************************************************************** - * ALTERNATE: - * If a function is provided, it will be called with scope of the image DOM element, and 2 parameters: - * - current setting - * - settingType, eg. 'src' or 'altsrc' - * - * Example (with strings): - * $('#menu img').eq(0).jqDock({src:'newpath.jpg', altsrc:'newexpanderpath.jpg'}); - * Example (with functions): - * fnChangePath = function(current, type){ - * //always change altsrc, but only change src if image has a class of 'changeExpanded'... - * return type == 'altsrc' || $(this).hasClass('changeExpanded') - * ? current.replace(/old\.png$/, 'new.png') - * : current; - * }; - * $('#menu img').jqDock({src:fnChangePath, altsrc:fnChangePath}); - ***************************************************************************************************/ - }else if(this.length && !this.not('img').length){ //images only!! - this.each(function(n, el){ - var item = FIND_IMAGE(el) - , src = 0 - , atRest, str, v - ; - opts = opts || {}; - if(item){ - atRest = item.Major == item.Initial; - for(v in {src:1, altsrc:1}){ - if(opts[v]){ - str = ($.isFunction(opts[v]) ? opts[v].call(el, item[v], v) : opts[v]).toString(); - if(item[v] !== str){ - item[v] = str; - src = (v == 'src' ? atRest : !atRest) ? v : src; - } - } - } - if(src){ - $(el).attr('src', item[src]); - } - } - }); - /*************************************************************************************************** - * STANDARD: - * Chainable. - * - * Example: - * $('#menu').jqDock({align:'top'}); - ***************************************************************************************************/ - }else{ //standard usage... - this.not('.jqDocked').filter(function(){ - //check that no parents are already docked, and that all children are either images, or anchors containing only an image... - return !$(this).parents('.jqDocked').length && !$(this).children().not('img').filter(function(){ - return $(this).filter('a').children('img').parent().children().length !== 1; - }).length; - }).addClass('jqDocked') - .each(function(){ - var Self = $(this) - , id = DOCKS.length - , Dock, op, jqld, mc, i; - //add an object to the docks array for this new dock... - DOCKS[id] = { - Elem : [] // an object per img menu option - , Menu : Self //jQuery of original containing element - , OnDock : 0 //indicates cursor over menu and initial sizes set - , Stamp : 0 //set on mouseenter/leave and used (within opts.duration) to proportion the menu element sizes - , width : 0 //width of div.jqDock container - , height : 0 //height of div.jqDock container - , Spread : 0 //main axis dimension (horizontal = width, vertical = height) - , Border : [] //border widths on div.jqDock, indexed as per TRBL - , Opts : $.extend({}, $.jqDock.defaults, opts||{}, $.metadata ? Self.metadata() : {}) //options; support metadata plugin - , Current : -1 //current image index - , Load : 0 //count of images to load - , ToFro : [ //a pain, but needed to prevent possible oscillation around a stationary cursor on the dock (see SET_SIZES)... - '' //previous-but-one, held as ... [ XY dimension, Dock.Current, newFinal dimension ].join(',') - , '' //previous, held as ... [ XY dimension, Dock.Current, newFinal dimension ].join(',') - , 0 //previous newFinal dimension - ] -/* these don't need to be explicitly set a this stage, either because their usage is by testing for [non]existence and - * then assigning a value, or because they are explicitly set during initDock()... - , Inactive : null //inactivity timer - , Idler : null //idle timer - , Indock : null //timer for IN_DOCK recursion - , Overdock : null //timer for OVER_DOCK recursion - , Offdock : null //timer for OFF_DOCK recursion - , Asleep : false //set to true when dock is put is to sleep following an idle period timeout - , Frozen : false //set to true when the dock is 'freeze'd (dock is also sent to sleep!) - , Sleeper : null //while Asleep, the most recent mouse event gets buffered for use on being nudged awake - , Yard : 0 //jQuery of div.jqDock -*/ - }; - Dock = DOCKS[id]; //convenience - op = Dock.Opts; //convenience - //check some of the options... - jqld = (!op.loader && $.jqDock.useJqLoader) || op.loader === 'jquery'; - for(i in {size:1, distance:1, duration:1, inactivity:1, fadeIn:1, step:1, idle:1, active:1}){ - op[i] = AS_INTEGER(op[i]); - } - i = op.coefficient * 1; - op.coefficient = isNaN(i) ? 1.5 : i; - op.labels = (/^[tmb][lcr]$/).test(op.labels.toString()) ? op.labels : ( op.labels ? {top:'br',left:'tr'}[op.align] || 'tl' : '' ); - op.setLabel = !!op.setLabel ? op.setLabel : TRANSFORM_LABEL; - op.fadeLayer = op.fadeIn ? (({dock:1,wrap:1}[op.fadeLayer]) ? op.fadeLayer : 'menu') : ''; - for(i in {onSleep:1, onWake:1, onReady:1, onFreeze:1}){ - if(!op[i]){ - op[i] = EMPTYFUNC; - } - } - mc = (/^m|c$/).test(op.labels); //indicates the need for middle/centre label positioning information to be gathered - //set up some extra Opts now, just to save some computing power later... - op.attenuation = Math.pow(op.distance, op.coefficient); //straightforward, static calculation - op.vh = ({left:1, center:1, right:1}[op.align]) ? 'v' : 'h'; //vertical/horizontal orientation based on 'align' option - - $('img', Self).each(function(n, el){ - //add an object to the dock's elements array for each image... - var jself = $(el) - , linkParent = jself.parent('a') - , origAnchorTitle = linkParent.attr('title') || '' - , origImg = {} - , i; - for(i in {src:1, alt:1, title:1, style:1}){ - origImg[i] = jself.attr(i) || ''; - } - ++Dock.Load; - Dock.Elem[n] = { - Img : jself //jQuery of img element - , src : origImg.src //image path, small - , altsrc: (op.source ? op.source.call(el, n) : '') //image path, large - || ((/\.(gif|jpg|jpeg|png)$/i).test(origImg.alt||'') ? origImg.alt : '') - || origImg.src - , Title : origImg.title || origAnchorTitle || '' //label text? (pre setLabel()) - , Orig : { - i : $.extend({}, origImg) - , a : {title: origAnchorTitle, style:linkParent.attr('style') || ''} - } - , Label : { - mc: mc //if set, it gets removed the first time POSITION_LABEL is called for this label -/* these don't need to be explicitly set at this stage: the first one is *always* set by SET_LABEL(); the other 2 are - * only set (and used) by POSITION_LABEL() *if* the labels are being positioned middle and/or center - , el: 0 //jqQuery of div.jqDockLabel - , v: 0 //the 'v' stands for vertical, so this is the label's overall height (ie. height + top/bottom padding) - , h: 0 //the 'h' stands for horizontal, so this is the label's overall width (ie. width + left/right padding) - */ - } - , Pad : [] //user-applied padding, set up below and indexed as per TRBL - , Link : linkParent.length ? 'Link' : 'Image' //image-within-link or not -/* these don't need to be explicitly set a this stage, either because their usage is by testing for [non]existence and - * then assigning a value, or because they are explicitly set during IMAGE_ONLOAD() or initDock()... - , width : 0 //original width of img element (the one that expands) - , height : 0 //original height of img element (the one that expands) - , Initial : 0 //width/height when fully shrunk; it's important to note that this is not necessarily the same as Opts.size! - , Major : 0 //transitory width/height (main axis) - , Minor : 0 //transitory width/height (minor axis) - , Final : 0 //target width/height - , Offset : 0 //offset of 'lead' edge of the image within div.jqDock (including user-padding) - , Centre : 0 //'Offset' + 'lead' user-padding + half 'Initial' dimension - , Wrap : 0 //jQuery of the menu element's immediate parent wrapper -*/ - }; - for(i = 4; i--;){ - Dock.Elem[n].Pad[i] = AS_INTEGER(jself.css('padding' + TRBL[i])); - } - }); - //we have to run a 'loader' function for the images because the expanding image - //may not be part of the current DOM. what this means though, is that if you - //have a missing image in your dock, the entire dock will not be displayed! - //however I've had a few problems with certain browsers: for instance, IE does - //not like the jQuery method; and Opera was causing me problems with the native - //method when reloading the page; I've also heard rumours that Safari 2 might cope better with - //the jQuery method, but I cannot confirm since I no longer have Safari 2. - // - //anyway, I'm providing both methods. if anyone finds it doesn't work, try - //overriding with option.loader, and/or changing $.jqDock.useJqLoader for the - //browser in question and let me know if that solves it. - $.each(Dock.Elem, function(i, v){ - var pre, altsrc = v.altsrc; - if(jqld){ //jQuery method... - $('').bind('load', {id:id, idx:i}, IMAGE_ONLOAD).attr({src:altsrc}); - }else{ //native 'new Image()' method... - pre = new Image(); - pre.onload = function(){ - IMAGE_ONLOAD.call(this, {data:{id:id, idx:i}}); - pre.onload = ''; //wipe out this onload function - pre = null; - }; - pre.src = altsrc; - } - }); - }); - } - return this; - }; //end jQuery.fn.jqDock() -} //end of if() -})(jQuery, window); +/** @preserve jquery.jqDock.js v1.6 + */ +/* + * jqDock jQuery plugin + * Version : 1.6 + * Author : Roger Barrett + * Date : August 2010 + * + * Inspired by: + * iconDock jQuery plugin + * http://icon.cat/software/iconDock + * version: 0.8 beta + * date: 2/05/2007 + * Copyright (c) 2007 Isaac Roca & icon.cat (iroca@icon.cat) + * Dual licensed under the MIT-LICENSE.txt and GPL-LICENSE.txt + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Dual licensed under the MIT-LICENSE.txt and GPL-LICENSE.txt + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Change Log : + * v1.6 + * - bugfix : when initially fading in, the 'Asleep' state wasn't being cleared (typo) which meant that the Dock would run onWake(), and possibly trigger dockwake, which it shouldn't + * - new option, active (default -1), which is the index (zero-based) of an image required to be expanded on initial display + * - new option, noBuffer (default false), which disables the buffering of the last mouse event while the dock is asleep + * - added a 'destroy' command to jqDock() function - jqDock('destroy') - which removes jqDock from a menu + * - added 'expand' and 'active' commands, which expand a selected image to full size, with/without animation respectively; NB dock gets frozen! + * - expanded the (previously undocumented) 'get' command to return either the internal Dock object, or an internal image object, depending on the selector (v1.5 'get' only handled images) + * - added listener for custom event - dockfreeze - on the original menu element (as a sub-function of docksleep), which can be triggered by the calling program to (try to) freeze the dock, ie. put it to sleep but without 'tidying up' first + * - added a 'freeze' command, which does the same thing as triggering the new dockfreeze event (but synchronously) + * - the onReady, onSleep and onWake hook functions are now each passed a single argument - 'ready', 'sleep' or 'freeze', and 'wake' or 'thaw' respectively + * - the triggered custom events - dockshow, docksleep and dockwake - are now passed 1 extra parameter when being triggered - 'ready', 'sleep' or 'freeze', and 'wake' or 'thaw' respectively + * - the setup of labels has changed slightly... + * - the outer label container (div.jqDockLabel) now gets created, styled, and has its click handler bound, *before* setLabel() is called + * - setLabel() gets passed an extra parameter: the DOM element, div.jqDockLabel + * - setLabel can now return false to prevent jqDock doing anything further with the label; otherwise it is expected + * to return an html string as before, which jqDock will create an inner container for - div.jqDockLabelText - and append to the outer container + * - the decision of whether or not to 'show' labels is now solely dependent on the 'labels' option setting + * - partial expansion/collapse times (on mouseenter/leave) are now equal - eg. going on then off the menu (before expansion has completed) will allocate the same time to the collapse as was used for the expansion (instead of always using the full 'duration') + * - re-worked the timings and added a 'tidy-up' loop - previous versions were too dependent on receiving mousemove events to complete the animations (particularly noticeable with 'flow' enabled) + * v1.5 + * - bugfix : the label click handler was not returning false, so clicks on labels were being notified to links (not images) twice + * - new option, setLabel (default false), as a function called when initialising the label contents for each menu item + * - added an extra layer - div.jqDockLabelText - inside div.jqDockLabel to facilitate positional 'tweaking' of the label without having to resort to the setLabel option + * - new option, flow (default false), allowing the auto-centering to be disabled and the dock wrapper element to auto-size to precisely contain the dock + * - new option, idle (default 0), as the number of milliseconds of idle time after the mouse has left the menu before the dock goes to sleep and the docksleep event is triggered (on the original menu element) + * - new option, onSleep, as a function which is called with scope (this) of the original menu element when an optional number of milliseconds (the idle option) has elapsed since the mouse left the menu; returning false will prevent the dock from going to sleep + * - new option, onWake, as a function which is called with scope (this) of the original menu element when dock is 'nudged' awake, but only if dock was asleep at the time; returning false will prevent the dock waking up (stays asleep) + * - new option, onReady, as a function which is called with scope (this) of the orginal menu element when dock has been initialised and is ready for display; returning false will prevent the dock being displayed + * - new custom event, dockshow, which is triggered on the original menu element when the dock has been completely initialised; this won't be triggered if the onReady() call returns false + * - new custom event, docksleep, which is triggered on the original menu element following the onSleep() call, unless the onSleep() call returns false + * - new custom event, dockwake, which is triggered on the original menu element following the onWake() call, unless the onWake() call returns false + * - added listener for custom event - docknudge - on the original menu element, which *has* to be triggered by the calling program in order to (try to) wake the dock from a sleep + * - added listener for custom event - dockidle - on the original menu element, which can be triggered by the calling program to (try to) put the dock to sleep + * - added 2 commands to jqDock() function - jqDock('nudge') and jqDock('idle') - which do the same thing as triggering the respective docknudge and dockidle events (but synchronously) + * - jqDock no longer hides the original menu element, since most likely usage is to pre-hide it to prevent 'flicker'; also now copes with visibility:hidden (as well as display:none) + * - labels no longer get jqDockMouseN class + * v1.4 + * - bugfix : in IE8, non-statically positioned child elements do not inherit opacity, so fadeIn did not work correctly + * - new option, fadeLayer (default ''), allows the fade-in to be switched from the original menu element down to either the + * div.jqDockWrap or div.jqDock layer + * v1.3 + * - new option, inactivity (default 0), allowing auto-collapse after a specified period (mouse on dock) + * - new option, fadeIn (default 0), allowing initialised menu to be faded in over a specified period (as opposed to an instant show) + * - new option, step (default 50), which is the interval between animation steps + * - default size increased to 48 (from 36) + * - default distance increased to 72 (from 54) + * - default duration reduced to 300 ms (from 500 ms) + * - better 'best guess' for maximum dimensions of Dock + * - handle integer options being passed in as strings (eg. size:'48' instead of size:48) + * - the wrapper div now has width, height, and a class + * - all menu items are double-wrapped now in 2 divs + * - double-wrap resolves ie8 horizontal float problem + * - dimensioning switched from image to innermost of the item's double-wrap + * - labels now assigned per menu item instead of one for the entire dock + * - labels within anchors so clicking activates anchor + * - labels are always created, regardless of option setting + * - default label position changed from 'tc' to 'tl' for any alignment except 'top' (labels='br') and 'left' (labels='tr') + * - events switched from mouseover/out to mouseenter/leave + * v1.2 + * - Fixes for Opera v9.5 - many thanks to Rubel Mujica + * v1.1 + * - some speed optimisation within the functions called by the event handler + * - added positioning of labels (top/middle/bottom and left/center/right) + * - added click handler to label (triggers click event on related image) + * - added jqDockLabel(Link|Image) class to label, depending on type of current image + * - updated demo and documentation for label positioning and clicking on labels + */ +(function($, window){ +if(!$.jqDock){ //can't see why it should be, but it doesn't hurt to check + var TRBL = ['Top', 'Right', 'Bottom', 'Left'] + , AXES = ['Major', 'Minor'] + , MOUSEEVENTS = ['mouseenter','mousemove','mouseleave'] + , CUSTOMEVENTS = ['docknudge','dockidle','dockfreeze'] + , TIMERS = ['Idler','Inactive','Indock','Overdock','Offdock'] + , VANILLA = [ + '
' + ] + , VERTHORZ = { //note : lead and trail are indexes into TRBL + v: { wh:'height', xy:1, tl:'top', lead:0, trail:2, inv:'h' } //Opts.align = left/center/right + , h: { wh:'width', xy:0, tl:'left', lead:3, trail:1, inv:'v' } //Opts.align = top/middle/bottom + } + , DOCKS = [] + , XY = [0, 0] //mouse position from left, mouse position from top + , EMPTYFUNC = function(){} +/** returns integer numeric of leading digits in string argument + * @private + * @param {string} x String representation of an integer + * @return {integer} Number + */ + , AS_INTEGER = function(x){ + var r = parseInt(x, 10); + return isNaN(r) ? 0 : r; + } +//v1.6 : handles clearing all timers... +/** clears a specified timeout timer, or all timers if the supplied index is less than zero + * @private + * @param {object} Dock Dock object + * @param {integer} x Index into TIMERS of timer to clear, or a negative number to clear all timers + */ + , CLEAR_TIMER = function(Dock, x){ + var y = TIMERS[x] ? x + 1 : TIMERS.length; + for( ; x < y && y--; ){ + if(Dock[TIMERS[y]]){ + window.clearTimeout(Dock[TIMERS[y]]); + Dock[TIMERS[y]] = null; + } + } + } +/** returns a dock index as indicated by the numeric suffix to the element's id attribute + * @private + * @param {element} el Element to test + * @return {integer} Dock index, -1 if not found + */ + , DOCK_INDEX_FROM_ID = function(el){ + return el ? 1 * ( (el.id || '').match(/^jqDock(\d+)$/) || [0,-1] )[1] : -1; + } +//v1.6 : moved this out of initDock (used to be var callback) and corrected typo (Dock.Asleep instead of Dock.Sleep!)... +/** from an initial fade-in of a menu, this clears filters (for IE) and notifies readiness + * @private + * @this {element} The element that was initially faded in + */ + , FADEIN_COMPLETE = function(){ + var Dock = DOCKS[ DOCK_INDEX_FROM_ID( $('.jqDockFilter', this).add(this) + //remove any filters... + .css({filter:''}).removeClass('jqDockFilter').filter('.jqDock')[0] ) ]; + if(Dock){ + //clear Asleep so that a docknudge won't do it's wake-up routine + Dock.Asleep = false; + //trigger dockshow (for the calling script) and docknudge (for me)... + Dock.Menu.trigger('dockshow', ['ready']).trigger(CUSTOMEVENTS[0]); + } + } +/** finds a given IMG's entry within the Elem arrays, across all Docks + * @private + * @param {element} el Element to search for + * @param {boolean|integer} indices Switch asking for return of an array of the index values rather than an object + * @return {object|boolean|array} False if not found + */ + , FIND_IMAGE = function(el, indices){ + var cont = true + , id = DOCKS.length + , idx; + while(el && cont && id-- && DOCKS[id].Elem){ + idx = DOCKS[id].Elem.length; + while(cont && idx--){ + cont = DOCKS[id].Elem[idx].Img[0] !== el; + } + } + return cont ? !cont : (indices ? [id, idx] : DOCKS[id].Elem[idx]); + } +//v1.6 : new timestamping function - if you go on then off the menu (before the expansion has completed), +// it makes the time period for the collapse the same as the time used for the partial expansion +/** returns a timestamp; if Dock is supplied and there is anything left of a previous timestamp - when + * duration is added - then subtract that remainder from the new timestamp + * @private + * @param {object} [Dock] Dock object + * @return {integer} New timestamp + */ + , GET_TIME = function(Dock){ + var rtn = (new Date()).getTime() + , prevWillLapse = Dock ? Dock.Stamp + Dock.Opts.duration : 0; + if(prevWillLapse > rtn){ + rtn -= prevWillLapse - rtn; + } + return rtn; + } +/** the onload handler for images; stores width/height, and runs initDock() (on a timeout) if all images for a dock are loaded + * @private + * @this {element} The image element + * @param {object} ev jQuery event object + */ + , IMAGE_ONLOAD = function(ev){ + //store 'large' width and height... + var Dock = DOCKS[ev.data.id] + , el = Dock.Elem[ev.data.idx]; + el.height = this.height; + el.width = this.width; + if(--Dock.Load <= 0){ //check to see if all images are loaded... + window.setTimeout(function(){ $.jqDock.initDock(ev.data.id); }, 0); + } + } +/** returns an item index as indicated by the numeric suffix to the closest jqDockMouse-classed element + * @private + * @param {element} el Element to start from + * @param {element} context Element that the provider of the item index must be within + * @return {integer} Item index, -1 if not found + */ + , ITEM_INDEX_FROM_CLASS = function(el, context){ + var m; + while(el && el.ownerDocument && el !== context){ + m = el.className.toString().match(/jqDockMouse(\d+)/); + if(m){ + return 1 * m[1]; + } + el = el.parentNode; + } + return -1; + } +/** returns an object containing width and height, with the one NOT represented by 'dim' + * being calculated proportionately + * if horizontal menu then attenuation is along horizontal (x) axis, thereby setting the new + * dimension for width, so the one to keep in proportion is height; and vice versa for + * vertical menus, obviously! + * @private + * @param {object} el Element of Elem array + * @param {integer} dim Image dimension + * @param {string} vh Vertical or horizontal + * @return {object} The provided dimension and the proportioned dimension (width and height, but not necessarily respectively!) + */ + , KEEP_PROPORTION = function(el, dim, vh){ + var r = {} + , vhwh = VERTHORZ[vh].wh //convenience + , invwh = VERTHORZ[VERTHORZ[vh].inv].wh //convenience + ; + r[vhwh] = dim; + r[invwh] = Math.round(dim * el[invwh] / el[vhwh]); + return r; + } +/** a label click handler that triggers its related image's click handler + * @private + * @this {element} The DOM element (label) the handler was bound to + * @return {boolean} False + */ + , LABEL_CLICK = function(){ + $(this).prev('img').trigger('click'); + return false; + } +/** shows/hides a label + * @private + * @param {object} Dock Dock object + * @param {integer} [show] Show label + */ + , LABEL_SHOW = function(Dock, show){ + var item = Dock.Elem[Dock.Current]; + if(item && Dock.Opts.labels){ + item.Label.el[show ? 'show' : 'hide'](); + } + } +/** re-positions a label if needed + * only labels with middle and/or center alignment need re-positioning because css handles the corners + * @private + * @param {object} Dock Dock object + * @param {integer|boolean} show Whether to show the label or not + */ + , POSITION_LABEL = function(Dock, show){ + var labels = Dock.Opts.labels + , VH = VERTHORZ[Dock.Opts.vh] + , el = Dock.Elem[Dock.Current] + , i, j, label, labelElem; + if(el && labels){ + label = el.Label; + labelElem = label.el; + //check to see if the information required for a middle/centred label has already been gathered... + //note : middle/centred labels can not be set up while the dock is display:none + if(label.mc){ + label.mc = 0; + //if labels are being aligned middle and/or centre then we need to find any user-styled padding and width/height, and + //store the overall dimensions (incl. padding) for this image's label, so that we don't need to do this next time... + for(i in VERTHORZ){ + label[i] = labelElem[VERTHORZ[i].wh](); + for(j in {lead:1, trail:1}){ + label[i] += AS_INTEGER(labelElem.css('padding' + TRBL[VERTHORZ[i][j]])); + } + } + } + //note: if vertically or horizontally centred then centre is based on the IMAGE only + //note : .xy is 0 on horizontal menus, 1 on vertical menus (and vice versa for [.inv].xy!)... + if(labels.charAt(0) == 'm'){ + labelElem.css({top: Math.floor((el[AXES[VERTHORZ[VH.inv].xy]] - label.v) / 2)}); + } + if(labels.charAt(1) == 'c'){ + labelElem.css({left: Math.floor((el[AXES[VH.xy]] - label.h) / 2)}); + } + } + if(show){ + LABEL_SHOW(Dock, 1); //show + } + } +//v1.6 : was DELTA_XY, but has been renamed and re-worked to not depend on .Current +/** translates (without affecting) XY[0] or XY[1] into an offset within div.jqDock + * note: doing it this way means that all attenuation is against the initial (shrunken) image positions, + * but it saves having to find every image's offset() each time the cursor moves or an image changes size! + * @private + * @param {object} Dock Dock object + * @return {number} Translated mouse offset, or -1 if outside dock + */ + , RELATIVE_XY = function(Dock){ + var VH = VERTHORZ[Dock.Opts.vh] //convenience + , numElems = Dock.Elem.length + , rtn = -1 + , i = 0 + , el, padding, majorWidth + //distance into the menu from the leading edge of first element in menu... + , offset = XY[VH.xy] - Dock.Elem[0].Wrap.parent().offset()[VH.tl]; + if(offset >= 0){ + for( ; rtn < 0 && i < numElems; i++){ + el = Dock.Elem[i]; + padding = el.Pad[VH.lead] + el.Pad[VH.trail]; + majorWidth = el.Major + padding; + if(offset < majorWidth){ + //we've found the element that the mouse is currently on (which may or may not be the same as Current) + if(i != Dock.Current){ + //if its not the same as Current, make sure the label is hidden and reset Current... + LABEL_SHOW(Dock); //hide + Dock.Current = i; + } + rtn = el.Offset + (offset * (el.Initial + padding) / majorWidth); + }else{ + offset -= majorWidth; + } + } + } + return rtn; + } +/** removes ALL text nodes from the menu, so that we don't get spacing issues between menu elements + * @private + * @param {element} el DOM Element + * @recursive + */ + , REMOVE_TEXT = function(el){ + var i = el.childNodes.length, j; + while(i){ + j = el.childNodes[--i]; + if(j.childNodes && j.childNodes.length){ + REMOVE_TEXT(j); + }else if(j.nodeType == 3){ + el.removeChild(j); + } + } + } +/** initial display of the menu, copes with visibility:hidden as well as display:none + * @private + * @param {object} Dock Dock object + */ + , REVEAL_MENU = function(Dock){ + Dock.Menu.css({visibility:'visible'}).show(); + } +/** if appropriate, sets an idle timer to trigger a dockidle + * @private + * @param {object} Dock Dock object + */ + , SET_IDLER = function(Dock){ + var idleDelay = Dock.Opts.idle; + if(idleDelay){ + CLEAR_TIMER(Dock, 0); //Idler + //set Idler timer... + Dock[TIMERS[0]] = window.setTimeout(function(){ + Dock.Menu.trigger('dockidle'); + } + , idleDelay); + } + } +/** create and append the label; unless the label uses middle/center alignment, this is all the label setup required + * any label setting involving middle/center gets handled in POSITION_LABEL() + * @private + * @param {object} Dock Dock object + * @param {object} item Menu item object + * @param {integer} indx Index of menu item within menu + */ + , SET_LABEL = function(Dock, item, indx){ + var op = Dock.Opts //convenience + , labels = op.labels //convenience + , label = item.Label //convenience + , posBottom, posRight, txt + ; + //labels always get created, and get shown if they are enabled; however ... + // - prior to v1.6, enabled labels only got shown IF they had content, where 'content' meant a text string which + // was provided by option.setLabel() *before* actually creating the label + // - as of v1.6, this restriction has been removed, and the creation of the label has been changed slightly, so that + // the label is partially created, *then* option.setLabel is called and the result - if there is one - is used to + // help create the rest of the label, eg + // - create outer label container, div.jqDockLabel + // - set the outer container's css and add a click handler + // - call option.setLabel + // - if setLabel returns false + // - do nothing else to the label + // - create the inner label container (div.jqDockLabelText) with the returned text inside it + // this means that option.setLabel can use DOM manipulation if wants to, and return false to prevent anything further + // being done to the label by jqDock, and labels being 'shown' only depends on labels being enabled! + // NOTE : this means that Dock.Elem[n].Label.txt is now (as of v1.6) superfluous, and has been removed!!! + // NOTE : if setLabel() returns false, then it (setLabel) is responsible for creating the inner container (if it still + // needs it) + + //create the label's *outer* container (div.jqDockLabel) and hide it... + label.el = $('') + .hide().insertAfter(item.Img); //insert after the image element + if(labels){ + posBottom = labels.charAt(0) == 'b'; + posRight = labels.charAt(1) == 'r'; + //position the label and give a click handler... + label.el.css({ + top: posBottom ? 'auto' : 0 + , left: posRight ? 'auto' : 0 + , bottom: posBottom ? 0 : 'auto' + , right: posRight ? 0 : 'auto' + }).click(LABEL_CLICK); //NB: the click handler returns false! + //Note that the click handler is on div.jqDockLabel, not div.jqDockLabelText! This should mean that + //the calling script can put its own click handler(s) on div.jqDockLabelText or its contents without + //having to remove jqDock's LABEL_CLICK handler? + } + //get the content for the *inner* label container... + //NB: 4th parameter (DOM element, div.jqDockLabel) added as of v1.6 + txt = op.setLabel.call(Dock.Menu[0], item.Title, indx, label.el[0]); + if(txt !== false){ + //if there is label content (as an HTML string!) then insert it with the inner container... + $('
' + txt.toString() + '
').appendTo(label.el); + } + } +/** calculates the image sizes according to the current (translated) position of the cursor within div.jqDock + * result stored in Final for each menu element + * @private + * @param {integer} id Dock index + * @param {number} [relxy] Translated cursor offset in main axis + */ + , SET_SIZES = function(id, relxy){ + var Dock = DOCKS[id] //convenience + , op = Dock.Opts //convenience + , wh = VERTHORZ[op.vh].wh //convenience + , i = Dock.Elem.length + , el, ab, newFinal, oscillate; + //if not forced, use current translated cursor position (main axis)... + relxy = relxy || relxy === 0 ? relxy : RELATIVE_XY(Dock); + for( ; i--; ){ + el = Dock.Elem[i]; + newFinal = el.Initial; + if(relxy >= 0){ + ab = Math.abs(relxy - el.Centre); + //if we're smack on or beyond the attenuation distance then set to the min dim + //ensure Final ends up as an integer to avoid 'flutter' + if(ab < op.distance){ + newFinal = el[wh] - Math.round((el[wh] - el.Initial) * Math.pow(ab, op.coefficient) / op.attenuation); + } + //need to check for oscillation, where, for example, the Final dimension gets changed by a pixel, + //which changes the relative position within the dock by a pixel, which changes the Final dimension + //back by a pixel, which changes the relative position within the dock, which changes... etc, etc, etc! + //it doesn't happen very often but it does happen! + if(i == Dock.Current){ + oscillate = [XY[VERTHORZ[op.vh].xy], Dock.Current, newFinal].join(','); + if(oscillate === Dock.ToFro[0] && newFinal !== Dock.ToFro[2]){ + newFinal = Dock.ToFro[2]; + }else{ + Dock.ToFro = [Dock.ToFro[1], oscillate, newFinal]; + } + } + } + el.Final = newFinal; + } + } +/** dummy function, simply returns labelText (for when options.setLabel is not provided) + * @private + * @this {element} original menu element + * @param {string} labelText Current label text for menu option + * @param {integer} indx Index of the menu option within the menu + * @param {element} container DOM element div.jqDockLabelText + * @return {string} labelText + */ + , TRANSFORM_LABEL = function(labelText, indx, container){ + return labelText; + } +/** sets the css for an individual image wrapper to effect its change in size + * 'dim' is the new value for the main axis dimension as specified in VERTHORZ[Opts.vh].wh, so + * the margin needs to be applied to the inverse dimension! + * note: 'force' is only set when called from initDock() to do the initial shrink + * @private + * @param {integer} id Dock index + * @param {integer} idx Image index + * @param {integer} dim Main axis dimension of image + * @param {boolean} force Force change even if no size difference + */ + , CHANGE_SIZE = function(id, idx, dim, force){ + var Dock = DOCKS[id] //convenience + , el = Dock.Elem[idx] //convenience + , op = Dock.Opts //convenience + , yard = Dock.Yard //convenience + , VH = VERTHORZ[op.vh] //convenience + , invVH = VERTHORZ[VH.inv] //convenience + , srcDiff = el.src != el.altsrc + , bdr, css, diff + ; + if(force || el.Major != dim){ + //horizontal menus in IE quirks mode require border widths (if any) of the Dock to be added to the Dock's main axis dimension... + bdr = ($.boxModel || op.vh == 'v') ? 0 : Dock.Border[VH.lead] + Dock.Border[VH.trail]; + //switch image source to large, if (a) it's different to small source, and (b) this is the first step of an expansion... + if(srcDiff && !force && el.Major == el.Initial){ + el.Img[0].src = el.altsrc; + } + Dock.Spread += dim - el.Major; //adjust main axis dimension of dock + css = KEEP_PROPORTION(el, dim, op.vh); + diff = op.size - css[invVH.wh]; + //add minor axis margins according to alignment... + //note: where diff is an odd number of pixels, for 'middle' or 'center' alignment put the odd pixel in the 'lead' margin + if({top:1, left:1}[op.align]){ //set bottom/right margin + css['margin' + TRBL[invVH.trail]] = diff; + }else if({middle:1, center:1}[op.align]){ //set top/left and bottom/right margins + css['margin' + TRBL[invVH.lead]] = (diff + (diff % 2)) / 2; + css['margin' + TRBL[invVH.trail]] = (diff - (diff % 2)) / 2; + }else{ //set top/left margin (op.align = 'bottom' or 'right') + css['margin' + TRBL[invVH.lead]] = diff; + } + //set dock's main axis dimension (if it's changed, or if force and this is first menu item)... + if (dim != el.Major || (force && !idx)) { + if(op.flow){ + //if we ARE running flow, then the wrapper dimensions must be set so as to precisely contain the dock... + yard.parent()[VH.wh](Dock.Spread + Dock.Border[VH.lead] + Dock.Border[VH.trail]); + } + yard[VH.wh](Dock.Spread + bdr); + } + //change image wrapper size and margins... + el.Wrap.css(css); + //set dock's main axis 'lead' offset (not negative!)... + if(!op.flow){ + //if we are NOT running flow (which is the default) then the dock needs to be centered within its wrapper... + yard.css(VH.tl, Math.floor(Math.max(0, (Dock[VH.wh] - Dock.Spread) / 2))); + } + //reposition the label if need be... + if(Dock.OnDock){ + POSITION_LABEL(Dock, !Dock.Stamp); + } + //store new dimensions... + el.Major = dim; //main axis + el.Minor = css[invVH.wh]; //minor axis + //switch image source to small, if (a) it's different to large source, and (b) this was the last step of a shrink... + if(srcDiff && !force && dim == el.Initial){ + el.Img[0].src = el.src; + } + css = null; + } + } +//v1.6 : re-worked to remove need for the 'revers' switch +/** modifies the target sizes in proportion to 'duration' if still within the 'duration' period following a mouseenter/leave + * calls CHANGE_SIZE() for each menu element (if more than Opts.step ms since mouseenter/leave) + * @private + * @param {integer} id Dock index + */ + , FACTOR_SIZES = function(id){ + var Dock = DOCKS[id] //convenience + , op = Dock.Opts //convenience + , VH = VERTHORZ[op.vh] + , lapse = op.duration + op.step + , i = 0 //must go through the elements in logical order + , el, sz, stepsLeft; + if(Dock.Stamp){ + lapse = GET_TIME() - Dock.Stamp; + //there's no point continually checking Date once op.duration has passed... + if(lapse >= op.duration){ + Dock.Stamp = 0; + } + } + if(lapse >= op.step){ //only if Opts.step ms have passed since last mouseenter/leave + stepsLeft = (op.duration - lapse) / op.step; + for( ; i < Dock.Elem.length; i++){ + el = Dock.Elem[i]; + sz = el.Final - el.Major; + sz = (sz && stepsLeft > 1) ? el.Major + Math[sz < 0 ? 'floor' : 'ceil'](sz / stepsLeft) : el.Final; + CHANGE_SIZE(id, i, sz); //...will set .Major to sz + } + //tweak 'best guess': + //having changed all item sizes within the dock, if Spread is greater than main axis dimension, adjust wrap dimension... + if(Dock.Spread > Dock[VH.wh]){ + Dock.Yard.parent()[VH.wh](Dock.Spread + Dock.Border[VH.lead] + Dock.Border[VH.trail]); + Dock[VH.wh] = Dock.Spread; + } + } + } +//v1.6 : new function +/** handles movement of the mouse within a dock, and tidies up after entry (and halt) into a dock + * clears its own timer, runs SET_SIZES, then if not complete, runs FACTOR_SIZES and then itself on a timer + * @private + * @param {integer} id Dock index + * @param {number} [relxy] Translated cursor offset in main axis (when provided to OVER_DOCK) + */ + , IN_DOCK = function(id, relxy){ + var Dock = DOCKS[id], el = Dock.Elem, i = el.length; + CLEAR_TIMER(Dock, 2); //Indock + if(Dock.OnDock && !Dock.Stamp){ + SET_SIZES(id, relxy); + while((i--) && el[i].Major == el[i].Final){} + if(i < 0){ + LABEL_SHOW(Dock, 1); //show + }else{ + FACTOR_SIZES(id); + //set Indock timer... + Dock[TIMERS[2]] = window.setTimeout(function(){ IN_DOCK(id, relxy); }, Dock.Opts.step); + } + } + } +/** called when cursor goes outside menu, and checks for completed shrinking of all menu elements + * calls FACTOR_SIZES() (with revers set) on any menu element that has not finished shrinking + * calls itself on a timer to complete the shrinkage + * @private + * @param {integer} id Dock index + * @param {boolean} noIdle Can idler be set + */ + , OFF_DOCK = function(id, noIdle){ + var Dock = DOCKS[id] //convenience + , el = Dock.Elem + , i = el.length + ; + if(!Dock.OnDock){ + while((i--) && el[i].Major <= el[i].Initial){} + //this is here for no other reason than that early versions of Opera seem to leave + //a 'shadow' residue of the expanded image unless/until this function is called!... + RELATIVE_XY(Dock); + if(i < 0){ //complete + //reset everything back to 'at rest' state... + Dock.Stamp = 0; + for(i = el.length; i--; ){ + el[i].Major = el[i].Final = el[i].Initial; + } + Dock.Current = -1; + if(!noIdle){ + SET_IDLER(Dock); + } + }else{ + FACTOR_SIZES(id); + //set Offdock timer... + Dock[TIMERS[4]] = window.setTimeout(function(){ OFF_DOCK(id, noIdle); }, Dock.Opts.step); + } + } + } +/** checks for completed expansion (if OnDock) + * runs SET_SIZES() then, if not completed, runs FACTOR_SIZES() and then itself on a timer + * @private + * @param {integer} id Dock index + * @param {number} [relxy] Translated cursor offset in main axis + */ + , OVER_DOCK = function(id, relxy){ + var Dock = DOCKS[id] //convenience + , el = Dock.Elem + , i = el.length; + if(Dock.OnDock){ + SET_SIZES(id, relxy); + while((i--) && el[i].Major == el[i].Final){} + if(i < 0 || !Dock.Stamp){ //complete, or beyond 'duration' + Dock.Stamp = 0; + IN_DOCK(id, relxy); + }else{ + FACTOR_SIZES(id); + //set Overdock timer... + Dock[TIMERS[3]] = window.setTimeout(function(){ OVER_DOCK(id, relxy); }, Dock.Opts.step); + } + } + } +/** actions for any type of mouse event + * @private + * @param {integer} etype Type of event as index into MOUSEEVENTS array + * @param {integer} id Dock id + * @param {integer} idx Menu item id or -1 + * @param {integer} fake Set - usually to 1 - if called as a result of inactivity or when faking a mouseenter + */ + , DO_MOUSE = function(etype, id, idx, fake){ + var Dock = DOCKS[id] //convenience + , el = Dock.Elem //convenience + , i = el.length; + //mouseenter... + if(etype === 0){ + Dock.OnDock = 1; + if(Dock.Current >= 0 && Dock.Current !== idx){ + LABEL_SHOW(Dock); //hide + } + Dock.Current = idx; + //if fake is set greater than 1 then timestamp is set to zero (no animation)... + Dock.Stamp = fake && fake > 1 ? 0 : GET_TIME(Dock); + OVER_DOCK(id, fake ? el[idx].Centre : null); + } + //mousemove... + if(etype === 1){ + if(idx !== Dock.Current){ //mousemove from one item onto another + LABEL_SHOW(Dock); //hide + Dock.Current = idx; + } + IN_DOCK(id); + } + //mouseleave... + if(etype === 2){ + CLEAR_TIMER(Dock, 1); //Inactive + Dock.OnDock = 0; + LABEL_SHOW(Dock); //hide + Dock.Stamp = GET_TIME(Dock); + while(i--){ + el[i].Final = el[i].Initial; + } + OFF_DOCK(id, !!fake); //clears Current when complete + } + } +/** handler for all bound mouse events (move/enter/leave) + * @private + * @this {element} + * @param {object} ev jQuery Event object + * @return {boolean} false + */ + , MOUSE_HANDLER = function(ev){ + var dockId = DOCK_INDEX_FROM_ID(this) + , Dock = DOCKS[dockId] + , idx = Dock ? ITEM_INDEX_FROM_CLASS(ev.target, this) : -1 + , doMse = -1 + , onDock + ; + if(Dock){ + if(Dock.Asleep){ //buffer it?... + if(!Dock.Opts.noBuffer){ //...yes... + Dock.Sleeper = { + target:ev.target + , type:ev.type + , pageX:ev.pageX + , pageY:ev.pageY + }; + } + }else{ + onDock = Dock.OnDock; + CLEAR_TIMER(Dock, 0); //Idler + XY = [ev.pageX, ev.pageY]; + if(ev.type == MOUSEEVENTS[2]){//=mouseleave + if(onDock){ + doMse = 2; //mouseleave + }else{ + SET_IDLER(Dock); + } + }else{ //=mousemove or mouseenter... + if(Dock.Opts.inactivity){ + CLEAR_TIMER(Dock, 1); //Inactive + //set Inactive timer... + Dock[TIMERS[1]] = window.setTimeout(function(){ + DO_MOUSE(2, dockId, idx, 1); //mouseleave (faked) + }, Dock.Opts.inactivity); + } + if(ev.type == MOUSEEVENTS[1]){ //=mousemove + if(idx < 0){ + if(onDock && Dock.Current >= 0){ //off of current + doMse = 2; //mouseleave + } + }else if(!onDock || Dock.Current < 0){ //instant re-entry or no current + doMse = 0; //mouseenter + }else{ //change of current or moving within current + doMse = 1; //mousemove + } + }else if(idx >= 0 && !onDock){ //mouseenter... + doMse = 0; //mouseenter + } + } + Dock.Sleeper = null; + if(doMse >= 0){ + DO_MOUSE(doMse, dockId, idx); + } + } + } +//v1.5 don't return false, otherwise handlers listening on docksleep and then, for example, +// checking a mouseover on div.jqDock in order to 'bring back' a hidden menu, would +// not receive notification of the mouseover because it would be blocked here +// return false; + } +/** handler for the docknudge and dockidle events + * @private + * @this {element} The original menu DOM element + * @param {object} ev jQuery event object + */ + , LISTENER = function(ev){ + var el = $('.jqDock', this).get(0) + , dockId = DOCK_INDEX_FROM_ID(el) + , Dock = DOCKS[ dockId ] + , frosty = ev.type == CUSTOMEVENTS[2] + , param = frosty ? 'freeze' : 'sleep' + , stateChange; + if(Dock){ + //attempts to 'nudge' the dock awake... + if(ev.type == CUSTOMEVENTS[0]){ //docknudge + param = Dock.Frozen ? 'thaw' : 'wake'; + //if Asleep, check for onWake returning a false - to stay asleep - and + //trigger a dockwake event if not still asleep... + if(Dock.Asleep && !(Dock.Asleep = (Dock.Opts.onWake.call(this, param) === false))){ + //always clear frozen... + Dock.Frozen = !$(this).trigger('dockwake', [param]); + } + if(!Dock.Asleep){ + //start (or reset) idling now... + SET_IDLER(Dock); + //if we have buffered mouse event, run it... + if(Dock.Sleeper){ + MOUSE_HANDLER.call(el, Dock.Sleeper); + } + } + //...must be dockidle or dockfreeze event type... + }else{ //attempts to send the dock to sleep... + CLEAR_TIMER(Dock, 0); //Idler : needed if triggered by the calling program + //NB: returning false from onSleep() prevents the dock going to sleep/freezing, but + //it does NOT reset the idle timer! + + //onSleep will only get called - and docksleep only get triggered - if we have a change of state, ie... + // - if not already asleep, or + // - if dockfreeze and not already frozen + //this means that if you idle a non-sleeping dock, then freeze it, onSleep will get called twice (once for each); + //but if you freeze, then idle, then freeze, onSleep will only get called for the first freeze. + stateChange = !Dock.Asleep || (frosty && !Dock.Frozen); + if(!stateChange || Dock.Opts.onSleep.call(Dock.Menu[0], param) !== false){ + Dock.Asleep = !CLEAR_TIMER(Dock, frosty ? -1 : 1); //Inactive, or all if freezing + Dock.Frozen = Dock.Frozen || frosty; + if(stateChange){ + Dock.Menu.trigger('docksleep', [param]); + } + if(frosty){ + //need to clear the timestamp in case the dock was frozen during an automatic expansion/collapse... + Dock.Stamp = Dock.OnDock = 0; + }else{ + DO_MOUSE(2, dockId, 0, 1); //fake a mouseleave as if it were due to inactivity + } + } + } + } + } + ; + +/** + * The main $.jqDock object + * @private + * @return {object} + */ + $.jqDock = (function(){ + return { + version : 1.6 + , defaults : { //can be set at runtime, per menu + size : 48 //[px] maximum minor axis dimension of image (width or height depending on 'align' : vertical menu = width, horizontal = height) + , distance : 72 //[px] attenuation distance from cursor + , coefficient : 1.5 //attenuation coefficient + , duration : 300 //[ms] duration of initial expansion and off-menu shrinkage + , align : 'bottom' //[top/middle/bottom or left/center/right] fixes horizontal/vertical expansion axis + , labels : 0 //enable/disable display of a label on the current image; (true) to use default position, or string to specify + , source : 0 //function: given scope of relevant image element; passed index of image within menu; required to return image source path, or false to use original + , loader : 0 //overrides useJqLoader if set to 'image' or 'jquery' + , inactivity : 0 //[ms] duration of inactivity (no mouse movement) after which any expanded images will collapse; 0 (zero) disables the inactivity timeout + , fadeIn : 0 //[ms] duration of the fade-in 'reveal' of the jqDocked menu; set to zero for instant 'show' + , fadeLayer : '' //if fadeIn is set, this can change the element that is faded; the default is the entire original menu; alternatives are 'wrap' (.jqDockWrap element) or 'dock' (.jqDock element) + , step : 50 //[ms] the timer interval between each step of shrinkage/expansion +//v1.5 : added setLabel, flow and idle options... + , setLabel : 0 //function for transforming label text (ie. title) when initially building the label; + //this is provided so that if the label requires HTML, the transform function can set + //it rather than having to put it in the title field and thereby make the markup invalid. + //the called function will be given the scope (this) of the original menu element, and will be + //passed 4 arguments: + // - the derived default text of the label (from the title of either the image or its parent anchor) + // - the (zero-based) index of the option within the menu + // - the outer DOM element of the target label, div.jqDockLabel + // - an array of HTML for creating the inner label container, div.jqDockLabelText (['
', '
']) + //the function should return either + // - the HTML string for the label, in which case jqDock will create the inner container and append the returned text to it + // - or false, in which case jqDock will do nothing further with the label setup + , flow : 0 //alters the default dock behaviour such that the dock is NOT auto-centered and the wrap + //element (.jqDockWrap, which a relatively positioned) expands and collapses to precisely + //contain the dock (.jqDock); this allows elements positioned around the docked menu to + //adjust their own relative position according to the current state of the docked menu + , idle : 0 //[ms] duration of idle time after the mouse has left the menu (without re-entering, obviously!) before the docksleep event is triggered (on the original menu element) +//v1.5 : added onReady, onSleep and onWake hooks... + , onReady : 0 //function: called with scope of original menu element when dock has been initialised but not yet revealed (ie. before being shown) + //NB: the onReady() function is passed a single argument, 'ready', and can return false to cancel the 'reveal' of the menu and put the dock to sleep + , onSleep : 0 //function: called with scope of original menu element when dock has been idle for the defined idle period and has therefore gone to sleep, + //or when either a sleep or freeze has been requested by the calling script (by triggering dockidle/dockfreeze, or commanding idle/freeze) + //NB: the onSleep() function is passed a single argument, 'sleep' or 'freeze', and can return false to cancel the sleep/freeze + , onWake : 0 //function: called with scope of original menu element when dock is 'nudged' awake, but only triggered if the dock was asleep (incl. frozen) prior to the' nudge' + //NB: the onWake() function is passed a single argument, 'wake' or 'thaw', and can return false to cancel the wake-up (dock stays asleep/frozen) +//v1.6 : added noBuffer, active options... + , noBuffer : 0 //disables the buffering of the last mouse event while the dock is asleep + , active : -1 //index (zero-based) of the image required to be expanded on initial display + } + , useJqLoader : $.browser.opera || $.browser.safari //use jQuery method for loading images, rather than "new Image()" method + +/** + * initDock() + * ========== + * called by the image onload function, it stores and sets image height/width; + * once all images have been loaded, it completes the setup of the dock menu + * note: unless all images get loaded, the menu will stay hidden! + * @this {$.jqDock} + * @param {integer} id Dock index + */ + , initDock : function(id){ + //======================================== + var Dock = DOCKS[id] //convenience + , op = Dock.Opts //convenience + , VH = VERTHORZ[op.vh] //convenience + , invVH = VERTHORZ[VH.inv] //convenience + , borders = Dock.Border //convenience + , numItems = Dock.Elem.length + , vanillaDiv = VANILLA.join('') + , offset = 0 + , i = 0 + , j, k, el, wh, acc, upad, wrap + , fadeLayer = op.fadeLayer //convenience + ; + // things will screw up if we don't clear text nodes... + REMOVE_TEXT(Dock.Menu[0]); + //double wrap, and set some basic styles on the dock elements, otherwise it won't work + Dock.Menu.children() + .each(function(i, kid){ + var wrap = Dock.Elem[i].Wrap = $(kid).wrap(vanillaDiv + vanillaDiv + '
').parent(); + if(op.vh == 'h'){ + wrap.parent().css('float', 'left'); + } + }) + .find('img').andSelf() + .css({ + position: 'relative' + , padding: 0 + , margin: 0 + , borderWidth: 0 + , borderStyle: 'none' + , verticalAlign: 'top' + , display: 'block' + , width: '100%' + , height: '100%' + }); + //resize each image and store various settings wrt main axis... + while(i < numItems){ + el = Dock.Elem[i++]; + //resize the image wrapper to make the minor axis dimension meet the specified 'Opts.size'... + wh = KEEP_PROPORTION(el, op.size, VH.inv); //inverted! + el.Major = el.Final = el.Initial = wh[VH.wh]; + el.Wrap.css(wh); //resize the image wrapper to its new shrunken setting + //remove titles, alt text... + el.Img.attr({alt:''}).parent('a').andSelf().removeAttr('title'); + //use inverts because we're after the minor axis dimension... + Dock[invVH.wh] = Math.max(Dock[invVH.wh], op.size + el.Pad[invVH.lead] + el.Pad[invVH.trail]); + + el.Offset = offset; + el.Centre = offset + el.Pad[VH.lead] + (el.Initial / 2); + offset += el.Initial + el.Pad[VH.lead] + el.Pad[VH.trail]; + } + + //'best guess' at calculating max 'spread' (main axis dimension - horizontal or vertical) of menu: + //for each img element of the menu, call SET_SIZES() with a forced cursor position of the centre of the image; + //SET_SIZES() will set each element's Final value, so tally them all, including user-applied padding, to give + //an overall width/height for this cursor position; set dock width/height to be the largest width/height found; + //repeat, with a forced cursor position of the leading edge of image + i = 0; + while(i < numItems){ + el = Dock.Elem[i++]; + upad = el.Pad[VH.lead] + el.Pad[VH.trail]; //user padding in main axis + //tally the minimum widths... + Dock.Spread += el.Initial + upad; + + //for override cursor positions of Centre and Offset... + for(k in {Centre:1, Offset:1}){ + //set sizes with an overridden cursor position... + SET_SIZES(id, el[k]); + //tally image widths/heights (plus padding)... + acc = 0; //accumulator for main axis image dimensions + for(j = numItems; j--; ){ + //note that Final is an image dimension (in main axis) and does not include any user padding... + acc += Dock.Elem[j].Final + upad; + } + //keep largest main axis dock dimension... + if(acc > Dock[VH.wh]){ Dock[VH.wh] = acc; } + } + } //... i is now numItems + //reset Final for each image... + while(i){ + el = Dock.Elem[--i]; + el.Final = el.Initial; + } //... i is now 0 + wrap = [ + VANILLA[0], VANILLA[2] //this will be div.jqDockWrap, but I don't want margin, border or background + , '
' + ].join(''); + Dock.Yard = $('div.jqDock', Dock.Menu.wrapInner(wrap)); + //now that we have div.jqDock, let's see if the user has applied any css border styling to it... + for(j = 4; j--; ){ + borders[j] = AS_INTEGER(Dock.Yard.css('border' + TRBL[j] + 'Width')); + } + Dock.Yard.parent().addClass('jqDockWrap') + .width(Dock.width + borders[1] + borders[3]) //Right and Left + .height(Dock.height + borders[0] + borders[2]); //Top and Bottom + //shrink all images down to 'at rest' size, and add appropriate identifying class... + for( ; i < numItems; i++){ + el = Dock.Elem[i]; + //apply the image's user-applied padding to the outer element wrapper... + upad = el.Wrap.parent(); + for(j = 4; j--; ){ + if(el.Pad[j]){ + upad.css('padding' + TRBL[j], el.Pad[j]); + } + } + CHANGE_SIZE(id, i, el.Final, true); //force + //give a mouse class to both the image and the outer element wrapper (to handle any user padding)... + upad.add(el.Img).addClass('jqDockMouse'+i); + //create and append the label + SET_LABEL(Dock, el, i); + } + //bind dock listener events to the original menu element... + el = Dock.Menu.bind(CUSTOMEVENTS.join(' '), LISTENER); + //bind the mousehandler to the dock, and set filter:inherit on everything below the dock (see below)... + Dock.Yard.bind(MOUSEEVENTS.join(' '), MOUSE_HANDLER).find('*').css({filter:'inherit'}); + + //if we have a request for an 'active' image... + if(Dock.Elem[op.active]){ + //fake a mouseeenter, with no timestamp so no animation... + DO_MOUSE(0, id, op.active, 2); + } + +/*v1.4 : bugfix : in IE8, non-statically positioned child elements do not inherit opacity; a way round this + is to set filter:inherit on child elements + v1.5 : Further complications with IE's opacity handling : + When animating opacity (as opposed to doing a fadeIn) the alpha filter of the animated element *must* + be cleared (='' or ='inherit') on completion back to opacity 1. Otherwise, in IE7 the element will not allow + children (in this case, the images) to be visible beyond its bounds (ie. expanding a menu item gets the image + chopped off at the edge of jqDock); in IE8, the image does expand ok, but leaves 'shadows' when collapsing! + Another complication is that jQuery does not recognise that filter can contain anything other than an + 'alpha(opacity=xxx)' value, so when the filter is set to 'inherit', jQuery animates opacity by *appending* + the 'alpha(...)' value to the current 'inherit' value (eg. filter:'inheritalpha(...)' + So ... + ... on the assumption that nothing outside of jDock is going to want to individually fade + anything below the .jqDock, I'm setting filter:inherit on all its children, for IE8's sake. + this is just in case anyone uses docksleep to perform a fade on .jqDock; if they do a fade + on either .jqDockWrap or the original menu element, then they may have to set (and probably + clear) filter:inherit on .jqDock, or .jqDock and .jqDockWrap (respectively) themselves! +*/ + + //show the menu now?... + //if onReady returns false then the dock goes to sleep and will require a 'nudge' at some point to wake it up + if(!(Dock.Asleep = (op.onReady.call(Dock.Menu[0], 'ready') === false))){ + if(fadeLayer){ + //can only be 1 of menu/wrap/dock, and el is already set to Dock.Menu... + if(fadeLayer != 'menu'){ //either dock or wrap... + el = Dock.Yard; + if(fadeLayer == 'wrap'){ + el = el.parent(); + } + } + //.jqDockFilter is used so that I can ensure that only elements *below* .jqDock + //have filter:inherit set; this is so that if the calling program uses docksleep + //to fade out .jqDock I can at least ensure that it will work for IE8 (regardless + //of the other problems with animating IE's opacity!) + //Unfortunately, because of IE (grrr), we have to put the dock to sleep while the + //fade is taking place. This is because if the user were to mouse-over the menu + //while it was still fading in, the menu element expansion would either be cut off + //at the jqDockWrap boundary (IE6/7) or would leave a 'shadow' trail effect beyond + //the jqDockWrap boundary as it shrank (IE8) ... due to the filters not being reset + //until the end of the animation. + Dock.Asleep = !!$('.jqDock,.jqDockWrap', el).addClass('jqDockFilter').css({filter:'inherit'}); + el.css({opacity:0}); + REVEAL_MENU(Dock); + el.animate({opacity:1}, op.fadeIn, FADEIN_COMPLETE); + }else{ + REVEAL_MENU(Dock); + Dock.Menu.trigger('dockshow', ['ready']); + SET_IDLER(Dock); + } + } + } //end function initDock() + + }; //end of return object + })(); //run the function to set up $.jqDock + + /*************************************************************************************************** + * jQuery.fn.jqDock() + * ================== + * STANDARD + * usage: $(selector).jqDock(options); + * options: see $.jqDock.defaults + * returns: $(selector) + * + * ALTERNATE ...provides a means for modifying image paths post-initialisation + * usage: $(image-selector).jqDock(options); + * options: object, with the following possible properties... + * src: {string|function} Path to 'at rest' image, or function returning a path + * altsrc: {string|function} Path to expanded image, or function returning a path + * returns: $(image-selector) + * Note : image-selector *must* result in solely IMG element(s) + * + * ALTERNATE2 ...provides a means for nudging a dock awake, or sending it to sleep + * (see Advanced documentation) + * usage: $(selector).jqDock('nudge'); //'nudges' dock awake + * $(selector).jqDock('idle'); //sends dock to sleep + * returns: $(selector) + * Note : selector should be (or contain) already initialised dock(s), ie. classed with 'jqDocked' + * + * ALTERNATE3 ...a 'getter', providing a means for retrieving either a Dock's internal object, or + * an image's object from the Elem array + * (undocumented, but used in example.js) + * usage: $(menu-selector).jqDock('get'); + * $(image-selector).jqDock('get'); + * returns: {object} The object corresponding to the first (active) Dock in the $(menu-selector) + * colection; or the object which is the element of the Elem array corresponding + * to the first 'img' DOM element in the $(image-selector) collection + * + * ALTERNATE4 ...provides a means for removing jqDock from a 'docked' element + * (see Advanced documentation) + * usage: $(selector).jqDock('destroy'); + * returns: $(selector) + * Note : selector should be (or contain) already initialised dock(s), ie. classed with 'jqDocked' + * + * ALTERNATE5 ...provides a means for expanding (making active) an image + * usage: $(image-selector).jqDock('expand'); //with animation + * $(image-selector).jqDock('active'); //without animation + * returns: $(image-selector) + * + * note: the aim is to do as little processing as possible after setup, because everything is + * driven from the mousemove/enter/leave events and I don't want to kill the browser if I can help it! + * hence the code below, and in $.jqDock.initDock(), sets up and stores everything it possibly can + * which will reduce processing at runtime, and hopefully give as smooth animation as possible. + ***************************************************************************************************/ + $.fn.jqDock = function(opts){ + /*************************************************************************************************** + * ALTERNATE2: + * Accepts 'nudge', 'idle' or 'freeze'. Chainable. + * + * Example: + * $('#menu').jqDock('nudge'); //wake from sleep + * $('#menu').jqDock('idle'); //send to sleep + * $('#menu').jqDock('freeze'); //freeze the dock + ***************************************************************************************************/ + if(opts === 'nudge' || opts === 'idle' || opts === 'freeze'){ //alternate usage 3 (nudge/idle/freeze) + this.filter('.jqDocked').each(function(){ //only runs on an original menu element that has been docked + LISTENER.call(this, {type:'dock'+opts}); + }); + /*************************************************************************************************** + * ALTERNATE4: + * Accepts 'destroy'. Chainable + * added v1.6 + * + * Example: + * $('#menu').jqDock('destroy'); //remove jqDock functionality from the menu + ***************************************************************************************************/ + }else if(opts === 'destroy'){ //alternate usage 3 (destroy) + this.filter('.jqDocked').each(function(){ + var dockId = DOCK_INDEX_FROM_ID( $('.jqDock', $(this).removeClass('jqDocked')).get(0) ) + , Dock = DOCKS[dockId] + , i = MOUSEEVENTS.length + , j, el, imageEl; + if(Dock){ + //clear any timers... + CLEAR_TIMER(Dock, -1); + //remove all the mouse and custom events... + for( ; i--; ){ + Dock.Yard.unbind(MOUSEEVENTS[i], MOUSE_HANDLER); + } + //only remove the custom events that jqDock was listening for; if the calling + //script bound listeners for the other custom events (show/sleep/wake) then it + //is the calling script's responsibility to remove them (or not) as it wishes + for(i = CUSTOMEVENTS.length; i--; ){ + Dock.Menu.unbind(CUSTOMEVENTS[i], LISTENER); + } + for(i = 0; i < Dock.Elem.length; i++){ + el = Dock.Elem[i]; + imageEl = el.Img; + //unbind the label's click handler and remove the label... + el.Label.el.unbind('click', LABEL_CLICK).remove(); + //put the original attributes back onto the image, and remove the jqDockMouseN class... + imageEl.attr(el.Orig.i).removeClass('jqDockMouse' + i); + if(!el.Orig.i.style){ //if there was no inline style, might as well remove the style attribute + imageEl.removeAttr('style'); + } + //put the original attributes back onto the parent anchor (if present)... + if(el.Link == 'Link'){ + imageEl.parent().attr(el.Orig.a); + if(!el.Orig.a.style){ //if there was no inline style, might as well remove it + imageEl.parent().removeAttr('style'); + } + } + //move the anchor/image back up to the original menu element... + Dock.Menu.append(el.Wrap.children()); + //clear down... + imageEl = el.Label.el = el.Orig.i = el.Orig.a = null; + for(j in el){ + el[j] = null; + } + el = null; + } + //remove the dock wrapper... + $('.jqDockWrap', Dock.Menu).remove(); + //clear down... + for(i in Dock){ + Dock[i] = null; + } + Dock = DOCKS[dockId] = null; + } + for(dockId = DOCKS.length; dockId-- && DOCKS[dockId] === null; ){} + if(dockId < 0){ + DOCKS = []; + } + }); + /*************************************************************************************************** + * ALTERNATE5: + * Accepts 'active' or 'expand'. Chainable + * added v1.6 + * + * Example: + * $('#menu img').eq(1).jqDock('active'); //set the 2nd image instantly to fully expanded + * $('#menu img').last().jqDock('expand'); //animate the last image to fully expanded + ***************************************************************************************************/ + }else if(opts === 'active' || opts === 'expand'){ + this.each(function(){ + var found = FIND_IMAGE(this, 1) //...NB I want the indices (dock and element) returned instead of the Elem object + , Dock = found ? DOCKS[found[0]] : 0; + if(Dock){ + //clear all timers... + CLEAR_TIMER(Dock, -1); + //if it wasn't already frozen, freeze it now and notify... + if(!Dock.Frozen){ + Dock.Frozen = Dock.Asleep = !!Dock.Menu.trigger('docksleep', ['freeze']); + } + //fake a mouseenter, with animation dependent on value of opts ('active' = no animation)... + DO_MOUSE(0, found[0], found[1], opts == 'active' ? 2 : 1); + } + }); + /*************************************************************************************************** + * ALTERNATE3: + * Accepts 'get'. Not chainable, returns object/null + * + * Example: + * //to retrieve an item's original text used for the label (unmodified by setLabel option)... + * var labelText = $('#menu img:eq(2)').jqDock('get').Title; + * Example: + * //to retrieve a dock's options... + * var options = $('#menu').jqDock('get').Opts; + ***************************************************************************************************/ + }else if(opts === 'get'){ + var item = this.filter('.jqDocked'); + //if we've got an active Dock, return that; otherwise, look for an image... + item = item.length ? DOCKS[DOCK_INDEX_FROM_ID($('.jqDock', item).get(0))] : FIND_IMAGE(this.get(0)); + //since this is a getter, it does not support chaining and needs to cop out now + return item ? $.extend(true, {}, item) : null; + /*************************************************************************************************** + * ALTERNATE: + * If a function is provided, it will be called with scope of the image DOM element, and 2 parameters: + * - current setting + * - settingType, eg. 'src' or 'altsrc' + * + * Example (with strings): + * $('#menu img').eq(0).jqDock({src:'newpath.jpg', altsrc:'newexpanderpath.jpg'}); + * Example (with functions): + * fnChangePath = function(current, type){ + * //always change altsrc, but only change src if image has a class of 'changeExpanded'... + * return type == 'altsrc' || $(this).hasClass('changeExpanded') + * ? current.replace(/old\.png$/, 'new.png') + * : current; + * }; + * $('#menu img').jqDock({src:fnChangePath, altsrc:fnChangePath}); + ***************************************************************************************************/ + }else if(this.length && !this.not('img').length){ //images only!! + this.each(function(n, el){ + var item = FIND_IMAGE(el) + , src = 0 + , atRest, str, v + ; + opts = opts || {}; + if(item){ + atRest = item.Major == item.Initial; + for(v in {src:1, altsrc:1}){ + if(opts[v]){ + str = ($.isFunction(opts[v]) ? opts[v].call(el, item[v], v) : opts[v]).toString(); + if(item[v] !== str){ + item[v] = str; + src = (v == 'src' ? atRest : !atRest) ? v : src; + } + } + } + if(src){ + $(el).attr('src', item[src]); + } + } + }); + /*************************************************************************************************** + * STANDARD: + * Chainable. + * + * Example: + * $('#menu').jqDock({align:'top'}); + ***************************************************************************************************/ + }else{ //standard usage... + this.not('.jqDocked').filter(function(){ + //check that no parents are already docked, and that all children are either images, or anchors containing only an image... + return !$(this).parents('.jqDocked').length && !$(this).children().not('img').filter(function(){ + return $(this).filter('a').children('img').parent().children().length !== 1; + }).length; + }).addClass('jqDocked') + .each(function(){ + var Self = $(this) + , id = DOCKS.length + , Dock, op, jqld, mc, i; + //add an object to the docks array for this new dock... + DOCKS[id] = { + Elem : [] // an object per img menu option + , Menu : Self //jQuery of original containing element + , OnDock : 0 //indicates cursor over menu and initial sizes set + , Stamp : 0 //set on mouseenter/leave and used (within opts.duration) to proportion the menu element sizes + , width : 0 //width of div.jqDock container + , height : 0 //height of div.jqDock container + , Spread : 0 //main axis dimension (horizontal = width, vertical = height) + , Border : [] //border widths on div.jqDock, indexed as per TRBL + , Opts : $.extend({}, $.jqDock.defaults, opts||{}, $.metadata ? Self.metadata() : {}) //options; support metadata plugin + , Current : -1 //current image index + , Load : 0 //count of images to load + , ToFro : [ //a pain, but needed to prevent possible oscillation around a stationary cursor on the dock (see SET_SIZES)... + '' //previous-but-one, held as ... [ XY dimension, Dock.Current, newFinal dimension ].join(',') + , '' //previous, held as ... [ XY dimension, Dock.Current, newFinal dimension ].join(',') + , 0 //previous newFinal dimension + ] +/* these don't need to be explicitly set a this stage, either because their usage is by testing for [non]existence and + * then assigning a value, or because they are explicitly set during initDock()... + , Inactive : null //inactivity timer + , Idler : null //idle timer + , Indock : null //timer for IN_DOCK recursion + , Overdock : null //timer for OVER_DOCK recursion + , Offdock : null //timer for OFF_DOCK recursion + , Asleep : false //set to true when dock is put is to sleep following an idle period timeout + , Frozen : false //set to true when the dock is 'freeze'd (dock is also sent to sleep!) + , Sleeper : null //while Asleep, the most recent mouse event gets buffered for use on being nudged awake + , Yard : 0 //jQuery of div.jqDock +*/ + }; + Dock = DOCKS[id]; //convenience + op = Dock.Opts; //convenience + //check some of the options... + jqld = (!op.loader && $.jqDock.useJqLoader) || op.loader === 'jquery'; + for(i in {size:1, distance:1, duration:1, inactivity:1, fadeIn:1, step:1, idle:1, active:1}){ + op[i] = AS_INTEGER(op[i]); + } + i = op.coefficient * 1; + op.coefficient = isNaN(i) ? 1.5 : i; + op.labels = (/^[tmb][lcr]$/).test(op.labels.toString()) ? op.labels : ( op.labels ? {top:'br',left:'tr'}[op.align] || 'tl' : '' ); + op.setLabel = !!op.setLabel ? op.setLabel : TRANSFORM_LABEL; + op.fadeLayer = op.fadeIn ? (({dock:1,wrap:1}[op.fadeLayer]) ? op.fadeLayer : 'menu') : ''; + for(i in {onSleep:1, onWake:1, onReady:1, onFreeze:1}){ + if(!op[i]){ + op[i] = EMPTYFUNC; + } + } + mc = (/^m|c$/).test(op.labels); //indicates the need for middle/centre label positioning information to be gathered + //set up some extra Opts now, just to save some computing power later... + op.attenuation = Math.pow(op.distance, op.coefficient); //straightforward, static calculation + op.vh = ({left:1, center:1, right:1}[op.align]) ? 'v' : 'h'; //vertical/horizontal orientation based on 'align' option + + $('img', Self).each(function(n, el){ + //add an object to the dock's elements array for each image... + var jself = $(el) + , linkParent = jself.parent('a') + , origAnchorTitle = linkParent.attr('title') || '' + , origImg = {} + , i; + for(i in {src:1, alt:1, title:1, style:1}){ + origImg[i] = jself.attr(i) || ''; + } + ++Dock.Load; + Dock.Elem[n] = { + Img : jself //jQuery of img element + , src : origImg.src //image path, small + , altsrc: (op.source ? op.source.call(el, n) : '') //image path, large + || ((/\.(gif|jpg|jpeg|png)$/i).test(origImg.alt||'') ? origImg.alt : '') + || origImg.src + , Title : origImg.title || origAnchorTitle || '' //label text? (pre setLabel()) + , Orig : { + i : $.extend({}, origImg) + , a : {title: origAnchorTitle, style:linkParent.attr('style') || ''} + } + , Label : { + mc: mc //if set, it gets removed the first time POSITION_LABEL is called for this label +/* these don't need to be explicitly set at this stage: the first one is *always* set by SET_LABEL(); the other 2 are + * only set (and used) by POSITION_LABEL() *if* the labels are being positioned middle and/or center + , el: 0 //jqQuery of div.jqDockLabel + , v: 0 //the 'v' stands for vertical, so this is the label's overall height (ie. height + top/bottom padding) + , h: 0 //the 'h' stands for horizontal, so this is the label's overall width (ie. width + left/right padding) + */ + } + , Pad : [] //user-applied padding, set up below and indexed as per TRBL + , Link : linkParent.length ? 'Link' : 'Image' //image-within-link or not +/* these don't need to be explicitly set a this stage, either because their usage is by testing for [non]existence and + * then assigning a value, or because they are explicitly set during IMAGE_ONLOAD() or initDock()... + , width : 0 //original width of img element (the one that expands) + , height : 0 //original height of img element (the one that expands) + , Initial : 0 //width/height when fully shrunk; it's important to note that this is not necessarily the same as Opts.size! + , Major : 0 //transitory width/height (main axis) + , Minor : 0 //transitory width/height (minor axis) + , Final : 0 //target width/height + , Offset : 0 //offset of 'lead' edge of the image within div.jqDock (including user-padding) + , Centre : 0 //'Offset' + 'lead' user-padding + half 'Initial' dimension + , Wrap : 0 //jQuery of the menu element's immediate parent wrapper +*/ + }; + for(i = 4; i--;){ + Dock.Elem[n].Pad[i] = AS_INTEGER(jself.css('padding' + TRBL[i])); + } + }); + //we have to run a 'loader' function for the images because the expanding image + //may not be part of the current DOM. what this means though, is that if you + //have a missing image in your dock, the entire dock will not be displayed! + //however I've had a few problems with certain browsers: for instance, IE does + //not like the jQuery method; and Opera was causing me problems with the native + //method when reloading the page; I've also heard rumours that Safari 2 might cope better with + //the jQuery method, but I cannot confirm since I no longer have Safari 2. + // + //anyway, I'm providing both methods. if anyone finds it doesn't work, try + //overriding with option.loader, and/or changing $.jqDock.useJqLoader for the + //browser in question and let me know if that solves it. + $.each(Dock.Elem, function(i, v){ + var pre, altsrc = v.altsrc; + if(jqld){ //jQuery method... + $('').bind('load', {id:id, idx:i}, IMAGE_ONLOAD).attr({src:altsrc}); + }else{ //native 'new Image()' method... + pre = new Image(); + pre.onload = function(){ + IMAGE_ONLOAD.call(this, {data:{id:id, idx:i}}); + pre.onload = ''; //wipe out this onload function + pre = null; + }; + pre.src = altsrc; + } + }); + }); + } + return this; + }; //end jQuery.fn.jqDock() +} //end of if() +})(jQuery, window); diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/res/js/jquery.jqDock.min.js --- a/web/res/metadataplayer/res/js/jquery.jqDock.min.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/res/js/jquery.jqDock.min.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,27 +1,27 @@ -/* - jquery.jqDock.js v1.6 -*/ -(function(k,w){if(!k.jqDock){var v=["Top","Right","Bottom","Left"],N=["Major","Minor"],z=["mouseenter","mousemove","mouseleave"],x=["docknudge","dockidle","dockfreeze"],s=["Idler","Inactive","Indock","Overdock","Offdock"],E=['
'],p={v:{wh:"height",xy:1,tl:"top",lead:0,trail:2,inv:"h"},h:{wh:"width",xy:0,tl:"left",lead:3,trail:1,inv:"v"}},m=[],F=[0,0],X=function(){},C=function(a){a=parseInt(a,10);return isNaN(a)? -0:a},t=function(a,d){for(var c=s[d]?d+1:s.length;dd)d-=a-d;return d},O=function(a){var d=m[a.data.id],c=d.Elem[a.data.idx];c.height=this.height;c.width=this.width;--d.Load<=0&&w.setTimeout(function(){k.jqDock.initDock(a.data.id)},0)},Z=function(a,d){for(var c;a&&a.ownerDocument&&a!==d;){if(c=a.className.toString().match(/jqDockMouse(\d+)/))return 1*c[1];a=a.parentNode}return-1},P=function(a,d,c){var e={},b=p[c].wh;c=p[p[c].inv].wh;e[b]= -d;e[c]=Math.round(d*a[c]/a[b]);return e},Q=function(){k(this).prev("img").trigger("click");return false},y=function(a,d){var c=a.Elem[a.Current];if(c&&a.Opts.labels)c.Label.el[d?"show":"hide"]()},R=function(a){var d=p[a.Opts.vh],c=a.Elem.length,e=-1,b=0,f,h,j,i=F[d.xy]-a.Elem[0].Wrap.parent().offset()[d.tl];if(i>=0)for(;e<0&&b
').hide().insertAfter(d.Img);if(b){h=b.charAt(0)=="b";b= -b.charAt(1)=="r";f.el.css({top:h?"auto":0,left:b?"auto":0,bottom:h?0:"auto",right:b?0:"auto"}).click(Q)}a=e.setLabel.call(a.Menu[0],d.Title,c,f.el[0]);a!==false&&k('
'+a.toString()+"
").appendTo(f.el)},I=function(a,d){var c=m[a],e=c.Opts,b=p[e.vh].wh,f=c.Elem.length,h,j,i;for(d=d||d===0?d:R(c);f--;){h=c.Elem[f];i=h.Initial;if(d>=0){j=Math.abs(d-h.Centre);if(j=c.duration)d.Stamp=0}if(b>=c.step){for(h=(c.duration-b)/c.step;f1?c.Major+Math[b<0?"floor":"ceil"](b/h):c.Final;U(a, -f,b)}if(d.Spread>d[e.wh]){d.Yard.parent()[e.wh](d.Spread+d.Border[e.lead]+d.Border[e.trail]);d[e.wh]=d.Spread}}},K=function(a,d){var c=m[a],e=c.Elem,b=e.length;t(c,2);if(c.OnDock&&!c.Stamp){for(I(a,d);b--&&e[b].Major==e[b].Final;);if(b<0)y(c,1);else{J(a);c[s[2]]=w.setTimeout(function(){K(a,d)},c.Opts.step)}}},V=function(a,d){var c=m[a],e=c.Elem,b=e.length;if(!c.OnDock){for(;b--&&e[b].Major<=e[b].Initial;);R(c);if(b<0){c.Stamp=0;for(b=e.length;b--;)e[b].Major=e[b].Final=e[b].Initial;c.Current=-1;d|| -D(c)}else{J(a);c[s[4]]=w.setTimeout(function(){V(a,d)},c.Opts.step)}}},W=function(a,d){var c=m[a],e=c.Elem,b=e.length;if(c.OnDock){for(I(a,d);b--&&e[b].Major==e[b].Final;);if(b<0||!c.Stamp){c.Stamp=0;K(a,d)}else{J(a);c[s[3]]=w.setTimeout(function(){W(a,d)},c.Opts.step)}}},B=function(a,d,c,e){var b=m[d],f=b.Elem,h=f.length;if(a===0){b.OnDock=1;b.Current>=0&&b.Current!==c&&y(b);b.Current=c;b.Stamp=e&&e>1?0:H(b);W(d,e?f[c].Centre:null)}if(a===1){if(c!==b.Current){y(b);b.Current=c}K(d)}if(a===2){t(b, -1);b.OnDock=0;y(b);for(b.Stamp=H(b);h--;)f[h].Final=f[h].Initial;V(d,!!e)}},L=function(a){var d=A(this),c=m[d],e=c?Z(a.target,this):-1,b=-1,f;if(c)if(c.Asleep){if(!c.Opts.noBuffer)c.Sleeper={target:a.target,type:a.type,pageX:a.pageX,pageY:a.pageY}}else{f=c.OnDock;t(c,0);F=[a.pageX,a.pageY];if(a.type==z[2])if(f)b=2;else D(c);else{if(c.Opts.inactivity){t(c,1);c[s[1]]=w.setTimeout(function(){B(2,d,e,1)},c.Opts.inactivity)}if(a.type==z[1])if(e<0){if(f&&c.Current>=0)b=2}else b=!f||c.Current<0?0:1;else if(e>= -0&&!f)b=0}c.Sleeper=null;b>=0&&B(b,d,e)}},M=function(a){var d=k(".jqDock",this).get(0),c=A(d),e=m[c],b=a.type==x[2],f=b?"freeze":"sleep";if(e)if(a.type==x[0]){f=e.Frozen?"thaw":"wake";if(e.Asleep&&!(e.Asleep=e.Opts.onWake.call(this,f)===false))e.Frozen=!k(this).trigger("dockwake",[f]);if(!e.Asleep){D(e);e.Sleeper&&L.call(d,e.Sleeper)}}else{t(e,0);a=!e.Asleep||b&&!e.Frozen;if(!a||e.Opts.onSleep.call(e.Menu[0],f)!==false){e.Asleep=!t(e,b?-1:1);e.Frozen=e.Frozen||b;a&&e.Menu.trigger("docksleep",[f]); -if(b)e.Stamp=e.OnDock=0;else B(2,c,0,1)}}};k.jqDock=function(){return{version:1.6,defaults:{size:48,distance:72,coefficient:1.5,duration:300,align:"bottom",labels:0,source:0,loader:0,inactivity:0,fadeIn:0,fadeLayer:"",step:50,setLabel:0,flow:0,idle:0,onReady:0,onSleep:0,onWake:0,noBuffer:0,active:-1},useJqLoader:k.browser.opera||k.browser.safari,initDock:function(a){var d=m[a],c=d.Opts,e=p[c.vh],b=p[e.inv],f=d.Border,h=d.Elem.length,j=E.join(""),i=0,n=0,o,g,l,q=c.fadeLayer;S(d.Menu[0]);for(d.Menu.children().each(function(r, -u){var ba=d.Elem[r].Wrap=k(u).wrap(j+j+"
").parent();c.vh=="h"&&ba.parent().css("float","left")}).find("img").andSelf().css({position:"relative",padding:0,margin:0,borderWidth:0,borderStyle:"none",verticalAlign:"top",display:"block",width:"100%",height:"100%"});nd[e.wh])d[e.wh]=i}}for(;n;){g=d.Elem[--n];g.Final=g.Initial}e=[E[0],E[2],'
'].join("");d.Yard=k("div.jqDock", -d.Menu.wrapInner(e));for(b=4;b--;)f[b]=C(d.Yard.css("border"+v[b]+"Width"));for(d.Yard.parent().addClass("jqDockWrap").width(d.width+f[1]+f[3]).height(d.height+f[0]+f[2]);n'],p={v:{wh:"height",xy:1,tl:"top",lead:0,trail:2,inv:"h"},h:{wh:"width",xy:0,tl:"left",lead:3,trail:1,inv:"v"}},m=[],F=[0,0],X=function(){},C=function(a){a=parseInt(a,10);return isNaN(a)? +0:a},t=function(a,d){for(var c=s[d]?d+1:s.length;dd)d-=a-d;return d},O=function(a){var d=m[a.data.id],c=d.Elem[a.data.idx];c.height=this.height;c.width=this.width;--d.Load<=0&&w.setTimeout(function(){k.jqDock.initDock(a.data.id)},0)},Z=function(a,d){for(var c;a&&a.ownerDocument&&a!==d;){if(c=a.className.toString().match(/jqDockMouse(\d+)/))return 1*c[1];a=a.parentNode}return-1},P=function(a,d,c){var e={},b=p[c].wh;c=p[p[c].inv].wh;e[b]= +d;e[c]=Math.round(d*a[c]/a[b]);return e},Q=function(){k(this).prev("img").trigger("click");return false},y=function(a,d){var c=a.Elem[a.Current];if(c&&a.Opts.labels)c.Label.el[d?"show":"hide"]()},R=function(a){var d=p[a.Opts.vh],c=a.Elem.length,e=-1,b=0,f,h,j,i=F[d.xy]-a.Elem[0].Wrap.parent().offset()[d.tl];if(i>=0)for(;e<0&&b
').hide().insertAfter(d.Img);if(b){h=b.charAt(0)=="b";b= +b.charAt(1)=="r";f.el.css({top:h?"auto":0,left:b?"auto":0,bottom:h?0:"auto",right:b?0:"auto"}).click(Q)}a=e.setLabel.call(a.Menu[0],d.Title,c,f.el[0]);a!==false&&k('
'+a.toString()+"
").appendTo(f.el)},I=function(a,d){var c=m[a],e=c.Opts,b=p[e.vh].wh,f=c.Elem.length,h,j,i;for(d=d||d===0?d:R(c);f--;){h=c.Elem[f];i=h.Initial;if(d>=0){j=Math.abs(d-h.Centre);if(j=c.duration)d.Stamp=0}if(b>=c.step){for(h=(c.duration-b)/c.step;f1?c.Major+Math[b<0?"floor":"ceil"](b/h):c.Final;U(a, +f,b)}if(d.Spread>d[e.wh]){d.Yard.parent()[e.wh](d.Spread+d.Border[e.lead]+d.Border[e.trail]);d[e.wh]=d.Spread}}},K=function(a,d){var c=m[a],e=c.Elem,b=e.length;t(c,2);if(c.OnDock&&!c.Stamp){for(I(a,d);b--&&e[b].Major==e[b].Final;);if(b<0)y(c,1);else{J(a);c[s[2]]=w.setTimeout(function(){K(a,d)},c.Opts.step)}}},V=function(a,d){var c=m[a],e=c.Elem,b=e.length;if(!c.OnDock){for(;b--&&e[b].Major<=e[b].Initial;);R(c);if(b<0){c.Stamp=0;for(b=e.length;b--;)e[b].Major=e[b].Final=e[b].Initial;c.Current=-1;d|| +D(c)}else{J(a);c[s[4]]=w.setTimeout(function(){V(a,d)},c.Opts.step)}}},W=function(a,d){var c=m[a],e=c.Elem,b=e.length;if(c.OnDock){for(I(a,d);b--&&e[b].Major==e[b].Final;);if(b<0||!c.Stamp){c.Stamp=0;K(a,d)}else{J(a);c[s[3]]=w.setTimeout(function(){W(a,d)},c.Opts.step)}}},B=function(a,d,c,e){var b=m[d],f=b.Elem,h=f.length;if(a===0){b.OnDock=1;b.Current>=0&&b.Current!==c&&y(b);b.Current=c;b.Stamp=e&&e>1?0:H(b);W(d,e?f[c].Centre:null)}if(a===1){if(c!==b.Current){y(b);b.Current=c}K(d)}if(a===2){t(b, +1);b.OnDock=0;y(b);for(b.Stamp=H(b);h--;)f[h].Final=f[h].Initial;V(d,!!e)}},L=function(a){var d=A(this),c=m[d],e=c?Z(a.target,this):-1,b=-1,f;if(c)if(c.Asleep){if(!c.Opts.noBuffer)c.Sleeper={target:a.target,type:a.type,pageX:a.pageX,pageY:a.pageY}}else{f=c.OnDock;t(c,0);F=[a.pageX,a.pageY];if(a.type==z[2])if(f)b=2;else D(c);else{if(c.Opts.inactivity){t(c,1);c[s[1]]=w.setTimeout(function(){B(2,d,e,1)},c.Opts.inactivity)}if(a.type==z[1])if(e<0){if(f&&c.Current>=0)b=2}else b=!f||c.Current<0?0:1;else if(e>= +0&&!f)b=0}c.Sleeper=null;b>=0&&B(b,d,e)}},M=function(a){var d=k(".jqDock",this).get(0),c=A(d),e=m[c],b=a.type==x[2],f=b?"freeze":"sleep";if(e)if(a.type==x[0]){f=e.Frozen?"thaw":"wake";if(e.Asleep&&!(e.Asleep=e.Opts.onWake.call(this,f)===false))e.Frozen=!k(this).trigger("dockwake",[f]);if(!e.Asleep){D(e);e.Sleeper&&L.call(d,e.Sleeper)}}else{t(e,0);a=!e.Asleep||b&&!e.Frozen;if(!a||e.Opts.onSleep.call(e.Menu[0],f)!==false){e.Asleep=!t(e,b?-1:1);e.Frozen=e.Frozen||b;a&&e.Menu.trigger("docksleep",[f]); +if(b)e.Stamp=e.OnDock=0;else B(2,c,0,1)}}};k.jqDock=function(){return{version:1.6,defaults:{size:48,distance:72,coefficient:1.5,duration:300,align:"bottom",labels:0,source:0,loader:0,inactivity:0,fadeIn:0,fadeLayer:"",step:50,setLabel:0,flow:0,idle:0,onReady:0,onSleep:0,onWake:0,noBuffer:0,active:-1},useJqLoader:k.browser.opera||k.browser.safari,initDock:function(a){var d=m[a],c=d.Opts,e=p[c.vh],b=p[e.inv],f=d.Border,h=d.Elem.length,j=E.join(""),i=0,n=0,o,g,l,q=c.fadeLayer;S(d.Menu[0]);for(d.Menu.children().each(function(r, +u){var ba=d.Elem[r].Wrap=k(u).wrap(j+j+"").parent();c.vh=="h"&&ba.parent().css("float","left")}).find("img").andSelf().css({position:"relative",padding:0,margin:0,borderWidth:0,borderStyle:"none",verticalAlign:"top",display:"block",width:"100%",height:"100%"});nd[e.wh])d[e.wh]=i}}for(;n;){g=d.Elem[--n];g.Final=g.Initial}e=[E[0],E[2],'
'].join("");d.Yard=k("div.jqDock", +d.Menu.wrapInner(e));for(b=4;b--;)f[b]=C(d.Yard.css("border"+v[b]+"Width"));for(d.Yard.parent().addClass("jqDockWrap").width(d.width+f[1]+f[3]).height(d.height+f[0]+f[2]);n").bind("load",{id:e,idx:n},O).attr({src:l});else{g=new Image;g.onload=function(){O.call(this,{data:{id:e,idx:n}});g.onload="";g=null};g.src=l}})});return this}}})(jQuery,window); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/css/LdtPlayer.css --- a/web/res/metadataplayer/src/css/LdtPlayer.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/css/LdtPlayer.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,165 +1,165 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#eeeeee; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#cfcfcf; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#b9b9b9; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#eeeeee; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#cfcfcf; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#b9b9b9; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/css/LdtPlayerFc.css --- a/web/res/metadataplayer/src/css/LdtPlayerFc.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/css/LdtPlayerFc.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#EEE; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#4D4D4D; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/purple_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#decfe2; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#4D4D4D; - } - #Ldt-SaKeyword{ - background-color:#bc85be; - color:#4D4D4D; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#EEE; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#4D4D4D; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/purple_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#decfe2; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#4D4D4D; + } + #Ldt-SaKeyword{ + background-color:#bc85be; + color:#4D4D4D; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/css/LdtPlayerUniverScience.css --- a/web/res/metadataplayer/src/css/LdtPlayerUniverScience.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/css/LdtPlayerUniverScience.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,170 +1,170 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - .ui-widget { - font-size: 1.5em; - } - #Ldt-loader { - background:url(imgs/loader.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#262626; - height:35px; - padding:5px; - - margin-left:213px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - } - #Ldt-SaDescription{ - font-size:12px; - visibility:hidden; - display:none; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:20px; - margin-left:-10px; - } - - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#131313; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#fff; - margin-left:213px; - } - #Ldt-SaKeyword{ - background-color:#444343; - color:#fff; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - - margin-left:213px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + .ui-widget { + font-size: 1.5em; + } + #Ldt-loader { + background:url(imgs/loader.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#262626; + height:35px; + padding:5px; + + margin-left:213px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + } + #Ldt-SaDescription{ + font-size:12px; + visibility:hidden; + display:none; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(http://www.cybunk.com/iritest/universcience/des-souris-dans-un-labyrinthe_fichiers/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:20px; + margin-left:-10px; + } + + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#131313; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#fff; + margin-left:213px; + } + #Ldt-SaKeyword{ + background-color:#444343; + color:#fff; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + + margin-left:213px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/css/demo.css --- a/web/res/metadataplayer/src/css/demo.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/css/demo.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,175 +1,175 @@ - #demo-frame > div.demo { padding: 5px !important; }; - - button.ui-button-icon-only { - height:1.5em; - width:1.5em; - } - - #Ldt-loader{ - background:url(imgs/transBlack.gif); - width:10px; - height:10px; - } - - #Ldt-controler { - font-size: 62.5%; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - background-color:#DECFE2; - height:35px; - padding:5px; - } - - .Ldt-iri-chapter{ - padding-top:10px; - padding-bottom:5px; - border-left:solid 1px #000; - border-right:solid 1px #000; - } - - #Ldt-loader { - background:url(imgs/loader_fc.gif) no-repeat; - width:20px; - height:16px; - float:left; - } - - .tooltip { - display:none; - background:transparent url(imgs/white_arrow_mini.png); - font-size:12px; - height:55px; - width:180px; - padding:10px; - padding-left:15px; - padding-top:15px; - padding-right:15px; - color:#000; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Root{ - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - } - #Ldt-Hat{ - height:3px; - } - #Ldt-Annotations{ - padding-left:5px; - width:470px; - float:left; - font-size: 62.5%; - } - #Ldt-SaTitle{ - padding-top:2px; - padding-bottom:5px; - font-size:18px; - height:22p; - color:#FFF; - } - #Ldt-SaDescription{ - font-size:12px; - } - #Ldt-Show-Arrow-container{ - margin-left:60px; - } - #Ldt-Show-Arrow{ - position:relative; - background:url(imgs/grey_arrow_Show.png); - width:27px; - height:13px; - margin-top:12px; - margin-left:-10px; - } - - #Ldt-output{ - display:none; - } - #Ldt-Show-Tags{ - position:relative; - height:13px; - margin-top:-10px; - border: solid 1px #000; - } - #Ldt-ShowAnnotation-video{ - position:absolute; - z-index: 999; - padding:5px; - background:url(imgs/transBlack.png); - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#FFF; - } - #Ldt-ShowAnnotation-audio{ - position:relative; - padding:5px; - background-color:#773584; - font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; - color:#000000; - } - #Ldt-SaKeyword{ - background-color:#28042D; - color:#FFFFFF; - padding:5px; - font-weight:bold; - text-align:left; - float:left; - font-size:10px; - } - #Ldt-SaShareTools{ - text-align:right; - float:right; - } - - - #Ldt-PlaceHolder{ - position:absolue; - float:none; - } - - .Ldt-mode-radio{ - visibility:hidden; - height:0px; - display:none - } - - .Ldt-Control1{ - width:60px; - float:left; - } - .Ldt-Control2{ - padding-left:10px; - width:60px; - float:left; - } - .Ldt-cleaner { - clear:both; - } - .share { - background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; - display:block; - height:16px; - line-height:16px !important; - overflow:hidden; - width:16px; - float:left; - cursor:pointer; - margin:2px; - } - .shareFacebook{ - background-position:0 -704px; - } - .shareMySpace{ - background-position:0 -736px; - } - .shareTwitter{ - background-position:0 -1072px; - } - .shareGoogle{ - background-position:0 -752px; - } - .shareDelicious{ - background-position:0 -672px; - } - .shareJamesPot{ - background-position:0 -1808px; - } - + #demo-frame > div.demo { padding: 5px !important; }; + + button.ui-button-icon-only { + height:1.5em; + width:1.5em; + } + + #Ldt-loader{ + background:url(imgs/transBlack.gif); + width:10px; + height:10px; + } + + #Ldt-controler { + font-size: 62.5%; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + background-color:#DECFE2; + height:35px; + padding:5px; + } + + .Ldt-iri-chapter{ + padding-top:10px; + padding-bottom:5px; + border-left:solid 1px #000; + border-right:solid 1px #000; + } + + #Ldt-loader { + background:url(imgs/loader_fc.gif) no-repeat; + width:20px; + height:16px; + float:left; + } + + .tooltip { + display:none; + background:transparent url(imgs/white_arrow_mini.png); + font-size:12px; + height:55px; + width:180px; + padding:10px; + padding-left:15px; + padding-top:15px; + padding-right:15px; + color:#000; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Root{ + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + } + #Ldt-Hat{ + height:3px; + } + #Ldt-Annotations{ + padding-left:5px; + width:470px; + float:left; + font-size: 62.5%; + } + #Ldt-SaTitle{ + padding-top:2px; + padding-bottom:5px; + font-size:18px; + height:22p; + color:#FFF; + } + #Ldt-SaDescription{ + font-size:12px; + } + #Ldt-Show-Arrow-container{ + margin-left:60px; + } + #Ldt-Show-Arrow{ + position:relative; + background:url(imgs/grey_arrow_Show.png); + width:27px; + height:13px; + margin-top:12px; + margin-left:-10px; + } + + #Ldt-output{ + display:none; + } + #Ldt-Show-Tags{ + position:relative; + height:13px; + margin-top:-10px; + border: solid 1px #000; + } + #Ldt-ShowAnnotation-video{ + position:absolute; + z-index: 999; + padding:5px; + background:url(imgs/transBlack.png); + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#FFF; + } + #Ldt-ShowAnnotation-audio{ + position:relative; + padding:5px; + background-color:#773584; + font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; + color:#000000; + } + #Ldt-SaKeyword{ + background-color:#28042D; + color:#FFFFFF; + padding:5px; + font-weight:bold; + text-align:left; + float:left; + font-size:10px; + } + #Ldt-SaShareTools{ + text-align:right; + float:right; + } + + + #Ldt-PlaceHolder{ + position:absolue; + float:none; + } + + .Ldt-mode-radio{ + visibility:hidden; + height:0px; + display:none + } + + .Ldt-Control1{ + width:60px; + float:left; + } + .Ldt-Control2{ + padding-left:10px; + width:60px; + float:left; + } + .Ldt-cleaner { + clear:both; + } + .share { + background:url('imgs/widget20.png') no-repeat scroll 0 0 transparent ; + display:block; + height:16px; + line-height:16px !important; + overflow:hidden; + width:16px; + float:left; + cursor:pointer; + margin:2px; + } + .shareFacebook{ + background-position:0 -704px; + } + .shareMySpace{ + background-position:0 -736px; + } + .shareTwitter{ + background-position:0 -1072px; + } + .shareGoogle{ + background-position:0 -752px; + } + .shareDelicious{ + background-position:0 -672px; + } + .shareJamesPot{ + background-position:0 -1808px; + } + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/js/LdtPlayer.js --- a/web/res/metadataplayer/src/js/LdtPlayer.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/js/LdtPlayer.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1379 +1,1379 @@ -/* - * - * Copyright 2010 Institut de recherche et d'innovation - * contributor(s) : Samuel Huron - * - * contact@iri.centrepompidou.fr - * http://www.iri.centrepompidou.fr - * - * This software is a computer program whose purpose is to show and add annotations on a video . - * This software is governed by the CeCILL-C license under French law and - * abiding by the rules of distribution of free software. You can use, - * modify and/ or redistribute the software under the terms of the CeCILL-C - * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * - * The fact that you are presently reading this means that you have had - * knowledge of the CeCILL-C license and that you accept its terms. -*/ - -if(window.__IriSP === undefined ){ var __IriSP={};} - - -// Player Configuration -__IriSP.config = undefined; -__IriSP.configDefault = { - metadata:{ - format:'cinelab', - src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/ef4dcc2e-8d3b-11df-8a24-00145ea4a2be', - load:'jsonp' - }, - gui:{ - width:650, - height:0, - mode:'radio', - container:'LdtPlayer', - debug:false, - css:'../src/css/LdtPlayer.css' - }, - player:{ - type:'jwplayer', - src:'../res/swf/player.swf', - params:{ - allowfullscreen:"true", - allowscriptaccess:"always", - wmode:"transparent" - }, - flashvars:{ - //Jw player - streamer:"streamer", - file:"file", - live:"true", - autostart:"true", - controlbar:"none", - playerready:"__IriSP.playerReady", - // Vimeo - js_api: 1, - js_onLoad:"__IriSP.playerReady", - js_swf_id:"Ldtplayer1", - show_title: 0, - clip_id: "video_id", - show_portrait: 1, - show_byline: 0 - - }, - attributes:{ - id:"Ldtplayer1", - name:"Ldtplayer1" - } - }, - module:null - }; - -__IriSP.lib = { - jQuery:"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", - jQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js", - jQueryToolTip:"http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js", - swfObject:"http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js", - cssjQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" - }; - -// Player Variable -__IriSP.LdtShareTool = ""+ -"\n"+ -"\n "+ -"\n "+ -"\n "; - -// Official instance - to refactor ? -__IriSP.MyLdt = null; -__IriSP.MyTags = null; -__IriSP.MyApiPlayer = null; -__IriSP.player = null; - -// genral var (old code) - to refactor -__IriSP.Durration = null; -__IriSP.playerLdtWidth = null; -__IriSP.playerLdtHeight = null; - - - - - -__IriSP.init = function (config){ - - - if(config === null){ - - __IriSP.config = __IriSP.configDefault; - - } else { - - __IriSP.config = config; - - - - if (__IriSP.config.player.params == null){ - __IriSP.config.player.params = __IriSP.configDefault.player.params;} - - if (__IriSP.config.player.flashvars == null){ - __IriSP.config.player.flashvars = __IriSP.configDefault.player.flashvars;} - if (__IriSP.config.player.attributes == null){ - __IriSP.config.player.attributes = __IriSP.configDefault.player.attributes;} - } - - var metadataSrc = __IriSP.config.metadata.src; - var guiContainer = __IriSP.config.gui.container; - var guiMode = __IriSP.config.gui.mode; - var guiLdtShareTool = __IriSP.LdtShareTool; - // Localize jQuery variable - __IriSP.jQuery = null; - - /******** Load jQuery if not present *********/ - if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') { - var script_tag = document.createElement('script'); - script_tag.setAttribute("type","text/javascript"); - script_tag.setAttribute("src",__IriSP.lib.jQuery); - //"http://cdn.jquerytools.org/1.2.4/full/jquery.tools.min.js"); - script_tag.onload = scriptLibHandler; - script_tag.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLibHandler(); - - } - }; - // Try to find the head, otherwise default to the documentElement - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); - } else { - // The jQuery version on the window is the one we want to use - __IriSP.jQuery = window.jQuery; - scriptLibHandler(); - } - - /******** Called once jQuery has loaded ******/ - function scriptLibHandler() { - - var script_jqUi_tooltip = document.createElement('script'); - script_jqUi_tooltip.setAttribute("type","text/javascript"); - script_jqUi_tooltip.setAttribute("src",__IriSP.lib.jQueryToolTip); - script_jqUi_tooltip.onload = scriptLoadHandler; - script_jqUi_tooltip.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("jquery.tools.min.js loded"); - } - }; - - var script_swfObj = document.createElement('script'); - script_swfObj.setAttribute("type","text/javascript"); - script_swfObj.setAttribute("src",__IriSP.lib.swfObject); - script_swfObj.onload = scriptLoadHandler; - script_swfObj.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("swfobject.js loded"); - } - }; - - var script_jqUi = document.createElement('script'); - script_jqUi.setAttribute("type","text/javascript"); - script_jqUi.setAttribute("src",__IriSP.lib.jQueryUI); - script_jqUi.onload = scriptLoadHandler; - script_jqUi.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("jquery-ui.min.js loded"); - } - }; - - - - - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi_tooltip); - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi); - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_swfObj); - - - }; - - /******** Called once all lib are loaded ******/ - var loadLib = 0; - function scriptLoadHandler(Mylib) { - //alert(Mylib); - loadLib +=1; - if(loadLib===3){ - main(); - }else { - // __IriSP.jQuery('#'+__IriSP.config.gui.container).html("Loading library ..."); - } - }; - - /******** Our main function ********/ - function main() { - - - // Make __IriSP.jQuery and restore window.jQuery - __IriSP.jQuery = window.jQuery.noConflict(true); - // Call MY Jquery - __IriSP.jQuery(document).ready(function($) { - - /******* Load CSS *******/ - var css_link_jquery = __IriSP.jQuery("", { - rel: "stylesheet", - type: "text/css", - href: __IriSP.lib.cssjQueryUI, - 'class': "dynamic_css" - }); - var css_link_custom = __IriSP.jQuery("", { - rel: "stylesheet", - type: "text/css", - href: __IriSP.config.gui.css, - 'class': "dynamic_css" - }); - - css_link_jquery.appendTo('head'); - css_link_custom.appendTo('head'); - - // to see dynamicly loaded css on IE - if ($.browser.msie) { - $('.dynamic_css').clone().appendTo('head'); - } - - //__IriSP.trace("main","ready createMyHtml"); - - __IriSP.createMyHtml(); - //__IriSP.trace("main","end createMyHtml"); - - /******* Load Metadata *******/ - - __IriSP.jQuery.ajax({ - dataType: __IriSP.config.metadata.load, - url:metadataSrc, - success : function(json){ - - __IriSP.trace("ajax","success"); - - // START PARSING ----------------------- - if(json === ""){ - alert("ERREUR DE CHARGEMENT JSON"); - } else { - - - // # CREATE MEDIA // - // # JUSTE ONE PLAYER FOR THE MOMENT // - //__IriSP.jQuery("
").appendTo("#output"); - var MyMedia = new __IriSP.Media( - json.medias[0].id, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['dc:title'], - json.medias[0]['dc:description']); - - __IriSP.trace("__IriSP.MyApiPlayer", - __IriSP.config.gui.width+" " - + __IriSP.config.gui.height + " " - + json.medias[0].href + " " - + json.medias[0]['meta']['dc:duration'] + " " - + json.medias[0]['meta']['item']['value']); - - // Create APIplayer - __IriSP.MyApiPlayer = new __IriSP.APIplayer( - __IriSP.config.gui.width, - __IriSP.config.gui.height, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['meta']['item']['value']); - - // # CREATE THE FIRST LINE // - __IriSP.trace("__IriSP.init.main","__IriSP.Ligne"); - __IriSP.MyLdt = new __IriSP.Ligne ( - json['annotation-types'][0].id, - json['annotation-types'][0]['dc:title'], - json['annotation-types'][0]['dc:description'], - json.medias[0]['meta']['dc:duration']); - - // CREATE THE TAG CLOUD // - __IriSP.trace("__IriSP.init.main","__IriSP.Tags"); - __IriSP.MyTags = new __IriSP.Tags (json.tags); - - // CREATE THE ANNOTATIONS // - // JUSTE FOR THE FIRST TYPE // - __IriSP.jQuery.each(json.annotations, function(i,item) { - if (item.meta['id-ref'] == __IriSP.MyLdt.id) { - //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); - __IriSP.MyLdt.addAnnotation(item); - } - //MyTags.addAnnotation(item); - }); - __IriSP.jQuery.each(json.lists, function(i,item) { - __IriSP.trace("lists",""); - }); - __IriSP.jQuery.each(json.views, function(i,item) { - __IriSP.trace("views",""); - }); - } - // END PARSING ----------------------- // - - - },error : function(data){ - alert("ERROR : "+data); - } - }); - - ChartTimeLine(); - }); - } - -}; - - -__IriSP.createMyHtml = function(){ - var width = __IriSP.config.gui.width; - - // AUDIO */ - // PB dans le html : ; - if(__IriSP.config.gui.mode=="radio"){ - __IriSP.jQuery( "
\n"+ - "
\n"+ - " Nécessite Flash player Veuillez patienter durant le chargement du média \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
 \;
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " "+__IriSP.LdtShareTool+"\n"+ - " \n"+ - "
\n"+ - "
"+ - "
"+ - //"
Mots clefs :
"+ - "
"+ - "
").appendTo("#"+__IriSP.config.gui.container); - } else if(__IriSP.config.gui.mode=="video") { - - __IriSP.jQuery( "
\n"+ - "
\n"+ - " Get flash to see this player \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
 \;
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " "+__IriSP.LdtShareTool+"\n"+ - " \n"+ - "
\n"+ - "
"+ - "
"+ - //"
Mots clefs :
"+ - "
"+ - "
").appendTo("#"+__IriSP.config.gui.container); - - } - - - __IriSP.trace("__IriSP.createHtml","end"); - __IriSP.jQuery("#Ldt-Annotations").width(width-(75*2)); - __IriSP.jQuery("#Ldt-Show-Arrow-container").width(width-(75*2)); - __IriSP.jQuery("#Ldt-ShowAnnotation-audio").width(width-10); - __IriSP.jQuery("#Ldt-ShowAnnotation-video").width(width-10); - __IriSP.jQuery("#Ldt-SaKeyword").width(width-10); - __IriSP.jQuery("#Ldt-controler").width(width-10); - __IriSP.jQuery("#Ldt-Control").attr("z-index","100"); - __IriSP.jQuery("#Ldt-controler").hide(); - - __IriSP.jQuery("
 
Chargement...
").appendTo("#Ldt-ShowAnnotation-audio"); - - if(__IriSP.config.gui.mode=='radio'){ - __IriSP.jQuery("#Ldt-load-container").attr("width",__IriSP.config.gui.width); - } - // Show or not the output - if(__IriSP.config.gui.debug===true){ - __IriSP.jQuery("#Ldt-output").show(); - } else { - __IriSP.jQuery("#Ldt-output").hide(); - } - -}; - -__IriSP.Media = function (id,url,duration,title,description){ - this.id = id; - this.url = url; - this.title = title; - this.description = description; - this.duration = duration; - this.lignes = new Array(); - - __IriSP.trace("__IriSP.Media","Media ID : "+id); - __IriSP.trace("__IriSP.Media","Media URL : "+url); - __IriSP.trace("__IriSP.Media","Media title : "+title); -} -__IriSP.Media.prototype.createPlayerMedia = function (width,height,MyStreamer,MySwfPath){ - __IriSP.MyApiPlayer = new __IriSP.APIplayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); - //createPlayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); -} -__IriSP.Media.prototype.getMediaDuration = function (){ - return (this.duration); -} -__IriSP.Media.prototype.getMediaTitle = function (){ - return (this.title); -} - - - -/* INTERFACE : SLIDER ( CONTROL BAR ) | BUTTON () */ -__IriSP.createInterface = function(width,height,duration){ - - __IriSP.jQuery("#Ldt-controler").show(); - __IriSP.trace("__IriSP.createInterface",width+","+height+","+duration+","); - - __IriSP.jQuery("#Ldt-ShowAnnotation").click(function () { - }); - - var LdtpPlayerY = __IriSP.jQuery("#Ldt-PlaceHolder").attr("top"); - var LdtpPlayerX = __IriSP.jQuery("#Ldt-PlaceHolder").attr("left"); - __IriSP.jQuery("#slider-range-min").slider({ //range: "min", - value: 0, - min: 1, - max: duration/1000,//1:54:52.66 = 3600+3240+ - step: 0.1, - slide: function(event, ui) { - __IriSP.MyApiPlayer.seek(ui.value); - } - }); - __IriSP.trace("__IriSP.createInterface","ICI"); - __IriSP.jQuery("#amount").val(__IriSP.jQuery("#slider-range-min").slider("value")+" s"); - __IriSP.jQuery(".Ldt-Control1 button:first").button({ - icons: { - primary: 'ui-icon-play' - }, - text: false - }).next().button({ - icons: { - primary: 'ui-icon-seek-next' - }, - text: false - }); - __IriSP.jQuery(".Ldt-Control2 button:first").button({ - icons: { - primary: 'ui-icon-transferthick-e-w' - //secondary: 'ui-icon-volume-off' - }, - text: false - }).next().button({ - icons: { - primary: 'ui-icon-volume-on' - }, - text: false - }); - - // /!\ PB A MODIFIER - //__IriSP.MyTags.draw(); - __IriSP.trace("__IriSP.createInterface","ICI2"); - __IriSP.jQuery("#ldt-CtrlPlay").attr("style","background-color:#CD21C24;"); - - __IriSP.jQuery("#Ldt-load-container").hide(); - - if(__IriSP.config.gui.mode=="radio" & __IriSP.jQuery.browser.msie!=true){ - __IriSP.jQuery("#Ldtplayer1").attr("height","0"); - } - __IriSP.trace("__IriSP.createInterface","3"); - - __IriSP.trace("__IriSP.createInterface","END"); - - } - - -/* API player - work in progress ... need refactoring of code */ -__IriSP.APIplayer = function (width,height,url,duration,streamerPath,MySwfPath){ - - - this.player = null; - this.hashchangeUpdate = null; - - this.width = width; - this.height = height; - this.url = url; - this.duration = duration; - this.streamerPath = streamerPath; - this.MySwfPath = MySwfPath; - - __IriSP.MyApiPlayer = this; - - __IriSP.createPlayer(this.url,this.streamerPath); - __IriSP.trace("__IriSP.APIplayer","__IriSP.createPlayer"); - - //__IriSP.config.player - /* - - dailymotion // &enableApi=1&chromeless=1 - - youtube - - html5 - - flowplayer - - jwplayer - */ - -} -__IriSP.APIplayer.prototype.ready = function(player){ - - __IriSP.trace("__IriSP.APIplayer.prototype.APIpReady"," __IriSP.createInterface"); - __IriSP.createInterface(this.width,this.height,this.duration); - __IriSP.trace("__IriSP.APIplayer.prototype.APIpReady","END __IriSP.createInterface"); - - // hashchange EVENT - if (window.addEventListener){ - - // pour FIREFOX hashchange EVENT - window.addEventListener("hashchange", function() { - var url = window.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.trace("__IriSP.APIplayer.prototype.ready",time); - if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ - __IriSP.MyApiPlayer.seek(time); - }else{ - __IriSP.MyApiPlayer.hashchangeUpdate=null; - } - }, false); - - } - else if (window.attachEvent){ - // FOR IE hashchange EVENT - - window.attachEvent("onhashchange", function() { - __IriSP.trace("hashchange",time); - var url = window.location.href; - var time = __IriSP.retrieveTimeFragment(url); - if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ - __IriSP.MyApiPlayer.seek(time); - }else{ - __IriSP.MyApiPlayer.hashchangeUpdate=null; - } - }, false); - } - -} -__IriSP.APIplayer.prototype.pause = function(){ - this.hashchangeUpdate = true; - __IriSP.player.sendEvent('PAUSE'); -} -__IriSP.APIplayer.prototype.play = function(){ - this.hashchangeUpdate = true; - __IriSP.trace("__IriSP.config.player.type",__IriSP.config.player.type); - - if(__IriSP.config.player.type=='jwplayer'){ - __IriSP.trace("jw",status); - __IriSP.player.sendEvent('PLAY'); - - } else if(__IriSP.config.player.type=='dailymotion' || __IriSP.config.player.type=='youtube'){ - __IriSP.trace("youtube",status); - - __IriSP.trace("__IriSP.APIplayer.prototype.play.status",status); - if (status!=1){ __IriSP.player.playVideo(); - }else{__IriSP.player.pauseVideo(); - } - - } else if(__IriSP.config.player.type=='vimeo') { - __IriSP.trace("vimeo",status); - var status = 0; - if (status!=1){__IriSP.player.api_play(); - }else{__IriSP.player.remote(moogaloop, 'api_pause') - } - - - } -} -__IriSP.APIplayer.prototype.mute = function(){ - __IriSP.player.sendEvent('MUTE'); - - //alert(__IriSP.jQuery(".ui-icon-volume-on").css("background-position-x")); - if (__IriSP.jQuery(".ui-icon-volume-on").css("background-position")=="-144px -160px"){ - __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-130px -160px"); - } else { - __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-144px -160px"); - } -} -__IriSP.APIplayer.prototype.share = function(network){ - - var MyMessage = encodeURIComponent("J'écoute Les Retours du Dimanche : "); - var MyURLNow = window.location.href; - var shareURL; - //alert(network+" : "+MyURLNow); - - if(network == "facebook"){ - shareURL = "http://www.facebook.com/share.php?u="; - }else if(network == "twitter"){ - shareURL = "http://twitter.com/home?status="+MyMessage; - }else if(network == "myspace"){ - shareURL ="http://www.myspace.com/Modules/PostTo/Pages/?u="; - }else if(network == "delicious"){ - shareURL = "http://delicious.com/save?url="; - }else if(network == "JameSpot"){ - shareURL = "http://www.jamespot.com/?action=spotit&u="; - //alert(network+" non actif pour l'instant : "+MyURLNow); - } - - window.open(shareURL+encodeURIComponent(MyURLNow)); - //window.location.href = shareURL+encodeURIComponent(MyURLNow); -} -__IriSP.APIplayer.prototype.seek = function (time){ - __IriSP.trace("__IriSP.APIplayer.prototype.seek",time); - if(__IriSP.config.player.type=='jwplayer'){ - __IriSP.player.sendEvent('SEEK', time); - } else if(__IriSP.config.player.type=='dailymotion' - || __IriSP.config.player.type=='youtube') { - __IriSP.player.seekTo(time); - } - this.changePageUrlOffset(time); -} -__IriSP.APIplayer.prototype.update = function (time){ - this.hashchangeUpdate = true; - __IriSP.player.sendEvent('SEEK', time); -} -__IriSP.APIplayer.prototype.changePageUrlOffset = function (time) { - //alert(time); - __IriSP.trace("__IriSP.APIplayer.prototype.changePageUrlOffset","CHANGE URL "+time); - window.location.hash = "#t=" + time; - window.location.href = window.location.href; -} - -/* MEDIA FRAGMENT FUNCTION */ - -__IriSP.jumpToTimeoffset = function (form) { - var time = form.time.value; - __IriSP.MyApiPlayer.changePageUrlOffset(time); -} -__IriSP.retrieveTimeFragment = function (url) { - var pageoffset = 0; - var offsettime = 0; - - if (url.split("#")[1] != null) { - pageoffset = url.split("#")[1]; - if (pageoffset.substring(2) != null) { - offsettime = pageoffset.substring(2); - } - } - return offsettime; -} -__IriSP.ignoreTimeFragment = function(url){ - if (url.split("#")[1] != null) { - var pageurl= url.split("#")[0]; - } - return pageurl; -} - - -/* CODE SPECIAL JW PLAYER creation + listener */ - -__IriSP.currentPosition = 0; -__IriSP.currentVolume = 50; -__IriSP.player = null; -__IriSP.startPosition = null; - - - -__IriSP.createPlayer = function (url,streamerPath) { - - // vimeo - __IriSP.config.player.flashvars.clip_id = __IriSP.config.player.src; - - if(__IriSP.config.player.type =='dailymotion'){ - __IriSP.config.player.src = __IriSP.config.player.src+"&chromeless=1&enableApi=1"; - } else if (__IriSP.config.player.type =='youtube'){ - __IriSP.config.player.src = __IriSP.config.player.src+"&enablejsapi=1&version=3"; - } else if (__IriSP.config.player.type =='vimeo'){ - __IriSP.config.player.src = "http://vimeo.com/moogaloop.swf"; - } - - __IriSP.trace("__IriSP.createPlayer","start"); - - __IriSP.myUrlFragment = url.split(streamerPath); - __IriSP.config.player.flashvars.streamer = streamerPath; - __IriSP.config.player.flashvars.file = __IriSP.myUrlFragment[1]; - - - - var flashvars = __IriSP.config.player.flashvars; - var params = __IriSP.config.player.params; - var attributes = __IriSP.config.player.attributes; - - __IriSP.trace( - "__IriSP.createPlayer", - "SWFOBJECT src:"+ - __IriSP.config.player.src+ - " " +__IriSP.config.gui.width+ - " " +__IriSP.config.gui.height+ - " || src = " +__IriSP.config.player.src - ); - - - swfobject.embedSWF( - __IriSP.config.player.src, - "Ldt-PlaceHolder", - __IriSP.config.gui.width, - __IriSP.config.gui.height, - "9.0.115", - false, - flashvars, - params, - attributes - ); - - // need a methode to - // re execute if this swf call does'nt work -} - - - -/* API DAILYMOTION */ -onDailymotionPlayerReady = function (playerid){ - - //alert(playerid); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.MyApiPlayer.ready(__IriSP.player); - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.startPosition = time; - __IriSP.DailymotionAddListeners(); - - __IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.DailymotionAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - //__IriSP.player.addEventListener("onStateChange", "__IriSP.DailymotionPositionListener"); - setTimeout("__IriSP.DailymotionPositionListener()",100); - __IriSP.DailymotionPositionListener(); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.DailymotionAddListeners()",100); - } -} -__IriSP.DailymotionPositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.DailymotionPositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - /*__IriSP.MyLdt.checkTime(__IriSP.currentPosition); - */ - - setTimeout("__IriSP.DailymotionPositionListener()",10); -} - -/* API YOUTUBE */ -onYouTubePlayerReady= function (playerid){ - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.startPosition = time; - - __IriSP.MyApiPlayer.ready(__IriSP.player); - - __IriSP.MyApiPlayer.seek(time); - __IriSP.MyApiPlayer.play(); - - - __IriSP.YouTubeAddListeners(); - __IriSP.trace("onYouTubePlayerReady=",time); - //__IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.YouTubeAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); - setTimeout("__IriSP.YouTubePositionListener()",100); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); - } -} -__IriSP.YouTubePositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - - setTimeout("__IriSP.YouTubePositionListener()",10); -} -__IriSP.YouTubeStateMonitor = function (obj) { - __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); - //alert(newstate+" "+obj.newstate); - if(newstate == '2') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - - }else if (newstate == '1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } - else if (newstate == '-1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } else if (newstate == '3'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} - -/* API VIMEO */ -onVimeoPlayerReady= function (playerid){ - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.startPosition = time; - - __IriSP.MyApiPlayer.ready(__IriSP.player); - - __IriSP.MyApiPlayer.seek(time); - __IriSP.MyApiPlayer.play(); - - - __IriSP.YouTubeAddListeners(); - __IriSP.trace("onYouTubePlayerReady=",time); - //__IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.VimeoAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); - setTimeout("__IriSP.YouTubePositionListener()",100); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); - } -} -__IriSP.VimeoPositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - - setTimeout("__IriSP.YouTubePositionListener()",10); -} -__IriSP.VimeoStateMonitor = function (obj) { - __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); - //alert(newstate+" "+obj.newstate); - if(newstate == '2') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - - }else if (newstate == '1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } - else if (newstate == '-1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } else if (newstate == '3'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} - -/* API JW PLAYER */ -__IriSP.playerReady = function (thePlayer) { - - __IriSP.trace("__IriSP.playerReady","PLAYER READY !!!!!!!!!!!!"); - __IriSP.trace("__IriSP.playerReady",thePlayer); - if (__IriSP.config.player.type == 'vimeo'){ - __IriSP.player = window.document[thePlayer]; - } else { - __IriSP.player = window.document[thePlayer.id]; - } - // ??? - __IriSP.MyApiPlayer.ready(__IriSP.player); - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - //__IriSP.trace("__IriSP.playerReady"," "+url+" "+time ); - __IriSP.startPosition = time; - //__IriSP.trace("__IriSP.playerReady"," LISTENER LAUCHER"); - __IriSP.addListeners(); - //__IriSP.trace("__IriSP.playerReady"," LISTENER END"); - -} -__IriSP.addListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addModelListener("TIME", "__IriSP.positionListener"); - __IriSP.player.addControllerListener("VOLUME", "__IriSP.volumeListener"); - __IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.addListeners()",100); - } - - // et changer les boutons -} -__IriSP.stateMonitor = function (obj) { - - - if(obj.newstate == 'PAUSED') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - //PaperSlider.attr({x:-100,y:-100}); - __IriSP.jQuery(".ui-icon-play").css("background-position","0px -160px"); - - } else if (obj.newstate == 'PLAYING'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - __IriSP.jQuery(".ui-icon-play").css("background-position","-16px -160px"); - } else if (obj.newstate == 'BUFFERING'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} -__IriSP.positionListener = function(obj) { - //__IriSP.trace("__IriSP.positionListener",obj.position); - __IriSP.currentPosition = obj.position; - //var tmp = document.getElementById("posit"); - //if (tmp) { tmp.innerHTML = "position: " + __IriSP.currentPosition; } - __IriSP.jQuery("#slider-range-min").slider("value", obj.position); - PaperSliderPostion = obj.position/(__IriSP.LDTligne.duration/1000)*__IriSP.config.gui.width; - PaperSlider.attr({x:PaperSliderPostion,y:yMax}); - //PaperSlider.toFront(); - //__IriSP.jQuery("#amount").val(obj.position+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - -} -__IriSP.volumeListener = function (obj) { - __IriSP.currentVolume = obj.percentage; - var tmp = document.getElementById("vol"); - if (tmp) { tmp.innerHTML = "volume: " + __IriSP.currentVolume; } -} - - - - -/* UTIL */ -// code from http://stackoverflow.com/questions/822452/strip-html-from-text-javascript -__IriSP.stripHtml = function(s){ - return s.replace(/\\&/g, '&').replace(/\\/g, '>').replace(/\\t/g, '   ').replace(/\\n/g, '
').replace(/'/g, ''').replace(/"/g, '"'); -} -// conversion de couleur Decimal vers HexaDecimal || 000 si fff -__IriSP.DEC_HEXA_COLOR = function (dec){ - var hexa='0123456789ABCDEF',hex=''; - var tmp; - while (dec>15){ - tmp = dec-(Math.floor(dec/16))*16; - hex = hexa.charAt(tmp)+hex; - dec = Math.floor(dec/16); - } - hex = hexa.charAt(dec)+hex; - //if (hex == "FFCC00"){ hex="";/* by default color of Ldt annotation */ } - return(hex); -} - - -/* -private function colorNbrToHexaStr(c:int):String{ - var s:String = c.toString(16); - var nbZero:uint = 6 - s.length; - for(var i:uint=0;iannotationTempo.begin/1000 && time
"; - //alert(this.color+" : "+DEC_HEXA_COLOR(this.color)); - - - - __IriSP.jQuery(""+__IriSP.jQueryAnnotationTemplate+"
").appendTo("#Ldt-Annotations"); - // TOOLTIP BUG ! - - __IriSP.jQuery("#"+this.id).tooltip({ effect: 'slide'}); - //var thisNode = __IriSP.jQuery(); - //addTip("#"+this.id, __IriSP.stripHtml(titleForDiv),"#000"); - - __IriSP.jQuery("#"+this.id).fadeTo(0,0.3); - __IriSP.jQuery("#"+this.id).mouseover(function() { - __IriSP.jQuery("#"+this.id).animate({opacity: 0.6}, 5) - }).mouseout(function(){ - __IriSP.jQuery("#"+this.id).animate({opacity: 0.3}, 5) - }); - __IriSP.trace("__IriSP.Annotation.prototype.draw","ADD ANOTATION : "+this.begin+" "+this.end+" "+__IriSP.stripHtml(this.title)+" | "+startPourcent+" | "+endPourcent+" | duration = "+this.duration); - -} -__IriSP.Annotation.prototype.drawTags = function(){ - var KeywordPattern = ' '+' '; - - //__IriSP.trace(" !? Tags : ",this.tags); - - if (this.tags!=undefined){ - for (var i = 0; i < this.tags.length; ++i){ - this.htmlTags += ' '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; - } - } -} -__IriSP.Annotation.prototype.tootTipAnnotation = function() { - // 1 chercher le div correspondant - // 2 y mettre les information - return this.color + ' ' + this.type + ' apple'; -} -__IriSP.Annotation.prototype.onRollOverAnnotation = function (){ - //this.tootTip(); -} -__IriSP.Annotation.prototype.timeToPourcent = function(time,timetotal){ - return (parseInt(Math.round(time/timetotal*100))); -} - - -/* CLASS Tags */ - -__IriSP.Tags = function(object){ - this.myTags = object; - this.htmlTags = null; - this.weigthMax = 0; - //this.mySegments = new array(); -} -__IriSP.Tags.prototype.addAnnotation = function (annotation){ - for (var i = 0; i < this.myTags.length; ++i){ - this.myTags[i].mySegments = new Array(); - if (annotation.tags!=null){ - for (var j = 0; j < annotation.tags.length; ++j){ - if (this.myTags[i]['id'] == annotation.tags[j]['id-ref']){ - this.myTags[i].mySegments.push([annotation.begin,annotation.end,annotation.id]); - var weigthTempo = this.myTags[i].mySegments.length - var tempo = this.myTags[i].mySegments[weigthTempo-1]; - //__IriSP.trace ("__IriSP.Tags.prototype.addAnnotation "," "+this.myTags[i]['meta']['dc:title']+" "+this.myTags[i]['id']+" : "+tempo[0]+" - "+tempo[1]); - - if (this.weigthMax < weigthTempo ){ - this.weigthMax = weigthTempo; - } - } - } - } - } -} -__IriSP.Tags.prototype.getTitle = function (id){ - for (var i = 0; i < this.myTags.length; ++i){ - if(this.myTags[i]['id']==id){ - return(this.myTags[i]['meta']['dc:title']); - } - } - -} -__IriSP.Tags.prototype.draw = function (){ - - __IriSP.trace("__IriSP.Tags.prototype.draw"," !!! WELL START " ); - for (var i = 0; i < this.myTags.length; ++i){ - __IriSP.trace("__IriSP.Tags.prototype.draw"," ADD Tags : "+this.myTags[i]['id']); - if(this.myTags[i]['id']!=null){ - this.htmlTags += ' '+this.myTags[i]['meta']['dc:title']+' '+' , '; - } - } - - __IriSP.jQuery('#Ldt-Tags').html(this.htmlTags); - __IriSP.trace("__IriSP.Tags.prototype.draw"," !!!! END WMAX= "+this.weigthMax ); - -} -__IriSP.Tags.prototype.show = function (id){ - - var timeStartOffsetA = 100000000000000000000; - var timeStartOffsetB = 100000000000000000000; - var timeEndOffsetA = 0; - var timeEndOffsetB = 0; - var timeStartID; - var timeEndID; - var WidthPourCent; - var leftPourCent; - var timeStartOffset; - - // case 1 : seul segment - // case 2 : 2 ou X segments - - - for (var i = 0; i < this.myTags.length; ++i){ - if (this.myTags[i]['id']==id){ - __IriSP.trace("######### TAG DRAWing : "," END" ); - - for (var j = 0; j < this.myTags[i].mySegments.length; ++j){ - if(timeStartOffset> this.myTags[i].mySegments[j][0]){ - timeStartOffsetA = this.myTags[i].mySegments[j][0]; - timeStartOffsetB = this.myTags[i].mySegments[j][1]; - timeStartID = this.myTags[i].mySegments[j][2] - } - if(timeStartOffset> this.myTags[i].mySegments[j][0]){ - timeEndOffsetA = this.myTags[i].mySegments[j][0]; - timeEndOffsetB = this.myTags[i].mySegments[j][1]; - timeEndID = this.myTags[i].mySegments[j][2] - } - } - - } - } - - // ------------------------------------------------- - // - // ------------------------------------------------- - - leftPourCent = __IriSP.timeToPourcent((timeStartOffsetA*1+(timeStartOffsetB-timeStartOffsetA)/2),__IriSP.MyLdt.duration); - WidthPourCent = __IriSP.timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),__IriSP.MyLdt.duration)-leftPourCent; - //WidthPourCent = timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),MyLdt.duration)-startPourcent; - __IriSP.jQuery("#Ldt-Show-Tags").css('left',leftPourCent+'%'); - __IriSP.jQuery("#Ldt-Show-Tags").css('width',WidthPourCent+'%'); - // like arrow script - - - -} - - -/* CLASS TRACE */ - -__IriSP.traceNum=0; -__IriSP.trace = function(msg,value){ - - if(__IriSP.config.gui.debug===true){ - __IriSP.traceNum += 1; - __IriSP.jQuery("
"+__IriSP.traceNum+" - "+msg+" : "+value+"
").appendTo("#Ldt-output"); - } - -} - - - - - +/* + * + * Copyright 2010 Institut de recherche et d'innovation + * contributor(s) : Samuel Huron + * + * contact@iri.centrepompidou.fr + * http://www.iri.centrepompidou.fr + * + * This software is a computer program whose purpose is to show and add annotations on a video . + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. +*/ + +if(window.__IriSP === undefined ){ var __IriSP={};} + + +// Player Configuration +__IriSP.config = undefined; +__IriSP.configDefault = { + metadata:{ + format:'cinelab', + src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/ef4dcc2e-8d3b-11df-8a24-00145ea4a2be', + load:'jsonp' + }, + gui:{ + width:650, + height:0, + mode:'radio', + container:'LdtPlayer', + debug:false, + css:'../src/css/LdtPlayer.css' + }, + player:{ + type:'jwplayer', + src:'../res/swf/player.swf', + params:{ + allowfullscreen:"true", + allowscriptaccess:"always", + wmode:"transparent" + }, + flashvars:{ + //Jw player + streamer:"streamer", + file:"file", + live:"true", + autostart:"true", + controlbar:"none", + playerready:"__IriSP.playerReady", + // Vimeo + js_api: 1, + js_onLoad:"__IriSP.playerReady", + js_swf_id:"Ldtplayer1", + show_title: 0, + clip_id: "video_id", + show_portrait: 1, + show_byline: 0 + + }, + attributes:{ + id:"Ldtplayer1", + name:"Ldtplayer1" + } + }, + module:null + }; + +__IriSP.lib = { + jQuery:"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", + jQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js", + jQueryToolTip:"http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js", + swfObject:"http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js", + cssjQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" + }; + +// Player Variable +__IriSP.LdtShareTool = ""+ +"\n"+ +"\n "+ +"\n "+ +"\n "; + +// Official instance - to refactor ? +__IriSP.MyLdt = null; +__IriSP.MyTags = null; +__IriSP.MyApiPlayer = null; +__IriSP.player = null; + +// genral var (old code) - to refactor +__IriSP.Durration = null; +__IriSP.playerLdtWidth = null; +__IriSP.playerLdtHeight = null; + + + + + +__IriSP.init = function (config){ + + + if(config === null){ + + __IriSP.config = __IriSP.configDefault; + + } else { + + __IriSP.config = config; + + + + if (__IriSP.config.player.params == null){ + __IriSP.config.player.params = __IriSP.configDefault.player.params;} + + if (__IriSP.config.player.flashvars == null){ + __IriSP.config.player.flashvars = __IriSP.configDefault.player.flashvars;} + if (__IriSP.config.player.attributes == null){ + __IriSP.config.player.attributes = __IriSP.configDefault.player.attributes;} + } + + var metadataSrc = __IriSP.config.metadata.src; + var guiContainer = __IriSP.config.gui.container; + var guiMode = __IriSP.config.gui.mode; + var guiLdtShareTool = __IriSP.LdtShareTool; + // Localize jQuery variable + __IriSP.jQuery = null; + + /******** Load jQuery if not present *********/ + if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') { + var script_tag = document.createElement('script'); + script_tag.setAttribute("type","text/javascript"); + script_tag.setAttribute("src",__IriSP.lib.jQuery); + //"http://cdn.jquerytools.org/1.2.4/full/jquery.tools.min.js"); + script_tag.onload = scriptLibHandler; + script_tag.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLibHandler(); + + } + }; + // Try to find the head, otherwise default to the documentElement + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); + } else { + // The jQuery version on the window is the one we want to use + __IriSP.jQuery = window.jQuery; + scriptLibHandler(); + } + + /******** Called once jQuery has loaded ******/ + function scriptLibHandler() { + + var script_jqUi_tooltip = document.createElement('script'); + script_jqUi_tooltip.setAttribute("type","text/javascript"); + script_jqUi_tooltip.setAttribute("src",__IriSP.lib.jQueryToolTip); + script_jqUi_tooltip.onload = scriptLoadHandler; + script_jqUi_tooltip.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("jquery.tools.min.js loded"); + } + }; + + var script_swfObj = document.createElement('script'); + script_swfObj.setAttribute("type","text/javascript"); + script_swfObj.setAttribute("src",__IriSP.lib.swfObject); + script_swfObj.onload = scriptLoadHandler; + script_swfObj.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("swfobject.js loded"); + } + }; + + var script_jqUi = document.createElement('script'); + script_jqUi.setAttribute("type","text/javascript"); + script_jqUi.setAttribute("src",__IriSP.lib.jQueryUI); + script_jqUi.onload = scriptLoadHandler; + script_jqUi.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("jquery-ui.min.js loded"); + } + }; + + + + + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi_tooltip); + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi); + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_swfObj); + + + }; + + /******** Called once all lib are loaded ******/ + var loadLib = 0; + function scriptLoadHandler(Mylib) { + //alert(Mylib); + loadLib +=1; + if(loadLib===3){ + main(); + }else { + // __IriSP.jQuery('#'+__IriSP.config.gui.container).html("Loading library ..."); + } + }; + + /******** Our main function ********/ + function main() { + + + // Make __IriSP.jQuery and restore window.jQuery + __IriSP.jQuery = window.jQuery.noConflict(true); + // Call MY Jquery + __IriSP.jQuery(document).ready(function($) { + + /******* Load CSS *******/ + var css_link_jquery = __IriSP.jQuery("", { + rel: "stylesheet", + type: "text/css", + href: __IriSP.lib.cssjQueryUI, + 'class': "dynamic_css" + }); + var css_link_custom = __IriSP.jQuery("", { + rel: "stylesheet", + type: "text/css", + href: __IriSP.config.gui.css, + 'class': "dynamic_css" + }); + + css_link_jquery.appendTo('head'); + css_link_custom.appendTo('head'); + + // to see dynamicly loaded css on IE + if ($.browser.msie) { + $('.dynamic_css').clone().appendTo('head'); + } + + //__IriSP.trace("main","ready createMyHtml"); + + __IriSP.createMyHtml(); + //__IriSP.trace("main","end createMyHtml"); + + /******* Load Metadata *******/ + + __IriSP.jQuery.ajax({ + dataType: __IriSP.config.metadata.load, + url:metadataSrc, + success : function(json){ + + __IriSP.trace("ajax","success"); + + // START PARSING ----------------------- + if(json === ""){ + alert("ERREUR DE CHARGEMENT JSON"); + } else { + + + // # CREATE MEDIA // + // # JUSTE ONE PLAYER FOR THE MOMENT // + //__IriSP.jQuery("
").appendTo("#output"); + var MyMedia = new __IriSP.Media( + json.medias[0].id, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['dc:title'], + json.medias[0]['dc:description']); + + __IriSP.trace("__IriSP.MyApiPlayer", + __IriSP.config.gui.width+" " + + __IriSP.config.gui.height + " " + + json.medias[0].href + " " + + json.medias[0]['meta']['dc:duration'] + " " + + json.medias[0]['meta']['item']['value']); + + // Create APIplayer + __IriSP.MyApiPlayer = new __IriSP.APIplayer( + __IriSP.config.gui.width, + __IriSP.config.gui.height, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['meta']['item']['value']); + + // # CREATE THE FIRST LINE // + __IriSP.trace("__IriSP.init.main","__IriSP.Ligne"); + __IriSP.MyLdt = new __IriSP.Ligne ( + json['annotation-types'][0].id, + json['annotation-types'][0]['dc:title'], + json['annotation-types'][0]['dc:description'], + json.medias[0]['meta']['dc:duration']); + + // CREATE THE TAG CLOUD // + __IriSP.trace("__IriSP.init.main","__IriSP.Tags"); + __IriSP.MyTags = new __IriSP.Tags (json.tags); + + // CREATE THE ANNOTATIONS // + // JUSTE FOR THE FIRST TYPE // + __IriSP.jQuery.each(json.annotations, function(i,item) { + if (item.meta['id-ref'] == __IriSP.MyLdt.id) { + //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); + __IriSP.MyLdt.addAnnotation(item); + } + //MyTags.addAnnotation(item); + }); + __IriSP.jQuery.each(json.lists, function(i,item) { + __IriSP.trace("lists",""); + }); + __IriSP.jQuery.each(json.views, function(i,item) { + __IriSP.trace("views",""); + }); + } + // END PARSING ----------------------- // + + + },error : function(data){ + alert("ERROR : "+data); + } + }); + + ChartTimeLine(); + }); + } + +}; + + +__IriSP.createMyHtml = function(){ + var width = __IriSP.config.gui.width; + + // AUDIO */ + // PB dans le html : ; + if(__IriSP.config.gui.mode=="radio"){ + __IriSP.jQuery( "
\n"+ + "
\n"+ + " Nécessite Flash player Veuillez patienter durant le chargement du média \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
 \;
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " "+__IriSP.LdtShareTool+"\n"+ + " \n"+ + "
\n"+ + "
"+ + "
"+ + //"
Mots clefs :
"+ + "
"+ + "
").appendTo("#"+__IriSP.config.gui.container); + } else if(__IriSP.config.gui.mode=="video") { + + __IriSP.jQuery( "
\n"+ + "
\n"+ + " Get flash to see this player \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
 \;
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " "+__IriSP.LdtShareTool+"\n"+ + " \n"+ + "
\n"+ + "
"+ + "
"+ + //"
Mots clefs :
"+ + "
"+ + "
").appendTo("#"+__IriSP.config.gui.container); + + } + + + __IriSP.trace("__IriSP.createHtml","end"); + __IriSP.jQuery("#Ldt-Annotations").width(width-(75*2)); + __IriSP.jQuery("#Ldt-Show-Arrow-container").width(width-(75*2)); + __IriSP.jQuery("#Ldt-ShowAnnotation-audio").width(width-10); + __IriSP.jQuery("#Ldt-ShowAnnotation-video").width(width-10); + __IriSP.jQuery("#Ldt-SaKeyword").width(width-10); + __IriSP.jQuery("#Ldt-controler").width(width-10); + __IriSP.jQuery("#Ldt-Control").attr("z-index","100"); + __IriSP.jQuery("#Ldt-controler").hide(); + + __IriSP.jQuery("
 
Chargement...
").appendTo("#Ldt-ShowAnnotation-audio"); + + if(__IriSP.config.gui.mode=='radio'){ + __IriSP.jQuery("#Ldt-load-container").attr("width",__IriSP.config.gui.width); + } + // Show or not the output + if(__IriSP.config.gui.debug===true){ + __IriSP.jQuery("#Ldt-output").show(); + } else { + __IriSP.jQuery("#Ldt-output").hide(); + } + +}; + +__IriSP.Media = function (id,url,duration,title,description){ + this.id = id; + this.url = url; + this.title = title; + this.description = description; + this.duration = duration; + this.lignes = new Array(); + + __IriSP.trace("__IriSP.Media","Media ID : "+id); + __IriSP.trace("__IriSP.Media","Media URL : "+url); + __IriSP.trace("__IriSP.Media","Media title : "+title); +} +__IriSP.Media.prototype.createPlayerMedia = function (width,height,MyStreamer,MySwfPath){ + __IriSP.MyApiPlayer = new __IriSP.APIplayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); + //createPlayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); +} +__IriSP.Media.prototype.getMediaDuration = function (){ + return (this.duration); +} +__IriSP.Media.prototype.getMediaTitle = function (){ + return (this.title); +} + + + +/* INTERFACE : SLIDER ( CONTROL BAR ) | BUTTON () */ +__IriSP.createInterface = function(width,height,duration){ + + __IriSP.jQuery("#Ldt-controler").show(); + __IriSP.trace("__IriSP.createInterface",width+","+height+","+duration+","); + + __IriSP.jQuery("#Ldt-ShowAnnotation").click(function () { + }); + + var LdtpPlayerY = __IriSP.jQuery("#Ldt-PlaceHolder").attr("top"); + var LdtpPlayerX = __IriSP.jQuery("#Ldt-PlaceHolder").attr("left"); + __IriSP.jQuery("#slider-range-min").slider({ //range: "min", + value: 0, + min: 1, + max: duration/1000,//1:54:52.66 = 3600+3240+ + step: 0.1, + slide: function(event, ui) { + __IriSP.MyApiPlayer.seek(ui.value); + } + }); + __IriSP.trace("__IriSP.createInterface","ICI"); + __IriSP.jQuery("#amount").val(__IriSP.jQuery("#slider-range-min").slider("value")+" s"); + __IriSP.jQuery(".Ldt-Control1 button:first").button({ + icons: { + primary: 'ui-icon-play' + }, + text: false + }).next().button({ + icons: { + primary: 'ui-icon-seek-next' + }, + text: false + }); + __IriSP.jQuery(".Ldt-Control2 button:first").button({ + icons: { + primary: 'ui-icon-transferthick-e-w' + //secondary: 'ui-icon-volume-off' + }, + text: false + }).next().button({ + icons: { + primary: 'ui-icon-volume-on' + }, + text: false + }); + + // /!\ PB A MODIFIER + //__IriSP.MyTags.draw(); + __IriSP.trace("__IriSP.createInterface","ICI2"); + __IriSP.jQuery("#ldt-CtrlPlay").attr("style","background-color:#CD21C24;"); + + __IriSP.jQuery("#Ldt-load-container").hide(); + + if(__IriSP.config.gui.mode=="radio" & __IriSP.jQuery.browser.msie!=true){ + __IriSP.jQuery("#Ldtplayer1").attr("height","0"); + } + __IriSP.trace("__IriSP.createInterface","3"); + + __IriSP.trace("__IriSP.createInterface","END"); + + } + + +/* API player - work in progress ... need refactoring of code */ +__IriSP.APIplayer = function (width,height,url,duration,streamerPath,MySwfPath){ + + + this.player = null; + this.hashchangeUpdate = null; + + this.width = width; + this.height = height; + this.url = url; + this.duration = duration; + this.streamerPath = streamerPath; + this.MySwfPath = MySwfPath; + + __IriSP.MyApiPlayer = this; + + __IriSP.createPlayer(this.url,this.streamerPath); + __IriSP.trace("__IriSP.APIplayer","__IriSP.createPlayer"); + + //__IriSP.config.player + /* + - dailymotion // &enableApi=1&chromeless=1 + - youtube + - html5 + - flowplayer + - jwplayer + */ + +} +__IriSP.APIplayer.prototype.ready = function(player){ + + __IriSP.trace("__IriSP.APIplayer.prototype.APIpReady"," __IriSP.createInterface"); + __IriSP.createInterface(this.width,this.height,this.duration); + __IriSP.trace("__IriSP.APIplayer.prototype.APIpReady","END __IriSP.createInterface"); + + // hashchange EVENT + if (window.addEventListener){ + + // pour FIREFOX hashchange EVENT + window.addEventListener("hashchange", function() { + var url = window.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.trace("__IriSP.APIplayer.prototype.ready",time); + if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ + __IriSP.MyApiPlayer.seek(time); + }else{ + __IriSP.MyApiPlayer.hashchangeUpdate=null; + } + }, false); + + } + else if (window.attachEvent){ + // FOR IE hashchange EVENT + + window.attachEvent("onhashchange", function() { + __IriSP.trace("hashchange",time); + var url = window.location.href; + var time = __IriSP.retrieveTimeFragment(url); + if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ + __IriSP.MyApiPlayer.seek(time); + }else{ + __IriSP.MyApiPlayer.hashchangeUpdate=null; + } + }, false); + } + +} +__IriSP.APIplayer.prototype.pause = function(){ + this.hashchangeUpdate = true; + __IriSP.player.sendEvent('PAUSE'); +} +__IriSP.APIplayer.prototype.play = function(){ + this.hashchangeUpdate = true; + __IriSP.trace("__IriSP.config.player.type",__IriSP.config.player.type); + + if(__IriSP.config.player.type=='jwplayer'){ + __IriSP.trace("jw",status); + __IriSP.player.sendEvent('PLAY'); + + } else if(__IriSP.config.player.type=='dailymotion' || __IriSP.config.player.type=='youtube'){ + __IriSP.trace("youtube",status); + + __IriSP.trace("__IriSP.APIplayer.prototype.play.status",status); + if (status!=1){ __IriSP.player.playVideo(); + }else{__IriSP.player.pauseVideo(); + } + + } else if(__IriSP.config.player.type=='vimeo') { + __IriSP.trace("vimeo",status); + var status = 0; + if (status!=1){__IriSP.player.api_play(); + }else{__IriSP.player.remote(moogaloop, 'api_pause') + } + + + } +} +__IriSP.APIplayer.prototype.mute = function(){ + __IriSP.player.sendEvent('MUTE'); + + //alert(__IriSP.jQuery(".ui-icon-volume-on").css("background-position-x")); + if (__IriSP.jQuery(".ui-icon-volume-on").css("background-position")=="-144px -160px"){ + __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-130px -160px"); + } else { + __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-144px -160px"); + } +} +__IriSP.APIplayer.prototype.share = function(network){ + + var MyMessage = encodeURIComponent("J'écoute Les Retours du Dimanche : "); + var MyURLNow = window.location.href; + var shareURL; + //alert(network+" : "+MyURLNow); + + if(network == "facebook"){ + shareURL = "http://www.facebook.com/share.php?u="; + }else if(network == "twitter"){ + shareURL = "http://twitter.com/home?status="+MyMessage; + }else if(network == "myspace"){ + shareURL ="http://www.myspace.com/Modules/PostTo/Pages/?u="; + }else if(network == "delicious"){ + shareURL = "http://delicious.com/save?url="; + }else if(network == "JameSpot"){ + shareURL = "http://www.jamespot.com/?action=spotit&u="; + //alert(network+" non actif pour l'instant : "+MyURLNow); + } + + window.open(shareURL+encodeURIComponent(MyURLNow)); + //window.location.href = shareURL+encodeURIComponent(MyURLNow); +} +__IriSP.APIplayer.prototype.seek = function (time){ + __IriSP.trace("__IriSP.APIplayer.prototype.seek",time); + if(__IriSP.config.player.type=='jwplayer'){ + __IriSP.player.sendEvent('SEEK', time); + } else if(__IriSP.config.player.type=='dailymotion' + || __IriSP.config.player.type=='youtube') { + __IriSP.player.seekTo(time); + } + this.changePageUrlOffset(time); +} +__IriSP.APIplayer.prototype.update = function (time){ + this.hashchangeUpdate = true; + __IriSP.player.sendEvent('SEEK', time); +} +__IriSP.APIplayer.prototype.changePageUrlOffset = function (time) { + //alert(time); + __IriSP.trace("__IriSP.APIplayer.prototype.changePageUrlOffset","CHANGE URL "+time); + window.location.hash = "#t=" + time; + window.location.href = window.location.href; +} + +/* MEDIA FRAGMENT FUNCTION */ + +__IriSP.jumpToTimeoffset = function (form) { + var time = form.time.value; + __IriSP.MyApiPlayer.changePageUrlOffset(time); +} +__IriSP.retrieveTimeFragment = function (url) { + var pageoffset = 0; + var offsettime = 0; + + if (url.split("#")[1] != null) { + pageoffset = url.split("#")[1]; + if (pageoffset.substring(2) != null) { + offsettime = pageoffset.substring(2); + } + } + return offsettime; +} +__IriSP.ignoreTimeFragment = function(url){ + if (url.split("#")[1] != null) { + var pageurl= url.split("#")[0]; + } + return pageurl; +} + + +/* CODE SPECIAL JW PLAYER creation + listener */ + +__IriSP.currentPosition = 0; +__IriSP.currentVolume = 50; +__IriSP.player = null; +__IriSP.startPosition = null; + + + +__IriSP.createPlayer = function (url,streamerPath) { + + // vimeo + __IriSP.config.player.flashvars.clip_id = __IriSP.config.player.src; + + if(__IriSP.config.player.type =='dailymotion'){ + __IriSP.config.player.src = __IriSP.config.player.src+"&chromeless=1&enableApi=1"; + } else if (__IriSP.config.player.type =='youtube'){ + __IriSP.config.player.src = __IriSP.config.player.src+"&enablejsapi=1&version=3"; + } else if (__IriSP.config.player.type =='vimeo'){ + __IriSP.config.player.src = "http://vimeo.com/moogaloop.swf"; + } + + __IriSP.trace("__IriSP.createPlayer","start"); + + __IriSP.myUrlFragment = url.split(streamerPath); + __IriSP.config.player.flashvars.streamer = streamerPath; + __IriSP.config.player.flashvars.file = __IriSP.myUrlFragment[1]; + + + + var flashvars = __IriSP.config.player.flashvars; + var params = __IriSP.config.player.params; + var attributes = __IriSP.config.player.attributes; + + __IriSP.trace( + "__IriSP.createPlayer", + "SWFOBJECT src:"+ + __IriSP.config.player.src+ + " " +__IriSP.config.gui.width+ + " " +__IriSP.config.gui.height+ + " || src = " +__IriSP.config.player.src + ); + + + swfobject.embedSWF( + __IriSP.config.player.src, + "Ldt-PlaceHolder", + __IriSP.config.gui.width, + __IriSP.config.gui.height, + "9.0.115", + false, + flashvars, + params, + attributes + ); + + // need a methode to + // re execute if this swf call does'nt work +} + + + +/* API DAILYMOTION */ +onDailymotionPlayerReady = function (playerid){ + + //alert(playerid); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.MyApiPlayer.ready(__IriSP.player); + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.startPosition = time; + __IriSP.DailymotionAddListeners(); + + __IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.DailymotionAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + //__IriSP.player.addEventListener("onStateChange", "__IriSP.DailymotionPositionListener"); + setTimeout("__IriSP.DailymotionPositionListener()",100); + __IriSP.DailymotionPositionListener(); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.DailymotionAddListeners()",100); + } +} +__IriSP.DailymotionPositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.DailymotionPositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + /*__IriSP.MyLdt.checkTime(__IriSP.currentPosition); + */ + + setTimeout("__IriSP.DailymotionPositionListener()",10); +} + +/* API YOUTUBE */ +onYouTubePlayerReady= function (playerid){ + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.startPosition = time; + + __IriSP.MyApiPlayer.ready(__IriSP.player); + + __IriSP.MyApiPlayer.seek(time); + __IriSP.MyApiPlayer.play(); + + + __IriSP.YouTubeAddListeners(); + __IriSP.trace("onYouTubePlayerReady=",time); + //__IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.YouTubeAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); + setTimeout("__IriSP.YouTubePositionListener()",100); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); + } +} +__IriSP.YouTubePositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + + setTimeout("__IriSP.YouTubePositionListener()",10); +} +__IriSP.YouTubeStateMonitor = function (obj) { + __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); + //alert(newstate+" "+obj.newstate); + if(newstate == '2') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + + }else if (newstate == '1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } + else if (newstate == '-1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } else if (newstate == '3'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} + +/* API VIMEO */ +onVimeoPlayerReady= function (playerid){ + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.startPosition = time; + + __IriSP.MyApiPlayer.ready(__IriSP.player); + + __IriSP.MyApiPlayer.seek(time); + __IriSP.MyApiPlayer.play(); + + + __IriSP.YouTubeAddListeners(); + __IriSP.trace("onYouTubePlayerReady=",time); + //__IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.VimeoAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); + setTimeout("__IriSP.YouTubePositionListener()",100); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); + } +} +__IriSP.VimeoPositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + + setTimeout("__IriSP.YouTubePositionListener()",10); +} +__IriSP.VimeoStateMonitor = function (obj) { + __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); + //alert(newstate+" "+obj.newstate); + if(newstate == '2') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + + }else if (newstate == '1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } + else if (newstate == '-1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } else if (newstate == '3'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} + +/* API JW PLAYER */ +__IriSP.playerReady = function (thePlayer) { + + __IriSP.trace("__IriSP.playerReady","PLAYER READY !!!!!!!!!!!!"); + __IriSP.trace("__IriSP.playerReady",thePlayer); + if (__IriSP.config.player.type == 'vimeo'){ + __IriSP.player = window.document[thePlayer]; + } else { + __IriSP.player = window.document[thePlayer.id]; + } + // ??? + __IriSP.MyApiPlayer.ready(__IriSP.player); + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + //__IriSP.trace("__IriSP.playerReady"," "+url+" "+time ); + __IriSP.startPosition = time; + //__IriSP.trace("__IriSP.playerReady"," LISTENER LAUCHER"); + __IriSP.addListeners(); + //__IriSP.trace("__IriSP.playerReady"," LISTENER END"); + +} +__IriSP.addListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addModelListener("TIME", "__IriSP.positionListener"); + __IriSP.player.addControllerListener("VOLUME", "__IriSP.volumeListener"); + __IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.addListeners()",100); + } + + // et changer les boutons +} +__IriSP.stateMonitor = function (obj) { + + + if(obj.newstate == 'PAUSED') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + //PaperSlider.attr({x:-100,y:-100}); + __IriSP.jQuery(".ui-icon-play").css("background-position","0px -160px"); + + } else if (obj.newstate == 'PLAYING'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + __IriSP.jQuery(".ui-icon-play").css("background-position","-16px -160px"); + } else if (obj.newstate == 'BUFFERING'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} +__IriSP.positionListener = function(obj) { + //__IriSP.trace("__IriSP.positionListener",obj.position); + __IriSP.currentPosition = obj.position; + //var tmp = document.getElementById("posit"); + //if (tmp) { tmp.innerHTML = "position: " + __IriSP.currentPosition; } + __IriSP.jQuery("#slider-range-min").slider("value", obj.position); + PaperSliderPostion = obj.position/(__IriSP.LDTligne.duration/1000)*__IriSP.config.gui.width; + PaperSlider.attr({x:PaperSliderPostion,y:yMax}); + //PaperSlider.toFront(); + //__IriSP.jQuery("#amount").val(obj.position+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + +} +__IriSP.volumeListener = function (obj) { + __IriSP.currentVolume = obj.percentage; + var tmp = document.getElementById("vol"); + if (tmp) { tmp.innerHTML = "volume: " + __IriSP.currentVolume; } +} + + + + +/* UTIL */ +// code from http://stackoverflow.com/questions/822452/strip-html-from-text-javascript +__IriSP.stripHtml = function(s){ + return s.replace(/\\&/g, '&').replace(/\\/g, '>').replace(/\\t/g, '   ').replace(/\\n/g, '
').replace(/'/g, ''').replace(/"/g, '"'); +} +// conversion de couleur Decimal vers HexaDecimal || 000 si fff +__IriSP.DEC_HEXA_COLOR = function (dec){ + var hexa='0123456789ABCDEF',hex=''; + var tmp; + while (dec>15){ + tmp = dec-(Math.floor(dec/16))*16; + hex = hexa.charAt(tmp)+hex; + dec = Math.floor(dec/16); + } + hex = hexa.charAt(dec)+hex; + //if (hex == "FFCC00"){ hex="";/* by default color of Ldt annotation */ } + return(hex); +} + + +/* +private function colorNbrToHexaStr(c:int):String{ + var s:String = c.toString(16); + var nbZero:uint = 6 - s.length; + for(var i:uint=0;iannotationTempo.begin/1000 && time
"; + //alert(this.color+" : "+DEC_HEXA_COLOR(this.color)); + + + + __IriSP.jQuery(""+__IriSP.jQueryAnnotationTemplate+"
").appendTo("#Ldt-Annotations"); + // TOOLTIP BUG ! + + __IriSP.jQuery("#"+this.id).tooltip({ effect: 'slide'}); + //var thisNode = __IriSP.jQuery(); + //addTip("#"+this.id, __IriSP.stripHtml(titleForDiv),"#000"); + + __IriSP.jQuery("#"+this.id).fadeTo(0,0.3); + __IriSP.jQuery("#"+this.id).mouseover(function() { + __IriSP.jQuery("#"+this.id).animate({opacity: 0.6}, 5) + }).mouseout(function(){ + __IriSP.jQuery("#"+this.id).animate({opacity: 0.3}, 5) + }); + __IriSP.trace("__IriSP.Annotation.prototype.draw","ADD ANOTATION : "+this.begin+" "+this.end+" "+__IriSP.stripHtml(this.title)+" | "+startPourcent+" | "+endPourcent+" | duration = "+this.duration); + +} +__IriSP.Annotation.prototype.drawTags = function(){ + var KeywordPattern = ' '+' '; + + //__IriSP.trace(" !? Tags : ",this.tags); + + if (this.tags!=undefined){ + for (var i = 0; i < this.tags.length; ++i){ + this.htmlTags += ' '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; + } + } +} +__IriSP.Annotation.prototype.tootTipAnnotation = function() { + // 1 chercher le div correspondant + // 2 y mettre les information + return this.color + ' ' + this.type + ' apple'; +} +__IriSP.Annotation.prototype.onRollOverAnnotation = function (){ + //this.tootTip(); +} +__IriSP.Annotation.prototype.timeToPourcent = function(time,timetotal){ + return (parseInt(Math.round(time/timetotal*100))); +} + + +/* CLASS Tags */ + +__IriSP.Tags = function(object){ + this.myTags = object; + this.htmlTags = null; + this.weigthMax = 0; + //this.mySegments = new array(); +} +__IriSP.Tags.prototype.addAnnotation = function (annotation){ + for (var i = 0; i < this.myTags.length; ++i){ + this.myTags[i].mySegments = new Array(); + if (annotation.tags!=null){ + for (var j = 0; j < annotation.tags.length; ++j){ + if (this.myTags[i]['id'] == annotation.tags[j]['id-ref']){ + this.myTags[i].mySegments.push([annotation.begin,annotation.end,annotation.id]); + var weigthTempo = this.myTags[i].mySegments.length + var tempo = this.myTags[i].mySegments[weigthTempo-1]; + //__IriSP.trace ("__IriSP.Tags.prototype.addAnnotation "," "+this.myTags[i]['meta']['dc:title']+" "+this.myTags[i]['id']+" : "+tempo[0]+" - "+tempo[1]); + + if (this.weigthMax < weigthTempo ){ + this.weigthMax = weigthTempo; + } + } + } + } + } +} +__IriSP.Tags.prototype.getTitle = function (id){ + for (var i = 0; i < this.myTags.length; ++i){ + if(this.myTags[i]['id']==id){ + return(this.myTags[i]['meta']['dc:title']); + } + } + +} +__IriSP.Tags.prototype.draw = function (){ + + __IriSP.trace("__IriSP.Tags.prototype.draw"," !!! WELL START " ); + for (var i = 0; i < this.myTags.length; ++i){ + __IriSP.trace("__IriSP.Tags.prototype.draw"," ADD Tags : "+this.myTags[i]['id']); + if(this.myTags[i]['id']!=null){ + this.htmlTags += ' '+this.myTags[i]['meta']['dc:title']+' '+' , '; + } + } + + __IriSP.jQuery('#Ldt-Tags').html(this.htmlTags); + __IriSP.trace("__IriSP.Tags.prototype.draw"," !!!! END WMAX= "+this.weigthMax ); + +} +__IriSP.Tags.prototype.show = function (id){ + + var timeStartOffsetA = 100000000000000000000; + var timeStartOffsetB = 100000000000000000000; + var timeEndOffsetA = 0; + var timeEndOffsetB = 0; + var timeStartID; + var timeEndID; + var WidthPourCent; + var leftPourCent; + var timeStartOffset; + + // case 1 : seul segment + // case 2 : 2 ou X segments + + + for (var i = 0; i < this.myTags.length; ++i){ + if (this.myTags[i]['id']==id){ + __IriSP.trace("######### TAG DRAWing : "," END" ); + + for (var j = 0; j < this.myTags[i].mySegments.length; ++j){ + if(timeStartOffset> this.myTags[i].mySegments[j][0]){ + timeStartOffsetA = this.myTags[i].mySegments[j][0]; + timeStartOffsetB = this.myTags[i].mySegments[j][1]; + timeStartID = this.myTags[i].mySegments[j][2] + } + if(timeStartOffset> this.myTags[i].mySegments[j][0]){ + timeEndOffsetA = this.myTags[i].mySegments[j][0]; + timeEndOffsetB = this.myTags[i].mySegments[j][1]; + timeEndID = this.myTags[i].mySegments[j][2] + } + } + + } + } + + // ------------------------------------------------- + // + // ------------------------------------------------- + + leftPourCent = __IriSP.timeToPourcent((timeStartOffsetA*1+(timeStartOffsetB-timeStartOffsetA)/2),__IriSP.MyLdt.duration); + WidthPourCent = __IriSP.timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),__IriSP.MyLdt.duration)-leftPourCent; + //WidthPourCent = timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),MyLdt.duration)-startPourcent; + __IriSP.jQuery("#Ldt-Show-Tags").css('left',leftPourCent+'%'); + __IriSP.jQuery("#Ldt-Show-Tags").css('width',WidthPourCent+'%'); + // like arrow script + + + +} + + +/* CLASS TRACE */ + +__IriSP.traceNum=0; +__IriSP.trace = function(msg,value){ + + if(__IriSP.config.gui.debug===true){ + __IriSP.traceNum += 1; + __IriSP.jQuery("
"+__IriSP.traceNum+" - "+msg+" : "+value+"
").appendTo("#Ldt-output"); + } + +} + + + + + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/src/js/LdtPlayer.old.js --- a/web/res/metadataplayer/src/js/LdtPlayer.old.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/src/js/LdtPlayer.old.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1425 +1,1425 @@ -/* - * - * Copyright 2010 Institut de recherche et d'innovation - * contributor(s) : Samuel Huron - * - * contact@iri.centrepompidou.fr - * http://www.iri.centrepompidou.fr - * - * This software is a computer program whose purpose is to show and add annotations on a video . - * This software is governed by the CeCILL-C license under French law and - * abiding by the rules of distribution of free software. You can use, - * modify and/ or redistribute the software under the terms of the CeCILL-C - * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * - * The fact that you are presently reading this means that you have had - * knowledge of the CeCILL-C license and that you accept its terms. -*/ - -if(window.__IriSP === undefined ){ var __IriSP={};} - - - // vimeo - /* - - var flashvars = { - clip_id: video_id, - show_portrait: 1, - show_byline: 1, - show_title: 1, - js_api: 1, // required in order to use the Javascript API - js_onLoad: 'vimeo_player_loaded', // moogaloop will call this JS function when it's done loading (optional) - js_swf_id: 'moogaloop' // this will be passed into all event methods so you can keep track of multiple moogaloops (optional) - }; - - var flashvars = { - clip_id: video_id, - show_portrait: 1, - show_byline: 1, - show_title: 1, - - }; - - */ - -// Player Configuration -__IriSP.config = undefined; -__IriSP.configDefault = { - metadata:{ - format:'cinelab', - src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/ef4dcc2e-8d3b-11df-8a24-00145ea4a2be', - load:'jsonp' - }, - gui:{ - width:650, - height:0, - mode:'radio', - container:'LdtPlayer', - debug:false, - css:'../src/css/LdtPlayer.css' - }, - player:{ - type:'jwplayer', - src:'../res/swf/player.swf', - params:{ - allowfullscreen:"true", - allowscriptaccess:"always", - wmode:"transparent" - }, - flashvars:{ - streamer:"streamer", - file:"file", - live:"true", - autostart:"true", - controlbar:"none", - playerready:"__IriSP.playerReady", - // Vimeo - js_api: 1, - js_onLoad:"__IriSP.playerReady", - js_swf_id:"Ldtplayer1", - show_title: 0, - clip_id: "video_id", - show_portrait: 1, - show_byline: 0 - - }, - attributes:{ - id:"Ldtplayer1", - name:"Ldtplayer1" - } - }, - module:null - }; - -__IriSP.lib = { - jQuery:"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", - jQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js", - jQueryToolTip:"http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js", - swfObject:"http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js", - cssjQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" - }; - -// Player Variable -__IriSP.LdtShareTool = ""+ -"\n"+ -"\n "+ -"\n "+ -"\n "; - -// Official instance - to refactor ? -__IriSP.MyLdt = null; -__IriSP.MyTags = null; -__IriSP.MyApiPlayer = null; -__IriSP.player = null; - -// genral var (old code) - to refactor -__IriSP.Durration = null; -__IriSP.playerLdtWidth = null; -__IriSP.playerLdtHeight = null; - - - - - -__IriSP.init = function (config){ - - - if(config === null){ - - __IriSP.config = __IriSP.configDefault; - - } else { - - __IriSP.config = config; - - - - if (__IriSP.config.player.params == null){ - __IriSP.config.player.params = __IriSP.configDefault.player.params;} - - if (__IriSP.config.player.flashvars == null){ - __IriSP.config.player.flashvars = __IriSP.configDefault.player.flashvars;} - if (__IriSP.config.player.attributes == null){ - __IriSP.config.player.attributes = __IriSP.configDefault.player.attributes;} - } - - var metadataSrc = __IriSP.config.metadata.src; - var guiContainer = __IriSP.config.gui.container; - var guiMode = __IriSP.config.gui.mode; - var guiLdtShareTool = __IriSP.LdtShareTool; - // Localize jQuery variable - __IriSP.jQuery = null; - - /******** Load jQuery if not present *********/ - if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') { - var script_tag = document.createElement('script'); - script_tag.setAttribute("type","text/javascript"); - script_tag.setAttribute("src",__IriSP.lib.jQuery); - //"http://cdn.jquerytools.org/1.2.4/full/jquery.tools.min.js"); - script_tag.onload = scriptLibHandler; - script_tag.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLibHandler(); - - } - }; - // Try to find the head, otherwise default to the documentElement - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); - } else { - // The jQuery version on the window is the one we want to use - __IriSP.jQuery = window.jQuery; - scriptLibHandler(); - } - - /******** Called once jQuery has loaded ******/ - function scriptLibHandler() { - - var script_jqUi_tooltip = document.createElement('script'); - script_jqUi_tooltip.setAttribute("type","text/javascript"); - script_jqUi_tooltip.setAttribute("src",__IriSP.lib.jQueryToolTip); - script_jqUi_tooltip.onload = scriptLoadHandler; - script_jqUi_tooltip.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("jquery.tools.min.js loded"); - } - }; - - var script_swfObj = document.createElement('script'); - script_swfObj.setAttribute("type","text/javascript"); - script_swfObj.setAttribute("src",__IriSP.lib.swfObject); - script_swfObj.onload = scriptLoadHandler; - script_swfObj.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("swfobject.js loded"); - } - }; - - var script_jqUi = document.createElement('script'); - script_jqUi.setAttribute("type","text/javascript"); - script_jqUi.setAttribute("src",__IriSP.lib.jQueryUI); - script_jqUi.onload = scriptLoadHandler; - script_jqUi.onreadystatechange = function () { // Same thing but for IE - if (this.readyState == 'complete' || this.readyState == 'loaded') { - scriptLoadHandler("jquery-ui.min.js loded"); - } - }; - - - - - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi_tooltip); - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi); - (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_swfObj); - - - }; - - /******** Called once all lib are loaded ******/ - var loadLib = 0; - function scriptLoadHandler(Mylib) { - //alert(Mylib); - loadLib +=1; - if(loadLib===3){ - main(); - }else { - // __IriSP.jQuery('#'+__IriSP.config.gui.container).html("Loading library ..."); - } - }; - - /******** Our main function ********/ - function main() { - - - // Make __IriSP.jQuery and restore window.jQuery - __IriSP.jQuery = window.jQuery.noConflict(true); - // Call MY Jquery - __IriSP.jQuery(document).ready(function($) { - - /******* Load CSS *******/ - var css_link_jquery = __IriSP.jQuery("", { - rel: "stylesheet", - type: "text/css", - href: __IriSP.lib.cssjQueryUI, - 'class': "dynamic_css" - }); - var css_link_custom = __IriSP.jQuery("", { - rel: "stylesheet", - type: "text/css", - href: __IriSP.config.gui.css, - 'class': "dynamic_css" - }); - - css_link_jquery.appendTo('head'); - css_link_custom.appendTo('head'); - - // to see dynamicly loaded css on IE - if ($.browser.msie) { - $('.dynamic_css').clone().appendTo('head'); - } - - //__IriSP.trace("main","ready createMyHtml"); - - __IriSP.createMyHtml(); - //__IriSP.trace("main","end createMyHtml"); - - /******* Load Metadata *******/ - - __IriSP.jQuery.ajax({ - dataType: __IriSP.config.metadata.load, - url:metadataSrc, - success : function(json){ - - __IriSP.trace("ajax","success"); - - // START PARSING ----------------------- - if(json === ""){ - alert("ERREUR DE CHARGEMENT JSON"); - } else { - - - // # CREATE MEDIA // - // # JUSTE ONE PLAYER FOR THE MOMENT // - //__IriSP.jQuery("
").appendTo("#output"); - var MyMedia = new __IriSP.Media( - json.medias[0].id, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['dc:title'], - json.medias[0]['dc:description']); - - __IriSP.trace("__IriSP.MyApiPlayer", - __IriSP.config.gui.width+" " - + __IriSP.config.gui.height + " " - + json.medias[0].href + " " - + json.medias[0]['meta']['dc:duration'] + " " - + json.medias[0]['meta']['item']['value']); - - // Create APIplayer - __IriSP.MyApiPlayer = new __IriSP.APIplayer( - __IriSP.config.gui.width, - __IriSP.config.gui.height, - json.medias[0].href, - json.medias[0]['meta']['dc:duration'], - json.medias[0]['meta']['item']['value']); - - // # CREATE THE FIRST LINE // - __IriSP.trace("__IriSP.init.main","__IriSP.Ligne"); - __IriSP.MyLdt = new __IriSP.Ligne ( - json['annotation-types'][0].id, - json['annotation-types'][0]['dc:title'], - json['annotation-types'][0]['dc:description'], - json.medias[0]['meta']['dc:duration']); - - // CREATE THE TAG CLOUD // - __IriSP.trace("__IriSP.init.main","__IriSP.Tags"); - __IriSP.MyTags = new __IriSP.Tags (json.tags); - - // CREATE THE ANNOTATIONS // - // JUSTE FOR THE FIRST TYPE // - __IriSP.jQuery.each(json.annotations, function(i,item) { - if (item.meta['id-ref'] == __IriSP.MyLdt.id) { - //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); - __IriSP.MyLdt.addAnnotation( - item.id, - item.begin, - item.end, - item.media, - item.content.title, - item.content.description, - item.content.color, - item.tags); - } - //MyTags.addAnnotation(item); - }); - __IriSP.jQuery.each(json.lists, function(i,item) { - __IriSP.trace("lists",""); - }); - __IriSP.jQuery.each(json.views, function(i,item) { - __IriSP.trace("views",""); - }); - } - // END PARSING ----------------------- // - - - },error : function(data){ - alert("ERROR : "+data); - } - }); - - - }); - } - -}; - - -__IriSP.createMyHtml = function(){ - var width = __IriSP.config.gui.width; - - // AUDIO */ - // PB dans le html : ; - if(__IriSP.config.gui.mode=="radio"){ - __IriSP.jQuery( "
\n"+ - "
\n"+ - " Get flash to see this player \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
 \;
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " "+__IriSP.LdtShareTool+"\n"+ - " \n"+ - "
\n"+ - "
"+ - "
"+ - //"
Mots clefs :
"+ - "
"+ - "
").appendTo("#"+__IriSP.config.gui.container); - } else if(__IriSP.config.gui.mode=="video") { - - __IriSP.jQuery( "
\n"+ - "
\n"+ - " Get flash to see this player \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " \n"+ - "
\n"+ - "
 \;
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - "
\n"+ - " \n"+ - " "+__IriSP.LdtShareTool+"\n"+ - " \n"+ - "
\n"+ - "
"+ - "
"+ - //"
Mots clefs :
"+ - "
"+ - "
").appendTo("#"+__IriSP.config.gui.container); - - } - - - __IriSP.trace("__IriSP.createHtml","end"); - __IriSP.jQuery("#Ldt-Annotations").width(width-(75*2)); - __IriSP.jQuery("#Ldt-Show-Arrow-container").width(width-(75*2)); - __IriSP.jQuery("#Ldt-ShowAnnotation-audio").width(width-10); - __IriSP.jQuery("#Ldt-ShowAnnotation-video").width(width-10); - __IriSP.jQuery("#Ldt-SaKeyword").width(width-10); - __IriSP.jQuery("#Ldt-controler").width(width-10); - __IriSP.jQuery("#Ldt-Control").attr("z-index","100"); - __IriSP.jQuery("#Ldt-controler").hide(); - - __IriSP.jQuery("
 
Chargement...
").appendTo("#Ldt-ShowAnnotation-audio"); - - if(__IriSP.config.gui.mode=='radio'){ - __IriSP.jQuery("#Ldt-load-container").attr("width",__IriSP.config.gui.width); - } - // Show or not the output - if(__IriSP.config.gui.debug===true){ - __IriSP.jQuery("#Ldt-output").show(); - } else { - __IriSP.jQuery("#Ldt-output").hide(); - } - -}; - -__IriSP.Media = function (id,url,duration,title,description){ - this.id = id; - this.url = url; - this.title = title; - this.description = description; - this.duration = duration; - this.lignes = new Array(); - - __IriSP.trace("__IriSP.Media","Media ID : "+id); - __IriSP.trace("__IriSP.Media","Media URL : "+url); - __IriSP.trace("__IriSP.Media","Media title : "+title); -} -__IriSP.Media.prototype.createPlayerMedia = function (width,height,MyStreamer,MySwfPath){ - __IriSP.MyApiPlayer = new __IriSP.APIplayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); - //createPlayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); -} -__IriSP.Media.prototype.getMediaDuration = function (){ - return (this.duration); -} -__IriSP.Media.prototype.getMediaTitle = function (){ - return (this.title); -} - - - -/* INTERFACE : SLIDER ( CONTROL BAR ) | BUTTON () */ -__IriSP.createInterface = function(width,height,duration){ - - __IriSP.jQuery("#Ldt-controler").show(); - //__IriSP.jQuery("#Ldt-Root").css('display','visible'); - __IriSP.trace("__IriSP.createInterface",width+","+height+","+duration+","); - - __IriSP.jQuery("#Ldt-ShowAnnotation").click(function () { - //__IriSP.jQuery(this).slideUp(); - }); - - var LdtpPlayerY = __IriSP.jQuery("#Ldt-PlaceHolder").attr("top"); - var LdtpPlayerX = __IriSP.jQuery("#Ldt-PlaceHolder").attr("left"); - __IriSP.jQuery("#slider-range-min").slider({ //range: "min", - value: 0, - min: 1, - max: duration/1000,//1:54:52.66 = 3600+3240+ - step: 0.1, - slide: function(event, ui) { - - //__IriSP.jQuery("#amount").val(ui.value+" s"); - //player.sendEvent('SEEK', ui.value) - __IriSP.MyApiPlayer.seek(ui.value); - //changePageUrlOffset(ui.value); - //player.sendEvent('PAUSE') - } - }); - __IriSP.trace("__IriSP.createInterface","ICI"); - __IriSP.jQuery("#amount").val(__IriSP.jQuery("#slider-range-min").slider("value")+" s"); - __IriSP.jQuery(".Ldt-Control1 button:first").button({ - icons: { - primary: 'ui-icon-play' - }, - text: false - }).next().button({ - icons: { - primary: 'ui-icon-seek-next' - }, - text: false - }); - __IriSP.jQuery(".Ldt-Control2 button:first").button({ - icons: { - primary: 'ui-icon-transferthick-e-w'//, - //secondary: 'ui-icon-volume-off' - }, - text: false - }).next().button({ - icons: { - primary: 'ui-icon-volume-on' - }, - text: false - }); - - // /!\ PB A MODIFIER - //__IriSP.MyTags.draw(); - __IriSP.trace("__IriSP.createInterface","ICI2"); - __IriSP.jQuery("#ldt-CtrlPlay").attr("style","background-color:#CD21C24;"); - - __IriSP.jQuery("#Ldt-load-container").hide(); - - if(__IriSP.config.gui.mode=="radio" & __IriSP.jQuery.browser.msie!=true){ - __IriSP.jQuery("#Ldtplayer1").attr("height","0"); - } - __IriSP.trace("__IriSP.createInterface","3"); - - __IriSP.trace("__IriSP.createInterface","END"); - - } - - -/* API player - work in progress ... need refactoring of code */ -__IriSP.APIplayer = function (width,height,url,duration,streamerPath,MySwfPath){ - - - this.player = null; - this.hashchangeUpdate = null; - - this.width = width; - this.height = height; - this.url = url; - this.duration = duration; - this.streamerPath = streamerPath; - this.MySwfPath = MySwfPath; - - __IriSP.MyApiPlayer = this; - - __IriSP.createPlayer(this.url,this.streamerPath); - __IriSP.trace("__IriSP.APIplayer","__IriSP.createPlayer"); - - //__IriSP.config.player - /* - - dailymotion // &enableApi=1&chromeless=1 - - youtube - - html5 - - flowplayer - - jwplayer - */ - -} -__IriSP.APIplayer.prototype.ready = function(player){ - - //__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady"," __IriSP.createInterface"); - __IriSP.createInterface(this.width,this.height,this.duration); - //__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady","END __IriSP.createInterface"); - - // hashchange EVENT - if (window.addEventListener){ - - // pour FIREFOX hashchange EVENT - window.addEventListener("hashchange", function() { - var url = window.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.trace("__IriSP.APIplayer.prototype.ready",time); - if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ - __IriSP.MyApiPlayer.seek(time); - }else{ - __IriSP.MyApiPlayer.hashchangeUpdate=null; - } - }, false); - - } - else if (window.attachEvent){ - // FOR IE hashchange EVENT - - window.attachEvent("onhashchange", function() { - __IriSP.trace("hashchange",time); - var url = window.location.href; - var time = __IriSP.retrieveTimeFragment(url); - if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ - __IriSP.MyApiPlayer.seek(time); - }else{ - __IriSP.MyApiPlayer.hashchangeUpdate=null; - } - }, false); - } - -} -__IriSP.APIplayer.prototype.pause = function(){ - this.hashchangeUpdate = true; - __IriSP.player.sendEvent('PAUSE'); -} -__IriSP.APIplayer.prototype.play = function(){ - this.hashchangeUpdate = true; - //__IriSP.trace("__IriSP.config.player.type",__IriSP.config.player.type); - if(__IriSP.config.player.type=='jwplayer'){ - - __IriSP.player.sendEvent('PLAY'); - - } else if(__IriSP.config.player.type=='dailymotion' - || __IriSP.config.player.type=='youtube' - || __IriSP.config.player.type=='vimeo') { - - var status = __IriSP.player.getPlayerState(); - __IriSP.trace("__IriSP.APIplayer.prototype.play.status",status); - - if (status!=1){ - __IriSP.player.playVideo(); - //} else if(__IriSP.config.player.type=='vimeo' ){ - }else{ - __IriSP.player.pauseVideo(); - } - - } -} -__IriSP.APIplayer.prototype.mute = function(){ - __IriSP.player.sendEvent('MUTE'); - - //alert(__IriSP.jQuery(".ui-icon-volume-on").css("background-position-x")); - if (__IriSP.jQuery(".ui-icon-volume-on").css("background-position")=="-144px -160px"){ - __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-130px -160px"); - } else { - __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-144px -160px"); - } -} -__IriSP.APIplayer.prototype.share = function(network){ - - var MyMessage = encodeURIComponent("J'écoute Les Retours du Dimanche : "); - var MyURLNow = window.location.href; - var shareURL; - //alert(network+" : "+MyURLNow); - - if(network == "facebook"){ - shareURL = "http://www.facebook.com/share.php?u="; - }else if(network == "twitter"){ - shareURL = "http://twitter.com/home?status="+MyMessage; - }else if(network == "myspace"){ - shareURL ="http://www.myspace.com/Modules/PostTo/Pages/?u="; - }else if(network == "delicious"){ - shareURL = "http://delicious.com/save?url="; - }else if(network == "JameSpot"){ - shareURL = "http://www.jamespot.com/?action=spotit&u="; - //alert(network+" non actif pour l'instant : "+MyURLNow); - } - - window.open(shareURL+encodeURIComponent(MyURLNow)); - //window.location.href = shareURL+encodeURIComponent(MyURLNow); -} -__IriSP.APIplayer.prototype.seek = function (time){ - __IriSP.trace("__IriSP.APIplayer.prototype.seek",time); - if(__IriSP.config.player.type=='jwplayer'){ - __IriSP.player.sendEvent('SEEK', time); - } else if(__IriSP.config.player.type=='dailymotion' - || __IriSP.config.player.type=='youtube') { - __IriSP.player.seekTo(time); - } - this.changePageUrlOffset(time); -} -__IriSP.APIplayer.prototype.update = function (time){ - this.hashchangeUpdate = true; - __IriSP.player.sendEvent('SEEK', time); -} -__IriSP.APIplayer.prototype.changePageUrlOffset = function (time) { - //alert(time); - __IriSP.trace("__IriSP.APIplayer.prototype.changePageUrlOffset","CHANGE URL "+time); - window.location.hash = "#t=" + time; - window.location.href = window.location.href; -} - -/* MEDIA FRAGMENT FUNCTION */ - -__IriSP.jumpToTimeoffset = function (form) { - var time = form.time.value; - __IriSP.MyApiPlayer.changePageUrlOffset(time); -} -__IriSP.retrieveTimeFragment = function (url) { - var pageoffset = 0; - var offsettime = 0; - - if (url.split("#")[1] != null) { - pageoffset = url.split("#")[1]; - if (pageoffset.substring(2) != null) { - offsettime = pageoffset.substring(2); - } - } - return offsettime; -} -__IriSP.ignoreTimeFragment = function(url){ - if (url.split("#")[1] != null) { - var pageurl= url.split("#")[0]; - } - return pageurl; -} - - -/* CODE SPECIAL JW PLAYER creation + listener */ - -__IriSP.currentPosition = 0; -__IriSP.currentVolume = 50; -__IriSP.player = null; -__IriSP.startPosition = null; - - - -__IriSP.createPlayer = function (url,streamerPath) { - - // vimeo - __IriSP.config.player.flashvars.clip_id = __IriSP.config.player.src; - - if(__IriSP.config.player.type=='dailymotion'){ - __IriSP.config.player.src = __IriSP.config.player.src+"&chromeless=1&enableApi=1"; - } else if (__IriSP.config.player.type=='youtube'){ - __IriSP.config.player.src = __IriSP.config.player.src+"&enablejsapi=1&version=3"; - } else if (__IriSP.config.player.type=='vimeo'){ - __IriSP.config.player.src = "http://vimeo.com/moogaloop.swf"; - } - - __IriSP.trace("__IriSP.createPlayer","start"); - - __IriSP.myUrlFragment = url.split(streamerPath); - __IriSP.config.player.flashvars.streamer = streamerPath; - __IriSP.config.player.flashvars.file = __IriSP.myUrlFragment[1]; - - - - var flashvars = __IriSP.config.player.flashvars; - var params = __IriSP.config.player.params; - var attributes = __IriSP.config.player.attributes; - - __IriSP.trace( - "__IriSP.createPlayer", - "SWFOBJECT src:"+ - __IriSP.config.player.src+ - " " +__IriSP.config.gui.width+ - " " +__IriSP.config.gui.height+ - " || src = " +__IriSP.config.player.src - ); - - - swfobject.embedSWF( - __IriSP.config.player.src, - "Ldt-PlaceHolder", - __IriSP.config.gui.width, - __IriSP.config.gui.height, - "9.0.115", - false, - flashvars, - params, - attributes - ); - - // need a methode to - // re execute if this swf call does'nt work -} - -/* HOOK system for player API */ -/* Name of hooked function - - PlayerReady - - PlayerAddListeners - - PlayerPositionListener - - PlayerPositionListenerAction - -// */ -__IriSP.Hook = { - hooks: [], - - register: function ( name, callback ) { - if( 'undefined' == typeof( Hook.hooks[name] ) ) - Hook.hooks[name] = [] - Hook.hooks[name].push( callback ) - }, - - call: function ( name, arguments ) { - if( 'undefined' != typeof( Hook.hooks[name] ) ) - for( i = 0; i < Hook.hooks[name].length; ++i ) - if( true != Hook.hooks[name][i]( arguments ) ) { break; } - } -} - -/* API DAILYMOTION */ -onDailymotionPlayerReady = function (playerid){ - - //alert(playerid); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.MyApiPlayer.ready(__IriSP.player); - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.startPosition = time; - __IriSP.DailymotionAddListeners(); - - __IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.DailymotionAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - //__IriSP.player.addEventListener("onStateChange", "__IriSP.DailymotionPositionListener"); - setTimeout("__IriSP.DailymotionPositionListener()",100); - __IriSP.DailymotionPositionListener(); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.DailymotionAddListeners()",100); - } -} -__IriSP.DailymotionPositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.DailymotionPositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - /*__IriSP.MyLdt.checkTime(__IriSP.currentPosition); - */ - - setTimeout("__IriSP.DailymotionPositionListener()",10); -} - -/* API YOUTUBE */ -onYouTubePlayerReady= function (playerid){ - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.startPosition = time; - - __IriSP.MyApiPlayer.ready(__IriSP.player); - - __IriSP.MyApiPlayer.seek(time); - __IriSP.MyApiPlayer.play(); - - - __IriSP.YouTubeAddListeners(); - __IriSP.trace("onYouTubePlayerReady=",time); - //__IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.YouTubeAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); - setTimeout("__IriSP.YouTubePositionListener()",100); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); - } -} -__IriSP.YouTubePositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - - setTimeout("__IriSP.YouTubePositionListener()",10); -} -__IriSP.YouTubeStateMonitor = function (obj) { - __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); - //alert(newstate+" "+obj.newstate); - if(newstate == '2') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - - }else if (newstate == '1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } - else if (newstate == '-1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } else if (newstate == '3'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} - - -/* API VIMEO */ -onVimeoPlayerReady= function (playerid){ - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); - __IriSP.startPosition = time; - - __IriSP.MyApiPlayer.ready(__IriSP.player); - - __IriSP.MyApiPlayer.seek(time); - __IriSP.MyApiPlayer.play(); - - - __IriSP.YouTubeAddListeners(); - __IriSP.trace("onYouTubePlayerReady=",time); - //__IriSP.MyApiPlayer.ready(playerid); -} -__IriSP.VimeoAddListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); - setTimeout("__IriSP.YouTubePositionListener()",100); - __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); - //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); - } -} -__IriSP.VimeoPositionListener = function() { - - __IriSP.currentPosition = __IriSP.player.getCurrentTime(); - //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); - //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); - - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); - __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - - setTimeout("__IriSP.YouTubePositionListener()",10); -} -__IriSP.VimeoStateMonitor = function (obj) { - __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); - //alert(newstate+" "+obj.newstate); - if(newstate == '2') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - - }else if (newstate == '1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } - else if (newstate == '-1'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - } else if (newstate == '3'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} - - -/* API JW PLAYER */ -__IriSP.playerReady = function (thePlayer) { - - //__IriSP.trace("__IriSP.playerReady","PLAYER READY !!!!!!!!!!!!"); - __IriSP.player = window.document[thePlayer.id]; - //__IriSP.trace("__IriSP.playerReady","API CALL "+__IriSP.player); - __IriSP.MyApiPlayer.ready(__IriSP.player); - //__IriSP.trace("__IriSP.playerReady","API CALL END "); - - var url = document.location.href; - var time = __IriSP.retrieveTimeFragment(url); - //__IriSP.trace("__IriSP.playerReady"," "+url+" "+time ); - __IriSP.startPosition = time; - //__IriSP.trace("__IriSP.playerReady"," LISTENER LAUCHER"); - __IriSP.addListeners(); - //__IriSP.trace("__IriSP.playerReady"," LISTENER END"); - -} -__IriSP.addListeners = function () { - if (__IriSP.player) { - __IriSP.trace("__IriSP.addListeners","ADD Listener "); - __IriSP.player.addModelListener("TIME", "__IriSP.positionListener"); - __IriSP.player.addControllerListener("VOLUME", "__IriSP.volumeListener"); - __IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); - } else { - __IriSP.setTimeout("__IriSP.addListeners()",100); - } - - // et changer les boutons -} -__IriSP.stateMonitor = function (obj) { - - - - if(obj.newstate == 'PAUSED') - { - __IriSP.trace("__IriSP.stateMonitor","PAUSE"); - __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); - __IriSP.jQuery(".ui-icon-play").css("background-position","0px -160px"); - - } else if (obj.newstate == 'PLAYING'){ - // une fois la video prete a lire la déplacer au bon timecode - if(__IriSP.startPosition!=null){ - __IriSP.MyApiPlayer.update(__IriSP.startPosition); - __IriSP.startPosition = null; - } - __IriSP.jQuery(".ui-icon-play").css("background-position","-16px -160px"); - } else if (obj.newstate == 'BUFFERING'){ - __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); - //changePageUrlOffset(currentPosition); - } - -} -__IriSP.positionListener = function(obj) { - //__IriSP.trace("__IriSP.positionListener",obj.position); - __IriSP.currentPosition = obj.position; - var tmp = document.getElementById("posit"); - if (tmp) { tmp.innerHTML = "position: " + __IriSP.currentPosition; } - __IriSP.jQuery("#slider-range-min").slider("value", obj.position); - __IriSP.jQuery("#amount").val(obj.position+" s"); - // afficher annotation - __IriSP.MyLdt.checkTime(__IriSP.currentPosition); - - -} -__IriSP.volumeListener = function (obj) { - __IriSP.currentVolume = obj.percentage; - var tmp = document.getElementById("vol"); - if (tmp) { tmp.innerHTML = "volume: " + __IriSP.currentVolume; } -} - - - - -/* UTIL */ -// code from http://stackoverflow.com/questions/822452/strip-html-from-text-javascript -__IriSP.stripHtml = function(s){ - return s.replace(/\\&/g, '&').replace(/\\/g, '>').replace(/\\t/g, '   ').replace(/\\n/g, '
').replace(/'/g, ''').replace(/"/g, '"'); -} -// conversion de couleur Decimal vers HexaDecimal || 000 si fff -__IriSP.DEC_HEXA_COLOR = function (dec){ - var hexa='0123456789ABCDEF',hex=''; - var tmp; - while (dec>15){ - tmp = dec-(Math.floor(dec/16))*16; - hex = hexa.charAt(tmp)+hex; - dec = Math.floor(dec/16); - } - hex = hexa.charAt(dec)+hex; - if (hex == "FFCC00"){ hex="";/* by default color of Ldt annotation */ } - return(hex); -} - - - -/* CLASS Ligne (annotationType) */ - -__IriSP.LDTligne = null; -__IriSP.Ligne = function (id,title,description,duration){ - this.id = id; - this.title = title; - this.description = description; - // - this.annotations = new Array(); - this.duration = duration; - this.annotationOldRead=""; - __IriSP.LDTligne = this; - __IriSP.trace("__IriSP.Ligne","CREATE "+__IriSP.LDTligne); -} -__IriSP.Ligne.prototype.addAnnotation = function (id,begin,end,media,title,description,color,tags){ - var myAnnotation = new __IriSP.Annotation(id,begin,end,media,title,description,color,tags,this.duration); - this.annotations.push(myAnnotation); - //__IriSP.trace("__IriSP.Ligne.prototype.addAnnotation ","add annotation "+title); -} -__IriSP.Ligne.prototype.onClickLigneAnnotation = function(id){ - //changePageUrlOffset(currentPosition); - //player.sendEvent('SEEK', this.start); - //__IriSP.trace("SEEK",this.start); -} -__IriSP.Ligne.prototype.searchLigneAnnotation = function(id){ - /*for (){ - }*/ -} -__IriSP.Ligne.prototype.listAnnotations = function(){ - -} -__IriSP.Ligne.prototype.nextAnnotation = function (){ - var annotationCibleNumber = this.numAnnotation(this.annotationOldRead)+1; - var annotationCible = this.annotations[annotationCibleNumber]; - - if(annotationCibleNumberannotationTempo.begin/1000 && time 1.4 - //__IriSP.jQuery("#Ldt-SaTitle").delay(100).text(annotationTempo.title); - //__IriSP.jQuery("#Ldt-SaDescription").delay(100).text(annotationTempo.description); - //__IriSP.jQuery('#Ldt-ShowAnnotation').delay(100).slideDown(); - //__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotationTempo.title+" "+annotationTempo.description ); - __IriSP.jQuery("#Ldt-SaTitle").text(annotationTempo.title); - __IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description); - __IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags); - - //__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown(); - var startPourcent = annotationTempo.timeToPourcent((annotationTempo.begin*1+(annotationTempo.end*1-annotationTempo.begin*1)/2),annotationTempo.duration*1); - __IriSP.jQuery("#Ldt-Show-Arrow").animate({left:startPourcent+'%'},1000); - __IriSP.jQuery("#"+annotationTempo.id).animate({alpha:'100%'},1000); - //alert(startPourcent); - var tempolinkurl = __IriSP.ignoreTimeFragment(window.location.href)+"#t="+(this.annotations[i].begin/1000); - } - break; - }else{ - annotationTempo=-1; - } - - } - // si il y en a pas : retractation du volet - if( annotationTempo == -1){ - if(annotationTempo!=this.annotationOldRead){ - __IriSP.trace("Check : ","pas d'annotation ici "); - __IriSP.jQuery("#Ldt-SaTitle").text(""); - __IriSP.jQuery("#Ldt-SaDescription").text(""); - __IriSP.jQuery("#Ldt-SaKeywordText").html(""); - __IriSP.jQuery('#Ldt-ShowAnnotation').slideUp(); - if(this.annotationOldRead){ - __IriSP.jQuery("#"+this.annotationOldRead.id).animate({alpha:'70%'},1000); - } - //__IriSP.jQuery("#Ldt-Show-Arrow").animate({left:'0%'},1000); - this.annotationOldRead = annotationTempo; - } - } - __IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotationTempo); -} - - -/* CLASS Annotation */ - -__IriSP.Annotation = function (){ - var id = null; - var begin = null; - var end = null; - var media = null; - var description = null; - var title = null; - var color = null; - var tags = null; - __IriSP.trace("annotation ","russi") -} -__IriSP.Annotation = function(id,begin,end,media,title,description,color,tags,duration){ - this.id = id; - this.begin = begin; - this.end = end; - this.media = media; - this.description = description; - this.title = title; - this.color = color; - this.tags = tags; - this.htmlTags = ""; - this.duration = duration; - // draw it - this.draw(); - this.drawTags(); - // - __IriSP.trace("Annotation created : ",id); -} -__IriSP.Annotation.prototype.draw = function(){ - //alert (this.duration); - var startPourcent = this.timeToPourcent(this.begin,this.duration); // temps du media - var endPourcent = this.timeToPourcent(this.end,this.duration)-startPourcent; - var titleForDiv = this.title.substr(0,55); - - __IriSP.jQueryAnnotationTemplate = "
"; - //alert(this.color+" : "+DEC_HEXA_COLOR(this.color)); - - __IriSP.jQuerytoolTipTemplate = "
" - +"
"+__IriSP.stripHtml(this.title)+"
" - +"
"+this.begin+" : "+this.end+"
" - +"
"+__IriSP.stripHtml(this.description)+"
" - +"
"; - - - __IriSP.jQuery("
"+__IriSP.jQueryAnnotationTemplate+"
").appendTo("#Ldt-Annotations"); - // TOOLTIP BUG ! - - __IriSP.jQuery("#"+this.id).tooltip({ effect: 'slide'}); - - - __IriSP.jQuery("#"+this.id).fadeTo(0,0.3); - __IriSP.jQuery("#"+this.id).mouseover(function() { - __IriSP.jQuery("#"+this.id).animate({opacity: 0.6}, 5) - }).mouseout(function(){ - __IriSP.jQuery("#"+this.id).animate({opacity: 0.3}, 5) - }); - __IriSP.trace("__IriSP.Annotation.prototype.draw","ADD ANOTATION : "+this.begin+" "+this.end+" "+__IriSP.stripHtml(this.title)+" | "+startPourcent+" | "+endPourcent+" | duration = "+this.duration); - -} -__IriSP.Annotation.prototype.drawTags = function(){ - var KeywordPattern = ' '+' '; - - //__IriSP.trace(" !? Tags : ",this.tags); - - if (this.tags!=undefined){ - for (var i = 0; i < this.tags.length; ++i){ - - //this.htmlTags += ' '+MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; - this.htmlTags += ' '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; - - } - } -} -__IriSP.Annotation.prototype.tootTipAnnotation = function() { - // 1 chercher le div correspondant - // 2 y mettre les information - return this.color + ' ' + this.type + ' apple'; -} -__IriSP.Annotation.prototype.onRollOverAnnotation = function (){ - this.tootTip(); -} -__IriSP.Annotation.prototype.timeToPourcent = function(time,timetotal){ - return (parseInt(Math.round(time/timetotal*100))); -} - - -/* CLASS Tags */ - -__IriSP.Tags = function(object){ - this.myTags = object; - this.htmlTags = null; - this.weigthMax = 0; - //this.mySegments = new array(); -} -__IriSP.Tags.prototype.addAnnotation = function (annotation){ - for (var i = 0; i < this.myTags.length; ++i){ - this.myTags[i].mySegments = new Array(); - if (annotation.tags!=null){ - for (var j = 0; j < annotation.tags.length; ++j){ - if (this.myTags[i]['id'] == annotation.tags[j]['id-ref']){ - this.myTags[i].mySegments.push([annotation.begin,annotation.end,annotation.id]); - var weigthTempo = this.myTags[i].mySegments.length - var tempo = this.myTags[i].mySegments[weigthTempo-1]; - //__IriSP.trace ("__IriSP.Tags.prototype.addAnnotation "," "+this.myTags[i]['meta']['dc:title']+" "+this.myTags[i]['id']+" : "+tempo[0]+" - "+tempo[1]); - - if (this.weigthMax < weigthTempo ){ - this.weigthMax = weigthTempo; - } - } - } - } - } -} -__IriSP.Tags.prototype.getTitle = function (id){ - for (var i = 0; i < this.myTags.length; ++i){ - if(this.myTags[i]['id']==id){ - return(this.myTags[i]['meta']['dc:title']); - } - } - -} -__IriSP.Tags.prototype.draw = function (){ - - __IriSP.trace("__IriSP.Tags.prototype.draw"," !!! WELL START " ); - for (var i = 0; i < this.myTags.length; ++i){ - __IriSP.trace("__IriSP.Tags.prototype.draw"," ADD Tags : "+this.myTags[i]['id']); - if(this.myTags[i]['id']!=null){ - this.htmlTags += ' '+this.myTags[i]['meta']['dc:title']+' '+' , '; - } - } - - __IriSP.jQuery('#Ldt-Tags').html(this.htmlTags); - __IriSP.trace("__IriSP.Tags.prototype.draw"," !!!! END WMAX= "+this.weigthMax ); - -} -__IriSP.Tags.prototype.show = function (id){ - - var timeStartOffsetA = 100000000000000000000; - var timeStartOffsetB = 100000000000000000000; - var timeEndOffsetA = 0; - var timeEndOffsetB = 0; - var timeStartID; - var timeEndID; - var WidthPourCent; - var leftPourCent; - var timeStartOffset; - - // case 1 : seul segment - // case 2 : 2 ou X segments - - - for (var i = 0; i < this.myTags.length; ++i){ - if (this.myTags[i]['id']==id){ - __IriSP.trace("######### TAG DRAWing : "," END" ); - - for (var j = 0; j < this.myTags[i].mySegments.length; ++j){ - if(timeStartOffset> this.myTags[i].mySegments[j][0]){ - timeStartOffsetA = this.myTags[i].mySegments[j][0]; - timeStartOffsetB = this.myTags[i].mySegments[j][1]; - timeStartID = this.myTags[i].mySegments[j][2] - } - if(timeStartOffset> this.myTags[i].mySegments[j][0]){ - timeEndOffsetA = this.myTags[i].mySegments[j][0]; - timeEndOffsetB = this.myTags[i].mySegments[j][1]; - timeEndID = this.myTags[i].mySegments[j][2] - } - } - - } - } - - // ------------------------------------------------- - // - // ------------------------------------------------- - - leftPourCent = __IriSP.timeToPourcent((timeStartOffsetA*1+(timeStartOffsetB-timeStartOffsetA)/2),__IriSP.MyLdt.duration); - WidthPourCent = __IriSP.timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),__IriSP.MyLdt.duration)-leftPourCent; - //WidthPourCent = timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),MyLdt.duration)-startPourcent; - __IriSP.jQuery("#Ldt-Show-Tags").css('left',leftPourCent+'%'); - __IriSP.jQuery("#Ldt-Show-Tags").css('width',WidthPourCent+'%'); - // like arrow script - - - -} - - -/* CLASS TRACE */ - -__IriSP.traceNum=0; -__IriSP.trace = function(msg,value){ - - if(__IriSP.config.gui.debug===true){ - __IriSP.traceNum += 1; - __IriSP.jQuery("
"+__IriSP.traceNum+" - "+msg+" : "+value+"
").appendTo("#Ldt-output"); - } - -} - - - - - +/* + * + * Copyright 2010 Institut de recherche et d'innovation + * contributor(s) : Samuel Huron + * + * contact@iri.centrepompidou.fr + * http://www.iri.centrepompidou.fr + * + * This software is a computer program whose purpose is to show and add annotations on a video . + * This software is governed by the CeCILL-C license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL-C + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL-C license and that you accept its terms. +*/ + +if(window.__IriSP === undefined ){ var __IriSP={};} + + + // vimeo + /* + + var flashvars = { + clip_id: video_id, + show_portrait: 1, + show_byline: 1, + show_title: 1, + js_api: 1, // required in order to use the Javascript API + js_onLoad: 'vimeo_player_loaded', // moogaloop will call this JS function when it's done loading (optional) + js_swf_id: 'moogaloop' // this will be passed into all event methods so you can keep track of multiple moogaloops (optional) + }; + + var flashvars = { + clip_id: video_id, + show_portrait: 1, + show_byline: 1, + show_title: 1, + + }; + + */ + +// Player Configuration +__IriSP.config = undefined; +__IriSP.configDefault = { + metadata:{ + format:'cinelab', + src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/ef4dcc2e-8d3b-11df-8a24-00145ea4a2be', + load:'jsonp' + }, + gui:{ + width:650, + height:0, + mode:'radio', + container:'LdtPlayer', + debug:false, + css:'../src/css/LdtPlayer.css' + }, + player:{ + type:'jwplayer', + src:'../res/swf/player.swf', + params:{ + allowfullscreen:"true", + allowscriptaccess:"always", + wmode:"transparent" + }, + flashvars:{ + streamer:"streamer", + file:"file", + live:"true", + autostart:"true", + controlbar:"none", + playerready:"__IriSP.playerReady", + // Vimeo + js_api: 1, + js_onLoad:"__IriSP.playerReady", + js_swf_id:"Ldtplayer1", + show_title: 0, + clip_id: "video_id", + show_portrait: 1, + show_byline: 0 + + }, + attributes:{ + id:"Ldtplayer1", + name:"Ldtplayer1" + } + }, + module:null + }; + +__IriSP.lib = { + jQuery:"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", + jQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js", + jQueryToolTip:"http://cdn.jquerytools.org/1.2.4/all/jquery.tools.min.js", + swfObject:"http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js", + cssjQueryUI:"http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/base/jquery-ui.css" + }; + +// Player Variable +__IriSP.LdtShareTool = ""+ +"\n"+ +"\n "+ +"\n "+ +"\n "; + +// Official instance - to refactor ? +__IriSP.MyLdt = null; +__IriSP.MyTags = null; +__IriSP.MyApiPlayer = null; +__IriSP.player = null; + +// genral var (old code) - to refactor +__IriSP.Durration = null; +__IriSP.playerLdtWidth = null; +__IriSP.playerLdtHeight = null; + + + + + +__IriSP.init = function (config){ + + + if(config === null){ + + __IriSP.config = __IriSP.configDefault; + + } else { + + __IriSP.config = config; + + + + if (__IriSP.config.player.params == null){ + __IriSP.config.player.params = __IriSP.configDefault.player.params;} + + if (__IriSP.config.player.flashvars == null){ + __IriSP.config.player.flashvars = __IriSP.configDefault.player.flashvars;} + if (__IriSP.config.player.attributes == null){ + __IriSP.config.player.attributes = __IriSP.configDefault.player.attributes;} + } + + var metadataSrc = __IriSP.config.metadata.src; + var guiContainer = __IriSP.config.gui.container; + var guiMode = __IriSP.config.gui.mode; + var guiLdtShareTool = __IriSP.LdtShareTool; + // Localize jQuery variable + __IriSP.jQuery = null; + + /******** Load jQuery if not present *********/ + if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') { + var script_tag = document.createElement('script'); + script_tag.setAttribute("type","text/javascript"); + script_tag.setAttribute("src",__IriSP.lib.jQuery); + //"http://cdn.jquerytools.org/1.2.4/full/jquery.tools.min.js"); + script_tag.onload = scriptLibHandler; + script_tag.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLibHandler(); + + } + }; + // Try to find the head, otherwise default to the documentElement + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag); + } else { + // The jQuery version on the window is the one we want to use + __IriSP.jQuery = window.jQuery; + scriptLibHandler(); + } + + /******** Called once jQuery has loaded ******/ + function scriptLibHandler() { + + var script_jqUi_tooltip = document.createElement('script'); + script_jqUi_tooltip.setAttribute("type","text/javascript"); + script_jqUi_tooltip.setAttribute("src",__IriSP.lib.jQueryToolTip); + script_jqUi_tooltip.onload = scriptLoadHandler; + script_jqUi_tooltip.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("jquery.tools.min.js loded"); + } + }; + + var script_swfObj = document.createElement('script'); + script_swfObj.setAttribute("type","text/javascript"); + script_swfObj.setAttribute("src",__IriSP.lib.swfObject); + script_swfObj.onload = scriptLoadHandler; + script_swfObj.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("swfobject.js loded"); + } + }; + + var script_jqUi = document.createElement('script'); + script_jqUi.setAttribute("type","text/javascript"); + script_jqUi.setAttribute("src",__IriSP.lib.jQueryUI); + script_jqUi.onload = scriptLoadHandler; + script_jqUi.onreadystatechange = function () { // Same thing but for IE + if (this.readyState == 'complete' || this.readyState == 'loaded') { + scriptLoadHandler("jquery-ui.min.js loded"); + } + }; + + + + + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi_tooltip); + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_jqUi); + (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_swfObj); + + + }; + + /******** Called once all lib are loaded ******/ + var loadLib = 0; + function scriptLoadHandler(Mylib) { + //alert(Mylib); + loadLib +=1; + if(loadLib===3){ + main(); + }else { + // __IriSP.jQuery('#'+__IriSP.config.gui.container).html("Loading library ..."); + } + }; + + /******** Our main function ********/ + function main() { + + + // Make __IriSP.jQuery and restore window.jQuery + __IriSP.jQuery = window.jQuery.noConflict(true); + // Call MY Jquery + __IriSP.jQuery(document).ready(function($) { + + /******* Load CSS *******/ + var css_link_jquery = __IriSP.jQuery("", { + rel: "stylesheet", + type: "text/css", + href: __IriSP.lib.cssjQueryUI, + 'class': "dynamic_css" + }); + var css_link_custom = __IriSP.jQuery("", { + rel: "stylesheet", + type: "text/css", + href: __IriSP.config.gui.css, + 'class': "dynamic_css" + }); + + css_link_jquery.appendTo('head'); + css_link_custom.appendTo('head'); + + // to see dynamicly loaded css on IE + if ($.browser.msie) { + $('.dynamic_css').clone().appendTo('head'); + } + + //__IriSP.trace("main","ready createMyHtml"); + + __IriSP.createMyHtml(); + //__IriSP.trace("main","end createMyHtml"); + + /******* Load Metadata *******/ + + __IriSP.jQuery.ajax({ + dataType: __IriSP.config.metadata.load, + url:metadataSrc, + success : function(json){ + + __IriSP.trace("ajax","success"); + + // START PARSING ----------------------- + if(json === ""){ + alert("ERREUR DE CHARGEMENT JSON"); + } else { + + + // # CREATE MEDIA // + // # JUSTE ONE PLAYER FOR THE MOMENT // + //__IriSP.jQuery("
").appendTo("#output"); + var MyMedia = new __IriSP.Media( + json.medias[0].id, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['dc:title'], + json.medias[0]['dc:description']); + + __IriSP.trace("__IriSP.MyApiPlayer", + __IriSP.config.gui.width+" " + + __IriSP.config.gui.height + " " + + json.medias[0].href + " " + + json.medias[0]['meta']['dc:duration'] + " " + + json.medias[0]['meta']['item']['value']); + + // Create APIplayer + __IriSP.MyApiPlayer = new __IriSP.APIplayer( + __IriSP.config.gui.width, + __IriSP.config.gui.height, + json.medias[0].href, + json.medias[0]['meta']['dc:duration'], + json.medias[0]['meta']['item']['value']); + + // # CREATE THE FIRST LINE // + __IriSP.trace("__IriSP.init.main","__IriSP.Ligne"); + __IriSP.MyLdt = new __IriSP.Ligne ( + json['annotation-types'][0].id, + json['annotation-types'][0]['dc:title'], + json['annotation-types'][0]['dc:description'], + json.medias[0]['meta']['dc:duration']); + + // CREATE THE TAG CLOUD // + __IriSP.trace("__IriSP.init.main","__IriSP.Tags"); + __IriSP.MyTags = new __IriSP.Tags (json.tags); + + // CREATE THE ANNOTATIONS // + // JUSTE FOR THE FIRST TYPE // + __IriSP.jQuery.each(json.annotations, function(i,item) { + if (item.meta['id-ref'] == __IriSP.MyLdt.id) { + //__IriSP.trace("__IriSP.init.main","__IriSP.MyLdt.addAnnotation"); + __IriSP.MyLdt.addAnnotation( + item.id, + item.begin, + item.end, + item.media, + item.content.title, + item.content.description, + item.content.color, + item.tags); + } + //MyTags.addAnnotation(item); + }); + __IriSP.jQuery.each(json.lists, function(i,item) { + __IriSP.trace("lists",""); + }); + __IriSP.jQuery.each(json.views, function(i,item) { + __IriSP.trace("views",""); + }); + } + // END PARSING ----------------------- // + + + },error : function(data){ + alert("ERROR : "+data); + } + }); + + + }); + } + +}; + + +__IriSP.createMyHtml = function(){ + var width = __IriSP.config.gui.width; + + // AUDIO */ + // PB dans le html : ; + if(__IriSP.config.gui.mode=="radio"){ + __IriSP.jQuery( "
\n"+ + "
\n"+ + " Get flash to see this player \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
 \;
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " "+__IriSP.LdtShareTool+"\n"+ + " \n"+ + "
\n"+ + "
"+ + "
"+ + //"
Mots clefs :
"+ + "
"+ + "
").appendTo("#"+__IriSP.config.gui.container); + } else if(__IriSP.config.gui.mode=="video") { + + __IriSP.jQuery( "
\n"+ + "
\n"+ + " Get flash to see this player \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " \n"+ + "
\n"+ + "
 \;
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + "
\n"+ + " \n"+ + " "+__IriSP.LdtShareTool+"\n"+ + " \n"+ + "
\n"+ + "
"+ + "
"+ + //"
Mots clefs :
"+ + "
"+ + "
").appendTo("#"+__IriSP.config.gui.container); + + } + + + __IriSP.trace("__IriSP.createHtml","end"); + __IriSP.jQuery("#Ldt-Annotations").width(width-(75*2)); + __IriSP.jQuery("#Ldt-Show-Arrow-container").width(width-(75*2)); + __IriSP.jQuery("#Ldt-ShowAnnotation-audio").width(width-10); + __IriSP.jQuery("#Ldt-ShowAnnotation-video").width(width-10); + __IriSP.jQuery("#Ldt-SaKeyword").width(width-10); + __IriSP.jQuery("#Ldt-controler").width(width-10); + __IriSP.jQuery("#Ldt-Control").attr("z-index","100"); + __IriSP.jQuery("#Ldt-controler").hide(); + + __IriSP.jQuery("
 
Chargement...
").appendTo("#Ldt-ShowAnnotation-audio"); + + if(__IriSP.config.gui.mode=='radio'){ + __IriSP.jQuery("#Ldt-load-container").attr("width",__IriSP.config.gui.width); + } + // Show or not the output + if(__IriSP.config.gui.debug===true){ + __IriSP.jQuery("#Ldt-output").show(); + } else { + __IriSP.jQuery("#Ldt-output").hide(); + } + +}; + +__IriSP.Media = function (id,url,duration,title,description){ + this.id = id; + this.url = url; + this.title = title; + this.description = description; + this.duration = duration; + this.lignes = new Array(); + + __IriSP.trace("__IriSP.Media","Media ID : "+id); + __IriSP.trace("__IriSP.Media","Media URL : "+url); + __IriSP.trace("__IriSP.Media","Media title : "+title); +} +__IriSP.Media.prototype.createPlayerMedia = function (width,height,MyStreamer,MySwfPath){ + __IriSP.MyApiPlayer = new __IriSP.APIplayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); + //createPlayer(width,height,this.url,this.duration,MyStreamer,MySwfPath); +} +__IriSP.Media.prototype.getMediaDuration = function (){ + return (this.duration); +} +__IriSP.Media.prototype.getMediaTitle = function (){ + return (this.title); +} + + + +/* INTERFACE : SLIDER ( CONTROL BAR ) | BUTTON () */ +__IriSP.createInterface = function(width,height,duration){ + + __IriSP.jQuery("#Ldt-controler").show(); + //__IriSP.jQuery("#Ldt-Root").css('display','visible'); + __IriSP.trace("__IriSP.createInterface",width+","+height+","+duration+","); + + __IriSP.jQuery("#Ldt-ShowAnnotation").click(function () { + //__IriSP.jQuery(this).slideUp(); + }); + + var LdtpPlayerY = __IriSP.jQuery("#Ldt-PlaceHolder").attr("top"); + var LdtpPlayerX = __IriSP.jQuery("#Ldt-PlaceHolder").attr("left"); + __IriSP.jQuery("#slider-range-min").slider({ //range: "min", + value: 0, + min: 1, + max: duration/1000,//1:54:52.66 = 3600+3240+ + step: 0.1, + slide: function(event, ui) { + + //__IriSP.jQuery("#amount").val(ui.value+" s"); + //player.sendEvent('SEEK', ui.value) + __IriSP.MyApiPlayer.seek(ui.value); + //changePageUrlOffset(ui.value); + //player.sendEvent('PAUSE') + } + }); + __IriSP.trace("__IriSP.createInterface","ICI"); + __IriSP.jQuery("#amount").val(__IriSP.jQuery("#slider-range-min").slider("value")+" s"); + __IriSP.jQuery(".Ldt-Control1 button:first").button({ + icons: { + primary: 'ui-icon-play' + }, + text: false + }).next().button({ + icons: { + primary: 'ui-icon-seek-next' + }, + text: false + }); + __IriSP.jQuery(".Ldt-Control2 button:first").button({ + icons: { + primary: 'ui-icon-transferthick-e-w'//, + //secondary: 'ui-icon-volume-off' + }, + text: false + }).next().button({ + icons: { + primary: 'ui-icon-volume-on' + }, + text: false + }); + + // /!\ PB A MODIFIER + //__IriSP.MyTags.draw(); + __IriSP.trace("__IriSP.createInterface","ICI2"); + __IriSP.jQuery("#ldt-CtrlPlay").attr("style","background-color:#CD21C24;"); + + __IriSP.jQuery("#Ldt-load-container").hide(); + + if(__IriSP.config.gui.mode=="radio" & __IriSP.jQuery.browser.msie!=true){ + __IriSP.jQuery("#Ldtplayer1").attr("height","0"); + } + __IriSP.trace("__IriSP.createInterface","3"); + + __IriSP.trace("__IriSP.createInterface","END"); + + } + + +/* API player - work in progress ... need refactoring of code */ +__IriSP.APIplayer = function (width,height,url,duration,streamerPath,MySwfPath){ + + + this.player = null; + this.hashchangeUpdate = null; + + this.width = width; + this.height = height; + this.url = url; + this.duration = duration; + this.streamerPath = streamerPath; + this.MySwfPath = MySwfPath; + + __IriSP.MyApiPlayer = this; + + __IriSP.createPlayer(this.url,this.streamerPath); + __IriSP.trace("__IriSP.APIplayer","__IriSP.createPlayer"); + + //__IriSP.config.player + /* + - dailymotion // &enableApi=1&chromeless=1 + - youtube + - html5 + - flowplayer + - jwplayer + */ + +} +__IriSP.APIplayer.prototype.ready = function(player){ + + //__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady"," __IriSP.createInterface"); + __IriSP.createInterface(this.width,this.height,this.duration); + //__IriSP.trace("__IriSP.APIplayer.prototype.APIpReady","END __IriSP.createInterface"); + + // hashchange EVENT + if (window.addEventListener){ + + // pour FIREFOX hashchange EVENT + window.addEventListener("hashchange", function() { + var url = window.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.trace("__IriSP.APIplayer.prototype.ready",time); + if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ + __IriSP.MyApiPlayer.seek(time); + }else{ + __IriSP.MyApiPlayer.hashchangeUpdate=null; + } + }, false); + + } + else if (window.attachEvent){ + // FOR IE hashchange EVENT + + window.attachEvent("onhashchange", function() { + __IriSP.trace("hashchange",time); + var url = window.location.href; + var time = __IriSP.retrieveTimeFragment(url); + if(__IriSP.MyApiPlayer.hashchangeUpdate==null){ + __IriSP.MyApiPlayer.seek(time); + }else{ + __IriSP.MyApiPlayer.hashchangeUpdate=null; + } + }, false); + } + +} +__IriSP.APIplayer.prototype.pause = function(){ + this.hashchangeUpdate = true; + __IriSP.player.sendEvent('PAUSE'); +} +__IriSP.APIplayer.prototype.play = function(){ + this.hashchangeUpdate = true; + //__IriSP.trace("__IriSP.config.player.type",__IriSP.config.player.type); + if(__IriSP.config.player.type=='jwplayer'){ + + __IriSP.player.sendEvent('PLAY'); + + } else if(__IriSP.config.player.type=='dailymotion' + || __IriSP.config.player.type=='youtube' + || __IriSP.config.player.type=='vimeo') { + + var status = __IriSP.player.getPlayerState(); + __IriSP.trace("__IriSP.APIplayer.prototype.play.status",status); + + if (status!=1){ + __IriSP.player.playVideo(); + //} else if(__IriSP.config.player.type=='vimeo' ){ + }else{ + __IriSP.player.pauseVideo(); + } + + } +} +__IriSP.APIplayer.prototype.mute = function(){ + __IriSP.player.sendEvent('MUTE'); + + //alert(__IriSP.jQuery(".ui-icon-volume-on").css("background-position-x")); + if (__IriSP.jQuery(".ui-icon-volume-on").css("background-position")=="-144px -160px"){ + __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-130px -160px"); + } else { + __IriSP.jQuery(".ui-icon-volume-on").css("background-position","-144px -160px"); + } +} +__IriSP.APIplayer.prototype.share = function(network){ + + var MyMessage = encodeURIComponent("J'écoute Les Retours du Dimanche : "); + var MyURLNow = window.location.href; + var shareURL; + //alert(network+" : "+MyURLNow); + + if(network == "facebook"){ + shareURL = "http://www.facebook.com/share.php?u="; + }else if(network == "twitter"){ + shareURL = "http://twitter.com/home?status="+MyMessage; + }else if(network == "myspace"){ + shareURL ="http://www.myspace.com/Modules/PostTo/Pages/?u="; + }else if(network == "delicious"){ + shareURL = "http://delicious.com/save?url="; + }else if(network == "JameSpot"){ + shareURL = "http://www.jamespot.com/?action=spotit&u="; + //alert(network+" non actif pour l'instant : "+MyURLNow); + } + + window.open(shareURL+encodeURIComponent(MyURLNow)); + //window.location.href = shareURL+encodeURIComponent(MyURLNow); +} +__IriSP.APIplayer.prototype.seek = function (time){ + __IriSP.trace("__IriSP.APIplayer.prototype.seek",time); + if(__IriSP.config.player.type=='jwplayer'){ + __IriSP.player.sendEvent('SEEK', time); + } else if(__IriSP.config.player.type=='dailymotion' + || __IriSP.config.player.type=='youtube') { + __IriSP.player.seekTo(time); + } + this.changePageUrlOffset(time); +} +__IriSP.APIplayer.prototype.update = function (time){ + this.hashchangeUpdate = true; + __IriSP.player.sendEvent('SEEK', time); +} +__IriSP.APIplayer.prototype.changePageUrlOffset = function (time) { + //alert(time); + __IriSP.trace("__IriSP.APIplayer.prototype.changePageUrlOffset","CHANGE URL "+time); + window.location.hash = "#t=" + time; + window.location.href = window.location.href; +} + +/* MEDIA FRAGMENT FUNCTION */ + +__IriSP.jumpToTimeoffset = function (form) { + var time = form.time.value; + __IriSP.MyApiPlayer.changePageUrlOffset(time); +} +__IriSP.retrieveTimeFragment = function (url) { + var pageoffset = 0; + var offsettime = 0; + + if (url.split("#")[1] != null) { + pageoffset = url.split("#")[1]; + if (pageoffset.substring(2) != null) { + offsettime = pageoffset.substring(2); + } + } + return offsettime; +} +__IriSP.ignoreTimeFragment = function(url){ + if (url.split("#")[1] != null) { + var pageurl= url.split("#")[0]; + } + return pageurl; +} + + +/* CODE SPECIAL JW PLAYER creation + listener */ + +__IriSP.currentPosition = 0; +__IriSP.currentVolume = 50; +__IriSP.player = null; +__IriSP.startPosition = null; + + + +__IriSP.createPlayer = function (url,streamerPath) { + + // vimeo + __IriSP.config.player.flashvars.clip_id = __IriSP.config.player.src; + + if(__IriSP.config.player.type=='dailymotion'){ + __IriSP.config.player.src = __IriSP.config.player.src+"&chromeless=1&enableApi=1"; + } else if (__IriSP.config.player.type=='youtube'){ + __IriSP.config.player.src = __IriSP.config.player.src+"&enablejsapi=1&version=3"; + } else if (__IriSP.config.player.type=='vimeo'){ + __IriSP.config.player.src = "http://vimeo.com/moogaloop.swf"; + } + + __IriSP.trace("__IriSP.createPlayer","start"); + + __IriSP.myUrlFragment = url.split(streamerPath); + __IriSP.config.player.flashvars.streamer = streamerPath; + __IriSP.config.player.flashvars.file = __IriSP.myUrlFragment[1]; + + + + var flashvars = __IriSP.config.player.flashvars; + var params = __IriSP.config.player.params; + var attributes = __IriSP.config.player.attributes; + + __IriSP.trace( + "__IriSP.createPlayer", + "SWFOBJECT src:"+ + __IriSP.config.player.src+ + " " +__IriSP.config.gui.width+ + " " +__IriSP.config.gui.height+ + " || src = " +__IriSP.config.player.src + ); + + + swfobject.embedSWF( + __IriSP.config.player.src, + "Ldt-PlaceHolder", + __IriSP.config.gui.width, + __IriSP.config.gui.height, + "9.0.115", + false, + flashvars, + params, + attributes + ); + + // need a methode to + // re execute if this swf call does'nt work +} + +/* HOOK system for player API */ +/* Name of hooked function + - PlayerReady + - PlayerAddListeners + - PlayerPositionListener + - PlayerPositionListenerAction + +// */ +__IriSP.Hook = { + hooks: [], + + register: function ( name, callback ) { + if( 'undefined' == typeof( Hook.hooks[name] ) ) + Hook.hooks[name] = [] + Hook.hooks[name].push( callback ) + }, + + call: function ( name, arguments ) { + if( 'undefined' != typeof( Hook.hooks[name] ) ) + for( i = 0; i < Hook.hooks[name].length; ++i ) + if( true != Hook.hooks[name][i]( arguments ) ) { break; } + } +} + +/* API DAILYMOTION */ +onDailymotionPlayerReady = function (playerid){ + + //alert(playerid); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.MyApiPlayer.ready(__IriSP.player); + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.startPosition = time; + __IriSP.DailymotionAddListeners(); + + __IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.DailymotionAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + //__IriSP.player.addEventListener("onStateChange", "__IriSP.DailymotionPositionListener"); + setTimeout("__IriSP.DailymotionPositionListener()",100); + __IriSP.DailymotionPositionListener(); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.DailymotionAddListeners()",100); + } +} +__IriSP.DailymotionPositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.DailymotionPositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + /*__IriSP.MyLdt.checkTime(__IriSP.currentPosition); + */ + + setTimeout("__IriSP.DailymotionPositionListener()",10); +} + +/* API YOUTUBE */ +onYouTubePlayerReady= function (playerid){ + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.startPosition = time; + + __IriSP.MyApiPlayer.ready(__IriSP.player); + + __IriSP.MyApiPlayer.seek(time); + __IriSP.MyApiPlayer.play(); + + + __IriSP.YouTubeAddListeners(); + __IriSP.trace("onYouTubePlayerReady=",time); + //__IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.YouTubeAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); + setTimeout("__IriSP.YouTubePositionListener()",100); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); + } +} +__IriSP.YouTubePositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + + setTimeout("__IriSP.YouTubePositionListener()",10); +} +__IriSP.YouTubeStateMonitor = function (obj) { + __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); + //alert(newstate+" "+obj.newstate); + if(newstate == '2') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + + }else if (newstate == '1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } + else if (newstate == '-1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } else if (newstate == '3'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} + + +/* API VIMEO */ +onVimeoPlayerReady= function (playerid){ + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + __IriSP.player = document.getElementById(__IriSP.config.player.attributes.id); + __IriSP.startPosition = time; + + __IriSP.MyApiPlayer.ready(__IriSP.player); + + __IriSP.MyApiPlayer.seek(time); + __IriSP.MyApiPlayer.play(); + + + __IriSP.YouTubeAddListeners(); + __IriSP.trace("onYouTubePlayerReady=",time); + //__IriSP.MyApiPlayer.ready(playerid); +} +__IriSP.VimeoAddListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addEventListener("onStateChange", "__IriSP.YouTubeStateMonitor"); + setTimeout("__IriSP.YouTubePositionListener()",100); + __IriSP.player.addModelListener("VOLUME", "__IriSP.volumeListener"); + //__IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.YouTubePositionListener()",100); + } +} +__IriSP.VimeoPositionListener = function() { + + __IriSP.currentPosition = __IriSP.player.getCurrentTime(); + //__IriSP.trace("__IriSP.YouTubePositionListener",__IriSP.currentPosition); + //__IriSP.trace("__IriSP.currentPosition",__IriSP.currentPosition); + + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + __IriSP.jQuery("#slider-range-min").slider("value",__IriSP.currentPosition); + __IriSP.jQuery("#amount").val(__IriSP.currentPosition+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + + setTimeout("__IriSP.YouTubePositionListener()",10); +} +__IriSP.VimeoStateMonitor = function (obj) { + __IriSP.player.addModelListener('__IriSP.YouTubeStateMonitor ', newstate); + //alert(newstate+" "+obj.newstate); + if(newstate == '2') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + + }else if (newstate == '1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } + else if (newstate == '-1'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + } else if (newstate == '3'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} + + +/* API JW PLAYER */ +__IriSP.playerReady = function (thePlayer) { + + //__IriSP.trace("__IriSP.playerReady","PLAYER READY !!!!!!!!!!!!"); + __IriSP.player = window.document[thePlayer.id]; + //__IriSP.trace("__IriSP.playerReady","API CALL "+__IriSP.player); + __IriSP.MyApiPlayer.ready(__IriSP.player); + //__IriSP.trace("__IriSP.playerReady","API CALL END "); + + var url = document.location.href; + var time = __IriSP.retrieveTimeFragment(url); + //__IriSP.trace("__IriSP.playerReady"," "+url+" "+time ); + __IriSP.startPosition = time; + //__IriSP.trace("__IriSP.playerReady"," LISTENER LAUCHER"); + __IriSP.addListeners(); + //__IriSP.trace("__IriSP.playerReady"," LISTENER END"); + +} +__IriSP.addListeners = function () { + if (__IriSP.player) { + __IriSP.trace("__IriSP.addListeners","ADD Listener "); + __IriSP.player.addModelListener("TIME", "__IriSP.positionListener"); + __IriSP.player.addControllerListener("VOLUME", "__IriSP.volumeListener"); + __IriSP.player.addModelListener('STATE', '__IriSP.stateMonitor'); + } else { + __IriSP.setTimeout("__IriSP.addListeners()",100); + } + + // et changer les boutons +} +__IriSP.stateMonitor = function (obj) { + + + + if(obj.newstate == 'PAUSED') + { + __IriSP.trace("__IriSP.stateMonitor","PAUSE"); + __IriSP.MyApiPlayer.changePageUrlOffset(__IriSP.currentPosition); + __IriSP.jQuery(".ui-icon-play").css("background-position","0px -160px"); + + } else if (obj.newstate == 'PLAYING'){ + // une fois la video prete a lire la déplacer au bon timecode + if(__IriSP.startPosition!=null){ + __IriSP.MyApiPlayer.update(__IriSP.startPosition); + __IriSP.startPosition = null; + } + __IriSP.jQuery(".ui-icon-play").css("background-position","-16px -160px"); + } else if (obj.newstate == 'BUFFERING'){ + __IriSP.trace("__IriSP.stateMonitor","BUFFERING : "); + //changePageUrlOffset(currentPosition); + } + +} +__IriSP.positionListener = function(obj) { + //__IriSP.trace("__IriSP.positionListener",obj.position); + __IriSP.currentPosition = obj.position; + var tmp = document.getElementById("posit"); + if (tmp) { tmp.innerHTML = "position: " + __IriSP.currentPosition; } + __IriSP.jQuery("#slider-range-min").slider("value", obj.position); + __IriSP.jQuery("#amount").val(obj.position+" s"); + // afficher annotation + __IriSP.MyLdt.checkTime(__IriSP.currentPosition); + + +} +__IriSP.volumeListener = function (obj) { + __IriSP.currentVolume = obj.percentage; + var tmp = document.getElementById("vol"); + if (tmp) { tmp.innerHTML = "volume: " + __IriSP.currentVolume; } +} + + + + +/* UTIL */ +// code from http://stackoverflow.com/questions/822452/strip-html-from-text-javascript +__IriSP.stripHtml = function(s){ + return s.replace(/\\&/g, '&').replace(/\\/g, '>').replace(/\\t/g, '   ').replace(/\\n/g, '
').replace(/'/g, ''').replace(/"/g, '"'); +} +// conversion de couleur Decimal vers HexaDecimal || 000 si fff +__IriSP.DEC_HEXA_COLOR = function (dec){ + var hexa='0123456789ABCDEF',hex=''; + var tmp; + while (dec>15){ + tmp = dec-(Math.floor(dec/16))*16; + hex = hexa.charAt(tmp)+hex; + dec = Math.floor(dec/16); + } + hex = hexa.charAt(dec)+hex; + if (hex == "FFCC00"){ hex="";/* by default color of Ldt annotation */ } + return(hex); +} + + + +/* CLASS Ligne (annotationType) */ + +__IriSP.LDTligne = null; +__IriSP.Ligne = function (id,title,description,duration){ + this.id = id; + this.title = title; + this.description = description; + // + this.annotations = new Array(); + this.duration = duration; + this.annotationOldRead=""; + __IriSP.LDTligne = this; + __IriSP.trace("__IriSP.Ligne","CREATE "+__IriSP.LDTligne); +} +__IriSP.Ligne.prototype.addAnnotation = function (id,begin,end,media,title,description,color,tags){ + var myAnnotation = new __IriSP.Annotation(id,begin,end,media,title,description,color,tags,this.duration); + this.annotations.push(myAnnotation); + //__IriSP.trace("__IriSP.Ligne.prototype.addAnnotation ","add annotation "+title); +} +__IriSP.Ligne.prototype.onClickLigneAnnotation = function(id){ + //changePageUrlOffset(currentPosition); + //player.sendEvent('SEEK', this.start); + //__IriSP.trace("SEEK",this.start); +} +__IriSP.Ligne.prototype.searchLigneAnnotation = function(id){ + /*for (){ + }*/ +} +__IriSP.Ligne.prototype.listAnnotations = function(){ + +} +__IriSP.Ligne.prototype.nextAnnotation = function (){ + var annotationCibleNumber = this.numAnnotation(this.annotationOldRead)+1; + var annotationCible = this.annotations[annotationCibleNumber]; + + if(annotationCibleNumberannotationTempo.begin/1000 && time 1.4 + //__IriSP.jQuery("#Ldt-SaTitle").delay(100).text(annotationTempo.title); + //__IriSP.jQuery("#Ldt-SaDescription").delay(100).text(annotationTempo.description); + //__IriSP.jQuery('#Ldt-ShowAnnotation').delay(100).slideDown(); + //__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotationTempo.title+" "+annotationTempo.description ); + __IriSP.jQuery("#Ldt-SaTitle").text(annotationTempo.title); + __IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description); + __IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags); + + //__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown(); + var startPourcent = annotationTempo.timeToPourcent((annotationTempo.begin*1+(annotationTempo.end*1-annotationTempo.begin*1)/2),annotationTempo.duration*1); + __IriSP.jQuery("#Ldt-Show-Arrow").animate({left:startPourcent+'%'},1000); + __IriSP.jQuery("#"+annotationTempo.id).animate({alpha:'100%'},1000); + //alert(startPourcent); + var tempolinkurl = __IriSP.ignoreTimeFragment(window.location.href)+"#t="+(this.annotations[i].begin/1000); + } + break; + }else{ + annotationTempo=-1; + } + + } + // si il y en a pas : retractation du volet + if( annotationTempo == -1){ + if(annotationTempo!=this.annotationOldRead){ + __IriSP.trace("Check : ","pas d'annotation ici "); + __IriSP.jQuery("#Ldt-SaTitle").text(""); + __IriSP.jQuery("#Ldt-SaDescription").text(""); + __IriSP.jQuery("#Ldt-SaKeywordText").html(""); + __IriSP.jQuery('#Ldt-ShowAnnotation').slideUp(); + if(this.annotationOldRead){ + __IriSP.jQuery("#"+this.annotationOldRead.id).animate({alpha:'70%'},1000); + } + //__IriSP.jQuery("#Ldt-Show-Arrow").animate({left:'0%'},1000); + this.annotationOldRead = annotationTempo; + } + } + __IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",annotationTempo); +} + + +/* CLASS Annotation */ + +__IriSP.Annotation = function (){ + var id = null; + var begin = null; + var end = null; + var media = null; + var description = null; + var title = null; + var color = null; + var tags = null; + __IriSP.trace("annotation ","r�ussi") +} +__IriSP.Annotation = function(id,begin,end,media,title,description,color,tags,duration){ + this.id = id; + this.begin = begin; + this.end = end; + this.media = media; + this.description = description; + this.title = title; + this.color = color; + this.tags = tags; + this.htmlTags = ""; + this.duration = duration; + // draw it + this.draw(); + this.drawTags(); + // + __IriSP.trace("Annotation created : ",id); +} +__IriSP.Annotation.prototype.draw = function(){ + //alert (this.duration); + var startPourcent = this.timeToPourcent(this.begin,this.duration); // temps du media + var endPourcent = this.timeToPourcent(this.end,this.duration)-startPourcent; + var titleForDiv = this.title.substr(0,55); + + __IriSP.jQueryAnnotationTemplate = "
"; + //alert(this.color+" : "+DEC_HEXA_COLOR(this.color)); + + __IriSP.jQuerytoolTipTemplate = "
" + +"
"+__IriSP.stripHtml(this.title)+"
" + +"
"+this.begin+" : "+this.end+"
" + +"
"+__IriSP.stripHtml(this.description)+"
" + +"
"; + + + __IriSP.jQuery("
"+__IriSP.jQueryAnnotationTemplate+"
").appendTo("#Ldt-Annotations"); + // TOOLTIP BUG ! + + __IriSP.jQuery("#"+this.id).tooltip({ effect: 'slide'}); + + + __IriSP.jQuery("#"+this.id).fadeTo(0,0.3); + __IriSP.jQuery("#"+this.id).mouseover(function() { + __IriSP.jQuery("#"+this.id).animate({opacity: 0.6}, 5) + }).mouseout(function(){ + __IriSP.jQuery("#"+this.id).animate({opacity: 0.3}, 5) + }); + __IriSP.trace("__IriSP.Annotation.prototype.draw","ADD ANOTATION : "+this.begin+" "+this.end+" "+__IriSP.stripHtml(this.title)+" | "+startPourcent+" | "+endPourcent+" | duration = "+this.duration); + +} +__IriSP.Annotation.prototype.drawTags = function(){ + var KeywordPattern = ' '+' '; + + //__IriSP.trace(" !? Tags : ",this.tags); + + if (this.tags!=undefined){ + for (var i = 0; i < this.tags.length; ++i){ + + //this.htmlTags += ' '+MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; + this.htmlTags += ' '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' '+" , "; + + } + } +} +__IriSP.Annotation.prototype.tootTipAnnotation = function() { + // 1 chercher le div correspondant + // 2 y mettre les information + return this.color + ' ' + this.type + ' apple'; +} +__IriSP.Annotation.prototype.onRollOverAnnotation = function (){ + this.tootTip(); +} +__IriSP.Annotation.prototype.timeToPourcent = function(time,timetotal){ + return (parseInt(Math.round(time/timetotal*100))); +} + + +/* CLASS Tags */ + +__IriSP.Tags = function(object){ + this.myTags = object; + this.htmlTags = null; + this.weigthMax = 0; + //this.mySegments = new array(); +} +__IriSP.Tags.prototype.addAnnotation = function (annotation){ + for (var i = 0; i < this.myTags.length; ++i){ + this.myTags[i].mySegments = new Array(); + if (annotation.tags!=null){ + for (var j = 0; j < annotation.tags.length; ++j){ + if (this.myTags[i]['id'] == annotation.tags[j]['id-ref']){ + this.myTags[i].mySegments.push([annotation.begin,annotation.end,annotation.id]); + var weigthTempo = this.myTags[i].mySegments.length + var tempo = this.myTags[i].mySegments[weigthTempo-1]; + //__IriSP.trace ("__IriSP.Tags.prototype.addAnnotation "," "+this.myTags[i]['meta']['dc:title']+" "+this.myTags[i]['id']+" : "+tempo[0]+" - "+tempo[1]); + + if (this.weigthMax < weigthTempo ){ + this.weigthMax = weigthTempo; + } + } + } + } + } +} +__IriSP.Tags.prototype.getTitle = function (id){ + for (var i = 0; i < this.myTags.length; ++i){ + if(this.myTags[i]['id']==id){ + return(this.myTags[i]['meta']['dc:title']); + } + } + +} +__IriSP.Tags.prototype.draw = function (){ + + __IriSP.trace("__IriSP.Tags.prototype.draw"," !!! WELL START " ); + for (var i = 0; i < this.myTags.length; ++i){ + __IriSP.trace("__IriSP.Tags.prototype.draw"," ADD Tags : "+this.myTags[i]['id']); + if(this.myTags[i]['id']!=null){ + this.htmlTags += ' '+this.myTags[i]['meta']['dc:title']+' '+' , '; + } + } + + __IriSP.jQuery('#Ldt-Tags').html(this.htmlTags); + __IriSP.trace("__IriSP.Tags.prototype.draw"," !!!! END WMAX= "+this.weigthMax ); + +} +__IriSP.Tags.prototype.show = function (id){ + + var timeStartOffsetA = 100000000000000000000; + var timeStartOffsetB = 100000000000000000000; + var timeEndOffsetA = 0; + var timeEndOffsetB = 0; + var timeStartID; + var timeEndID; + var WidthPourCent; + var leftPourCent; + var timeStartOffset; + + // case 1 : seul segment + // case 2 : 2 ou X segments + + + for (var i = 0; i < this.myTags.length; ++i){ + if (this.myTags[i]['id']==id){ + __IriSP.trace("######### TAG DRAWing : "," END" ); + + for (var j = 0; j < this.myTags[i].mySegments.length; ++j){ + if(timeStartOffset> this.myTags[i].mySegments[j][0]){ + timeStartOffsetA = this.myTags[i].mySegments[j][0]; + timeStartOffsetB = this.myTags[i].mySegments[j][1]; + timeStartID = this.myTags[i].mySegments[j][2] + } + if(timeStartOffset> this.myTags[i].mySegments[j][0]){ + timeEndOffsetA = this.myTags[i].mySegments[j][0]; + timeEndOffsetB = this.myTags[i].mySegments[j][1]; + timeEndID = this.myTags[i].mySegments[j][2] + } + } + + } + } + + // ------------------------------------------------- + // + // ------------------------------------------------- + + leftPourCent = __IriSP.timeToPourcent((timeStartOffsetA*1+(timeStartOffsetB-timeStartOffsetA)/2),__IriSP.MyLdt.duration); + WidthPourCent = __IriSP.timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),__IriSP.MyLdt.duration)-leftPourCent; + //WidthPourCent = timeToPourcent((timeEndOffsetA*1+(timeEndOffsetB-timeEndOffsetA)/2),MyLdt.duration)-startPourcent; + __IriSP.jQuery("#Ldt-Show-Tags").css('left',leftPourCent+'%'); + __IriSP.jQuery("#Ldt-Show-Tags").css('width',WidthPourCent+'%'); + // like arrow script + + + +} + + +/* CLASS TRACE */ + +__IriSP.traceNum=0; +__IriSP.trace = function(msg,value){ + + if(__IriSP.config.gui.debug===true){ + __IriSP.traceNum += 1; + __IriSP.jQuery("
"+__IriSP.traceNum+" - "+msg+" : "+value+"
").appendTo("#Ldt-output"); + } + +} + + + + + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline.html --- a/web/res/metadataplayer/test/chartTimeline.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,319 +1,319 @@ - - - -Example raphael - - - - - - - - - - - - - - - - -
- - -
- -
- - - + + + +Example raphael + + + + + + + + + + + + + + + + +
+ + +
+ +
+ + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline2.html --- a/web/res/metadataplayer/test/chartTimeline2.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline2.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,362 +1,362 @@ - - - -Example raphael - - - - - -
- - - -
- - - - - -
- -
ici
- - - - -
- - + + + +Example raphael + + + + + +
+ + + +
+ + + + + +
+ +
ici
+ + + + +
+ + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline3.html --- a/web/res/metadataplayer/test/chartTimeline3.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline3.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,336 +1,336 @@ - - - -Example raphael - - - - - -
- - - -
- - - - - -
- -
-
- - - -
- - + + + +Example raphael + + + + + +
+ + + +
+ + + + + +
+ +
+
+ + + +
+ + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline4.html --- a/web/res/metadataplayer/test/chartTimeline4.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline4.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,335 +1,335 @@ - - - -Example raphael - - - - - -
- - - -
- - - - - -
- -
-
- - - -
- - + + + +Example raphael + + + + + +
+ + + +
+ + + + + +
+ +
+
+ + + +
+ + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline5.html --- a/web/res/metadataplayer/test/chartTimeline5.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline5.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,377 +1,377 @@ - - - -Polemic tweeter timeline - - - - - -
- - - -
- - - - - - -
- - -
-
-
- - - -
- - + + + +Polemic tweeter timeline + + + + + +
+ + + +
+ + + + + + +
+ + +
+
+
+ + + +
+ + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/chartTimeline6.html --- a/web/res/metadataplayer/test/chartTimeline6.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/chartTimeline6.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,377 +1,377 @@ - - - -Polemical tweet timeline - - - - - -
- - - -
- - - - - - -
- - -
-
-
- - - -
- - + + + +Polemical tweet timeline + + + + + +
+ + + +
+ + + + + + +
+ + +
+
+
+ + + +
+ + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/css-dock-bottom.html --- a/web/res/metadataplayer/test/css-dock-menu/css-dock-bottom.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/css-dock-bottom.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,58 +1,58 @@ - - - - -CSS Mac Dock - - - - - - - - - - - - - - - + + + + +CSS Mac Dock + + + + + + + + + + + + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/css-dock-top.html --- a/web/res/metadataplayer/test/css-dock-menu/css-dock-top.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/css-dock-top.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,51 +1,51 @@ - - - - -CSS Mac Dock - - - - - - - - - - - - + + + + +CSS Mac Dock + + + + + + + + + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/css-dock.html --- a/web/res/metadataplayer/test/css-dock-menu/css-dock.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/css-dock.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,129 +1,129 @@ - - - - -CSS Dock Menu - - - - - - - - - - - - - - - - - - - - - - -
- -yoooooooooooooooooo - - + + + + +CSS Dock Menu + + + + + + + + + + + + + + + + + + + + + + +
+ +yoooooooooooooooooo + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/js/easing.js --- a/web/res/metadataplayer/test/css-dock-menu/js/easing.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/js/easing.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,124 +1,124 @@ -/** - * Interface Elements for jQuery - * Easing formulas - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - */ - -/** - * Starting with jQuery 1.1 the fx function accepts easing formulas that can be used with .animation() and most of FX plugins from Interface. The object can be extended to accept new easing formulas - */ - - jQuery.extend({ - /** - * - * @param Integer p period step in animation - * @param Integer n current time - * @param Mixed firstNum begin value - * @param Mixed delta change in - * @param Integer duration duration - */ - easing : { - linear: function(p, n, firstNum, delta, duration) { - return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; - }, - - easein: function(p, n, firstNum, delta, duration) { - return delta*(n/=duration)*n*n + firstNum; - }, - - easeout: function(p, n, firstNum, delta, duration) { - return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum; - }, - - easeboth: function(p, n, firstNum, delta, duration) { - if ((n/=duration/2) < 1) - return delta/2*n*n*n*n + firstNum; - return -delta/2 * ((n-=2)*n*n*n - 2) + firstNum; - }, - - bounceout: function(p, n, firstNum, delta, duration) { - if ((n/=duration) < (1/2.75)) { - return delta*(7.5625*n*n) + firstNum; - } else if (n < (2/2.75)) { - return delta*(7.5625*(n-=(1.5/2.75))*n + .75) + firstNum; - } else if (n < (2.5/2.75)) { - return delta*(7.5625*(n-=(2.25/2.75))*n + .9375) + firstNum; - } else { - return delta*(7.5625*(n-=(2.625/2.75))*n + .984375) + firstNum; - } - }, - - bouncein: function(p, n, firstNum, delta, duration) { - if (jQuery.easing.bounceout) - return delta - jQuery.easing.bounceout (p, duration - n, 0, delta, duration) + firstNum; - return firstNum + delta; - }, - - bounceboth: function(p, n, firstNum, delta, duration) { - if (jQuery.easing.bouncein && jQuery.easing.bounceout) - if (n < duration/2) - return jQuery.easing.bouncein(p, n*2, 0, delta, duration) * .5 + firstNum; - return jQuery.easing.bounceout(p, n*2-duration, 0, delta, duration) * .5 + delta*.5 + firstNum; - return firstNum + delta; - }, - - elasticin: function(p, n, firstNum, delta, duration) { - var a, s; - if (n == 0) - return firstNum; - if ((n/=duration)==1) - return firstNum+delta; - a = delta * 0.3; - p=duration*.3; - if (a < Math.abs(delta)) { - a=delta; - s=p/4; - } else { - s = p/(2*Math.PI) * Math.asin (delta/a); - } - return -(a*Math.pow(2,10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )) + firstNum; - }, - - elasticout:function(p, n, firstNum, delta, duration) { - var a, s; - if (n==0) - return firstNum; - if ((n/=duration/2)==2) - return firstNum + delta; - a = delta * 0.3; - p=duration*.3; - if (a < Math.abs(delta)){ - a = delta; - s=p/4; - } else { - s = p/(2*Math.PI) * Math.asin (delta/a); - } - return a*Math.pow(2,-10*n) * Math.sin( (n*duration-s)*(2*Math.PI)/p ) + delta + firstNum; - }, - - elasticboth: function(p, n, firstNum, delta, duration) { - var a, s; - if (n==0) - return firstNum; - if ((n/=duration/2)==2) - return firstNum + delta; - a = delta * 0.3; - p=duration*.3; - if (a < Math.abs(delta)){ - a = delta; - s=p/4; - } else { - s = p/(2*Math.PI) * Math.asin (delta/a); - } - if (n < 1) { - return -.5*(a*Math.pow(2,10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )) + firstNum; - } - return a*Math.pow(2,-10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )*.5 + delta + firstNum; - } - } +/** + * Interface Elements for jQuery + * Easing formulas + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + */ + +/** + * Starting with jQuery 1.1 the fx function accepts easing formulas that can be used with .animation() and most of FX plugins from Interface. The object can be extended to accept new easing formulas + */ + + jQuery.extend({ + /** + * + * @param Integer p period step in animation + * @param Integer n current time + * @param Mixed firstNum begin value + * @param Mixed delta change in + * @param Integer duration duration + */ + easing : { + linear: function(p, n, firstNum, delta, duration) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; + }, + + easein: function(p, n, firstNum, delta, duration) { + return delta*(n/=duration)*n*n + firstNum; + }, + + easeout: function(p, n, firstNum, delta, duration) { + return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum; + }, + + easeboth: function(p, n, firstNum, delta, duration) { + if ((n/=duration/2) < 1) + return delta/2*n*n*n*n + firstNum; + return -delta/2 * ((n-=2)*n*n*n - 2) + firstNum; + }, + + bounceout: function(p, n, firstNum, delta, duration) { + if ((n/=duration) < (1/2.75)) { + return delta*(7.5625*n*n) + firstNum; + } else if (n < (2/2.75)) { + return delta*(7.5625*(n-=(1.5/2.75))*n + .75) + firstNum; + } else if (n < (2.5/2.75)) { + return delta*(7.5625*(n-=(2.25/2.75))*n + .9375) + firstNum; + } else { + return delta*(7.5625*(n-=(2.625/2.75))*n + .984375) + firstNum; + } + }, + + bouncein: function(p, n, firstNum, delta, duration) { + if (jQuery.easing.bounceout) + return delta - jQuery.easing.bounceout (p, duration - n, 0, delta, duration) + firstNum; + return firstNum + delta; + }, + + bounceboth: function(p, n, firstNum, delta, duration) { + if (jQuery.easing.bouncein && jQuery.easing.bounceout) + if (n < duration/2) + return jQuery.easing.bouncein(p, n*2, 0, delta, duration) * .5 + firstNum; + return jQuery.easing.bounceout(p, n*2-duration, 0, delta, duration) * .5 + delta*.5 + firstNum; + return firstNum + delta; + }, + + elasticin: function(p, n, firstNum, delta, duration) { + var a, s; + if (n == 0) + return firstNum; + if ((n/=duration)==1) + return firstNum+delta; + a = delta * 0.3; + p=duration*.3; + if (a < Math.abs(delta)) { + a=delta; + s=p/4; + } else { + s = p/(2*Math.PI) * Math.asin (delta/a); + } + return -(a*Math.pow(2,10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )) + firstNum; + }, + + elasticout:function(p, n, firstNum, delta, duration) { + var a, s; + if (n==0) + return firstNum; + if ((n/=duration/2)==2) + return firstNum + delta; + a = delta * 0.3; + p=duration*.3; + if (a < Math.abs(delta)){ + a = delta; + s=p/4; + } else { + s = p/(2*Math.PI) * Math.asin (delta/a); + } + return a*Math.pow(2,-10*n) * Math.sin( (n*duration-s)*(2*Math.PI)/p ) + delta + firstNum; + }, + + elasticboth: function(p, n, firstNum, delta, duration) { + var a, s; + if (n==0) + return firstNum; + if ((n/=duration/2)==2) + return firstNum + delta; + a = delta * 0.3; + p=duration*.3; + if (a < Math.abs(delta)){ + a = delta; + s=p/4; + } else { + s = p/(2*Math.PI) * Math.asin (delta/a); + } + if (n < 1) { + return -.5*(a*Math.pow(2,10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )) + firstNum; + } + return a*Math.pow(2,-10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )*.5 + delta + firstNum; + } + } }); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/js/fisheye.js --- a/web/res/metadataplayer/test/css-dock-menu/js/fisheye.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/js/fisheye.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,142 +1,142 @@ -/** - * 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'; - } - ); - } -}; - +/** + * 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 diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/js/ifx.js --- a/web/res/metadataplayer/test/css-dock-menu/js/ifx.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/js/ifx.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,490 +1,490 @@ -/** - * Interface Elements for jQuery - * FX - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Validates elements that can be animated - */ -jQuery.fxCheckTag = function(e) -{ - if (/^tr$|^td$|^tbody$|^caption$|^thead$|^tfoot$|^col$|^colgroup$|^th$|^body$|^header$|^script$|^frame$|^frameset$|^option$|^optgroup$|^meta$/i.test(e.nodeName) ) - return false; - else - return true; -}; - -/** - * Destroy the wrapper used for some animations - */ -jQuery.fx.destroyWrapper = function(e, old) -{ - var c = e.firstChild; - var cs = c.style; - cs.position = old.position; - cs.marginTop = old.margins.t; - cs.marginLeft = old.margins.l; - cs.marginBottom = old.margins.b; - cs.marginRight = old.margins.r; - cs.top = old.top + 'px'; - cs.left = old.left + 'px'; - e.parentNode.insertBefore(c, e); - e.parentNode.removeChild(e); -}; - -/** - * Builds a wrapper used for some animations - */ -jQuery.fx.buildWrapper = function(e) -{ - if (!jQuery.fxCheckTag(e)) - return false; - var t = jQuery(e); - var es = e.style; - var restoreStyle = false; - - if (t.css('display') == 'none') { - oldVisibility = t.css('visibility'); - t.css('visibility', 'hidden').show(); - restoreStyle = true; - } - var oldStyle = {}; - oldStyle.position = t.css('position'); - oldStyle.sizes = jQuery.iUtil.getSize(e); - oldStyle.margins = jQuery.iUtil.getMargins(e); - - var oldFloat = e.currentStyle ? e.currentStyle.styleFloat : t.css('float'); - oldStyle.top = parseInt(t.css('top'))||0; - oldStyle.left = parseInt(t.css('left'))||0; - var wid = 'w_' + parseInt(Math.random() * 10000); - var wr = document.createElement(/^img$|^br$|^input$|^hr$|^select$|^textarea$|^object$|^iframe$|^button$|^form$|^table$|^ul$|^dl$|^ol$/i.test(e.nodeName) ? 'div' : e.nodeName); - jQuery.attr(wr,'id', wid); - var wrapEl = jQuery(wr).addClass('fxWrapper'); - var wrs = wr.style; - var top = 0; - var left = 0; - if (oldStyle.position == 'relative' || oldStyle.position == 'absolute'){ - top = oldStyle.top; - left = oldStyle.left; - } - - wrs.top = top + 'px'; - wrs.left = left + 'px'; - wrs.position = oldStyle.position != 'relative' && oldStyle.position != 'absolute' ? 'relative' : oldStyle.position; - wrs.height = oldStyle.sizes.hb + 'px'; - wrs.width = oldStyle.sizes.wb + 'px'; - wrs.marginTop = oldStyle.margins.t; - wrs.marginRight = oldStyle.margins.r; - wrs.marginBottom = oldStyle.margins.b; - wrs.marginLeft = oldStyle.margins.l; - wrs.overflow = 'hidden'; - if (jQuery.browser.msie) { - wrs.styleFloat = oldFloat; - } else { - wrs.cssFloat = oldFloat; - } - if (jQuery.browser == "msie") { - es.filter = "alpha(opacity=" + 0.999*100 + ")"; - } - es.opacity = 0.999; - //t.wrap(wr); - e.parentNode.insertBefore(wr, e); - wr.appendChild(e); - es.marginTop = '0px'; - es.marginRight = '0px'; - es.marginBottom = '0px'; - es.marginLeft = '0px'; - es.position = 'absolute'; - es.listStyle = 'none'; - es.top = '0px'; - es.left = '0px'; - if (restoreStyle) { - t.hide(); - es.visibility = oldVisibility; - } - return {oldStyle:oldStyle, wrapper:jQuery(wr)}; -}; - -/** - * named colors - */ -jQuery.fx.namedColors = { - aqua:[0,255,255], - azure:[240,255,255], - beige:[245,245,220], - black:[0,0,0], - blue:[0,0,255], - brown:[165,42,42], - cyan:[0,255,255], - darkblue:[0,0,139], - darkcyan:[0,139,139], - darkgrey:[169,169,169], - darkgreen:[0,100,0], - darkkhaki:[189,183,107], - darkmagenta:[139,0,139], - darkolivegreen:[85,107,47], - darkorange:[255,140,0], - darkorchid:[153,50,204], - darkred:[139,0,0], - darksalmon:[233,150,122], - darkviolet:[148,0,211], - fuchsia:[255,0,255], - gold:[255,215,0], - green:[0,128,0], - indigo:[75,0,130], - khaki:[240,230,140], - lightblue:[173,216,230], - lightcyan:[224,255,255], - lightgreen:[144,238,144], - lightgrey:[211,211,211], - lightpink:[255,182,193], - lightyellow:[255,255,224], - lime:[0,255,0], - magenta:[255,0,255], - maroon:[128,0,0], - navy:[0,0,128], - olive:[128,128,0], - orange:[255,165,0], - pink:[255,192,203], - purple:[128,0,128], - red:[255,0,0], - silver:[192,192,192], - white:[255,255,255], - yellow:[255,255,0] -}; - -/** - * parses a color to an object for reg, green and blue - */ -jQuery.fx.parseColor = function(color, notColor) -{ - if (jQuery.fx.namedColors[color]) - return { - r: jQuery.fx.namedColors[color][0], - g: jQuery.fx.namedColors[color][1], - b: jQuery.fx.namedColors[color][2] - }; - else if (result = /^rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)$/.exec(color)) - return { - r: parseInt(result[1]), - g: parseInt(result[2]), - b: parseInt(result[3]) - }; - else if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)$/.exec(color)) - return { - r: parseFloat(result[1])*2.55, - g: parseFloat(result[2])*2.55, - b: parseFloat(result[3])*2.55 - }; - else if (result = /^#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/.exec(color)) - return { - r: parseInt("0x"+ result[1] + result[1]), - g: parseInt("0x" + result[2] + result[2]), - b: parseInt("0x" + result[3] + result[3]) - }; - else if (result = /^#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/.exec(color)) - return { - r: parseInt("0x" + result[1]), - g: parseInt("0x" + result[2]), - b: parseInt("0x" + result[3]) - }; - else - return notColor == true ? false : {r: 255, g: 255, b: 255}; -}; -/** - * CSS rules that can be animated - */ -jQuery.fx.cssProps = { - borderBottomWidth:1, - borderLeftWidth:1, - borderRightWidth:1, - borderTopWidth:1, - bottom:1, - fontSize:1, - height:1, - left:1, - letterSpacing:1, - lineHeight:1, - marginBottom:1, - marginLeft:1, - marginRight:1, - marginTop:1, - maxHeight:1, - maxWidth:1, - minHeight:1, - minWidth:1, - opacity:1, - outlineOffset:1, - outlineWidth:1, - paddingBottom:1, - paddingLeft:1, - paddingRight:1, - paddingTop:1, - right:1, - textIndent:1, - top:1, - width:1, - zIndex:1 -}; -/** - * CSS color rules that can be animated - */ -jQuery.fx.colorCssProps = { - backgroundColor:1, - borderBottomColor:1, - borderLeftColor:1, - borderRightColor:1, - borderTopColor:1, - color:1, - outlineColor:1 -}; - -jQuery.fx.cssSides = ['Top', 'Right', 'Bottom', 'Left']; -jQuery.fx.cssSidesEnd = { - 'borderWidth': ['border', 'Width'], - 'borderColor': ['border', 'Color'], - 'margin': ['margin', ''], - 'padding': ['padding', ''] -}; - -/** - * Overwrite animation to use new FX function - */ -jQuery.fn.extend({ - - animate: function( prop, speed, easing, callback ) { - return this.queue(function(){ - var opt = jQuery.speed(speed, easing, callback); - var e = new jQuery.fxe( this, opt, prop ); - - }); - }, - pause: function(speed, callback) { - return this.queue(function(){ - var opt = jQuery.speed(speed, callback); - var e = new jQuery.pause( this, opt ); - }); - }, - stop : function(step) { - return this.each(function(){ - if (this.animationHandler) - jQuery.stopAnim(this, step); - - }); - }, - stopAll : function(step) { - return this.each(function(){ - if (this.animationHandler) - jQuery.stopAnim(this, step); - if ( this.queue && this.queue['fx'] ) - this.queue.fx = []; - }); - } -}); -/** - * Improved FXC function that aniamtes collection of properties per timer. Accepts inline styles and class names to animate - */ -jQuery.extend({ - pause: function(elem, options) - { - var z = this, values; - z.step = function() - { - if ( jQuery.isFunction( options.complete ) ) - options.complete.apply( elem ); - }; - z.timer=setInterval(function(){z.step();},options.duration); - elem.animationHandler = z; - }, - easing : { - linear: function(p, n, firstNum, delta, duration) { - return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; - } - }, - fxe: function( elem, options, prop ){ - var z = this, values; - - // The styles - var y = elem.style; - var oldOverflow = jQuery.css(elem, "overflow"); - var oldDisplay= jQuery.css(elem, "display"); - var props = {}; - z.startTime = (new Date()).getTime(); - options.easing = options.easing && jQuery.easing[options.easing] ? options.easing : 'linear'; - - z.getValues = function(tp, vp) - { - if (jQuery.fx.cssProps[tp]) { - if (vp == 'show' || vp == 'hide' || vp == 'toggle') { - if ( !elem.orig ) elem.orig = {}; - var r = parseFloat( jQuery.curCSS(elem, tp) ); - elem.orig[tp] = r && r > -10000 ? r : (parseFloat( jQuery.css(elem,tp) )||0); - vp = vp == 'toggle' ? ( oldDisplay == 'none' ? 'show' : 'hide') : vp; - options[vp] = true; - props[tp] = vp == 'show' ? [0, elem.orig[tp]] : [elem.orig[tp], 0]; - if (tp != 'opacity') - y[tp] = props[tp][0] + (tp != 'zIndex' && tp != 'fontWeight' ? 'px':''); - else - jQuery.attr(y, "opacity", props[tp][0]); - } else { - props[tp] = [parseFloat( jQuery.curCSS(elem, tp) ), parseFloat(vp)||0]; - } - } else if (jQuery.fx.colorCssProps[tp]) - props[tp] = [jQuery.fx.parseColor(jQuery.curCSS(elem, tp)), jQuery.fx.parseColor(vp)]; - else if(/^margin$|padding$|border$|borderColor$|borderWidth$/i.test(tp)) { - var m = vp.replace(/\s+/g, ' ').replace(/rgb\s*\(\s*/g,'rgb(').replace(/\s*,\s*/g,',').replace(/\s*\)/g,')').match(/([^\s]+)/g); - switch(tp){ - case 'margin': - case 'padding': - case 'borderWidth': - case 'borderColor': - m[3] = m[3]||m[1]||m[0]; - m[2] = m[2]||m[0]; - m[1] = m[1]||m[0]; - for(var i = 0; i < jQuery.fx.cssSides.length; i++) { - var nmp = jQuery.fx.cssSidesEnd[tp][0] + jQuery.fx.cssSides[i] + jQuery.fx.cssSidesEnd[tp][1]; - props[nmp] = tp == 'borderColor' ? - [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] - : [parseFloat( jQuery.curCSS(elem, nmp) ), parseFloat(m[i])]; - } - break; - case 'border': - for(var i = 0; i< m.length; i++) { - var floatVal = parseFloat(m[i]); - var sideEnd = !isNaN(floatVal) ? 'Width' : (!/transparent|none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset/i.test(m[i]) ? 'Color' : false); - if (sideEnd) { - for(var j = 0; j < jQuery.fx.cssSides.length; j++) { - nmp = 'border' + jQuery.fx.cssSides[j] + sideEnd; - props[nmp] = sideEnd == 'Color' ? - [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] - : [parseFloat( jQuery.curCSS(elem, nmp) ), floatVal]; - } - } else { - y['borderStyle'] = m[i]; - } - } - break; - } - } else { - y[tp] = vp; - } - return false; - }; - - for(p in prop) { - if (p == 'style') { - var newStyles = jQuery.parseStyle(prop[p]); - for (np in newStyles) { - this.getValues(np, newStyles[np]); - } - } else if (p == 'className') { - if (document.styleSheets) - for (var i=0; i options.duration + z.startTime) { - clearInterval(z.timer); - z.timer = null; - for (p in props) { - if ( p == "opacity" ) - jQuery.attr(y, "opacity", props[p][1]); - else if (typeof props[p][1] == 'object') - y[p] = 'rgb(' + props[p][1].r +',' + props[p][1].g +',' + props[p][1].b +')'; - else - y[p] = props[p][1] + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); - } - if ( options.hide || options.show ) - for ( var p in elem.orig ) - if (p == "opacity") - jQuery.attr(y, p, elem.orig[p]); - else - y[p] = ""; - y.display = options.hide ? 'none' : (oldDisplay !='none' ? oldDisplay : 'block'); - y.overflow = oldOverflow; - elem.animationHandler = null; - if ( jQuery.isFunction( options.complete ) ) - options.complete.apply( elem ); - } else { - var n = t - this.startTime; - var pr = n / options.duration; - for (p in props) { - if (typeof props[p][1] == 'object') { - y[p] = 'rgb(' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].r, (props[p][1].r-props[p][0].r), options.duration)) - + ',' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].g, (props[p][1].g-props[p][0].g), options.duration)) - + ',' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].b, (props[p][1].b-props[p][0].b), options.duration)) - +')'; - } else { - var pValue = jQuery.easing[options.easing](pr, n, props[p][0], (props[p][1]-props[p][0]), options.duration); - if ( p == "opacity" ) - jQuery.attr(y, "opacity", pValue); - else - y[p] = pValue + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); - } - } - - } - }; - z.timer=setInterval(function(){z.step();},13); - elem.animationHandler = z; - }, - stopAnim: function(elem, step) - { - if (step) - elem.animationHandler.startTime -= 100000000; - else { - window.clearInterval(elem.animationHandler.timer); - elem.animationHandler = null; - jQuery.dequeue(elem, "fx"); - } - } -} -); - -jQuery.parseStyle = function(styles) { - var newStyles = {}; - if (typeof styles == 'string') { - styles = styles.toLowerCase().split(';'); - for(var i=0; i< styles.length; i++){ - rule = styles[i].split(':'); - if (rule.length == 2) { - newStyles[jQuery.trim(rule[0].replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}))] = jQuery.trim(rule[1]); - } - } - } - return newStyles; +/** + * Interface Elements for jQuery + * FX + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Validates elements that can be animated + */ +jQuery.fxCheckTag = function(e) +{ + if (/^tr$|^td$|^tbody$|^caption$|^thead$|^tfoot$|^col$|^colgroup$|^th$|^body$|^header$|^script$|^frame$|^frameset$|^option$|^optgroup$|^meta$/i.test(e.nodeName) ) + return false; + else + return true; +}; + +/** + * Destroy the wrapper used for some animations + */ +jQuery.fx.destroyWrapper = function(e, old) +{ + var c = e.firstChild; + var cs = c.style; + cs.position = old.position; + cs.marginTop = old.margins.t; + cs.marginLeft = old.margins.l; + cs.marginBottom = old.margins.b; + cs.marginRight = old.margins.r; + cs.top = old.top + 'px'; + cs.left = old.left + 'px'; + e.parentNode.insertBefore(c, e); + e.parentNode.removeChild(e); +}; + +/** + * Builds a wrapper used for some animations + */ +jQuery.fx.buildWrapper = function(e) +{ + if (!jQuery.fxCheckTag(e)) + return false; + var t = jQuery(e); + var es = e.style; + var restoreStyle = false; + + if (t.css('display') == 'none') { + oldVisibility = t.css('visibility'); + t.css('visibility', 'hidden').show(); + restoreStyle = true; + } + var oldStyle = {}; + oldStyle.position = t.css('position'); + oldStyle.sizes = jQuery.iUtil.getSize(e); + oldStyle.margins = jQuery.iUtil.getMargins(e); + + var oldFloat = e.currentStyle ? e.currentStyle.styleFloat : t.css('float'); + oldStyle.top = parseInt(t.css('top'))||0; + oldStyle.left = parseInt(t.css('left'))||0; + var wid = 'w_' + parseInt(Math.random() * 10000); + var wr = document.createElement(/^img$|^br$|^input$|^hr$|^select$|^textarea$|^object$|^iframe$|^button$|^form$|^table$|^ul$|^dl$|^ol$/i.test(e.nodeName) ? 'div' : e.nodeName); + jQuery.attr(wr,'id', wid); + var wrapEl = jQuery(wr).addClass('fxWrapper'); + var wrs = wr.style; + var top = 0; + var left = 0; + if (oldStyle.position == 'relative' || oldStyle.position == 'absolute'){ + top = oldStyle.top; + left = oldStyle.left; + } + + wrs.top = top + 'px'; + wrs.left = left + 'px'; + wrs.position = oldStyle.position != 'relative' && oldStyle.position != 'absolute' ? 'relative' : oldStyle.position; + wrs.height = oldStyle.sizes.hb + 'px'; + wrs.width = oldStyle.sizes.wb + 'px'; + wrs.marginTop = oldStyle.margins.t; + wrs.marginRight = oldStyle.margins.r; + wrs.marginBottom = oldStyle.margins.b; + wrs.marginLeft = oldStyle.margins.l; + wrs.overflow = 'hidden'; + if (jQuery.browser.msie) { + wrs.styleFloat = oldFloat; + } else { + wrs.cssFloat = oldFloat; + } + if (jQuery.browser == "msie") { + es.filter = "alpha(opacity=" + 0.999*100 + ")"; + } + es.opacity = 0.999; + //t.wrap(wr); + e.parentNode.insertBefore(wr, e); + wr.appendChild(e); + es.marginTop = '0px'; + es.marginRight = '0px'; + es.marginBottom = '0px'; + es.marginLeft = '0px'; + es.position = 'absolute'; + es.listStyle = 'none'; + es.top = '0px'; + es.left = '0px'; + if (restoreStyle) { + t.hide(); + es.visibility = oldVisibility; + } + return {oldStyle:oldStyle, wrapper:jQuery(wr)}; +}; + +/** + * named colors + */ +jQuery.fx.namedColors = { + aqua:[0,255,255], + azure:[240,255,255], + beige:[245,245,220], + black:[0,0,0], + blue:[0,0,255], + brown:[165,42,42], + cyan:[0,255,255], + darkblue:[0,0,139], + darkcyan:[0,139,139], + darkgrey:[169,169,169], + darkgreen:[0,100,0], + darkkhaki:[189,183,107], + darkmagenta:[139,0,139], + darkolivegreen:[85,107,47], + darkorange:[255,140,0], + darkorchid:[153,50,204], + darkred:[139,0,0], + darksalmon:[233,150,122], + darkviolet:[148,0,211], + fuchsia:[255,0,255], + gold:[255,215,0], + green:[0,128,0], + indigo:[75,0,130], + khaki:[240,230,140], + lightblue:[173,216,230], + lightcyan:[224,255,255], + lightgreen:[144,238,144], + lightgrey:[211,211,211], + lightpink:[255,182,193], + lightyellow:[255,255,224], + lime:[0,255,0], + magenta:[255,0,255], + maroon:[128,0,0], + navy:[0,0,128], + olive:[128,128,0], + orange:[255,165,0], + pink:[255,192,203], + purple:[128,0,128], + red:[255,0,0], + silver:[192,192,192], + white:[255,255,255], + yellow:[255,255,0] +}; + +/** + * parses a color to an object for reg, green and blue + */ +jQuery.fx.parseColor = function(color, notColor) +{ + if (jQuery.fx.namedColors[color]) + return { + r: jQuery.fx.namedColors[color][0], + g: jQuery.fx.namedColors[color][1], + b: jQuery.fx.namedColors[color][2] + }; + else if (result = /^rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)$/.exec(color)) + return { + r: parseInt(result[1]), + g: parseInt(result[2]), + b: parseInt(result[3]) + }; + else if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)$/.exec(color)) + return { + r: parseFloat(result[1])*2.55, + g: parseFloat(result[2])*2.55, + b: parseFloat(result[3])*2.55 + }; + else if (result = /^#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/.exec(color)) + return { + r: parseInt("0x"+ result[1] + result[1]), + g: parseInt("0x" + result[2] + result[2]), + b: parseInt("0x" + result[3] + result[3]) + }; + else if (result = /^#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/.exec(color)) + return { + r: parseInt("0x" + result[1]), + g: parseInt("0x" + result[2]), + b: parseInt("0x" + result[3]) + }; + else + return notColor == true ? false : {r: 255, g: 255, b: 255}; +}; +/** + * CSS rules that can be animated + */ +jQuery.fx.cssProps = { + borderBottomWidth:1, + borderLeftWidth:1, + borderRightWidth:1, + borderTopWidth:1, + bottom:1, + fontSize:1, + height:1, + left:1, + letterSpacing:1, + lineHeight:1, + marginBottom:1, + marginLeft:1, + marginRight:1, + marginTop:1, + maxHeight:1, + maxWidth:1, + minHeight:1, + minWidth:1, + opacity:1, + outlineOffset:1, + outlineWidth:1, + paddingBottom:1, + paddingLeft:1, + paddingRight:1, + paddingTop:1, + right:1, + textIndent:1, + top:1, + width:1, + zIndex:1 +}; +/** + * CSS color rules that can be animated + */ +jQuery.fx.colorCssProps = { + backgroundColor:1, + borderBottomColor:1, + borderLeftColor:1, + borderRightColor:1, + borderTopColor:1, + color:1, + outlineColor:1 +}; + +jQuery.fx.cssSides = ['Top', 'Right', 'Bottom', 'Left']; +jQuery.fx.cssSidesEnd = { + 'borderWidth': ['border', 'Width'], + 'borderColor': ['border', 'Color'], + 'margin': ['margin', ''], + 'padding': ['padding', ''] +}; + +/** + * Overwrite animation to use new FX function + */ +jQuery.fn.extend({ + + animate: function( prop, speed, easing, callback ) { + return this.queue(function(){ + var opt = jQuery.speed(speed, easing, callback); + var e = new jQuery.fxe( this, opt, prop ); + + }); + }, + pause: function(speed, callback) { + return this.queue(function(){ + var opt = jQuery.speed(speed, callback); + var e = new jQuery.pause( this, opt ); + }); + }, + stop : function(step) { + return this.each(function(){ + if (this.animationHandler) + jQuery.stopAnim(this, step); + + }); + }, + stopAll : function(step) { + return this.each(function(){ + if (this.animationHandler) + jQuery.stopAnim(this, step); + if ( this.queue && this.queue['fx'] ) + this.queue.fx = []; + }); + } +}); +/** + * Improved FXC function that aniamtes collection of properties per timer. Accepts inline styles and class names to animate + */ +jQuery.extend({ + pause: function(elem, options) + { + var z = this, values; + z.step = function() + { + if ( jQuery.isFunction( options.complete ) ) + options.complete.apply( elem ); + }; + z.timer=setInterval(function(){z.step();},options.duration); + elem.animationHandler = z; + }, + easing : { + linear: function(p, n, firstNum, delta, duration) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; + } + }, + fxe: function( elem, options, prop ){ + var z = this, values; + + // The styles + var y = elem.style; + var oldOverflow = jQuery.css(elem, "overflow"); + var oldDisplay= jQuery.css(elem, "display"); + var props = {}; + z.startTime = (new Date()).getTime(); + options.easing = options.easing && jQuery.easing[options.easing] ? options.easing : 'linear'; + + z.getValues = function(tp, vp) + { + if (jQuery.fx.cssProps[tp]) { + if (vp == 'show' || vp == 'hide' || vp == 'toggle') { + if ( !elem.orig ) elem.orig = {}; + var r = parseFloat( jQuery.curCSS(elem, tp) ); + elem.orig[tp] = r && r > -10000 ? r : (parseFloat( jQuery.css(elem,tp) )||0); + vp = vp == 'toggle' ? ( oldDisplay == 'none' ? 'show' : 'hide') : vp; + options[vp] = true; + props[tp] = vp == 'show' ? [0, elem.orig[tp]] : [elem.orig[tp], 0]; + if (tp != 'opacity') + y[tp] = props[tp][0] + (tp != 'zIndex' && tp != 'fontWeight' ? 'px':''); + else + jQuery.attr(y, "opacity", props[tp][0]); + } else { + props[tp] = [parseFloat( jQuery.curCSS(elem, tp) ), parseFloat(vp)||0]; + } + } else if (jQuery.fx.colorCssProps[tp]) + props[tp] = [jQuery.fx.parseColor(jQuery.curCSS(elem, tp)), jQuery.fx.parseColor(vp)]; + else if(/^margin$|padding$|border$|borderColor$|borderWidth$/i.test(tp)) { + var m = vp.replace(/\s+/g, ' ').replace(/rgb\s*\(\s*/g,'rgb(').replace(/\s*,\s*/g,',').replace(/\s*\)/g,')').match(/([^\s]+)/g); + switch(tp){ + case 'margin': + case 'padding': + case 'borderWidth': + case 'borderColor': + m[3] = m[3]||m[1]||m[0]; + m[2] = m[2]||m[0]; + m[1] = m[1]||m[0]; + for(var i = 0; i < jQuery.fx.cssSides.length; i++) { + var nmp = jQuery.fx.cssSidesEnd[tp][0] + jQuery.fx.cssSides[i] + jQuery.fx.cssSidesEnd[tp][1]; + props[nmp] = tp == 'borderColor' ? + [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] + : [parseFloat( jQuery.curCSS(elem, nmp) ), parseFloat(m[i])]; + } + break; + case 'border': + for(var i = 0; i< m.length; i++) { + var floatVal = parseFloat(m[i]); + var sideEnd = !isNaN(floatVal) ? 'Width' : (!/transparent|none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset/i.test(m[i]) ? 'Color' : false); + if (sideEnd) { + for(var j = 0; j < jQuery.fx.cssSides.length; j++) { + nmp = 'border' + jQuery.fx.cssSides[j] + sideEnd; + props[nmp] = sideEnd == 'Color' ? + [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] + : [parseFloat( jQuery.curCSS(elem, nmp) ), floatVal]; + } + } else { + y['borderStyle'] = m[i]; + } + } + break; + } + } else { + y[tp] = vp; + } + return false; + }; + + for(p in prop) { + if (p == 'style') { + var newStyles = jQuery.parseStyle(prop[p]); + for (np in newStyles) { + this.getValues(np, newStyles[np]); + } + } else if (p == 'className') { + if (document.styleSheets) + for (var i=0; i options.duration + z.startTime) { + clearInterval(z.timer); + z.timer = null; + for (p in props) { + if ( p == "opacity" ) + jQuery.attr(y, "opacity", props[p][1]); + else if (typeof props[p][1] == 'object') + y[p] = 'rgb(' + props[p][1].r +',' + props[p][1].g +',' + props[p][1].b +')'; + else + y[p] = props[p][1] + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); + } + if ( options.hide || options.show ) + for ( var p in elem.orig ) + if (p == "opacity") + jQuery.attr(y, p, elem.orig[p]); + else + y[p] = ""; + y.display = options.hide ? 'none' : (oldDisplay !='none' ? oldDisplay : 'block'); + y.overflow = oldOverflow; + elem.animationHandler = null; + if ( jQuery.isFunction( options.complete ) ) + options.complete.apply( elem ); + } else { + var n = t - this.startTime; + var pr = n / options.duration; + for (p in props) { + if (typeof props[p][1] == 'object') { + y[p] = 'rgb(' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].r, (props[p][1].r-props[p][0].r), options.duration)) + + ',' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].g, (props[p][1].g-props[p][0].g), options.duration)) + + ',' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].b, (props[p][1].b-props[p][0].b), options.duration)) + +')'; + } else { + var pValue = jQuery.easing[options.easing](pr, n, props[p][0], (props[p][1]-props[p][0]), options.duration); + if ( p == "opacity" ) + jQuery.attr(y, "opacity", pValue); + else + y[p] = pValue + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); + } + } + + } + }; + z.timer=setInterval(function(){z.step();},13); + elem.animationHandler = z; + }, + stopAnim: function(elem, step) + { + if (step) + elem.animationHandler.startTime -= 100000000; + else { + window.clearInterval(elem.animationHandler.timer); + elem.animationHandler = null; + jQuery.dequeue(elem, "fx"); + } + } +} +); + +jQuery.parseStyle = function(styles) { + var newStyles = {}; + if (typeof styles == 'string') { + styles = styles.toLowerCase().split(';'); + for(var i=0; i< styles.length; i++){ + rule = styles[i].split(':'); + if (rule.length == 2) { + newStyles[jQuery.trim(rule[0].replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}))] = jQuery.trim(rule[1]); + } + } + } + return newStyles; }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/js/iselect.js --- a/web/res/metadataplayer/test/css-dock-menu/js/iselect.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/js/iselect.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,275 +1,275 @@ -/** - * Interface Elements for jQuery - * Selectables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -jQuery.selectHelper = null; -jQuery.selectKeyHelper = false; -jQuery.selectdrug = null; -jQuery.selectCurrent = []; // For current selection -jQuery.selectKeyDown = function(e) { - var pressedKey = e.charCode || e.keyCode || -1; - if (pressedKey == 17 || pressedKey == 16) { - jQuery.selectKeyHelper = true; - } -}; -jQuery.selectKeyUp = function(e) { - jQuery.selectKeyHelper = false; -}; -jQuery.selectstart = function(e) { - this.f.pointer = jQuery.iUtil.getPointer(e); - this.f.pos = jQuery.extend( - jQuery.iUtil.getPosition(this), - jQuery.iUtil.getSize(this) - ); - - this.f.scr = jQuery.iUtil.getScroll(this); - this.f.pointer.x -= this.f.pos.x; - this.f.pointer.y -= this.f.pos.y; - jQuery(this).append(jQuery.selectHelper.get(0)); - if (this.f.hc) - jQuery.selectHelper.addClass(this.f.hc).css('display','block'); - jQuery.selectHelper.css( - { - display: 'block', - width: '0px', - height: '0px' - } - ); - if (this.f.o) { - jQuery.selectHelper.css('opacity', this.f.o); - } - - jQuery.selectdrug = this; - jQuery.selectedone = false; - jQuery.selectCurrent = []; // For current selection state - this.f.el.each( - function () - { - this.pos = { - x: this.offsetLeft + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderLeftWidth)||0:0) + (jQuery.selectdrug.scrollLeft||0), - y: this.offsetTop + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderTopWidth)||0:0) + (jQuery.selectdrug.scrollTop||0), - wb: this.offsetWidth, - hb: this.offsetHeight - }; - if (this.s == true) { - if (jQuery.selectKeyHelper == false) { - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } else { - jQuery.selectedone = true; - - // Save current state - jQuery.selectCurrent[jQuery.selectCurrent.length] = jQuery.attr(this,'id'); - } - } - } - ); - jQuery.selectcheck.apply(this, [e]); - jQuery(document) - .bind('mousemove', jQuery.selectcheck) - .bind('mouseup', jQuery.selectstop); - return false; -}; -jQuery.selectcheck = function(e) -{ - if(!jQuery.selectdrug) - return; - jQuery.selectcheckApply.apply(jQuery.selectdrug, [e]); -}; -jQuery.selectcheckApply = function(e) -{ - if(!jQuery.selectdrug) - return; - var pointer = jQuery.iUtil.getPointer(e); - - var scr = jQuery.iUtil.getScroll(jQuery.selectdrug); - pointer.x += scr.l - this.f.scr.l - this.f.pos.x; - pointer.y += scr.t - this.f.scr.t - this.f.pos.y; - - var sx = Math.min(pointer.x, this.f.pointer.x); - var sw = Math.min(Math.abs(pointer.x - this.f.pointer.x), Math.abs(this.f.scr.w - sx)); - var sy = Math.min(pointer.y, this.f.pointer.y); - var sh = Math.min(Math.abs(pointer.y - this.f.pointer.y), Math.abs(this.f.scr.h - sy)); - if (this.scrollTop > 0 && pointer.y - 20 < this.scrollTop) { - var diff = Math.min(scr.t, 10); - sy -= diff; - sh += diff; - this.scrollTop -= diff; - } else if (this.scrollTop+ this.f.pos.h < this.f.scr.h && pointer.y + 20 > this.scrollTop + this.f.pos.h) { - var diff = Math.min(this.f.scr.h - this.scrollTop, 10); - this.scrollTop += diff; - if (this.scrollTop != scr.t) - sh += diff; - } - if (this.scrollLeft > 0 && pointer.x - 20 < this.scrollLeft) { - var diff = Math.min(scr.l, 10); - sx -= diff; - sw += diff; - this.scrollLeft -= diff; - } else if (this.scrollLeft+ this.f.pos.w < this.f.scr.w && pointer.x + 20 > this.scrollLeft + this.f.pos.w) { - var diff = Math.min(this.f.scr.w - this.scrollLeft, 10); - this.scrollLeft += diff; - if (this.scrollLeft != scr.l) - sw += diff; - } - jQuery.selectHelper.css( - { - left: sx + 'px', - top: sy + 'px', - width: sw + 'px', - height: sh + 'px' - } - ); - jQuery.selectHelper.l = sx + this.f.scr.l; - jQuery.selectHelper.t = sy + this.f.scr.t; - jQuery.selectHelper.r = jQuery.selectHelper.l + sw; - jQuery.selectHelper.b = jQuery.selectHelper.t + sh; - jQuery.selectedone = false; - this.f.el.each( - function () { - // Locate the current element in the current selection - iIndex = jQuery.selectCurrent.indexOf(jQuery.attr(this, 'id')); - // In case we are currently OVER an item - if ( - ! ( this.pos.x > jQuery.selectHelper.r - || (this.pos.x + this.pos.wb) < jQuery.selectHelper.l - || this.pos.y > jQuery.selectHelper.b - || (this.pos.y + this.pos.hb) < jQuery.selectHelper.t - ) - ) - { - jQuery.selectedone = true; - if (this.s != true) { - this.s = true; - jQuery(this).addClass(jQuery.selectdrug.f.sc); - } - - // Check to see if this item was previously selected, if so, unselect it - if (iIndex != -1) { - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } - } else if ( - (this.s == true) && - (iIndex == -1) - ) { - // If the item was marked as selected, but it was not selected when you started dragging unselect it. - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } else if ( - (!this.s) && - (jQuery.selectKeyHelper == true) && - (iIndex != -1) - ) { - // Reselect the item if: - // - we ARE multiselecting, - // - dragged over an allready selected object (so it got unselected) - // - But then dragged the selection out of it again. - this.s = true; - jQuery(this).addClass(jQuery.selectdrug.f.sc); - } - } - ); - return false; -}; -jQuery.selectstop = function(e) -{ - if(!jQuery.selectdrug) - return; - jQuery.selectstopApply.apply(jQuery.selectdrug, [e]); -}; -jQuery.selectstopApply = function(e) -{ - jQuery(document) - .unbind('mousemove', jQuery.selectcheck) - .unbind('mouseup', jQuery.selectstop); - if(!jQuery.selectdrug) - return; - jQuery.selectHelper.css('display','none'); - if (this.f.hc) - jQuery.selectHelper.removeClass(this.f.hc); - jQuery.selectdrug = false; - jQuery('body').append(jQuery.selectHelper.get(0)); - // - // In case we have selected some new items.. - if (jQuery.selectedone == true) { - if (this.f.onselect) - this.f.onselect(jQuery.Selectserialize(jQuery.attr(this,'id'))); - } else { - if (this.f.onselectstop) - this.f.onselectstop(jQuery.Selectserialize(jQuery.attr(this,'id'))); - } - // Reset current selection - jQuery.selectCurrent = []; -}; - -jQuery.Selectserialize = function(s) -{ - var h = ''; - var o = []; - if (a = jQuery('#' + s)) { - a.get(0).f.el.each( - function () - { - if (this.s == true) { - if (h.length > 0) { - h += '&'; - } - h += s + '[]=' + jQuery.attr(this,'id'); - o[o.length] = jQuery.attr(this,'id'); - } - } - ); - } - return {hash:h, o:o}; -}; -jQuery.fn.Selectable = function(o) -{ - if (!jQuery.selectHelper) { - jQuery('body',document).append('
').bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - jQuery.selectHelper = jQuery('#selectHelper'); - jQuery.selectHelper.css( - { - position: 'absolute', - display: 'none' - } - ); - - if (window.event) { - jQuery('body',document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - } else { - jQuery(document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - } - } - - if (!o) { - o = {}; - } - return this.each( - function() - { - if (this.isSelectable) - return; - this.isSelectable = true; - this.f = { - a : o.accept, - o : o.opacity ? parseFloat(o.opacity) : false, - sc : o.selectedclass ? o.selectedclass : false, - hc : o.helperclass ? o.helperclass : false, - onselect : o.onselect ? o.onselect : false, - onselectstop : o.onselectstop ? o.onselectstop : false - }; - this.f.el = jQuery('.' + o.accept); - jQuery(this).bind('mousedown', jQuery.selectstart).css('position', 'relative'); - } - ); +/** + * Interface Elements for jQuery + * Selectables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +jQuery.selectHelper = null; +jQuery.selectKeyHelper = false; +jQuery.selectdrug = null; +jQuery.selectCurrent = []; // For current selection +jQuery.selectKeyDown = function(e) { + var pressedKey = e.charCode || e.keyCode || -1; + if (pressedKey == 17 || pressedKey == 16) { + jQuery.selectKeyHelper = true; + } +}; +jQuery.selectKeyUp = function(e) { + jQuery.selectKeyHelper = false; +}; +jQuery.selectstart = function(e) { + this.f.pointer = jQuery.iUtil.getPointer(e); + this.f.pos = jQuery.extend( + jQuery.iUtil.getPosition(this), + jQuery.iUtil.getSize(this) + ); + + this.f.scr = jQuery.iUtil.getScroll(this); + this.f.pointer.x -= this.f.pos.x; + this.f.pointer.y -= this.f.pos.y; + jQuery(this).append(jQuery.selectHelper.get(0)); + if (this.f.hc) + jQuery.selectHelper.addClass(this.f.hc).css('display','block'); + jQuery.selectHelper.css( + { + display: 'block', + width: '0px', + height: '0px' + } + ); + if (this.f.o) { + jQuery.selectHelper.css('opacity', this.f.o); + } + + jQuery.selectdrug = this; + jQuery.selectedone = false; + jQuery.selectCurrent = []; // For current selection state + this.f.el.each( + function () + { + this.pos = { + x: this.offsetLeft + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderLeftWidth)||0:0) + (jQuery.selectdrug.scrollLeft||0), + y: this.offsetTop + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderTopWidth)||0:0) + (jQuery.selectdrug.scrollTop||0), + wb: this.offsetWidth, + hb: this.offsetHeight + }; + if (this.s == true) { + if (jQuery.selectKeyHelper == false) { + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } else { + jQuery.selectedone = true; + + // Save current state + jQuery.selectCurrent[jQuery.selectCurrent.length] = jQuery.attr(this,'id'); + } + } + } + ); + jQuery.selectcheck.apply(this, [e]); + jQuery(document) + .bind('mousemove', jQuery.selectcheck) + .bind('mouseup', jQuery.selectstop); + return false; +}; +jQuery.selectcheck = function(e) +{ + if(!jQuery.selectdrug) + return; + jQuery.selectcheckApply.apply(jQuery.selectdrug, [e]); +}; +jQuery.selectcheckApply = function(e) +{ + if(!jQuery.selectdrug) + return; + var pointer = jQuery.iUtil.getPointer(e); + + var scr = jQuery.iUtil.getScroll(jQuery.selectdrug); + pointer.x += scr.l - this.f.scr.l - this.f.pos.x; + pointer.y += scr.t - this.f.scr.t - this.f.pos.y; + + var sx = Math.min(pointer.x, this.f.pointer.x); + var sw = Math.min(Math.abs(pointer.x - this.f.pointer.x), Math.abs(this.f.scr.w - sx)); + var sy = Math.min(pointer.y, this.f.pointer.y); + var sh = Math.min(Math.abs(pointer.y - this.f.pointer.y), Math.abs(this.f.scr.h - sy)); + if (this.scrollTop > 0 && pointer.y - 20 < this.scrollTop) { + var diff = Math.min(scr.t, 10); + sy -= diff; + sh += diff; + this.scrollTop -= diff; + } else if (this.scrollTop+ this.f.pos.h < this.f.scr.h && pointer.y + 20 > this.scrollTop + this.f.pos.h) { + var diff = Math.min(this.f.scr.h - this.scrollTop, 10); + this.scrollTop += diff; + if (this.scrollTop != scr.t) + sh += diff; + } + if (this.scrollLeft > 0 && pointer.x - 20 < this.scrollLeft) { + var diff = Math.min(scr.l, 10); + sx -= diff; + sw += diff; + this.scrollLeft -= diff; + } else if (this.scrollLeft+ this.f.pos.w < this.f.scr.w && pointer.x + 20 > this.scrollLeft + this.f.pos.w) { + var diff = Math.min(this.f.scr.w - this.scrollLeft, 10); + this.scrollLeft += diff; + if (this.scrollLeft != scr.l) + sw += diff; + } + jQuery.selectHelper.css( + { + left: sx + 'px', + top: sy + 'px', + width: sw + 'px', + height: sh + 'px' + } + ); + jQuery.selectHelper.l = sx + this.f.scr.l; + jQuery.selectHelper.t = sy + this.f.scr.t; + jQuery.selectHelper.r = jQuery.selectHelper.l + sw; + jQuery.selectHelper.b = jQuery.selectHelper.t + sh; + jQuery.selectedone = false; + this.f.el.each( + function () { + // Locate the current element in the current selection + iIndex = jQuery.selectCurrent.indexOf(jQuery.attr(this, 'id')); + // In case we are currently OVER an item + if ( + ! ( this.pos.x > jQuery.selectHelper.r + || (this.pos.x + this.pos.wb) < jQuery.selectHelper.l + || this.pos.y > jQuery.selectHelper.b + || (this.pos.y + this.pos.hb) < jQuery.selectHelper.t + ) + ) + { + jQuery.selectedone = true; + if (this.s != true) { + this.s = true; + jQuery(this).addClass(jQuery.selectdrug.f.sc); + } + + // Check to see if this item was previously selected, if so, unselect it + if (iIndex != -1) { + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } + } else if ( + (this.s == true) && + (iIndex == -1) + ) { + // If the item was marked as selected, but it was not selected when you started dragging unselect it. + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } else if ( + (!this.s) && + (jQuery.selectKeyHelper == true) && + (iIndex != -1) + ) { + // Reselect the item if: + // - we ARE multiselecting, + // - dragged over an allready selected object (so it got unselected) + // - But then dragged the selection out of it again. + this.s = true; + jQuery(this).addClass(jQuery.selectdrug.f.sc); + } + } + ); + return false; +}; +jQuery.selectstop = function(e) +{ + if(!jQuery.selectdrug) + return; + jQuery.selectstopApply.apply(jQuery.selectdrug, [e]); +}; +jQuery.selectstopApply = function(e) +{ + jQuery(document) + .unbind('mousemove', jQuery.selectcheck) + .unbind('mouseup', jQuery.selectstop); + if(!jQuery.selectdrug) + return; + jQuery.selectHelper.css('display','none'); + if (this.f.hc) + jQuery.selectHelper.removeClass(this.f.hc); + jQuery.selectdrug = false; + jQuery('body').append(jQuery.selectHelper.get(0)); + // + // In case we have selected some new items.. + if (jQuery.selectedone == true) { + if (this.f.onselect) + this.f.onselect(jQuery.Selectserialize(jQuery.attr(this,'id'))); + } else { + if (this.f.onselectstop) + this.f.onselectstop(jQuery.Selectserialize(jQuery.attr(this,'id'))); + } + // Reset current selection + jQuery.selectCurrent = []; +}; + +jQuery.Selectserialize = function(s) +{ + var h = ''; + var o = []; + if (a = jQuery('#' + s)) { + a.get(0).f.el.each( + function () + { + if (this.s == true) { + if (h.length > 0) { + h += '&'; + } + h += s + '[]=' + jQuery.attr(this,'id'); + o[o.length] = jQuery.attr(this,'id'); + } + } + ); + } + return {hash:h, o:o}; +}; +jQuery.fn.Selectable = function(o) +{ + if (!jQuery.selectHelper) { + jQuery('body',document).append('
').bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + jQuery.selectHelper = jQuery('#selectHelper'); + jQuery.selectHelper.css( + { + position: 'absolute', + display: 'none' + } + ); + + if (window.event) { + jQuery('body',document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + } else { + jQuery(document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + } + } + + if (!o) { + o = {}; + } + return this.each( + function() + { + if (this.isSelectable) + return; + this.isSelectable = true; + this.f = { + a : o.accept, + o : o.opacity ? parseFloat(o.opacity) : false, + sc : o.selectedclass ? o.selectedclass : false, + hc : o.helperclass ? o.helperclass : false, + onselect : o.onselect ? o.onselect : false, + onselectstop : o.onselectstop ? o.onselectstop : false + }; + this.f.el = jQuery('.' + o.accept); + jQuery(this).bind('mousedown', jQuery.selectstart).css('position', 'relative'); + } + ); }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/css-dock-menu/style.css --- a/web/res/metadataplayer/test/css-dock-menu/style.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/css-dock-menu/style.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,74 +1,74 @@ -body { - font: 11px Arial, Helvetica, sans-serif; - background: #ffffff url(images/main-bg.gif); - padding: 0; - margin: 0; -} -img { - border: none; -} - -/* dock - top */ -.dock { - position: relative; - height: 50px; - text-align: center; -} -.dock-container { - position: absolute; - height: 50px; - background: url(images/dock-bg2.gif); - padding-left: 20px; -} -a.dock-item { - display: block; - width: 40px; - color: #000; - position: absolute; - top: 0px; - text-align: center; - text-decoration: none; - font: bold 12px Arial, Helvetica, sans-serif; -} -.dock-item img { - border: none; - margin: 5px 10px 0px; - width: 100%; -} -.dock-item span { - display: none; - padding-left: 20px; -} - -/* dock2 - bottom */ -#dock2 { - width: 100%; - bottom: 0px; - position: absolute; - left: 0px; -} -.dock-container2 { - position: absolute; - height: 50px; - background: url(images/dock-bg.gif); - padding-left: 20px; -} -a.dock-item2 { - display: block; - font: bold 12px Arial, Helvetica, sans-serif; - width: 40px; - color: #000; - bottom: 0px; - position: absolute; - text-align: center; - text-decoration: none; -} -.dock-item2 span { - display: none; - padding-left: 20px; -} -.dock-item2 img { - border: none; - margin: 5px 10px 0px; - width: 100%; +body { + font: 11px Arial, Helvetica, sans-serif; + background: #ffffff url(images/main-bg.gif); + padding: 0; + margin: 0; +} +img { + border: none; +} + +/* dock - top */ +.dock { + position: relative; + height: 50px; + text-align: center; +} +.dock-container { + position: absolute; + height: 50px; + background: url(images/dock-bg2.gif); + padding-left: 20px; +} +a.dock-item { + display: block; + width: 40px; + color: #000; + position: absolute; + top: 0px; + text-align: center; + text-decoration: none; + font: bold 12px Arial, Helvetica, sans-serif; +} +.dock-item img { + border: none; + margin: 5px 10px 0px; + width: 100%; +} +.dock-item span { + display: none; + padding-left: 20px; +} + +/* dock2 - bottom */ +#dock2 { + width: 100%; + bottom: 0px; + position: absolute; + left: 0px; +} +.dock-container2 { + position: absolute; + height: 50px; + background: url(images/dock-bg.gif); + padding-left: 20px; +} +a.dock-item2 { + display: block; + font: bold 12px Arial, Helvetica, sans-serif; + width: 40px; + color: #000; + bottom: 0px; + position: absolute; + text-align: center; + text-decoration: none; +} +.dock-item2 span { + display: none; + padding-left: 20px; +} +.dock-item2 img { + border: none; + margin: 5px 10px 0px; + width: 100%; } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/1219830366Middlex02BottomRight.js --- a/web/res/metadataplayer/test/emission_fichiers/1219830366Middlex02BottomRight.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/1219830366Middlex02BottomRight.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,89 +1,89 @@ -function OAS_RICH(position) { -if (position == 'Middle') { -document.write ('\n'); -document.write (''); -} -if (position == 'x02') { -document.write (''); -} -if (position == 'BottomRight') { -document.write (''); -} -} +function OAS_RICH(position) { +if (position == 'Middle') { +document.write ('\n'); +document.write (''); +} +if (position == 'x02') { +document.write (''); +} +if (position == 'BottomRight') { +document.write (''); +} +} diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/265074200838.js --- a/web/res/metadataplayer/test/emission_fichiers/265074200838.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/265074200838.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1 +1,1 @@ -estat_Object=function(){};function eStat_loadjs(f){document.write('');};function eStat_urlRef(u){var pgu="";try{pgu=location.href;}catch(e){pgu="";};return u+"#&r="+pgu;};function eStat_windowOpen(winUrl,winName,winFeat){var urlref=eStat_urlRef(winUrl);var name=(winName&&winName!="")?winName.replace(/\s+/g,'_'):"";window.open(urlref,name,winFeat);};function Err(){var warn=true;var e="",w="";var _lvl=0;lvl=function(l){if(_lvl=0){charset=m[i].content.substr(posCharset+8);break;}}};if(!charset&&document.defaultCharset)charset=document.defaultCharset;return charset;};getRef=function(){var ret;try{ret=(top!=null&&top.location!=null&&typeof(top.location.href)=="string")?top.document.referrer:document.referrer;if(!ret||ret==""){if(window.opener&&window.opener.location)ret=window.opener.location.toString();}}catch(e){};return escape(ret);};getScr=function(){var scr="";if(typeof(screen)=="object"){scr+="&scw="+screen.width+"&sch="+screen.height+"&scp="+screen.colorDepth;}else eStat_er.W(env+"noscr",0);return scr;};getPge=function(t){var pgr="",pge="",pgd="";switch(t){case "m":if(navigator.appName=='Netscape')pgr=escape(document.referrer);else pgr=getRef();break;case "mf":pgr=getRef();break;case "mf4":case "mr":case "mr4":var _CKS=document.cookie;var _KS=_CKS.indexOf("cks=");if(_KS!=-1){var _START=_CKS.indexOf("=",_KS)+1;var _END=_CKS.indexOf(";",_KS);if(_END==-1)_END=_CKS.length;pgr=_CKS.substring(_START,_END);document.cookie="cks=; path=/; expires=Fri, 02 Jan 1970 00:00:00 GMT";}else pgr=(t=="mr"||t=="mr4")?escape(window.document.referrer):getRef();break;default:pgr=escape(window.document.referrer);break;};if(!pgr||pgr==""){try{var referer=window.location.hash;if(referer!=""){var st=referer.indexOf("#&r=");pgr="&r="+escape(referer.substring(st+4,referer.length));}else{pgr="&r=_bm_";eStat_er.W(env+"nopgr",0);}}catch(e){pgr="&r=_bm_";eStat_er.W(env+"nopgr",0);};}else pgr="&r="+pgr;pge=getCharset();if(!pge){eStat_er.W(env+"noenc",0);pge="";}else pge="&enc="+pge;pgd=document.domain;if(!pgd){eStat_er.W(env+"nodom",0);pgd="";}else pgd="&dom="+pgd;return pgr+pgd+pge;};this.getEnv=function(eStat_tag){return getScr()+getPge(eStat_tag);};};function Opt(){var opt="opt:";var alt="";var _proto="http://";var cyber;var v={_s:"",_g:"",_u:"",_p:"",_c:"",_c2:"",_a:"",_pt:"",_pb:"",_pr:"",_nb:"",_ca:"",_al:"",_L:"",_C:"",_R:"",_S:"",_W:"",_WU:""};set=function(vl,el,tg,et,dl){(vl&&vl!="")?v[el]=tg+vl:eStat_er.W(opt+et,dl);};cnflt=function(){eStat_er.E(opt+"ConflitTypCpt",3);};this.getSerial=function(){return v._s.substring(0,v._s.length-1);};this.serial=function(s){(cyber==true)?cnflt():cyber=false;v._s=s+"?";if(typeof(s)!='string'||s.length==0)eStat_er.W(opt+"Serial("+s+")",2);};this.cmclient=function(s){(cyber==false)?cnflt():cyber=true;(typeof(s)!='string'||s.length==0)?eStat_er.W(opt+"cmclient("+s+")",2):v._s=s+"_v?";};this.master=function(g){set(g,"_g","&g=","Master",1);};this.pg_mq=function(p){set(escape(p),"_p","&p=","PagesMarquees",2);v["_R"]=1;};this.gp_pg_mq=function(c){set(escape(c),"_c","&c=","GroupePagesMarquees",2);v["_S"]=1;};this.cm_cs=function(c){set(escape(c),"_c","&cs=","CM_CS",2);v["_S"]=1;};this.cm_cs2=function(c){set(escape(c),"_c2","&cs2=","CM_CS2",2);};this.action=function(a){set(a,"_a","&action=","Action",2);};this.typ_prod=function(pt){set(pt,"_pt","&ptype=","TypeProduit",1);};this.mrq_prod=function(pb){set(pb,"_pb","&pbrand=","MarqueProduit",1);};this.ref_prod=function(pr){set(pr,"_pr","&pref=","RefProduit",1);};this.nbr=function(nb){set(nb,"_nb","&nb=","Nombre",2);};this.ca_engdr=function(ca){set(ca,"_ca","&ca=","CA",2);};this.rubriq=function(r){this.pg_mq(r);};this.sec1=function(s){this.gp_pg_mq(s);};this.uid=function(u){set(u,"_u","&u=","UID",1);};this.alt=function(al){alt=al;};this.secur=function(){_proto="https://";};this.niveau=function(l,s){if(s!=""){var _s={'1':"&c=",'2':"&p=",'3':"&l3=",'4':"&l4="};(_s[l])?v._L+=_s[l]+escape(s):eStat_er.W(opt+"NiveauInconnu",1);}else eStat_er.W(opt+"NiveauVide",1);};this.critere=function(l,s){if(s!=""){(l<=5&&l>=1)?v._C+="&c"+l+"="+escape(s):eStat_er.W(opt+"CritereInconnu",1);}else eStat_er.W(opt+"CritereVide",1);};this.getAlt=function(){return alt;};this.isCyber=function(){return cyber;};this.hitcms=function(){return(v._R!="")||(v._S!="");};this.proto=function(){if(document.location.protocol.substring(0,5)=='https')this.secur();return _proto;};this.miss=function(vect){var tab=null;for(var i=0;i
');};imgLoadChk=function(img,tries){if(img.complete==true){return;};if(tries<=0){if(img.name=="0"){var img_url=img.src+'&jstimeout=1';var _IM2=new Image(1,1);_IM2.alt=img.alt;img.src="";delete img;_IM2.name="1";_IM2.src=img_url;imgLoadChk(_IM2,10);}return;};window.setTimeout(function(){imgLoadChk(img,tries-1);},500);};send=function(FT,t){var _IM=new Image(1,1);_IM.name="0";_IM.src=FT;switch(t){case "wap":_IM.alt=eStat_id.getAlt();break;default:break;};imgLoadChk(_IM,10);};get_S=function(t){var _S="";switch(t){case "wap":_S="http://prof.estat.com/m/wap/";break;default:_S=(eStat_id.isCyber())?"http://stat3.cybermonitor.com/":eStat_id.proto()+"prof.estat.com/m/web/";break;}return _S;};getTag=function(t){var ms=eStat_id.miss(v[t]);if(ms&&t!="cms"){var am="";for(var i=0;i');};function eStat_urlRef(u){var pgu="";try{pgu=location.href;}catch(e){pgu="";};return u+"#&r="+pgu;};function eStat_windowOpen(winUrl,winName,winFeat){var urlref=eStat_urlRef(winUrl);var name=(winName&&winName!="")?winName.replace(/\s+/g,'_'):"";window.open(urlref,name,winFeat);};function Err(){var warn=true;var e="",w="";var _lvl=0;lvl=function(l){if(_lvl=0){charset=m[i].content.substr(posCharset+8);break;}}};if(!charset&&document.defaultCharset)charset=document.defaultCharset;return charset;};getRef=function(){var ret;try{ret=(top!=null&&top.location!=null&&typeof(top.location.href)=="string")?top.document.referrer:document.referrer;if(!ret||ret==""){if(window.opener&&window.opener.location)ret=window.opener.location.toString();}}catch(e){};return escape(ret);};getScr=function(){var scr="";if(typeof(screen)=="object"){scr+="&scw="+screen.width+"&sch="+screen.height+"&scp="+screen.colorDepth;}else eStat_er.W(env+"noscr",0);return scr;};getPge=function(t){var pgr="",pge="",pgd="";switch(t){case "m":if(navigator.appName=='Netscape')pgr=escape(document.referrer);else pgr=getRef();break;case "mf":pgr=getRef();break;case "mf4":case "mr":case "mr4":var _CKS=document.cookie;var _KS=_CKS.indexOf("cks=");if(_KS!=-1){var _START=_CKS.indexOf("=",_KS)+1;var _END=_CKS.indexOf(";",_KS);if(_END==-1)_END=_CKS.length;pgr=_CKS.substring(_START,_END);document.cookie="cks=; path=/; expires=Fri, 02 Jan 1970 00:00:00 GMT";}else pgr=(t=="mr"||t=="mr4")?escape(window.document.referrer):getRef();break;default:pgr=escape(window.document.referrer);break;};if(!pgr||pgr==""){try{var referer=window.location.hash;if(referer!=""){var st=referer.indexOf("#&r=");pgr="&r="+escape(referer.substring(st+4,referer.length));}else{pgr="&r=_bm_";eStat_er.W(env+"nopgr",0);}}catch(e){pgr="&r=_bm_";eStat_er.W(env+"nopgr",0);};}else pgr="&r="+pgr;pge=getCharset();if(!pge){eStat_er.W(env+"noenc",0);pge="";}else pge="&enc="+pge;pgd=document.domain;if(!pgd){eStat_er.W(env+"nodom",0);pgd="";}else pgd="&dom="+pgd;return pgr+pgd+pge;};this.getEnv=function(eStat_tag){return getScr()+getPge(eStat_tag);};};function Opt(){var opt="opt:";var alt="";var _proto="http://";var cyber;var v={_s:"",_g:"",_u:"",_p:"",_c:"",_c2:"",_a:"",_pt:"",_pb:"",_pr:"",_nb:"",_ca:"",_al:"",_L:"",_C:"",_R:"",_S:"",_W:"",_WU:""};set=function(vl,el,tg,et,dl){(vl&&vl!="")?v[el]=tg+vl:eStat_er.W(opt+et,dl);};cnflt=function(){eStat_er.E(opt+"ConflitTypCpt",3);};this.getSerial=function(){return v._s.substring(0,v._s.length-1);};this.serial=function(s){(cyber==true)?cnflt():cyber=false;v._s=s+"?";if(typeof(s)!='string'||s.length==0)eStat_er.W(opt+"Serial("+s+")",2);};this.cmclient=function(s){(cyber==false)?cnflt():cyber=true;(typeof(s)!='string'||s.length==0)?eStat_er.W(opt+"cmclient("+s+")",2):v._s=s+"_v?";};this.master=function(g){set(g,"_g","&g=","Master",1);};this.pg_mq=function(p){set(escape(p),"_p","&p=","PagesMarquees",2);v["_R"]=1;};this.gp_pg_mq=function(c){set(escape(c),"_c","&c=","GroupePagesMarquees",2);v["_S"]=1;};this.cm_cs=function(c){set(escape(c),"_c","&cs=","CM_CS",2);v["_S"]=1;};this.cm_cs2=function(c){set(escape(c),"_c2","&cs2=","CM_CS2",2);};this.action=function(a){set(a,"_a","&action=","Action",2);};this.typ_prod=function(pt){set(pt,"_pt","&ptype=","TypeProduit",1);};this.mrq_prod=function(pb){set(pb,"_pb","&pbrand=","MarqueProduit",1);};this.ref_prod=function(pr){set(pr,"_pr","&pref=","RefProduit",1);};this.nbr=function(nb){set(nb,"_nb","&nb=","Nombre",2);};this.ca_engdr=function(ca){set(ca,"_ca","&ca=","CA",2);};this.rubriq=function(r){this.pg_mq(r);};this.sec1=function(s){this.gp_pg_mq(s);};this.uid=function(u){set(u,"_u","&u=","UID",1);};this.alt=function(al){alt=al;};this.secur=function(){_proto="https://";};this.niveau=function(l,s){if(s!=""){var _s={'1':"&c=",'2':"&p=",'3':"&l3=",'4':"&l4="};(_s[l])?v._L+=_s[l]+escape(s):eStat_er.W(opt+"NiveauInconnu",1);}else eStat_er.W(opt+"NiveauVide",1);};this.critere=function(l,s){if(s!=""){(l<=5&&l>=1)?v._C+="&c"+l+"="+escape(s):eStat_er.W(opt+"CritereInconnu",1);}else eStat_er.W(opt+"CritereVide",1);};this.getAlt=function(){return alt;};this.isCyber=function(){return cyber;};this.hitcms=function(){return(v._R!="")||(v._S!="");};this.proto=function(){if(document.location.protocol.substring(0,5)=='https')this.secur();return _proto;};this.miss=function(vect){var tab=null;for(var i=0;i
');};imgLoadChk=function(img,tries){if(img.complete==true){return;};if(tries<=0){if(img.name=="0"){var img_url=img.src+'&jstimeout=1';var _IM2=new Image(1,1);_IM2.alt=img.alt;img.src="";delete img;_IM2.name="1";_IM2.src=img_url;imgLoadChk(_IM2,10);}return;};window.setTimeout(function(){imgLoadChk(img,tries-1);},500);};send=function(FT,t){var _IM=new Image(1,1);_IM.name="0";_IM.src=FT;switch(t){case "wap":_IM.alt=eStat_id.getAlt();break;default:break;};imgLoadChk(_IM,10);};get_S=function(t){var _S="";switch(t){case "wap":_S="http://prof.estat.com/m/wap/";break;default:_S=(eStat_id.isCyber())?"http://stat3.cybermonitor.com/":eStat_id.proto()+"prof.estat.com/m/web/";break;}return _S;};getTag=function(t){var ms=eStat_id.miss(v[t]);if(ms&&t!="cms"){var am="";for(var i=0;i-1){v.onReady();return}if(N.msi&&window==top){(function(){if(v.isReady){return}try{L.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,0);return}v.onReady()})()}if(N.opr){L.addEventListener("DOMContentLoaded",function(){if(v.isReady){return}for(var d=0;d";s=p.getElementById("_atssh"+l)}b.opp(s.style);s.frameborder=s.style.border=0;s.style.top=s.style.left=0;return s},off:function(){return Math.floor((new Date().getTime()-f.sttm)/100).toString(16)},oms:function(d){var b=f;if(d&&d.data&&d.data.service){if(!b.upm){if(b.dcp){return}b.dcp=1}b.trk({gen:300,sh:d.data.service})}},omp:function(b,d,e){var a={};if(b){a.sh=b}if(d){a.cm=d}if(e){a.cs=e}f.img("sh","3",null,a)},trk:function(e){var d=f,i=d.dr,b=(d.rev||"");if(!e){return}if(i){i=i.split("http://").pop()}e.xck=_atc.xck?1:0;e.xxl=1;e.sid=d.ssid();e.pub=d.pub();e.ssl=d.ssl||0;e.du=d.tru(d.du||d.dl.href);if(d.dt){e.dt=d.dt}if(d.cb){e.cb=d.cb}e.lng=d.lng();e.ver=_atc.ver;if(!d.upm&&d.uid){e.uid=d.uid}e.pc=window.addthis_product||"men-"+_atc.ver;if(i){e.dr=d.tru(i)}if(d.dh){e.dh=d.dh}if(b){e.rev=b}if(d.xfr){if(d.upm){if(d.atf){d.atf.contentWindow.postMessage(m(e),"*")}}else{var l=d.get_atssh();base="static/r07/sh20.html"+(false?"?t="+new Date().getTime():"");if(d.atf){l.removeChild(l.firstChild)}d.atf=d.ctf();d.atf.src=_atr+base+"#"+m(e);l.appendChild(d.atf)}}else{f.qtp.push(e)}},img:function(l,r,b,p,q){if(!window.at_sub&&!_atc.xtr){var d=f,e=p||{};e.evt=l;if(b){e.ext=b}d.avt=e;if(q===1){d.xmi(true)}else{d.sxm(true)}}},cuid:function(){return((f.sttm/1000)&f.max).toString(16)+("00000000"+(Math.floor(Math.random()*(f.max+1))).toString(16)).slice(-8)},ssid:function(){if(f.sid===0){f.sid=f.cuid()}return f.sid},sta:function(){var b=f;return"AT-"+(b.pub()?b.pub():"unknown")+"/-/"+b.ab+"/"+b.ssid()+"/"+(b.seq++)+(b.uid!==null?"/"+b.uid:"")},cst:function(a){return"CXNID=2000001.521545608054043907"+(a||2)+"NXC"},fcv:function(b,a){return _euc(b)+"="+_euc(a)+";"+f.off()},cev:function(b,a){f.cvt.push(f.fcv(b,a));f.sxm(true)},sxm:function(a){if(f.tmo!==null){clearTimeout(f.tmo)}if(a){f.tmo=f.sto("_ate.xmi(false)",f.wait)}},xmi:function(r){var b=f,p=b.dl?b.dl.hostname:"";if(b.cvt.length>0||b.avt){b.sxm(false);if(_atc.xtr){return}var l=b.avt||{};l.ce=b.cvt.join(",");b.cvt=[];b.avt=null;b.trk(l);if(r){var q=document,e=q.ce("iframe");e.id="_atf";f.opp(e.style);q.body.appendChild(e);e=q.getElementById("_atf")}}}});J(f,{_rec:[],rec:function(e){if(!e){return}var q=j(e),b=f,d=b.atf,l=b._rec,w;if(q.ssh){b.ssh(q.ssh)}if(q.uid){b.uid=q.uid}if(q.dbm){b.dbm=q.dbm}if(q.rdy){b.xfr=1;b.xtp();return}for(var Q=0;Q=(i=i.charCodeAt(0)+13)?i:i-26)})}for(var p=0;p-1||i.indexOf(R.replace(/^ /g,""))===0){S|=r}}return S}function Q(){var U=(o.addthis_title||w.title),R=s(U),T=w.all?w.all.tags("META"):w.getElementsByTagName?w.getElementsByTagName("META"):new Array();if(T&&T.length){for(var S=0;S-1&&R.indexOf(_atd+"book")==-1){var w=[];var Z=R.substr(ac);Z=Z.split("&").shift().split("#").shift().split("=").pop();ae.sr=Z;if(ad.vamp>=0&&!ad.sub&&Z.length){w.push(ad.fcv("plv",Math.round(1/_atc.vamp)));w.push(ad.fcv("rsc",Z));ae.ce=w.join(",")}}if(ad.upm){ae.xd=1;if(f.bro.ffx){ae.xld=1}}if(p){if(ad.upm){if(q){f.sto(function(){Q();ad.atf=s=ad.ctf(d+m(ae))},f.wait);o.attachEvent("onmessage",ad.pmh)}else{s=ad.ctf();o.addEventListener("message",ad.pmh,false)}if(f.bro.ffx){s.src=d;f.qtp.push(ae)}else{if(!q){f.sto(function(){Q();s.src=d+m(ae)},f.wait)}}}else{s=ad.ctf();f.sto(function(){Q();s.src=d+m(ae)},f.wait)}if(s){ad.atf=s=ad.get_atssh().appendChild(s)}}if(o.addthis_language||M.ui_language){ad.alg()}if(ad.plo.length>0){ad.jlo()}}catch(ab){}}f.ed.addEventListener("addthis.menu.share",f.oms);o._ate=O;o._adr=v;try{var D=L.gn("script"),u=D[D.length-1],x=u.src.indexOf("#")>-1?u.src.replace(/^[^\#]+\#?/,""):u.src.replace(/^[^\?]+\??/,""),y=j(x);if(y.pub||y.username){o.addthis_pub=_duc(y.pub?y.pub:y.username)}if(o.addthis_pub&&o.addthis_config){o.addthis_config.username=o.addthis_pub}if(y.domready){_atc.dr=1}if(y.async){_atc.xol=1}if(_atc.ver===120){var C="atb"+f.cuid();L.write('');f.igv();f.lad(["span",C,addthis_share.url||"[url]",addthis_share.title||"[title]"])}if(o.addthis_clickout){f.lad(["cout"])}if(!_atc.xol&&!_atc.xcs&&M.ui_use_css!==false){f.acs(_atr+"static/r07/widget40.css")}}catch(K){}n.bindReady();n.append(h);(function(i,l,p){var d,w=i.util,b=i.event.EventDispatcher,r=25,e=[];function q(T,V,S){var R=[];function R(){R.push(arguments)}function U(){S[T]=V;while(R.length){V.apply(S,R.shift())}}R.ready=U;return R}function s(T){if(T&&T instanceof a){e.push(T)}for(var R=0;R-1){q.push(p)}}}else{u=u.replace(/\-/g,"\\-");var n=new RegExp("(^|\\s)"+u+(t?"\\w*":"")+"(\\s|$)");for(s=0;s-1){s=s.replace(/&([aeiou]).+;/g,"$1")}return s},customServices={},globalConfig=w.addthis_config,globalShare=w.addthis_share,upConfig={},upShare={},body=d.gn("body").item(0),mrg=function(o,n){if(n&&o!==n){for(var k in n){if(o[k]===u){o[k]=n[k]}}}},addevts=function(o,ss,au){var oldclick=o.onclick||function(){},genshare=function(){_ate.ed.fire("addthis.menu.share",window.addthis||{},{service:ss,url:o.share.url})};if(o.conf.data_ga_tracker||addthis_config.data_ga_tracker||o.conf.data_ga_property||addthis_config.data_ga_property){o.onclick=function(){_ate.gat(ss,au,o.conf,o.share);genshare();oldclick()}}else{o.onclick=function(){genshare();oldclick()}}},rpl=function(o,n){var r={};for(var k in o){if(n[k]){r[k]=n[k]}else{r[k]=o[k]}}return r},addthis=window.addthis,genieu=function(share){return"mailto:?subject="+_euc(share.title?share.title:"%20")+"&body="+_euc(share.title?share.title:"")+(share.title?"%0D%0A":"")+_euc(share.url)+"%0D%0A%0D%0AShared via AddThis.com"},b_title={email:"Email",mailto:"Email",print:"Print",favorites:"Save to Favorites",twitter:"Tweet This",digg:"Digg This",more:"View more services"},json={email_vars:1,modules:1,templates:1,services_custom:1},nosend={feed:1,more:1,email:1,mailto:1},nowindow={feed:1,email:1,mailto:1,print:1,more:1,favorites:1},a_config=["username","services_custom","services_exclude","services_compact","services_expanded","ui_click","ui_hide_embed","ui_delay","ui_hover_direction","ui_language","ui_offset_top","ui_offset_left","ui_header_color","ui_header_background","ui_icons","ui_cobrand","ui_use_embeddable_services","data_use_cookies","data_track_clickback","data_track_linkback"],a_share=["url","title","templates","email_template","email_vars","html","swfurl","iframeurl","width","height","modules","screenshot","author","description","content"],_uniquify=function(r){var a=[];var l=r.length;for(var i=0;i-1){o.firstChild.style.background="url("+customService.icon+") no-repeat top left"}}if(!nowindow[ss]){var t=_ate.trim,template=o.share.templates&&o.share.templates[ss]?o.share.templates[ss]:"",url=o.share.url||addthis_share.url,title=o.share.title||addthis_share.title,swfurl=o.share.swfurl||addthis_share.swfurl,width=o.share.width||addthis_share.width,height=o.share.height||addthis_share.height,description=o.share.description||addthis_share.description,screenshot=o.share.screenshot||addthis_share.screenshot;o.href="//"+_atd+"bookmark.php?pub="+t(addthis_config.username||o.conf.username||_ate.pub(),1)+"&v="+_atc.ver+"&source=tbx-"+_atc.ver+"&tt=0&s="+ss+"&url="+_euc(url||"")+"&title="+t(title||"",1)+"&content="+t(o.share.content||addthis_share.content||"",1)+(template?"&template="+_euc(template):"")+(o.conf.data_track_clickback||o.conf.data_track_linkback||(!_ate.pub())?"&sms_ss=1":"")+"&lng="+(o.conf.ui_language||_ate.lng()||"xy").split("-").shift()+(description?"&description="+t(description,1):"")+(swfurl?"&swfurl="+_euc(swfurl):"")+(attrs.issh?"&ips=1":"")+(width?"&width="+_euc(width):"")+(height?"&height="+_euc(height):"")+(screenshot?"&screenshot="+_euc(screenshot):"")+(customService&&customService.url?"&acn="+_euc(customService.name)+"&acc="+_euc(customService.code)+"&acu="+_euc(customService.url):"")+(_ate.uid?"&uid="+_euc(_ate.uid):"");addevts(o,ss,url);o.target="_blank";addthis.links.push(o)}else{if(ss=="mailto"||(ss=="email"&&(o.conf.ui_use_mailto||_ate.bro.iph||_ate.bro.ipa))){o.onclick=function(){};o.href=genieu(o.share);addevts(o,ss,url);addthis.ems.push(o)}}if(!o.title||o.at_titled){o.title=unaccent(b_title[ss]?b_title[ss]:"Send to "+addthis.util.getServiceName(ss,!customService));o.at_titled=1}}}var app;switch(internal){case"img":if(!o.hasChildNodes()){var lang=(o.conf.ui_language||_ate.lng()).split("-").shift(),validatedLang=_ate.ivl(lang);if(!validatedLang){lang="en"}else{if(validatedLang!==1){lang=validatedLang}}app=_makeButton(_ate.iwb(lang)?150:125,16,"Share",_atr+"static/btn/v2/lg-share-"+lang.substr(0,2)+".gif")}break}if(app){o.appendChild(app)}}}},buttons=addthis._gebcn(body,"A","addthis_button_",true,true),_renderToolbox=function(collection,config,share,reprocess){for(var i=0;i";var tm=b.firstChild;tm.src="//api.tweetmeme.com/button.js?url="+_euc(attr.share.url)+"&"+passthrough}else{if(sv==="facebook_like"){var fblike;passthrough=_ate.util.toKV(_parseThirdPartyAttributes(b,"fb:like"));if(!_ate.bro.msi){fblike=d.ce("iframe")}else{b.innerHTML='";fblike=b.firstChild}fblike.style.overflow="hidden";fblike.style.border="none";fblike.style.borderWidth="0px";fblike.style.width="82px";fblike.style.height="25px";fblike.style.marginTop="-2px";fblike.src="//www.facebook.com/plugins/like.php?href="+_euc(attr.share.url)+"&layout=button_count&show_faces=false&width=100&action=like&font=arial&"+passthrough;if(!_ate.bro.msi){b.appendChild(fblike)}}else{if(sv.indexOf("preferred")>-1){if(b._iss){continue}window.addthis_product="tbx-"+_atc.ver;s=c.match(/addthis_button_preferred_([0-9]+)(?:\s|$)/);var svidx=((s&&s.length)?Math.min(12,Math.max(1,parseInt(s[1]))):1)-1;if(window._atw){var excl=_atw.conf.services_exclude,locopts=_atw.loc,opts=_uniquify(addthis_options.replace(",more","").split(",").concat(locopts.split(",")));do{sv=opts[svidx++]}while((excl.indexOf(sv)>-1||(b.parentNode.services||{})[sv])&&svidx-1){if(!b.parentNode.services){b.parentNode.services={}}b.parentNode.services[sv]=1}if(!hc&&c.indexOf(a)==-1){b.className+=" "+a+"b"}options={singleservice:sv}}}if(b._ips){if(!options){options={}}options.issh=true}_render([b],attr,options);b.ost=1;window.addthis_product="tbx-"+_atc.ver}}}},gat=function(s,au,conf,share){var pageTracker=conf.data_ga_tracker,propertyId=conf.data_ga_property;if(propertyId&&typeof(window._gat)=="object"){pageTracker=_gat._getTracker(propertyId)}if(pageTracker&&typeof(pageTracker)=="string"){pageTracker=window[pageTracker]}if(pageTracker&&typeof(pageTracker)=="object"){var gaUrl=au||(share||{}).url||location.href;if(gaUrl.toLowerCase().replace("https","http").indexOf("http%3a%2f%2f")==0){gaUrl=_duc(gaUrl)}try{pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){try{pageTracker._initData();pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){}}}};_ate.gat=gat;addthis.update=function(which,what,value){if(which=="share"){if(!window.addthis_share){window.addthis_share={}}window.addthis_share[what]=value;upShare[what]=value;for(var i in addthis.links){var o=addthis.links[i],rx=new RegExp("&"+what+"=(.*)&"),ns="&"+what+"="+_euc(value)+"&";o.href=o.href.replace(rx,ns);if(o.href.indexOf(what)==-1){o.href+=ns}}for(var i in addthis.ems){var o=addthis.ems[i];o.href=genieu(addthis_share)}}else{if(which=="config"){if(!window.addthis_config){window.addthis_config={}}window.addthis_config[what]=value;upConfig[what]=value}}};addthis._render=_render;var rsrcs=[new _ate.resource.Resource("counter",_atr+"js/250/api.sharecounter.js",function(){return window.addthis.counter.ost}),new _ate.resource.Resource("countercss",_atr+"static/r07/counter40.css",function(){return true})];addthis.counter=function(what,config,share){if(what){what=addthis._select(what);if(what.length){for(var k in rsrcs){rsrcs[k].load()}}}};addthis.button=function(what,config,share){_render(what,{conf:config,share:share},{internal:"img"})};addthis.toolbox=function(what,config,share){var toolboxes=_select(what);for(var i=0;iB){delete a[d];_ate.cookie.sck("_atshc",o(a),0,1)}}},y=function(d){var a=_ate.cookie.rck("_atshc"),w=A(d)+1;u(d,w);if(!a){a={}}else{a=q(a)}if(a[d.url]){delete a[d.url]}a[_euc(d.url)]=w;_ate.cookie.sck("_atshc",o(a),0,1)},A=function(a){var d=0;if(a&&a.firstChild&&a.firstChild.firstChild){d=parseInt(a.firstChild.firstChild.nodeValue);if(isNaN(d)){d=0}}return d},u=function(d,D){if(!d){return}if(d.firstChild&&d.firstChild.nodeType==3){d.removeChild(d.firstChild)}if(!d.firstChild){var F=x.ce("a"),B=x.ce("a"),E=x.ce("span"),a=x.createTextNode("Share"),w=d.addthis_conf||{},C=d.addthis_share||{};F.className="addthis_button_expanded";B.className="atc_s addthis_button_compact";d.appendChild(F);d.appendChild(B);B.appendChild(E);E.appendChild(a);w.ui_offset_top=18;w.ui_offset_left=-4;addthis.button(B,w,C);addthis._render([F],{conf:w,share:C},{nohover:true,singleservice:"more"})}if(d.firstChild.firstChild){d.firstChild.removeChild(d.firstChild.firstChild)}D=x.createTextNode(D);d.firstChild.appendChild(D)},b=function(a,d){u(a,i(d))},f=[],l=function(a,B,C){var d=0,w=g(a.url);if(B.error){d="?"}else{d=B.shares}if(!isNaN(w)&&((isNaN(d)&&w>0)||w>d)){d=w}c(a.url,d);C(a,d)},m={},t={},v=function(a,w){if(!t[a.url]){t[a.url]=[]}t[a.url].push(a);if(m[a.url]){w(a,m[a.url])}else{_ate.ed.addEventListener("addthis.menu.share",function(B){try{if(B.data.service&&B.data.url==a.url){y(a)}}catch(B){}});var d="sc_"+encodeURIComponent(a.url).replace(/[0-3][A-Z]|[^a-zA-Z0-9]/g,"");if(!_ate.cbs){_ate.cbs={}}if(!_ate.cbs[d]){_ate.cbs[d]=function(C){if(s){img=new Image();z.imgz.push(img);img.src="//l.addthiscdn.com/live/t00/mu.gif?a=sc&t="+((new Date()).getTime()-_ate.cbs["time_"+d])}if(C&&!C.error&&C.shares){m[a.url]=C.shares}for(var B=0;B-1?addthis.util.getAttributes(a.parentNode,w,D):null,d=addthis.util.getAttributes(a,C?C.conf:w,C?C.share:D,true);if(!a.ost){a.url=d.share.url||(n.addthis_share||{}).url;a.addthis_conf=d.conf;a.addthis_share=d.share;a.ost=1;u(a,"--");v(a,function(F,G){b(F,G)})}}}};addthis.addEventListener("addthis.ready",function(){addthis.counter=function(w,a,d){h(w,a,d)};addthis.counter.ost=1;addthis.counter(".addthis_counter")});return addthis})()});_ate.extend(addthis,{user:(function(){var f=_ate,c=addthis,g={},d=0,j;function i(a,k){return f.reduce(["getID","getServiceShareHistory"],a,k)}function h(a,k){return function(l){setTimeout(function(){l(f[a]||k)},0)}}function b(){if(d){return}if(j!==null){clearTimeout(j)}j=null;d=1;i(function(l,a,k){g[a]=g[a].queuer.flush(h.apply(c,l[k]),c);return l},[["uid",""],["_ssh",[]]])}f._rec.push(b);j=setTimeout(b,5000);g.getPreferredServices=function(a){if(window._atw){a(addthis_options.split(","))}else{f.plo.push(["pref",a]);_ate.alg();if(f.gssh){f.pld=f.ajs("static/r07/menu57.js")}else{if(!f.pld){f.pld=1;_ate._rec.push(function(k){if(k.ssh){_ate.pld=_ate.ajs("static/r07/menu57.js")}})}}}};return i(function(k,a){k[a]=(new c._Queuer(a)).call;return k},g)})()}); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/ajax-responder.js --- a/web/res/metadataplayer/test/emission_fichiers/ajax-responder.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/ajax-responder.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,347 +1,347 @@ -// $Id: ajax-responder.js,v 1.18.2.6 2010/01/22 06:48:08 merlinofchaos Exp $ -/** - * @file - * - * CTools flexible AJAX responder object. - */ - -(function ($) { - Drupal.CTools = Drupal.CTools || {}; - Drupal.CTools.AJAX = Drupal.CTools.AJAX || {}; - Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {}; - - /** - * Success callback for an ajax request. - * - * This function expects to receive a packet of data from a JSON object - * which is essentially a list of commands. Each commands must have a - * 'command' setting and this setting must resolve to a function in the - * Drupal.CTools.AJAX.commands space. - */ - Drupal.CTools.AJAX.respond = function(data) { - for (i in data) { - if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) { - Drupal.CTools.AJAX.commands[data[i]['command']](data[i]); - } - } - }; - - /** - * Generic replacement click handler to open the modal with the destination - * specified by the href of the link. - */ - Drupal.CTools.AJAX.clickAJAXLink = function() { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - var url = $(this).attr('href'); - var object = $(this); - $(this).addClass('ctools-ajaxing'); - try { - url = url.replace(/nojs/g, 'ajax'); - $.ajax({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - - return false; - }; - - /** - * Generic replacement click handler to open the modal with the destination - * specified by the href of the link. - */ - Drupal.CTools.AJAX.clickAJAXButton = function() { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - // Put our button in. - this.form.clk = this; - - var url = Drupal.CTools.AJAX.findURL(this); - $(this).addClass('ctools-ajaxing'); - var object = $(this); - try { - if (url) { - url = url.replace('/nojs/', '/ajax/'); - $.ajax({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - else { - var form = this.form; - url = $(form).attr('action'); - url = url.replace('/nojs/', '/ajax/'); - $(form).ajaxSubmit({ - type: "POST", - url: url, - data: { 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - }, - dataType: 'json' - }); - } - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - return false; - }; - - /** - * Display error in a more fashion way - */ - Drupal.CTools.AJAX.handleErrors = function(xhr, path) { - var error_text = ''; - - if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) { - error_text = xhr.responseText; - - // Replace all < and > by < and > - error_text = error_text.replace("/&(lt|gt);/g", function (m, p) { - return (p == "lt")? "<" : ">"; - }); - - // Now, replace all html tags by empty spaces - error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,""); - - // Fix end lines - error_text = error_text.replace(/[\n]+\s+/g,"\n"); - } - else if (xhr.status == 500) { - error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information."); - } - else { - error_text = xhr.status + ': ' + xhr.statusText; - } - - alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text})); - } - - /** - * Generic replacement for change handler to execute ajax method. - */ - Drupal.CTools.AJAX.changeAJAX = function () { - if ($(this).hasClass('ctools-ajaxing')) { - return false; - } - - var url = Drupal.CTools.AJAX.findURL(this); - $(this).addClass('ctools-ajaxing'); - var object = $(this); - var form_id = $(object).parents('form').get(0).id; - try { - if (url) { - url = url.replace('/nojs/', '/ajax/'); - $.ajax({ - type: "POST", - url: url, - data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 }, - global: true, - success: Drupal.CTools.AJAX.respond, - error: function(xhr) { - Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - complete: function() { - object.removeClass('ctools-ajaxing'); - if ($(object).hasClass('ctools-ajax-submit-onchange')) { - $('form#' + form_id).submit(); - } - }, - dataType: 'json' - }); - } - else { - if ($(object).hasClass('ctools-ajax-submit-onchange')) { - $('form#' + form_id).submit(); - } - return false; - } - } - catch (err) { - alert("An error occurred while attempting to process " + url); - $(this).removeClass('ctools-ajaxing'); - return false; - } - return false; - }; - - /** - * Find a URL for an AJAX button. - * - * The URL for this gadget will be composed of the values of items by - * taking the ID of this item and adding -url and looking for that - * class. They need to be in the form in order since we will - * concat them all together using '/'. - */ - Drupal.CTools.AJAX.findURL = function(item) { - var url = ''; - var url_class = '.' + $(item).attr('id') + '-url'; - $(url_class).each( - function() { - if (url && $(this).val()) { - url += '/'; - } - url += $(this).val(); - }); - return url; - }; - - Drupal.CTools.AJAX.commands.prepend = function(data) { - $(data.selector).prepend(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.append = function(data) { - $(data.selector).append(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.replace = function(data) { - $(data.selector).replaceWith(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.after = function(data) { - var object = $(data.data); - $(data.selector).after(object); - Drupal.attachBehaviors(object); - }; - - Drupal.CTools.AJAX.commands.before = function(data) { - var object = $(data.data); - $(data.selector).before(object); - Drupal.attachBehaviors(object); - }; - - Drupal.CTools.AJAX.commands.html = function(data) { - $(data.selector).html(data.data); - Drupal.attachBehaviors($(data.selector)); - }; - - Drupal.CTools.AJAX.commands.remove = function(data) { - $(data.selector).remove(); - }; - - Drupal.CTools.AJAX.commands.changed = function(data) { - if (!$(data.selector).hasClass('changed')) { - $(data.selector).addClass('changed'); - if (data.star) { - $(data.selector).find(data.star).append(' * '); - } - } - }; - - Drupal.CTools.AJAX.commands.alert = function(data) { - alert(data.text, data.title); - }; - - Drupal.CTools.AJAX.commands.css = function(data) { - /* - if (data.selector && data.selector.contains('* html ')) { - // This indicates an IE hack and we should only do it if we are IE. - if (!jQuery.browser.msie) { - return; - } - data.selector = data.selector.replace('* html ', ''); - } - */ - $(data.selector).css(data.argument); - }; - - Drupal.CTools.AJAX.commands.settings = function(data) { - $.extend(Drupal.settings, data.argument); - }; - - Drupal.CTools.AJAX.commands.data = function(data) { - $(data.selector).data(data.name, data.value); - }; - - Drupal.CTools.AJAX.commands.attr = function(data) { - $(data.selector).attr(data.name, data.value); - }; - - Drupal.CTools.AJAX.commands.restripe = function(data) { - // :even and :odd are reversed because jquery counts from 0 and - // we count from 1, so we're out of sync. - $('tbody tr:not(:hidden)', $(data.selector)) - .removeClass('even') - .removeClass('odd') - .filter(':even') - .addClass('odd') - .end() - .filter(':odd') - .addClass('even'); - }; - - Drupal.CTools.AJAX.commands.redirect = function(data) { - location.href = data.url; - }; - - Drupal.CTools.AJAX.commands.reload = function(data) { - location.reload(); - }; - - Drupal.CTools.AJAX.commands.submit = function(data) { - $(data.selector).submit(); - } - - - /** - * Bind links that will open modals to the appropriate function. - */ - Drupal.behaviors.CToolsAJAX = function(context) { - // Bind links - $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) - .addClass('ctools-use-ajax-processed') - .click(Drupal.CTools.AJAX.clickAJAXLink); - - // Bind buttons - $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) - .addClass('ctools-use-ajax-processed') - .click(Drupal.CTools.AJAX.clickAJAXButton); - - // Bind select - $('select, input:text, input:radio, input:checkbox', context) - .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)') - .addClass('ctools-use-ajax-processed') - .change(Drupal.CTools.AJAX.changeAJAX); - }; -})(jQuery); +// $Id: ajax-responder.js,v 1.18.2.6 2010/01/22 06:48:08 merlinofchaos Exp $ +/** + * @file + * + * CTools flexible AJAX responder object. + */ + +(function ($) { + Drupal.CTools = Drupal.CTools || {}; + Drupal.CTools.AJAX = Drupal.CTools.AJAX || {}; + Drupal.CTools.AJAX.commands = Drupal.CTools.AJAX.commands || {}; + + /** + * Success callback for an ajax request. + * + * This function expects to receive a packet of data from a JSON object + * which is essentially a list of commands. Each commands must have a + * 'command' setting and this setting must resolve to a function in the + * Drupal.CTools.AJAX.commands space. + */ + Drupal.CTools.AJAX.respond = function(data) { + for (i in data) { + if (data[i]['command'] && Drupal.CTools.AJAX.commands[data[i]['command']]) { + Drupal.CTools.AJAX.commands[data[i]['command']](data[i]); + } + } + }; + + /** + * Generic replacement click handler to open the modal with the destination + * specified by the href of the link. + */ + Drupal.CTools.AJAX.clickAJAXLink = function() { + if ($(this).hasClass('ctools-ajaxing')) { + return false; + } + + var url = $(this).attr('href'); + var object = $(this); + $(this).addClass('ctools-ajaxing'); + try { + url = url.replace(/nojs/g, 'ajax'); + $.ajax({ + type: "POST", + url: url, + data: { 'js': 1, 'ctools_ajax': 1 }, + global: true, + success: Drupal.CTools.AJAX.respond, + error: function(xhr) { + Drupal.CTools.AJAX.handleErrors(xhr, url); + }, + complete: function() { + object.removeClass('ctools-ajaxing'); + }, + dataType: 'json' + }); + } + catch (err) { + alert("An error occurred while attempting to process " + url); + $(this).removeClass('ctools-ajaxing'); + return false; + } + + return false; + }; + + /** + * Generic replacement click handler to open the modal with the destination + * specified by the href of the link. + */ + Drupal.CTools.AJAX.clickAJAXButton = function() { + if ($(this).hasClass('ctools-ajaxing')) { + return false; + } + + // Put our button in. + this.form.clk = this; + + var url = Drupal.CTools.AJAX.findURL(this); + $(this).addClass('ctools-ajaxing'); + var object = $(this); + try { + if (url) { + url = url.replace('/nojs/', '/ajax/'); + $.ajax({ + type: "POST", + url: url, + data: { 'js': 1, 'ctools_ajax': 1 }, + global: true, + success: Drupal.CTools.AJAX.respond, + error: function(xhr) { + Drupal.CTools.AJAX.handleErrors(xhr, url); + }, + complete: function() { + object.removeClass('ctools-ajaxing'); + }, + dataType: 'json' + }); + } + else { + var form = this.form; + url = $(form).attr('action'); + url = url.replace('/nojs/', '/ajax/'); + $(form).ajaxSubmit({ + type: "POST", + url: url, + data: { 'js': 1, 'ctools_ajax': 1 }, + global: true, + success: Drupal.CTools.AJAX.respond, + error: function(xhr) { + Drupal.CTools.AJAX.handleErrors(xhr, url); + }, + complete: function() { + object.removeClass('ctools-ajaxing'); + }, + dataType: 'json' + }); + } + } + catch (err) { + alert("An error occurred while attempting to process " + url); + $(this).removeClass('ctools-ajaxing'); + return false; + } + return false; + }; + + /** + * Display error in a more fashion way + */ + Drupal.CTools.AJAX.handleErrors = function(xhr, path) { + var error_text = ''; + + if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) { + error_text = xhr.responseText; + + // Replace all < and > by < and > + error_text = error_text.replace("/&(lt|gt);/g", function (m, p) { + return (p == "lt")? "<" : ">"; + }); + + // Now, replace all html tags by empty spaces + error_text = error_text.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi,""); + + // Fix end lines + error_text = error_text.replace(/[\n]+\s+/g,"\n"); + } + else if (xhr.status == 500) { + error_text = xhr.status + ': ' + Drupal.t("Internal server error. Please see server or PHP logs for error information."); + } + else { + error_text = xhr.status + ': ' + xhr.statusText; + } + + alert(Drupal.t("An error occurred at @path.\n\nError Description: @error", {'@path': path, '@error': error_text})); + } + + /** + * Generic replacement for change handler to execute ajax method. + */ + Drupal.CTools.AJAX.changeAJAX = function () { + if ($(this).hasClass('ctools-ajaxing')) { + return false; + } + + var url = Drupal.CTools.AJAX.findURL(this); + $(this).addClass('ctools-ajaxing'); + var object = $(this); + var form_id = $(object).parents('form').get(0).id; + try { + if (url) { + url = url.replace('/nojs/', '/ajax/'); + $.ajax({ + type: "POST", + url: url, + data: {'ctools_changed': $(this).val(), 'js': 1, 'ctools_ajax': 1 }, + global: true, + success: Drupal.CTools.AJAX.respond, + error: function(xhr) { + Drupal.CTools.AJAX.handleErrors(xhr, url); + }, + complete: function() { + object.removeClass('ctools-ajaxing'); + if ($(object).hasClass('ctools-ajax-submit-onchange')) { + $('form#' + form_id).submit(); + } + }, + dataType: 'json' + }); + } + else { + if ($(object).hasClass('ctools-ajax-submit-onchange')) { + $('form#' + form_id).submit(); + } + return false; + } + } + catch (err) { + alert("An error occurred while attempting to process " + url); + $(this).removeClass('ctools-ajaxing'); + return false; + } + return false; + }; + + /** + * Find a URL for an AJAX button. + * + * The URL for this gadget will be composed of the values of items by + * taking the ID of this item and adding -url and looking for that + * class. They need to be in the form in order since we will + * concat them all together using '/'. + */ + Drupal.CTools.AJAX.findURL = function(item) { + var url = ''; + var url_class = '.' + $(item).attr('id') + '-url'; + $(url_class).each( + function() { + if (url && $(this).val()) { + url += '/'; + } + url += $(this).val(); + }); + return url; + }; + + Drupal.CTools.AJAX.commands.prepend = function(data) { + $(data.selector).prepend(data.data); + Drupal.attachBehaviors($(data.selector)); + }; + + Drupal.CTools.AJAX.commands.append = function(data) { + $(data.selector).append(data.data); + Drupal.attachBehaviors($(data.selector)); + }; + + Drupal.CTools.AJAX.commands.replace = function(data) { + $(data.selector).replaceWith(data.data); + Drupal.attachBehaviors($(data.selector)); + }; + + Drupal.CTools.AJAX.commands.after = function(data) { + var object = $(data.data); + $(data.selector).after(object); + Drupal.attachBehaviors(object); + }; + + Drupal.CTools.AJAX.commands.before = function(data) { + var object = $(data.data); + $(data.selector).before(object); + Drupal.attachBehaviors(object); + }; + + Drupal.CTools.AJAX.commands.html = function(data) { + $(data.selector).html(data.data); + Drupal.attachBehaviors($(data.selector)); + }; + + Drupal.CTools.AJAX.commands.remove = function(data) { + $(data.selector).remove(); + }; + + Drupal.CTools.AJAX.commands.changed = function(data) { + if (!$(data.selector).hasClass('changed')) { + $(data.selector).addClass('changed'); + if (data.star) { + $(data.selector).find(data.star).append(' * '); + } + } + }; + + Drupal.CTools.AJAX.commands.alert = function(data) { + alert(data.text, data.title); + }; + + Drupal.CTools.AJAX.commands.css = function(data) { + /* + if (data.selector && data.selector.contains('* html ')) { + // This indicates an IE hack and we should only do it if we are IE. + if (!jQuery.browser.msie) { + return; + } + data.selector = data.selector.replace('* html ', ''); + } + */ + $(data.selector).css(data.argument); + }; + + Drupal.CTools.AJAX.commands.settings = function(data) { + $.extend(Drupal.settings, data.argument); + }; + + Drupal.CTools.AJAX.commands.data = function(data) { + $(data.selector).data(data.name, data.value); + }; + + Drupal.CTools.AJAX.commands.attr = function(data) { + $(data.selector).attr(data.name, data.value); + }; + + Drupal.CTools.AJAX.commands.restripe = function(data) { + // :even and :odd are reversed because jquery counts from 0 and + // we count from 1, so we're out of sync. + $('tbody tr:not(:hidden)', $(data.selector)) + .removeClass('even') + .removeClass('odd') + .filter(':even') + .addClass('odd') + .end() + .filter(':odd') + .addClass('even'); + }; + + Drupal.CTools.AJAX.commands.redirect = function(data) { + location.href = data.url; + }; + + Drupal.CTools.AJAX.commands.reload = function(data) { + location.reload(); + }; + + Drupal.CTools.AJAX.commands.submit = function(data) { + $(data.selector).submit(); + } + + + /** + * Bind links that will open modals to the appropriate function. + */ + Drupal.behaviors.CToolsAJAX = function(context) { + // Bind links + $('a.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) + .addClass('ctools-use-ajax-processed') + .click(Drupal.CTools.AJAX.clickAJAXLink); + + // Bind buttons + $('input.ctools-use-ajax:not(.ctools-use-ajax-processed), button.ctools-use-ajax:not(.ctools-use-ajax-processed)', context) + .addClass('ctools-use-ajax-processed') + .click(Drupal.CTools.AJAX.clickAJAXButton); + + // Bind select + $('select, input:text, input:radio, input:checkbox', context) + .filter('.ctools-use-ajax-onchange:not(.ctools-use-ajax-processed)') + .addClass('ctools-use-ajax-processed') + .change(Drupal.CTools.AJAX.changeAJAX); + }; +})(jQuery); diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/comment.js --- a/web/res/metadataplayer/test/emission_fichiers/comment.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/comment.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,35 +1,35 @@ -// $Id: comment.js,v 1.5 2007/09/12 18:29:32 goba Exp $ - -Drupal.behaviors.comment = function (context) { - var parts = new Array("name", "homepage", "mail"); - var cookie = ''; - for (i=0;i<3;i++) { - cookie = Drupal.comment.getCookie('comment_info_' + parts[i]); - if (cookie != '') { - $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context) - .val(cookie) - .addClass('comment-processed'); - } - } -}; - -Drupal.comment = {}; - -Drupal.comment.getCookie = function(name) { - var search = name + '='; - var returnValue = ''; - - if (document.cookie.length > 0) { - offset = document.cookie.indexOf(search); - if (offset != -1) { - offset += search.length; - var end = document.cookie.indexOf(';', offset); - if (end == -1) { - end = document.cookie.length; - } - returnValue = decodeURIComponent(document.cookie.substring(offset, end).replace(/\+/g, '%20')); - } - } - - return returnValue; -}; +// $Id: comment.js,v 1.5 2007/09/12 18:29:32 goba Exp $ + +Drupal.behaviors.comment = function (context) { + var parts = new Array("name", "homepage", "mail"); + var cookie = ''; + for (i=0;i<3;i++) { + cookie = Drupal.comment.getCookie('comment_info_' + parts[i]); + if (cookie != '') { + $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context) + .val(cookie) + .addClass('comment-processed'); + } + } +}; + +Drupal.comment = {}; + +Drupal.comment.getCookie = function(name) { + var search = name + '='; + var returnValue = ''; + + if (document.cookie.length > 0) { + offset = document.cookie.indexOf(search); + if (offset != -1) { + offset += search.length; + var end = document.cookie.indexOf(';', offset); + if (end == -1) { + end = document.cookie.length; + } + returnValue = decodeURIComponent(document.cookie.substring(offset, end).replace(/\+/g, '%20')); + } + } + + return returnValue; +}; diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css --- a/web/res/metadataplayer/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,17 +1,17 @@ -.header-footer{font-family:'FreeSans','Arial';font-size:11pt;}.clearer{clear:both;height:0;width:0;} -#header-commun{margin:7px 0 0px 0;padding:0 0 0px;border-bottom:1px solid #DDDDDD;}body.blogs #header-commun{margin:7px 0 12px 0;}#header-content{ -width:1000px;margin:0 auto;}#header-commun ul{margin:0 auto 3px auto;padding:0; -float:left;}#header-commun li{display:inline;list-style-type:circle;background:transparent url(/sites/all/themes/franceculture/images/circle.png) no-repeat scroll 0 2px;padding:0 6px 0 24px;}#header-commun li.first-header{list-style-type:none;background:transparent none repeat scroll 0 0;padding-left:0;}#header-commun li.last-header{padding-right:0;}#header-commun li a{text-decoration:none;color:#000000;font-weight:normal;}#header-commun li a:hover{text-decoration:underline;}#header-commun li a:visited{} -#header-commun form{float:left;}#header-commun form input{margin:0;padding:0;float:left;}#header-commun form #recherche_site{background-image:url(/sites/all/themes/franceculture/images/input.png);background-repeat:no-repeat;border:medium none;height:21px;padding:3px 0 3px 5px;}#header-commun form #submit_recherche{background:transparent url(/sites/all/themes/franceculture/images/submit.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;font-size:9pt;font-weight:bold;height:22px;padding:0 0 5px;width:22px;} - - -#footer-commun{background:transparent url(/sites/all/themes/franceculture/images/fondu.png) repeat-x scroll 0 0;padding:0px 0 0 0;}.content-header-footer{padding:25px 0 0 0;background-color:#ffffff;}#footer-commun li{list-style-type:none;}.footer-franceculture a{color:#000000;text-decoration:none;font-weight:normal;}#footer-chaine{margin:0 auto;padding:0 0 10px 0;width:1000px;font-size:12px;}#sous-footer{border-top:1px solid #929292;}#footer-rf{margin:0 auto;padding:15px 0 0 0;width:1000px;}#footer-rf a:hover{color:#1454a1;} -.colonne-footer{float:left;margin-left:35px;}.colonne-footer-first{margin-left:0;}.colonne-footer h4{font-size:13pt;margin:0 0 10px;padding:0;color:#000000;}.colonne-footer ul{margin:0;padding:0;}.colonne-footer li{margin:0;padding:2px 0;} -#colonne-liens-footer{width:95px;}#colonne-liens-footer img{border:none;}#colonne-liens-footer p{margin:7px 0;}#colonne-liens-footer p a{background-color:#f0f0f0;padding:3px;}#colonne-liens-footer p a:hover{color:#ffffff;background-color:#aaaaaa;} -#colonne-ecouter-footer{width:90px;} -#colonne-thematique-footer{width:500px;height:1px;}#colonne-thematique-footer li{color:#929292;}#colonne-thematique-footer a:hover{color:#000000;font-weight:bold;text-decoration:underline;} -#colonne-partager-footer{width:205px;color:#929292;}#colonne-partager-footer div{margin-bottom:10px;}#liens-partage-footer li{padding:4px 0;width:102px;}#liens-partage-footer ul.gauche li{float:left;}#liens-partage-footer ul.gauche li.clearer{width:0;float:none;}#liens-partage-footer a{padding:0 0 2px 25px;}#facebook-footer a{background:transparent url(/sites/all/themes/franceculture/images/facebook-gris.png) no-repeat scroll 0 0;}#facebook-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/facebook-footer.png) no-repeat scroll 0 0;}#twitter-footer a{background:transparent url(/sites/all/themes/franceculture/images/twitter-gris.png) no-repeat scroll 0 0;}#twitter-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/twitter.png) no-repeat scroll 0 0;}#dailymotion-footer a{background:transparent url(/sites/all/themes/franceculture/images/dailymotion-gris.png) no-repeat scroll 0 0;}#dailymotion-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/dailymotion.png) no-repeat scroll 0 0;}#autres-footer a{background:transparent url(/sites/all/themes/franceculture/images/autres-gris.png) no-repeat scroll 0 0;}#autres-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/autres.png) no-repeat scroll 0 0;} -#footer-rf ul{margin:0;padding:0 10px 0 0;}#footer-rf li{display:inline;border-left:1px solid #000000;margin:0;padding:0 10px;}#footer-rf li.first{border:none;padding:0 10px 0 0;}#footer-rf li.last{padding:0 40px 0 10px;}#footer-rf .haut-de-page{background:transparent url(/sites/all/themes/franceculture/images/top.png) no-repeat scroll bottom left;font-size:10pt;padding:0 0 0 13px;}#footer-rf .last-page{border:none;float:right;margin-right:103px;}#footer-rf p{color:#929292;font-size:10pt;padding:5px 0 25px 0;margin:0;} - -.footer-franceculture a:hover,.footer-franceculture:hover,#footer-rf a#top-page:hover,.footer-franceculture .color-chaine a,.footer-franceculture .color-chaine{color:#773694;}a.gris{color:#929292;} +.header-footer{font-family:'FreeSans','Arial';font-size:11pt;}.clearer{clear:both;height:0;width:0;} +#header-commun{margin:7px 0 0px 0;padding:0 0 0px;border-bottom:1px solid #DDDDDD;}body.blogs #header-commun{margin:7px 0 12px 0;}#header-content{ +width:1000px;margin:0 auto;}#header-commun ul{margin:0 auto 3px auto;padding:0; +float:left;}#header-commun li{display:inline;list-style-type:circle;background:transparent url(/sites/all/themes/franceculture/images/circle.png) no-repeat scroll 0 2px;padding:0 6px 0 24px;}#header-commun li.first-header{list-style-type:none;background:transparent none repeat scroll 0 0;padding-left:0;}#header-commun li.last-header{padding-right:0;}#header-commun li a{text-decoration:none;color:#000000;font-weight:normal;}#header-commun li a:hover{text-decoration:underline;}#header-commun li a:visited{} +#header-commun form{float:left;}#header-commun form input{margin:0;padding:0;float:left;}#header-commun form #recherche_site{background-image:url(/sites/all/themes/franceculture/images/input.png);background-repeat:no-repeat;border:medium none;height:21px;padding:3px 0 3px 5px;}#header-commun form #submit_recherche{background:transparent url(/sites/all/themes/franceculture/images/submit.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;font-size:9pt;font-weight:bold;height:22px;padding:0 0 5px;width:22px;} + + +#footer-commun{background:transparent url(/sites/all/themes/franceculture/images/fondu.png) repeat-x scroll 0 0;padding:0px 0 0 0;}.content-header-footer{padding:25px 0 0 0;background-color:#ffffff;}#footer-commun li{list-style-type:none;}.footer-franceculture a{color:#000000;text-decoration:none;font-weight:normal;}#footer-chaine{margin:0 auto;padding:0 0 10px 0;width:1000px;font-size:12px;}#sous-footer{border-top:1px solid #929292;}#footer-rf{margin:0 auto;padding:15px 0 0 0;width:1000px;}#footer-rf a:hover{color:#1454a1;} +.colonne-footer{float:left;margin-left:35px;}.colonne-footer-first{margin-left:0;}.colonne-footer h4{font-size:13pt;margin:0 0 10px;padding:0;color:#000000;}.colonne-footer ul{margin:0;padding:0;}.colonne-footer li{margin:0;padding:2px 0;} +#colonne-liens-footer{width:95px;}#colonne-liens-footer img{border:none;}#colonne-liens-footer p{margin:7px 0;}#colonne-liens-footer p a{background-color:#f0f0f0;padding:3px;}#colonne-liens-footer p a:hover{color:#ffffff;background-color:#aaaaaa;} +#colonne-ecouter-footer{width:90px;} +#colonne-thematique-footer{width:500px;height:1px;}#colonne-thematique-footer li{color:#929292;}#colonne-thematique-footer a:hover{color:#000000;font-weight:bold;text-decoration:underline;} +#colonne-partager-footer{width:205px;color:#929292;}#colonne-partager-footer div{margin-bottom:10px;}#liens-partage-footer li{padding:4px 0;width:102px;}#liens-partage-footer ul.gauche li{float:left;}#liens-partage-footer ul.gauche li.clearer{width:0;float:none;}#liens-partage-footer a{padding:0 0 2px 25px;}#facebook-footer a{background:transparent url(/sites/all/themes/franceculture/images/facebook-gris.png) no-repeat scroll 0 0;}#facebook-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/facebook-footer.png) no-repeat scroll 0 0;}#twitter-footer a{background:transparent url(/sites/all/themes/franceculture/images/twitter-gris.png) no-repeat scroll 0 0;}#twitter-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/twitter.png) no-repeat scroll 0 0;}#dailymotion-footer a{background:transparent url(/sites/all/themes/franceculture/images/dailymotion-gris.png) no-repeat scroll 0 0;}#dailymotion-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/dailymotion.png) no-repeat scroll 0 0;}#autres-footer a{background:transparent url(/sites/all/themes/franceculture/images/autres-gris.png) no-repeat scroll 0 0;}#autres-footer a:hover{background:transparent url(/sites/all/themes/franceculture/images/autres.png) no-repeat scroll 0 0;} +#footer-rf ul{margin:0;padding:0 10px 0 0;}#footer-rf li{display:inline;border-left:1px solid #000000;margin:0;padding:0 10px;}#footer-rf li.first{border:none;padding:0 10px 0 0;}#footer-rf li.last{padding:0 40px 0 10px;}#footer-rf .haut-de-page{background:transparent url(/sites/all/themes/franceculture/images/top.png) no-repeat scroll bottom left;font-size:10pt;padding:0 0 0 13px;}#footer-rf .last-page{border:none;float:right;margin-right:103px;}#footer-rf p{color:#929292;font-size:10pt;padding:5px 0 25px 0;margin:0;} + +.footer-franceculture a:hover,.footer-franceculture:hover,#footer-rf a#top-page:hover,.footer-franceculture .color-chaine a,.footer-franceculture .color-chaine{color:#773694;}a.gris{color:#929292;} #pub-bottom-right{width:728px;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css --- a/web/res/metadataplayer/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,390 +1,390 @@ -.flickr_badge_wrapper{display:block;width:216px;margin:auto}.flickr_badge_image{float:left;width:100px;padding-right:8px;padding-top:8px;height:75px;overflow:hidden;}.flickr_badge_source{float:left;width:100px;padding-right:8px;padding-top:25px;}.flickr_badge_uber_wrapper{text-align:center;}.flickr_badge_source_txt{font-size:11px;}.twitterBlock ul li{list-style:none;padding:5px;margin:0;background-image:none;background-color:#ffffff;color:#575757;}.block .twitterBlock ul{padding:2px;margin:0;}.block .twitterUser{font-family:'Lucida Grande',sans-serif;font-size:15px;font-weight:normal;}.widget_ytb{width:264px;}.widget_ytb .ytb_vide_list{width:264px;display:block;}.widget_ytb .ytb_vide_list .ytb_item{width:88px;float:left;margin:0;padding:0;height:64px;}.widget_ytb .ytb_vide_list .ytb_item:hover{width:86px;float:left;margin:0;padding:0;height:62px;border:black solid 1px;} - -.node-unpublished{background-color:#fff4f4;}.preview .node{background-color:#ffffea;}#node-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#node-admin-buttons{float:left; - margin-left:0.5em; - clear:right;}td.revision-current{background:#ffc;}.node-form .form-text{display:block;width:95%;}.node-form .container-inline .form-text{display:inline;width:auto;}.node-form .standard{clear:both;}.node-form textarea{display:block;width:95%;}.node-form .attachments fieldset{float:none;display:block;}.terms-inline{display:inline;} - - -fieldset{margin-bottom:1em;padding:.5em;}form{margin:0;padding:0;}hr{height:1px;border:1px solid gray;}img{border:0;}table{border-collapse:collapse;}th{text-align:left; - padding-right:1em; - border-bottom:3px solid #ccc;} -.clear-block:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.clear-block{display:inline-block;}/* Hides from IE-mac \*/ -* html .clear-block{height:1%;}.clear-block{display:block;} - - - -body.drag{cursor:move;}th.active img{display:inline;}tr.even,tr.odd{background-color:#eee;border-bottom:1px solid #ccc;padding:0.1em 0.6em;}tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}td.active{background-color:#ddd;}td.checkbox,th.checkbox{text-align:center;}tbody{border-top:1px solid #ccc;}tbody th{border-bottom:1px solid #ccc;}thead th{text-align:left; - padding-right:1em; - border-bottom:3px solid #ccc;} -.breadcrumb{padding-bottom:.5em}div.indentation{width:20px;height:1.7em;margin:-0.4em 0.2em -0.4em -0.4em; - padding:0.42em 0 0.42em 0.6em; - float:left;}div.tree-child{background:url(/misc/tree.png) no-repeat 11px center;}div.tree-child-last{background:url(/misc/tree-bottom.png) no-repeat 11px center;}div.tree-child-horizontal{background:url(/misc/tree.png) no-repeat -11px center;}.error{color:#e55;}div.error{border:1px solid #d77;}div.error,tr.error{background:#fcc;color:#200;padding:2px;}.warning{color:#e09010;}div.warning{border:1px solid #f0c020;}div.warning,tr.warning{background:#ffd;color:#220;padding:2px;}.ok{color:#008000;}div.ok{border:1px solid #00aa00;}div.ok,tr.ok{background:#dfd;color:#020;padding:2px;}.item-list .icon{color:#555;float:right; - padding-left:0.25em; - clear:right;}.item-list .title{font-weight:bold;}.item-list ul{margin:0 0 0.75em 0;padding:0;}.item-list ul li{margin:0 0 0.25em 1.5em; - padding:0;list-style:disc;}ol.task-list li.active{font-weight:bold;}.form-item{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;white-space:nowrap;}tr.merge-down,tr.merge-down td,tr.merge-down th{border-bottom-width:0 !important;}tr.merge-up,tr.merge-up td,tr.merge-up th{border-top-width:0 !important;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item .description{font-size:0.85em;}.form-item label{display:block;font-weight:bold;}.form-item label.option{display:inline;font-weight:normal;}.form-checkboxes,.form-radios{margin:1em 0;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.marker,.form-required{color:#f00;}.more-link{text-align:right;}.more-help-link{font-size:0.85em;text-align:right;}.nowrap{white-space:nowrap;}.item-list .pager{clear:both;text-align:center;}.item-list .pager li{background-image:none;display:inline;list-style-type:none;padding:0.5em;}.pager-current{font-weight:bold;}.tips{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-size:0.9em;}dl.multiselect dd.b,dl.multiselect dd.b .form-item,dl.multiselect dd.b select{font-family:inherit;font-size:inherit;width:14em;}dl.multiselect dd.a,dl.multiselect dd.a .form-item{width:8em;}dl.multiselect dt,dl.multiselect dd{float:left; - line-height:1.75em;padding:0;margin:0 1em 0 0;}dl.multiselect .form-item{height:1.75em;margin:0;} -.container-inline div,.container-inline label{display:inline;} -ul.primary{border-collapse:collapse;padding:0 0 0 1em; - white-space:nowrap;list-style:none;margin:5px;height:auto;line-height:normal;border-bottom:1px solid #bbb;}ul.primary li{display:inline;}ul.primary li a{background-color:#ddd;border-color:#bbb;border-width:1px;border-style:solid solid none solid;height:auto;margin-right:0.5em; - padding:0 1em;text-decoration:none;}ul.primary li.active a{background-color:#fff;border:1px solid #bbb;border-bottom:#fff 1px solid;}ul.primary li a:hover{background-color:#eee;border-color:#ccc;border-bottom-color:#eee;}ul.secondary{border-bottom:1px solid #bbb;padding:0.5em 1em;margin:5px;}ul.secondary li{display:inline;padding:0 1em;border-right:1px solid #ccc;}ul.secondary a{padding:0;text-decoration:none;}ul.secondary a.active{border-bottom:4px solid #999;} - -#autocomplete{position:absolute;border:1px solid;overflow:hidden;z-index:100;}#autocomplete ul{margin:0;padding:0;list-style:none;}#autocomplete li{background:#fff;color:#000;white-space:pre;cursor:default;}#autocomplete li.selected{background:#0072b9;color:#fff;} -html.js input.form-autocomplete{background-image:url(/misc/throbber.gif);background-repeat:no-repeat;background-position:100% 2px;}html.js input.throbbing{background-position:100% -18px;} -html.js fieldset.collapsed{border-bottom-width:0;border-left-width:0;border-right-width:0;margin-bottom:0;height:1em;}html.js fieldset.collapsed *{display:none;}html.js fieldset.collapsed legend{display:block;}html.js fieldset.collapsible legend a{padding-left:15px; - background:url(/misc/menu-expanded.png) 5px 75% no-repeat;}html.js fieldset.collapsed legend a{background-image:url(/misc/menu-collapsed.png); - background-position:5px 50%;} -* html.js fieldset.collapsed legend,* html.js fieldset.collapsed legend *,* html.js fieldset.collapsed table *{display:inline;} -html.js fieldset.collapsible{position:relative;}html.js fieldset.collapsible legend a{display:block;} -html.js fieldset.collapsible .fieldset-wrapper{overflow:auto;} -.resizable-textarea{width:95%;}.resizable-textarea .grippie{height:9px;overflow:hidden;background:#eee url(/misc/grippie.png) no-repeat center 2px;border:1px solid #ddd;border-top-width:0;cursor:s-resize;}html.js .resizable-textarea textarea{margin-bottom:0;width:100%;display:block;} -.draggable a.tabledrag-handle{cursor:move;float:left; - height:1.7em;margin:-0.4em 0 -0.4em -0.5em; - padding:0.42em 1.5em 0.42em 0.5em; - text-decoration:none;}a.tabledrag-handle:hover{text-decoration:none;}a.tabledrag-handle .handle{margin-top:4px;height:13px;width:13px;background:url(/misc/draggable.png) no-repeat 0 0;}a.tabledrag-handle-hover .handle{background-position:0 -20px;} -.joined + .grippie{height:5px;background-position:center 1px;margin-bottom:-2px;} -.teaser-checkbox{padding-top:1px;}div.teaser-button-wrapper{float:right; - padding-right:5%; - margin:0;}.teaser-checkbox div.form-item{float:right; - margin:0 5% 0 0; - padding:0;}textarea.teaser{display:none;}html.js .no-js{display:none;} -.progress{font-weight:bold;}.progress .bar{background:#fff url(/misc/progress.gif);border:1px solid #00375a;height:1.5em;margin:0 0.2em;}.progress .filled{background:#0072b9;height:1em;border-bottom:0.5em solid #004a73;width:0%;}.progress .percentage{float:right;}.progress-disabled{float:left;}.ahah-progress{float:left;}.ahah-progress .throbber{width:15px;height:15px;margin:2px;background:transparent url(/misc/throbber.gif) no-repeat 0px -18px;float:left;}tr .ahah-progress .throbber{margin:0 2px;}.ahah-progress-bar{width:16em;} -#first-time strong{display:block;padding:1.5em 0 .5em;} -tr.selected td{background:#ffc;} -table.sticky-header{margin-top:0;background:#fff;} -#clean-url.install{display:none;} -html.js .js-hide{display:none;} -#system-modules div.incompatible{font-weight:bold;} -#system-themes-form div.incompatible{font-weight:bold;} -span.password-strength{visibility:hidden;}input.password-field{margin-right:10px;}div.password-description{padding:0 2px;margin:4px 0 0 0;font-size:0.85em;max-width:500px;}div.password-description ul{margin-bottom:0;}.password-parent{margin:0 0 0 0;} -input.password-confirm{margin-right:10px;}.confirm-parent{margin:5px 0 0 0;}span.password-confirm{visibility:hidden;}span.password-confirm span{font-weight:normal;} - -ul.menu{list-style:none;border:none;text-align:left;}ul.menu li{margin:0 0 0 0.5em;}li.expanded{list-style-type:circle;list-style-image:url(/misc/menu-expanded.png);padding:0.2em 0.5em 0 0; - margin:0;}li.collapsed{list-style-type:disc;list-style-image:url(/misc/menu-collapsed.png); - padding:0.2em 0.5em 0 0; - margin:0;}li.leaf{list-style-type:square;list-style-image:url(/misc/menu-leaf.png);padding:0.2em 0.5em 0 0; - margin:0;}li a.active{color:#000;}td.menu-disabled{background:#ccc;}ul.links{margin:0;padding:0;}ul.links.inline{display:inline;}ul.links li{display:inline;list-style-type:none;padding:0 0.5em;}.block ul{margin:0;padding:0 0 0.25em 1em;} - -#permissions td.module{font-weight:bold;}#permissions td.permission{padding-left:1.5em;}#access-rules .access-type,#access-rules .rule-type{margin-right:1em; - float:left;}#access-rules .access-type .form-item,#access-rules .rule-type .form-item{margin-top:0;}#access-rules .mask{clear:both;}#user-login-form{text-align:center;}#user-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#user-admin-buttons{float:left; - margin-left:0.5em; - clear:right;}#user-admin-settings fieldset .description{font-size:0.85em;padding-bottom:.5em;} -.profile{clear:both;margin:1em 0;}.profile .picture{float:right; - margin:0 1em 1em 0;}.profile h3{border-bottom:1px solid #ccc;}.profile dl{margin:0 0 1.5em 0;}.profile dt{margin:0 0 0.2em 0;font-weight:bold;}.profile dd{margin:0 0 1em 0;} - - -.field .field-label,.field .field-label-inline,.field .field-label-inline-first{font-weight:bold;}.field .field-label-inline,.field .field-label-inline-first{display:inline;}.field .field-label-inline{visibility:hidden;} -.node-form .content-multiple-table td.content-multiple-drag{width:30px;padding-right:0;}.node-form .content-multiple-table td.content-multiple-drag a.tabledrag-handle{padding-right:.5em;}.node-form .content-add-more .form-submit{margin:0;}.content-multiple-remove-button{display:block;float:right;height:14px;width:16px;margin:2px 0 1px 0;padding:0;background:transparent url(/sites/all/modules/contrib/cck/images/remove.png) no-repeat 0 0;border-bottom:#C2C9CE 1px solid;border-right:#C2C9CE 1px solid;}.content-multiple-remove-button:hover{background-position:0 -14px;}.content-multiple-removed-row .content-multiple-remove-button{background-position:0 -28px;}.content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -42px;}html.js .content-multiple-removed-row{background-color:#ffffcc;}.content-multiple-weight-header,.content-multiple-remove-header,.content-multiple-remove-cell,.content-multiple-table td.delta-order{text-align:center;}html.js .content-multiple-weight-header,html.js .content-multiple-remove-header span,html.js .content-multiple-table td.delta-order,html.js .content-multiple-remove-checkbox{display:none;}.node-form .number{display:inline;width:auto;}.node-form .text{width:auto;} -.form-item #autocomplete .reference-autocomplete{white-space:normal;}.form-item #autocomplete .reference-autocomplete label{display:inline;font-weight:normal;} -#content-field-overview-form .advanced-help-link,#content-display-overview-form .advanced-help-link{margin:4px 4px 0 0;}#content-field-overview-form .label-group,#content-display-overview-form .label-group,#content-copy-export-form .label-group{font-weight:bold;}table#content-field-overview .label-add-new-field,table#content-field-overview .label-add-existing-field,table#content-field-overview .label-add-new-group{float:left;}table#content-field-overview tr.content-add-new .tabledrag-changed{display:none;}table#content-field-overview tr.content-add-new .description{margin-bottom:0;}table#content-field-overview .content-new{font-weight:bold;padding-bottom:.5em;} -.advanced-help-topic h3,.advanced-help-topic h4,.advanced-help-topic h5,.advanced-help-topic h6{margin:1em 0 .5em 0;}.advanced-help-topic dd{margin-bottom:.5em;}.advanced-help-topic span.code{background-color:#EDF1F3;font-family:"Bitstream Vera Sans Mono",Monaco,"Lucida Console",monospace;font-size:0.9em;padding:1px;}.advanced-help-topic .content-border{border:1px solid #AAA} -.ctools-locked{color:red;border:1px solid red;padding:1em;}.ctools-owns-lock{background:#FFFFDD none repeat scroll 0 0;border:1px solid #F0C020;padding:1em;}a.ctools-ajaxing,input.ctools-ajaxing,select.ctools-ajaxing{padding-right:18px !important;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) right center no-repeat;}div.ctools-ajaxing{float:left;width:18px;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) center center no-repeat;} -.container-inline-date{width:auto;clear:both;display:inline-block;vertical-align:top;margin-right:0.5em;}.container-inline-date .form-item{float:none;padding:0;margin:0;}.container-inline-date .form-item .form-item{float:left;}.container-inline-date .form-item,.container-inline-date .form-item input{width:auto;}.container-inline-date .description{clear:both;}.container-inline-date .form-item input,.container-inline-date .form-item select,.container-inline-date .form-item option{margin-right:5px;}.container-inline-date .date-spacer{margin-left:-5px;}.views-right-60 .container-inline-date div{padding:0;margin:0;}.container-inline-date .date-timezone .form-item{float:none;width:auto;clear:both;} -#calendar_div,#calendar_div td,#calendar_div th{margin:0;padding:0;}#calendar_div,.calendar_control,.calendar_links,.calendar_header,.calendar{width:185px;border-collapse:separate;margin:0;}.calendar td{padding:0;} -span.date-display-single{}span.date-display-start{}span.date-display-end{}span.date-display-separator{}.date-repeat-input{float:left; - width:auto;margin-right:5px;}.date-repeat-input select{min-width:7em;}.date-repeat fieldset{clear:both;float:none;}.date-views-filter-wrapper{min-width:250px;}.date-views-filter input{float:left !important; - margin-right:2px !important; - padding:0 !important;width:12em;min-width:12em;}.date-nav{width:100%;}.date-nav div.date-prev{text-align:left; - width:24%;float:left;}.date-nav div.date-next{text-align:right; - width:24%;float:right;}.date-nav div.date-heading{text-align:center;width:50%;float:left;}.date-nav div.date-heading h3{margin:0;padding:0;}.date-clear{float:none;clear:both;display:block;}.date-clear-block{float:none;width:auto;clear:both;} - .date-clear-block:after{content:" ";display:block;height:0;clear:both;visibility:hidden;}.date-clear-block{display:inline-block;}/* Hides from IE-mac \*/ - * html .date-clear-block{height:1%;}.date-clear-block{display:block;} - -.date-container .date-format-delete{margin-top:1.8em;margin-left:1.5em;float:left;}.date-container .date-format-name{float:left;}.date-container .date-format-type{float:left;padding-left:10px;}.date-container .select-container{clear:left;float:left;} -div.date-calendar-day{line-height:1;width:40px;float:left;margin:6px 10px 0 0;background:#F3F3F3;border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #bbb;border-bottom:1px solid #bbb;color:#999;text-align:center;font-family:Georgia,Arial,Verdana,sans;}div.date-calendar-day span{display:block;text-align:center;}div.date-calendar-day span.month{font-size:.9em;background-color:#B5BEBE;color:white;padding:2px;text-transform:uppercase;}div.date-calendar-day span.day{font-weight:bold;font-size:2em;}div.date-calendar-day span.year{font-size:.9em;padding:2px;} -#ui-datepicker-div table,#ui-datepicker-div td,#ui-datepicker-div th{margin:0;padding:0;}#ui-datepicker-div,#ui-datepicker-div table,.ui-datepicker-div,.ui-datepicker-div table,.ui-datepicker-inline,.ui-datepicker-inline table{font-size:12px !important;}.ui-datepicker-div,.ui-datepicker-inline,#ui-datepicker-div{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;background:#ffffff;border:2px solid #d3d3d3;font-family:Verdana,Arial,sans-serif;font-size:1.1em;margin:0;padding:2.5em .5em .5em .5em;position:relative;width:15.5em;}#ui-datepicker-div{background:#ffffff;display:none;z-index:9999;}.ui-datepicker-inline{display:block;float:left;}.ui-datepicker-control{display:none;}.ui-datepicker-current{display:none;}.ui-datepicker-next,.ui-datepicker-prev{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; - left:.5em; - position:absolute;top:.5em;}.ui-datepicker-next{left:14.6em;}.ui-datepicker-next:hover,.ui-datepicker-prev:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;}.ui-datepicker-next a,.ui-datepicker-prev a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_left.gif) 50% 50% no-repeat; - border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;}.ui-datepicker-next a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-header select{background:#e6e6e6;border:1px solid #d3d3d3;color:#555555;font-size:1em;line-height:1.4em;margin:0 !important;padding:0 !important;position:absolute;top:.5em;}.ui-datepicker-header select.ui-datepicker-new-month{left:2.2em; - width:7em;}.ui-datepicker-header select.ui-datepicker-new-year{left:9.4em; - width:5em;}table.ui-datepicker{text-align:right; - width:15.5em;}table.ui-datepicker td a{color:#555555;display:block;padding:.1em .3em .1em 0; - text-decoration:none;}table.ui-datepicker tbody{border-top:none;}table.ui-datepicker tbody td a{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; - border:1px solid #ffffff;cursor:pointer;}table.ui-datepicker tbody td a:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; - border:1px solid #999999;color:#212121;}table.ui-datepicker tbody td a:active{background:#ffffff url(/sites/all/modules/contrib/date/date_popup/themes/images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; - border:1px solid #dddddd;color:#222222;}table.ui-datepicker .ui-datepicker-title-row td{ - color:#222222;font-size:.9em;padding:.3em 0;text-align:center;text-transform:uppercase;}table.ui-datepicker .ui-datepicker-title-row td a{color:#222222;} - - - - - - -.filefield-icon{float:left; - margin-right:0.4em;} - - -.filefield-element{margin:1em 0;white-space:normal;}.filefield-element .widget-preview{float:left; - padding-right:10px; - border-right:1px solid #CCC; - margin-right:10px; - max-width:30%;}.filefield-element .widget-edit{float:left; - max-width:70%;}.filefield-element .filefield-preview{width:16em;overflow:hidden;}.filefield-element .widget-edit .form-item{margin:0 0 1em 0;}.filefield-element input.form-submit,.filefield-element input.form-file{margin:0;}.filefield-element input.progress-disabled{float:none;display:inline;}.filefield-element div.ahah-progress,.filefield-element div.throbber{display:inline;float:none;padding:1px 13px 2px 3px;}.filefield-element div.ahah-progress-bar{display:none;margin-top:4px;width:28em;padding:0;}.filefield-element div.ahah-progress-bar div.bar{margin:0;} - - - -.filefield-generic-edit .filefield-icon{float:left; - margin-right:0.7em; - margin-top:0.3em;}.filefield-generic-edit-description{margin-right:6em;} -.filefield-generic-edit .form-text{width:99%;}.filefield-generic-edit .description{white-space:normal;margin-bottom:0;overflow:auto;} - -form.fivestar-widget{clear:both;display:block;}form.fivestar-widget select,form.fivestar-widget input{margin:0;} -.fivestar-combo-stars .fivestar-static-form-item{float:left; - margin-right:40px;}.fivestar-combo-stars .fivestar-form-item{float:left;} -.fivestar-static-form-item .form-item,.fivestar-form-item .form-item{margin:0;} -div.fivestar-widget-static{display:block;}div.fivestar-widget-static br{clear:left;}div.fivestar-widget-static .star{float:left; - width:17px;height:15px;overflow:hidden;text-indent:-999em;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;}div.fivestar-widget-static .star span.on{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 -32px;}div.fivestar-widget-static .star span.off{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;} -div.fivestar-widget{display:block;}div.fivestar-widget .cancel,div.fivestar-widget .star{float:left; - width:17px;height:15px;overflow:hidden;text-indent:-999em;}div.fivestar-widget .cancel,div.fivestar-widget .cancel a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/delete.gif) no-repeat 0 -16px; - text-decoration:none;}div.fivestar-widget .star,div.fivestar-widget .star a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0; - text-decoration:none;}div.fivestar-widget .cancel a,div.fivestar-widget .star a{display:block;width:100%;height:100%;background-position:0 0; - cursor:pointer;}div.fivestar-widget div.on a{background-position:0 -16px;}div.fivestar-widget div.hover a,div.rating div a:hover{background-position:0 -32px;}form.fivestar-widget div.description{margin-bottom:0;} - -.simplenews-subscription-filter .form-item{clear:both;line-height:1.75em;margin:0pt 1em 0pt 0pt;}.simplenews-subscription-filter .form-item label{float:left;width:12em;}.simplenews-subscription-filter .spacer{margin-left:12em;}.simplenews-subscription-filter .form-select,.simplenews-subscription-filter .form-text{width:14em;}.block-simplenews .issues-link,.block-simplenews .issues-list{margin-top:1em;}.block-simplenews .issues-list .newsletter-created{display:none;} - - -.wrapper.tagadelic{text-align:justify;margin-right:1em;}.tagadelic.level1{font-size:1em;}.tagadelic.level2{font-size:1.2em;}.tagadelic.level3{font-size:1.4em;}.tagadelic.level4{font-size:1.6em;}.tagadelic.level5{font-size:1.8em;}.tagadelic.level6{font-size:2em;}.tagadelic.level7{font-size:2.2em;}.tagadelic.level8{font-size:2.4em;}.tagadelic.level9{font-size:2.6em;}.tagadelic.level10{font-size:2.8em;} -div.field-type-asin{display:block;clear:both;border-top:2px solid #DDD;padding-top:3px;}div.amazon-item{clear:both;}div.amazon-item img{float:left;padding-left:3px;margin-bottom:1em;margin-right:1em;}div.amazon-item div{padding-left:1em;margin-left:100px;height:4em;} -#edit-antidot-search-block-form-1-wrapper{display:inline;} -#form_submit_search{}#edit-keys-wrapper{float:left;margin:0 3px 0 0;padding:0;}.result .tagged{background-color:none;}#edit-keys{height:20px;}#submit_resultat_page{flao:left;}#fc_antidot_recherche_check_emission-wrapper label{color:#032649;font-size:11px;font-weight:bold;margin:5px 0 0 5px;}.pager span.pager-next{margin-left:3px;}#edit-keys-wrapper{position:relative;overflow:hidden;} -#SuggestPopupBox,#SuggestPopupPage{background-color:white;border:1px solid #999999;z-index:500;position:absolute;}#SuggestPopupBox{ -top:49px;left:362px;width:200px;}#SuggestPopupPage{ -width:279px;top:26px;left:0;position:absolute;z-index:550;}#SuggestPopupBox .suj-reponse,#SuggestPopupPage .suj-reponse{ -padding:2px 0 2px 10px;font-weight:bold;background-color:white;cursor:pointer;height:21px;}#SuggestPopupBox .suj-reponse:hover,#SuggestPopupPage .suj-reponse:hover{background-color:#DECFE2;}#SuggestPopupBox .active,#SuggestPopupPage .active{background-color:#DECFE2;}#fc-antidot-recherche-form .form-item{height:35px;overflow:visible;}#share,#share .addthis_toolbox addthis_default_style,#share .addthis_toolbox addthis_default_style a,#main{z-index:0;position:relative;overflow:visible;}.more{z-index:0;position:relative;overflow:hiddent;} -a.lien-radio{float:left;height:30px;width:38px;}a.autres_sites{color:#666666;display:block;text-align:right;margin-top:5px;}p.ligne-autre-site{margin-left:48px;margin-bottom:0px;}#resultats_crawl li{min-height:36px;}#fc_antidot_recherche_check_emission-wrapper{z-index:0;overflow:visible;position:relative;} -div.grille-programmes li{list-style:none;}div.grille-programmes .clearer{clear:both;} -div.grilles-programmes div.entete{} -div.grille-programmes div.navigation{padding:1em;background-color:#EEE;}div.grille-programmes div.navigation li{display:inline;} -div.grilles-programmes div.tranches{margin:1em 0;} -div.grille-programmes div.emissions{padding:1em 0;}div.grille-programmes div.emission{padding:1em;margin:1em 0;border:1px solid #CCC;}div.grille-programmes div.emission img.image-liste{float:right;margin:0 0 1em 1em;} -div.grille-programmes div.diffusion{padding:1em;margin:1em 0;border:1px solid #CCC;background-color:#EEE;} -div.grille-programmes div.tranche{border:1px dashed #ccc;background-color:#EEE;} - - -#quiz_progress{font-style:italic;font-size:80%;}span.multichoice_answer_text p{display:inline;} -.quiz_question_bullet{font-weight:bold;font-size:120%;}#quiz_score_possible,#quiz_score_percent{font-weight:bold;}.quiz_summary_question{margin-bottom:0.5em;}tr.quiz_summary_qrow{background:transparent;}td.quiz_summary_qcell{vertical-align:top;padding:1em 1em 0em 0em;}td.quiz_summary_qcell table tr{background:transparent;}td.quiz_summary_qcell table td{vertical-align:top;padding:.5em;}.quiz_answer_feedback{font-style:italic;}.quiz_summary_header{font-weight:bold;}.quiz_summary_text{}div.multichoice_answer_correct{padding:5px;border:1px solid green;}div.multichoice_answer_incorrect{padding:5px;border:1px solid red;}.add-questions{background:transparent url(/sites/all/modules/rf/quiz/images/add.png) no-repeat scroll 0% 10%;padding:0 0 1em 2em;} -div.panel-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.panel-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.panel-navigation ul.menu li{font-weight:bold;} -div.emission-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.emission-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.emission-navigation ul.menu li{font-weight:bold;} - -div.fieldgroup{margin:.5em 0 1em 0;}div.fieldgroup .content{padding-left:1em;} - -div.panel-pane div.admin-links{font-size:xx-small;margin-right:1em;}div.panel-pane div.admin-links li a{color:#ccc;}div.panel-pane div.admin-links li{padding-bottom:2px;background:white;z-index:201;}div.panel-pane div.admin-links:hover a,div.panel-pane div.admin-links-hover a{color:#000;}div.panel-pane div.admin-links a:before{content:"[";}div.panel-pane div.admin-links a:after{content:"]";}div.panel-pane div.panel-hide{display:none;} -div.panel-pane div.panel-hide-hover,div.panel-pane:hover div.panel-hide{display:block;position:absolute;z-index:200;margin-top:-1.5em;}div.panel-pane div.node{margin:0;padding:0;}div.panel-pane div.feed a{float:right;} -.views-exposed-form .views-exposed-widget{float:left; - padding:.5em 1em 0 0;}.views-exposed-form .views-exposed-widget .form-submit{margin-top:1.6em;}.views-exposed-form .form-item,.views-exposed-form .form-submit{margin-top:0;margin-bottom:0;}.views-exposed-form label{font-weight:bold;}.views-exposed-widgets{margin-bottom:.5em;}html.js a.views-throbbing,html.js span.views-throbbing{background:url(/sites/all/modules/contrib/views/images/status-active.gif) no-repeat right center;padding-right:18px;} - -div.view div.views-admin-links{font-size:xx-small;margin-right:1em;margin-top:1em;}.block div.view div.views-admin-links{margin-top:0;}div.view div.views-admin-links ul{padding-left:0;}div.view div.views-admin-links li a{color:#ccc;}div.view div.views-admin-links li{padding-bottom:2px;z-index:201;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#000;}div.view div.views-admin-links-hover,div.view div.views-admin-links:hover{background:transparent;;}div.view div.views-admin-links a:before{content:"[";}div.view div.views-admin-links a:after{content:"]";}div.view div.views-hide{display:none;} -div.view div.views-hide-hover,div.view:hover div.views-hide{display:block;position:absolute;z-index:200;} -div.view:hover div.views-hide{margin-top:-1.5em;} -.views-view-grid tbody{border-top:none;} - -#popups-overlay{position:absolute;z-index:8;background:black;top:0;}#popups-loading{position:absolute;z-index:10;opacity:0.75;width:100px;height:100px;display:none;}.popups-box{position:absolute;z-index:9;background:white;border:1px solid black;padding:0.5em;width:600px;overflow:auto;}.popups-title{font-weight:bold;margin-bottom:0.25em;}.popups-title div.title{float:left;}.popups-title .popups-close{float:right;}.popups-title .popups-close a{font-weight:normal;} -.popups-box div.messages{background:transparent;border:none;padding:0;margin:0;} -#popups-overlay{background:#773584;opacity:.80;}.popups-box{padding:0;border:10px #EBEBEB solid;-moz-border-radius:10px;-webkit-border-radius:10px;}.popups-inner{height:100%;}.popups-box{width:440px;z-index:600;}body.page-node-edit .popups-box,body.section-admin .popups-box,body.page-node-add .popups-box,body.section-tableau-de-bord .popups-box{width:700px;}.popups-title{background:#EBEBEB url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.popups-title .title,.popups-title .popups-close{display:inline;background:#EBEBEB;padding:0 5px;}.popups-title .popups-close a{display:block;width:9px;text-indent:-9999999px;outline:none;cursor:pointer;background:transparent url(/sites/all/themes/franceculture/images/popups-close.png) no-repeat center right;margin-right:5px;}.popups-title div.title{float:none;}.popups-title .popups-close{padding-right:0;}.popups-body{background:white;padding:5px 10px;overflow:auto;height:auto;} - -label.content-multigroup{font-weight:bold;} -hr.content-multigroup{} -.content-multigroup-wrapper .field .field-label-inline{visibility:visible;} -.content-multigroup-edit-table-multiple-columns label,.content-multigroup-edit-table-multiple-columns .description{display:none;} -.content-multigroup-display-table-multiple-columns .field .field-label,.content-multigroup-display-table-multiple-columns .field .field-label-inline,.content-multigroup-display-table-multiple-columns .field .field-label-inline-first{display:none;} -.content-multigroup-display-table-single-column .content-multigroup-wrapper{clear:both;}.content-multigroup-display-table-single-column .content-multigroup-wrapper label.content-multigroup{display:block;}.content-multigroup-display-table-single-column .content-multigroup-wrapper .field{float:left;margin-right:1em;} - -.indented{margin-left:25px;}.comment-unpublished{background-color:#fff4f4;}.preview .comment{background-color:#ffffea;} - - -html{font-size:75%;}body{line-height:1.5;}h1{font-size:2em;margin:0 0 .5em;padding:0;}h2{font-size:1.5em;}h3{font-size:1.25em;}h4{font-size:1.17em;}h5,h6{font-size:1em;}h1,h2,h3,h4,h5,h6,h1 img,h2 img,h3 img,h4 img,h5 img,h6 img,em,dfn,del,ins{margin:0;padding:0;}p{margin:0 0 1.5em;padding:0;}blockquote p{margin:0;}strong{font-weight:bold;}em,dfn{font-style:italic;}dfn{font-weight:bold;}del{color:#666;}ins{border-bottom:none;text-decoration:none;}pre,code,tt,samp,kbd,var{font:1em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;}blockquote,q{font-style:italic;quotes:"" "";}blockquote{margin:0 0 1.5em;padding:0 0 0 3em;}blockquote:before,blockquote:after,q:before,q:after{content:"";}table{border-color:#C0C0C0;border-spacing:0;margin:1em 0;padding:0;}caption,th,td{text-align:left;}caption,th{font-weight:bold;}table,td,th{vertical-align:middle;}tbody,tfoot,thead,tr{margin:0;padding:0;}thead th{border-bottom:.1875em solid #C0C0C0;color:#494949;font-weight:bold;}td,th{border-bottom:1px solid #CCC;margin:0;padding:.375em .5em;}tr.odd,tr.info{background-color:#F5F5F5;}tr.even{background-color:#FFF;}tr.drag{background-color:#FFFFF0;}tr.drag-previous{background-color:#FFD;}tr.odd td.active{background-color:#EEE;}tr.even td.active{background-color:#F7F7F7;}td.region,td.module,td.container td.category{background-color:#EEE;border-bottom:1px solid #CCC;border-top:1.5em solid #FFF;color:#222;font-weight:bold;}tr:first-child td.region,tr:first-child td.module,tr:first-child td.container{border-top-width:0;}#forum table{width:100%;}#forum tr td.forum{background-position:5px 5px!important;padding-left:1.67em;}#forum tr td.forum .name{padding-left:.375em;}#forum div.indent{margin-left:.5em;}.section-admin table{width:100%;}.description{color:#555;}div.messages{font-weight:normal;margin:1em 0;}div.messages ul{margin:0 0 0 1.25em;}div.error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}tr.error{background:#FFEFF3;color:#E41F0B;}div.notice{background:#FFF6BF;color:#514721;border-color:#FFD324;}.error a,.notice a,.success a{text-decoration:underline;}div.status{background:#F1FFCF url(/sites/all/themes/franceculture/images/ok.png) no-repeat .75em .6em;border:1px solid #4DA449;color:#2A6827;}div.help{background:#F7F8F8 url(/sites/all/themes/franceculture/images/info.png) no-repeat .5em .45em;border:1px solid #66BEF4;color:#000D2F;margin:1em 0;}div.warning{background:#FFF6DF url(/sites/all/themes/franceculture/images/warning.png) no-repeat .5em .45em;border:1px solid #FFB900;color:#9F3800;}div.messages,div.warning,div.help,div.status,div.error{padding:.6em 1em .6em 3em;}div.help code,div.messages code{font-weight:bold;} -#saving{font-size:1em;font-weight:bold;background:url(/sites/all/themes/franceculture/images/loading.gif) no-repeat 12px 1px;display:none;padding-left:36px;}#saving p{margin:0;}#saving-notice{font-size:0.9em;font-style:italic;background:#FFC;}table tr.warning{background-color:#F7E8C5;}table tr.warning td{color:#9F3800;}table tr.warning.merge-up td{color:#514721;}div.ok,tr.ok,table tr.ok td{color:#222;padding:1em .5em;}.update tr.ok{background:#F1FFCF;}.update tr.error{background:#FFEFF3;}.update tr.warning{background:#FFF6DF;}.update tr.error .version-recommended{background:#FFEFF4;}.update .info{padding:0 0 0 1em;}.includes{color:#222;}div.help p:last-child,div.help ul:last-child{margin-bottom:0;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid #C00000;}.form-item strong.error em{font-weight:bold;color:#E41F0B;font-size:1.2em;}.block-region{border:1px dotted #000;color:#000;font:1.25em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;padding:3px 6px 1px;}.node-unpublished,.comment-unpublished{background-color:#FFF6DF;}.unpublished{visibility:hidden;}.node-unpublished .unpublished,.comment-unpublished .unpublished{background:transparent url(/sites/all/themes/franceculture/images/warning-small.png) no-repeat 0 .1em;color:#FFB900;font-size:.94em;margin-left:.5em;padding-left:18px;visibility:visible;}.admin-dependencies,.admin-required,.admin-enabled,.admin-disabled,.admin-missing{font-weight:bold;}ul,ol{margin:0 0 1.5em 1.75em;padding:0;}li{margin:0;padding:0;}ul ul,ul ol,ol ol,ol ul,.block ul ul,.block ul ol,.block ol ol,.block ol ul,.item-list ul ul,.item-list ul ol,.item-list ol ol,.item-list ol ul{margin:0 0 0 1.75em;}ul{list-style-type:disc;}ul ul{list-style-type:circle;}ul ul ul{list-style-type:square;}ul ul ul ul{list-style-type:circle;}ol{list-style-type:decimal;}ol ol{list-style-type:lower-alpha;}ol ol ol{list-style-type:lower-roman;}dt{font-weight:bold;}dd{margin:0 0 1.5em 1.75em;}.item-list ul,.item-list ol{margin:0 0 0 1.75em;padding:0;}form{margin:0 0 1.5em;padding:0;} -input.text,input.title,textarea,select{border:1px solid #C0C0C0;margin:.375em 0;} - -input.text,input.title{padding:.375em;}input.title{font-size:1.5em;}input.form-text,textarea{border:1px solid #CCC;height:auto;padding:.1875em;} -div.form-item{margin-bottom:1em;margin-top:1em;}.form-item textarea.error{padding:.1875em;}.form-item .description{font-size:.9em;line-height:1.667em;}span.form-required,span.marker{color:#8A1F11;}div.form-item div.description img{margin:0;}#node-admin-filter ul{padding:.375em 0;}#edit-operation-wrapper select{margin:.375em;}div.resizable-textarea textarea{margin-top:0;}.tips{font-size:1em;margin-left:3em;padding:.1875em .375em .1875em 1.5em;}label,legend{margin:0;padding:0;}fieldset{background:transparent;border:1px solid #dadada;margin:1.5em 0;padding:.75em;}*:first-child+html fieldset{background-color:transparent;background-position:0 .75em;padding:0 1em .75em;}*:first-child+html fieldset > .description,*:first-child+html fieldset .fieldset-wrapper .description{padding-top:1.5em;}fieldset legend{display:block;font-weight:bold;padding:0 1em 0 0;}*:first-child+html fieldset legend,*:first-child+html fieldset.collapsed legend{display:inline;}html.js fieldset.collapsed{background:transparent;padding-bottom:.75em;padding-top:0;}#user-login-form li.openid-link,#user-login-form li.user-link{text-align:center;}html.js #user-login-form li.openid-link,html.js #user-login li.openid-link{list-style:none;}#user-login-form ul{margin-top:0;}#user-login ul{margin:0 0 5px;}#user-login ul li{margin:0;}#user-login-form li.openid-link,#user-login li.openid-link{background:none;}#user-login-form li.openid-link a,#user-login li.openid-link a{background:transparent url(/sites/all/themes/franceculture/images/openid.png) no-repeat 0 0;padding:0 20px;}#user-login-form .item-list li{list-style:none;}div.admin-panel{border:1px solid #DDD;margin:0 0 .75em;padding:0;}div.admin .left,div.admin .right{margin-left:0;margin-right:0;width:49%;}.admin-panel h3{background:#EEE;color:#222;padding:0 0 0 .5em;}.admin-panel .body{padding:0 1em;}.admin-panel p{margin:0;padding:1em 0 0;}.admin-panel ul,.admin-panel ul.menu,.admin-panel .item-list ul{padding:0 0 1em;}.admin-panel .item-list ul{margin:0;}.admin-panel ul li{color:#555;}.admin-panel dl{margin:0;padding:1em 0;}.admin-panel dt{font-weight:normal;}.admin-panel dd{color:#555;font-size:.94em;margin-left:0;}.admin .compact-link{margin:0 0 1em;}.page-admin-by-module .admin-panel .body{margin:0;}.page-admin-by-module .admin-panel .body p{color:#555;font-size:.94em;}#user-admin-filter ul li,#node-admin-filter ul li{list-style:none;}.more-help-link{font-size:.94em;line-height:1.667em;}#permissions td.permission{padding-left:.5em;}#permissions td.module{background:#EEE;color:#222;font-weight:bold;}tr .block{border:0;}.local-tasks{margin-bottom:1em;}ul.primary{border-bottom-color:#CCC;margin:1.5em 0 0;padding:0 0 .2em .3em;}ul.primary li a{background-color:#F5F5F5;border-color:#CCC;margin-right:.08em;padding:.1em .75em .2em;}.local-tasks ul.primary li a:hover{background-color:#F7F7F7;border-color:#DDD;color:#C1272D}.local-tasks ul.primary li.active a{background-color:#FFF;border-bottom-color:#FFF;}ul.secondary{border-bottom:1px solid #CCC;margin:1em 0 0 0;padding:0 .3em 1em;}ul.secondary li{border-right:0;list-style:none;padding:0 2em 0 0;}ul.secondary li a:hover,ul.secondary li a.active{border-bottom:none;text-decoration:underline;}body.admin-menu{margin-top:2em !important;}#admin-menu{font:0.9em Arial,Helvetica,sans-serif;}#admin-menu ul li a:focus{color:#000;border:0;background:#FFFF00;} -#genesis-1a .two-sidebars .content-inner{margin:0 22em;}#genesis-1a .sidebar-left .content-inner{margin-left:22em;}#genesis-1a .sidebar-right .content-inner{margin-right:22em;}#genesis-1a #sidebar-left{width:20em;margin-left:-100%;}#genesis-1a #sidebar-right{width:20em;margin-left:-20em;}#genesis-1b .two-sidebars .content-inner{margin:0 25.25%;}#genesis-1b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-1b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-1b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-1b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-1c .two-sidebars .content-inner{margin:0 260px;}#genesis-1c .sidebar-left .content-inner{margin-left:260px;}#genesis-1c .sidebar-right .content-inner{margin-right:260px;}#genesis-1c #sidebar-left{width:240px;margin-left:-100%;}#genesis-1c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2a .two-sidebars .content-inner{margin-right:44em;}#genesis-2a .sidebar-left .content-inner{margin-right:22em;}#genesis-2a .sidebar-right .content-inner{margin-right:22em;}#genesis-2a #sidebar-left{width:20em;margin-left:-42em;}#genesis-2a #sidebar-right{width:20em;margin-left:-20em;}#genesis-2a .sidebar-left #sidebar-left{width:20em;margin-left:-20em;}#genesis-2b .two-sidebars .content-inner{margin-right:50.5%;}#genesis-2b .sidebar-left .content-inner{margin-right:25.25%;}#genesis-2b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-2b #sidebar-left{width:24.25%;margin-left:-49.5%;}#genesis-2b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-2b .sidebar-left #sidebar-left{width:24.25%;margin-left:-24.25%;}#genesis-2c .two-sidebars .content-inner{margin-right:520px;}#genesis-2c .sidebar-left .content-inner{margin-right:260px;}#genesis-2c .sidebar-right .content-inner{margin-right:260px;}#genesis-2c #sidebar-left{width:240px;margin-left:-500px;}#genesis-2c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2c .sidebar-left #sidebar-left{width:240px;margin-left:-240px;}#genesis-3a .two-sidebars .content-inner{margin-left:44em;}#genesis-3a .sidebar-left .content-inner{margin-left:22em;}#genesis-3a .sidebar-right .content-inner{margin-left:22em;}#genesis-3a #sidebar-left{width:20em;margin-left:-100%;}#genesis-3a #sidebar-right{width:20em;margin-left:-100%;}#genesis-3a .two-sidebars #sidebar-right{width:20em;position:relative;left:22em;}#genesis-3b .two-sidebars .content-inner{margin-left:50.5%;}#genesis-3b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-3b .sidebar-right .content-inner{margin-left:25.25%;}#genesis-3b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-3b #sidebar-right{width:24.25%;margin-left:-100%;}#genesis-3b .two-sidebars #sidebar-right{width:24.25%;position:relative;left:25.25%;}#genesis-3c .two-sidebars .content-inner{margin-left:520px;}#genesis-3c .sidebar-left .content-inner{margin-left:260px;}#genesis-3c .sidebar-right .content-inner{margin-left:260px;}#genesis-3c #sidebar-left{width:240px;margin-left:-100%;}#genesis-3c #sidebar-right{width:240px;margin-left:-100%;}#genesis-3c .two-sidebars #sidebar-right{width:240px;position:relative;left:260px;}#genesis-4 .two-sidebars .content-inner{margin-right:40%;}#genesis-4 .sidebar-left .content-inner{margin-right:40%;}#genesis-4 .sidebar-right .content-inner{margin-right:40%;}#genesis-4 #sidebar-left{width:37%;margin-left:-37%;}#genesis-4 #sidebar-right{width:37%;margin-left:-37%;}#genesis-4 .sidebar-left #sidebar-left{width:37%;margin-left:-37%;}.gpanel{clear:both;margin:.75em 0;}.gpanel .region{display:inline;position:relative;}.two-col-50 .region{width:49.5%;}.two-col-50 .col-1{float:left;}.two-col-50 .col-2{float:right;}.two-col-50 .gpanel{margin:0;}#two-col-50-nested .col-2{width:48.5%;}.col-1 #two-col-50-nested .region,.col-2 #two-col-50-nested .col-2{width:49%;}.three-col-33 .region{float:left;width:32%;}.three-col-33 .col-2{right:-1%;width:34%;}.three-col-33 .col-3{right:-2%;}.four-col-25 .section-1{float:left;width:49.5%;}.four-col-25 .section-2{float:right;width:49.5%;}.four-col-25 .col-1,.four-col-25 .col-3{float:left;width:49%;}.four-col-25 .col-2,.four-col-25 .col-4{float:right;width:49%;}.gpanel .region .inner{margin:0;}.gpanel .last .inner{margin-right:0;}#container{position:relative;margin:0 auto;}#columns{display:inline-block;margin-bottom:1em;}#container > #columns{display:block;}#content-column,#sidebar-left,#sidebar-right{float:left;}#content-column{width:100%;margin-bottom:1em;}.clear,#nav,#columns,#breadcrumb,#content-bottom,#secondary-content,#tertiary-content,#footer-wrapper,#footer,#footer-message{clear:both;} -div.block{position:relative;}div.block div.block-edit{font-size:.9em;position:absolute;right:0;top:0;visibility:hidden;z-index:40;}div.block:hover div.block-edit{display:block;font-family:Arial,Helvetica,"Nimbus Sans",sans-serif;visibility:visible;}div.block div.block-edit a{text-decoration:none;color:#ccc;}div.block div.block-edit a:before{content:"[";}div.block div.block-edit a:after{content:"]";}div.block div.block-edit a:hover{color:#000;background:#FFF;}div.block div.block-edit li{display:inline;float:left;list-style:none;margin:0 0 0 .5em;}div.view div.views-admin-links{font-size:.85em;}.block div.view div.views-admin-links{margin-top:1.8em;}#main-content div.view div.views-admin-links{margin-top:-.8em;}div.view div.views-admin-links li a{text-decoration:none;width:5em;}div.view div.views-admin-links li a:hover{color:#000;background:#FFF;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#CCC;} - -li.leaf{list-style:none outside none !important;padding:0 !important;}.item-list ul,.item-list ol{margin:0;padding:0;}.item-list ul li{list-style:none;margin:0;padding:0;}#header form{margin:0;}div.views-cloud{line-height:1.2;}div.views-cloud span{margin:2px 5px;}div.views-cloud div{white-space:normal;}div.views-cloud span.views-cloud-size-3 a,div.views-cloud span.views-cloud-size-4 a{color:#262626;}.comments-count{font-style:italic;}.comments-count,.theme2,.type{font-size:11px;display:inline;margin:0 3px 0 0;}#comments .post img{float:left;margin:0 10px 0 0;}#comment-form label{color:#000000;font-size:14px;margin:0 0 5px;}div.ctools-modal-content textarea#edit-body{width:500px;height:400px;}#sidebar-right .block ul{padding:0 0 0.25em 0;}ul.primary li a{background-color:#DECFE2;} - -#acces-rapide{display:none;}.back-to-top{display:none;} - body{color:#4D4D4D;font-size:12px;line-height:17px;font-family:'Arial','FreeSans';}img{border:none;}a{text-decoration:none;color:#032649;font-weight:bold;}a:hover{text-decoration:underline;}a img,a:hover img{text-decoration:none;}a.ext{text-decoration:underline;}p{margin:0 0 5px 0;}ul{padding:0;margin:0;}ol{padding:0;margin:0;}li{list-style-type:none;padding:0;margin:0;}h1{color:#262626;font-size:24px;line-height:26px;letter-spacing:0.2px;margin:0 0 15px 0;}body.section-rubrique h1,body.section-partenariats h1{color:#773584;}h2{line-height:20px;font-size:16px;letter-spacing:0.5px;margin:0 0 3px 0;padding:0;}h3{font-size:12px;line-height:18px;margin:0 0 2px 0;padding:0;} - input.idleField{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}.section-admin input.idleField{color:#000000;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}input.focusField{border:1px dotted #773584 !important;background-color:#ad86b5;color:#fff;} - #sidebar-right h3{font-size:14px;line-height:14px;}.titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.titre-barre-gris{background:url(/sites/all/themes/franceculture/images/titre-barre-gris.gif) repeat-x 0 2px;color:#BABCBE;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#footer-top .titre-barre{padding:0 0 15px 0;}.titre-barre span,.titre-barre-gris span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}.titre-barre span.picto-ecoute{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 5px 3px;padding-left:28px;}.titre-barre a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}.titre-barre a:hover{text-decoration:none;}.titre-barre a.red{color:#C1272D;}.clear{clear:both;}.rss{padding:0 0 5px 5px;}.pictos{margin:2px 0 0 5px;background-color:#C1272D;}.sep{margin:0 0 6px 0;padding:0 0 6px 0;border-bottom:1px solid #CFCFCF;}.sep-last{margin:0;padding:0 0 6px 0;border-bottom:0 solid;}a.sep{display:block;}.read-more{text-align:right;font-size:11px;}.date{font-weight:bold;font-size:11px;}.timer{color:#C1272D;font-size:11px;margin:0 0 0 5px;font-weight:bold;}.timer-liste{font-size:11px;font-weight:bold;}.timer a{color:#C1272D;}.img-float{float:left;margin:0 10px 0 0;}.block{display:block;min-height:100px;margin:0 0 10px 0;}#footer-top .block{min-height:0;margin:0;}body.section-admin .block{min-height:0px;}.num-com{background:url(/sites/all/themes/franceculture/images/num-com-bg-rose.png) repeat-x 0 0;color:#000;font-size:10px;margin-left:10px;}.num-com:hover{text-decoration:none;}.num-com span{background:url(/sites/all/themes/franceculture/images/num-com-rose.png) no-repeat 100% 0;padding:0 3px 9px 3px;}.soon{padding:1px 4px;color:#fff;background-color:#C1272D;font-weight:bold;font-size:10px;margin-left:5px;}.violet{color:#773584;font-size:11px;}.cours{background-color:#E8E8E8;padding:0 5px;margin-right:5px;}.cours a{padding:0 5px;}.quiz{background-color:#DECFE2;padding:0 10px;margin-right:5px;}.quiz a{padding:0 10px;}.answer a{font-size:10px;background:url(/sites/all/themes/franceculture/images/answer.png) no-repeat 0 0;padding:0 5px 9px;}.answer a.none{background:#e4d7e6 none;padding:0 5px;}.rank-1{font-size:12px;}.rank-2{font-size:12px;color:#262626;}.rank-3{font-size:16px;color:#262626;}.btn-emission{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-emission.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:3px 20px 4px;margin-left:20px;}.btn-emission:hover{background-position:0 -22px;text-decoration:none;}.btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 25px;margin-left:20px;}.btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;}.more-doc{display:block;text-align:right;margin-top:15px;padding-right:15px;line-height:12px;cursor:pointer;}.more-doc:hover{text-decoration:none;}#edit-mollom-captcha-wrapper a#mollom-audio-captcha{display:none;}#edit-mollom-captcha-wrapper span{color:#fff;}#edit-mollom-captcha-wrapper span.form-required{color:#8A1F11;} - - - .retour-home{position:absolute;top:0;left:0;margin:18px 0 0 0;}.search{float:right;margin:10px 25px 0 0px;width:400px;} - #header .block{float:right;margin:22px 0 0 0;width:385px;}#header label,#header .block-simplenews p,#header #block-block-17 a{color:#773584;font-weight:bold;float:left;margin:0 10px 0 0;line-height:24px;}#header #block-block-17 a{float:right;}#header .block-simplenews p,#header .block-simplenews div,#header .block-simplenews form{display:inline;}#header .block-simplenews label{display:none;}#header input,#header .block-simplenews div.user-mail{padding:4px 10px 5px 10px;float:left;width:145px;}body.blogs #block-simplenews-65{display:none;}#header input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}#header .temp{margin:0 0 0 2px;} - #menu-principal{position:absolute;top:0;right:0;margin:108px 15px 0 0;}#menu-principal li{float:left;}#menu-principal a{color:#fff;padding:6px 8px 5px 9px;font-size:14px;font-weight:bold;display:block;background-color:#28042D;}#menu-principal a:hover,#menu-principal a.active{background-color:#773584;text-decoration:none;}#menu-principal .first a{margin:0 0 0 1px;}#menu-principal .menu-action a{padding:5px 10px 6px 10px;background-color:#4D4D4D;}#menu-principal .menu-action a:hover,#menu-principal .menu-action a.active{background-color:#C1272D;} - #menu-top{position:absolute;top:0;right:0;margin:80px 0 0 0;}#menu-top li{float:left;background-color:#DECFE2;}#menu-top a{color:#000;padding:5px 11px 6px;font-size:13px;font-weight:bold;display:block;}#menu-top a:hover,#menu-top a.active{background-color:#773584;color:#fff;text-decoration:none;}#menu-top .login{margin:0 0 0 1px;}#menu-top .login a{color:#56045D;}#menu-top .register a{color:#56045D;font-weight:normal;font-size:12px;}#menu-top .register a:hover,#menu-top .login a:hover,#menu-top .login a.active,#menu-top .register a.active{color:#fff;}#menu-top .disconnect a{margin:0 20px;}#menu-top .go-profil a{background:url(/sites/all/themes/franceculture/images/btn-edit-profil.png) no-repeat 0 0;display:block;text-align:center;width:54px;height:19px;color:#fff;margin:4px 4px 5px 4px;padding:0;}#menu-top .go-profil a:hover{background-position:0 -19px;} - .urgent{border:1px solid #CFCFCF;margin-bottom:15px;}.urgent-inner{background-color:#F5DCE3;margin:2px;padding:5px;position:relative;width:654px;}.urgent-inner span{color:#DC0000;font-size:11px;font-weight:bold;}.urgent-inner h1{color:#DC0000;font-size:16px;font-weight:bold;line-height:18px;margin-bottom:5px;}.urgent-inner a{font-size:11px;background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 0 4px;position:absolute;bottom:0;right:0;margin:0 10px 10px 0;line-height:11px;padding-left:10px;cursor:pointer;}.urgent-inner a:hover{text-decoration:none;} - .tabs{font-size:11px;color:#032649;}.tabs a{color:#032649;font-weight:bold;}.tabs a.active{color:#773584;} - #content-left{line-height:15px;}body .list-article li{margin:0 0 0 0;clear:left;padding:25px 0 0 0}.rubrique{background:url(/sites/all/themes/franceculture/images/bg-rubrique.png) repeat-x 0 0;font-size:11px;margin:0 0 3px 0;}.rubrique a,.rubrique span{background:#fff none;padding:0 5px 0 0;}.list-article .first{padding-top:0px;}.list-article .last{margin-bottom:25px;}.list-article .first .illustration{margin-bottom:15px;}.list-article .large .illustration{margin-right:0}.list-article .illustration{float:left;margin-right:20px;}.front .list-article .illustration{margin-bottom:25px;}.list-article .video{margin-top:15px;}img.imagefield-field_fleuve_image,img.imagecache-image_liste,img.imagecache-evenement_image_liste{float:left;margin-right:20px;} - .biographie{color:#262626;font-size:14px;line-height:18px;letter-spacing:0.1px;margin-bottom:35px;}.biographie p,body.node-type-rf-personne#tinymce p{margin-bottom:15px;} - #share,#block-print-0{position:absolute;top:0;right:0;text-align:right;min-height:0;}#share .share-mail{background:url(/sites/all/themes/franceculture/images/share-mail.png) no-repeat 100% 4px;padding-right:15px;margin-right:20px;}#share .share-mail span{display:none;}#share .share-more{padding-left:15px;}#share .share-services{margin-left:10px;}#share .share-services span{margin-right:5px;}.share-script .more-services{display:none;}.share-script .more-services.active{display:inline;}.share-script .more-services.active a{float:none;}.share-script .more-services.active a span{float:none;display:inline;padding:1px 8px;}#block-print-0{right:210px;}#block-print-0 .print-page{background:url(/sites/all/themes/franceculture/images/share-print.png) no-repeat 100% 2px;padding-right:15px;margin-right:17px;} - .pager{border:1px solid #CFCFCF;padding:5px;text-align:right;color:#032649;margin:50px 0 30px 0;}.pager a,.pager span.pager-current{font-size:14px;line-height:14px;color:#032649;display:inline-block;height:15px;text-align:center;padding:0;vertical-align:center;}.pager span.pager-item,.pager span.pager-current{margin:0 3px;}.pager span.pager-previous span,.pager span.pager-next span{display:none;}.pager span.pager-previous{background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat 0 0;width:15px;margin-right:3px;}.pager span.pager-next{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png) no-repeat 0 0;width:15px;margin-left:3px;}.pager span.pager-previous a,.pager span.pager-next a{width:15px;}.pager span.pager-current{color:#773584;} - .player{background:url(/sites/all/themes/franceculture/images/player-article.png) no-repeat 0 0;width:650px;height:75px;color:#fff;font-weight:bold;margin:20px 0 0 0;}.player .ecouter{float:left;width:65px;}.player .ecouter a{font-size:10px;display:block;padding:38px 0 0 0;text-align:center;color:#fff;}.player .ecouter a:hover{text-decoration:none;}.player .played{float:left;width:430px;margin:12px 0 0 0;}.player .played img{margin:8px 0 0 0;}.player .action{float:left;width:155px;margin-top:12px;}.player .action a{color:#fff;display:block;margin-bottom:7px;padding-left:22px;} - .com{margin-bottom:40px;}.com .post{margin-bottom:20px;}.com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}.com .post .auth{font-weight:bold;color:#032649;}.com .post .submited .date{margin-left:5px;}.com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;}#comment-form .preview .post{margin-bottom:20px;}#comment-form .preview .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}#comment-form .preview .post .auth{font-weight:bold;color:#032649;}#comment-form .preview .post .submited .date{margin-left:5px;}#comment-form .preview .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} -#comment-form{margin-bottom:40px;}#comment-form img{margin:0 0 15px 0;}#comment-form label,#comment-form input.form-text,#comment-form textarea{display:block;font-weight:normal;}#comment-form label{color:#000;font-size:14px;margin:0 0 5px 0;}#comment-form input.form-text{border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;width:210px;margin:0 0 15px 0;}#comment-form textarea{padding:4px 10px 5px 10px;color:#999999;width:633px;margin:0 0 15px 0;}#fc-quelisentils-comment-form input.form-submit,#comment-form input.form-submit,.section-liste-ecoute #node-form input.form-submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}.section-liste-ecoute #node-form input.form-submit{width:100px;}#fc-quelisentils-comment-form input.form-submit:hover,#comment-form - input.form-submit:hover,.section-liste-ecoute #node-form input.form-submit:hover{background-color:#C1272D;}#comment-form .fieldset-wrapper label,#comment-form .fieldset-wrapper input{display:inline;} - #footer-top ul{float:left;border-left:1px solid #CFCFCF;padding:0 0 0 15px;margin:0 0 0 15px;font-size:11px;line-height:16px;display:inline;}ul.no-border{border:none;padding:0 30px 0 0;margin:0;width:80px;}ul.tools{width:100px;}ul.france-culture{width:450px;}ul.ecoute-culture{width:230px;}#footer a{color:#fff;font-size:16px;}#footer ul{float:left;}#footer li{display:inline;border-right:2px solid #fff;padding:0 30px 5px 0;margin:0 30px 0 0;}.signature-rf{float:right;text-align:right;font-size:10px;color:#888b8b;line-height:12px;}.signature-rf a{display:block;color:#888b8b;font-size:10px;font-weight:bold;} - - #content-right{line-height:15px;}#content-right .panel-pane,.list-rubrique li{margin-bottom:30px;margin-top:0 !important;padding-left:10px;}#content-right .panel-pane label,.list-rubrique li label{margin:10px 0 5px 0;display:block;}#content-right .panel-pane input,.list-rubrique li input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}#content-right .panel-pane input.form-text:focus,#content-right .panel-pane input.focusField{color:#FFF;}#content-right .panel-pane input.submit,.list-rubrique li input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}#content-right .panel-pane select,.list-rubrique li select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;float:left;width:100%;margin:0 0 10px 0;} - #content-right .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.node-type-panel #content-left .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.node-type-panel #content-left .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;} - .acheter li a{color:#000;font-weight:normal;font-style:italic;}.acheter li span{color:#808080;font-style:italic;font-size:11px;}#content-right .acheter li{border-bottom:1px solid #CFCFCF;margin:10px 0 0 0;padding:0 0 10px 0;} - body.lecture #sidebar-right .plus ul{padding-left:20px;padding-right:20px;}body.lecture #sidebar-right .plus li{clear:left;margin:20px 0 0 0;}body.lecture #sidebar-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.lecture #sidebar-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.lecture #sidebar-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}body.profil #content-right .plus li{clear:left;margin:10px 0;}body.profil #content-right .plus p{float:right;width:130px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.profil #content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.profil #content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} - body.profil #content-right .rel-doc li{clear:left;margin:10px 0;}body.profil #content-right .rel-doc img{float:left;margin:0 10px 15px 0;}body.profil #content-right .rel-doc p{font-size:12px;color:#4D4D4D;display:inline;line-height:14px;}body.profil #content-right .rel-doc p a{margin:0;}body.profil #content-right .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.profil #content-right .rel-doc p span.date{font-weight:bold;color:#4D4D4D;font-size:11px;}body.profil #content-right .rel-doc p.theme a{display:block;text-align:right;}body.profil #content-right .rel-doc p.theme input{float:none;width:113px;margin:20px 0;} - #sidebar-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block .title{margin:0 10px 5px 10px;}#sidebar-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block .title a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}#sidebar-right .block .context{padding:0 10px 5px;}#sidebar-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#sidebar-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}#sidebar-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right .block-ecoute{background:#fff url(/sites/all/themes/franceculture/images/player-noir-bg.png) repeat-y 0 0;margin:0 0 10px 0;line-height:14px;}#sidebar-right .block-ecoute .block-inner{background:url(/sites/all/themes/franceculture/images/player-noir-top.png) no-repeat 0 0;padding:15px 0 0 0;color:#fff;}#sidebar-right .block-ecoute .titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre-noir.gif) repeat-x 0 2px;margin:0 19px 5px 10px;}#sidebar-right .block-ecoute h2 span{background:#323232 url(/sites/all/themes/franceculture/images/picto-cult-noir.png) no-repeat 5px 0;color:#fff;padding-left:28px;}#sidebar-right .block-ecoute .context{background-color:#fff;margin:0 19px 15px 10px;border-top:1px solid #666666;border-bottom:1px solid #666666;border-right:none;border-left:none;padding:15px 10px;color:#4D4D4D;}#sidebar-right .block-ecoute .context p{padding:0;}#sidebar-right .block-ecoute h3 a{display:block;}#sidebar-right .block-ecoute h3 .timer{font-size:14px;display:block;margin:0 0 2px 0;}#sidebar-right .block-ecoute p{padding-left:10px;padding-right:19px;}#sidebar-right .block-ecoute p a{color:#fff;background-color:#121212;}#sidebar-right .block-ecoute p .timer{font-size:12px;margin:0;}#sidebar-right .block-ecoute p.auteur{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;padding-bottom:25px;display:block;margin:2px 0 0 0;}#sidebar-right .block-ecoute .closure{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;height:15px;display:block;margin:2px 0 0 0;border:none;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .context{height:40px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .default{font-weight:bold;margin-top:7px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard{height:140px;} - #sidebar-right .block-list{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-list .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-list .titre-barre{margin:0 10px 5px 10px;}#sidebar-right .block-list .titre-barre span{background-color:#ebebeb;}#sidebar-right .block-list .context{padding:0 10px 5px;}#sidebar-right .block-list .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right .block-list label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-list ul,.block-list ol,.block-list .context{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding-top:1px;}#sidebar-right .block-list ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-list li{border-bottom:1px solid #CFCFCF;margin:20px 20px 0 20px;padding:0 0 15px 0;}#sidebar-right .block-list .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right .block-list .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right .block-user{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-user .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-user .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block-user .title{margin:0 10px 5px 10px;}#sidebar-right .block-user .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block-user .context{padding:0 10px 5px;}#sidebar-right .block-user label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-user .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block-user ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-user li{border-bottom:1px solid #CFCFCF;margin:2px 0;padding:0;border-top-width:0;}#sidebar-right .block-user li.first{margin-top:0;}#sidebar-right .block-user .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - #sidebar-right #block-fcbloc-sur-le-meme-theme{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;background-color:#ebebeb;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context{padding:0 10px 5px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right #block-fcbloc-sur-le-meme-theme label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right #block-fcbloc-sur-le-meme-theme ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right #block-fcbloc-sur-le-meme-theme li{border-bottom:1px solid #CFCFCF;margin:20px 0 0 0;padding:0 0 15px 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme li.last{padding:0;border-bottom:0px}#sidebar-right #block-fcbloc-sur-le-meme-theme li.first{margin-top:0;}#sidebar-right #block-fcbloc-sur-le-meme-theme .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right #block-fcbloc-sur-le-meme-theme .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme p a{font-weight:normal;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;} - #sidebar-right #block-fcbloc-publicite.block .block-inner,#sidebar-right #block-fcbloc-publicite.block .block-content,#sidebar-right #block-fcbloc-publicite.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-fcbloc-publicite.block .closure{display:none;}#sidebar-right #block-fcbloc-publicite.block .title span{background-color:#FFF;}#sidebar-right #block-fcbloc-publicite.block .title{margin:0;}#sidebar-right #block-fcbloc-publicite.block .pub-inner{width:300px;height:250px;}#sidebar-right #block-fcbloc-publicite.block p.pub-notice{display:block;text-align:center;background-color:#c7c7c7;color:#808080;padding:2px;margin:0;}#sidebar-right #block-fcbloc-publicite.block{margin-bottom:15px;} - #sidebar-right #block-views-partenariats_fo_liste-block_1.block,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-inner,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-content,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title span{background-color:#FFF;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title{margin:0;} - #sidebar-right #block-views-lesplusconsultes-block_3 h2.title span{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 3px 50%;padding-left:28px;} - #content-right .propos li{border-bottom:none;margin-top:15px;padding-bottom:5px;}#content-right .propos li .date{font-size:12px;display:block;margin-bottom:5px;} - #sidebar-right .aide .closure{height:15px;}#sidebar-right .aide li{border-bottom:none;margin-top:10px;padding-bottom:0;} - .block-nav a{display:block;margin-bottom:5px;} - #content-right .qr .read-more{background:none;padding-bottom:5px;}#content-right .qr .closure{background-color:#ebebeb;padding-top:10px;height:40px;}#content-right .qr .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}#content-right .qr .closure a:hover{background-position:0 -22px;text-decoration:none;}#sidebar-right .qr-posezvotrequestion a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;height:20px;margin:10px 10px -15px;padding-top:2px;}#sidebar-right .qr-posezvotrequestion a:hover{background-position:0 -22px;text-decoration:none;} - #sidebar-right .equipe li{border-bottom:none;padding-bottom:5px;margin-top:15px;} - #content-right .votre-liste ol li{list-style-position:inside;border-bottom:none;font-weight:normal;color:#4D4D4D;} - #content-right .sujet li{margin-bottom:5px;padding-bottom:5px;border-bottom:0;}#content-right .sujet .illustration{float:left;margin-right:5px;}#content-right .sujet .timer{margin-left:0;} - #content-right #block-fc_evenement-proposer-un-evenement ul{padding:0 0 0.25em 0;}#content-right #block-fc_evenement-proposer-un-evenement{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#content-right #block-fc_evenement-proposer-un-evenement .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#content-right #block-fc_evenement-proposer-un-evenement .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right #block-fc_evenement-proposer-un-evenement .title{margin:0 10px 5px 10px;}#content-right #block-fc_evenement-proposer-un-evenement .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#content-right #block-fc_evenement-proposer-un-evenement .context{padding:0 10px 5px;}#content-right #block-fc_evenement-proposer-un-evenement .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#content-right #block-fc_evenement-proposer-un-evenement li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#content-right #block-fc_evenement-proposer-un-evenement li.first{margin-top:0;}#content-right #block-fc_evenement-proposer-un-evenement .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:35px;display:block;}#content-right #block-fc_evenement-proposer-un-evenement .desc .grippie{margin-left:25px;} - #content-right #block-fc_evenement-proposer-un-evenement .form-item label{font-weight:normal}#content-right #block-fc_evenement-proposer-un-evenement input.submit{width:100px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-add,#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-remove{width:100px;margin-left:25px;border:2px outset;height:25px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite{background:url(/sites/all/themes/franceculture/images/btn-evenement.png) no-repeat 0 0;margin-left:185px;margin-top:0;text-align:center;width:85px;height:25px;color:#fff;border:none;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite:hover{background-position:0 -25px;text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement p.connect{height:30px;width:120px;margin-left:125px;padding:5px 20px;background:url(/sites/all/themes/franceculture/images/btn-evenement-connect.png) no-repeat 0 0;}#content-right #block-fc_evenement-proposer-un-evenement p.connect:hover{background-position:0 -39px;}#content-right #block-fc_evenement-proposer-un-evenement p.connect a{font-size:13px;color:#fff}#content-right #block-fc_evenement-proposer-un-evenement p.connect a:hover{text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement div.messages{margin:1em;}#content-right #block-fc_evenement-proposer-un-evenement .quand .description{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand{margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label{margin-left:5px;}#content-right #block-fc_evenement-proposer-un-evenement .quand .container-inline-date.date-clear-block{clear:none;display:inline;float:left;margin-top:10px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .desc .form-item .description{margin-left:25px;clear:left;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-throbber{margin-top:-22px;margin-left:145px;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-bar{width:235px;float:left;margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .supl span.field-prefix{margin-left:25px;font-size:13px;}#content-right #block-fc_evenement-proposer-un-evenement .supl input{margin-left:0px;width:195px;}#content-right #block-fc_evenement-proposer-un-evenement .supl #legal-wrapper{margin:10px 25px 5px;} - #sidebar-right .form-com p,#content-right .form-com p{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:11px;text-align:center;color:#C1272D;}#sidebar-right .form-com label,#content-right .form-com label{margin:10px 25px 5px 25px;background:none;text-align:left;color:#4D4D4D;font-size:12px;padding:0;}#sidebar-right .form-com label span,#content-right .form-com label span{color:#C1272D;font-size:13px;}#sidebar-right .form-com input,#sidebar-right .form-com textarea,#content-right .form-com input,#content-right .form-com textarea{margin:0 25px;width:230px;padding:3px 5px;}#content-right .form-com select,#sidebar-right .form-com select{margin:0 25px;width:240px;padding:3px 5px;}#sidebar-right .form-com img,#content-right .form-com img{margin:10px 25px;text-align:center;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{width:80px;margin-top:20px;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}#sidebar-right .form-com input.submit:hover,#content-right .form-com input.submit:hover{background-color:#C1272D;}#content-right .form-com .quoi,#content-right .form-com .quand,#content-right .form-com .ou,#sidebar-right .form-com .quoi,#sidebar-right .form-com .quand,#sidebar-right .form-com .ou{margin-bottom:20px;}#content-right .form-com .quand input,#sidebar-right .form-com .quand input{width:75px;float:left;margin:0 0 0 5px;padding:2px 5px;display:inline;}#content-right .form-com .quand input.submit,#sidebar-right .form-com .quand input.submit{width:22px;height:22px;margin:0 0 0 2px;padding:0;border:none;}#content-right .form-com .quand label,#sidebar-right .form-com .quand label{float:left;margin:5px 0 0 25px;display:inline;}#content-right .form-com .ou .cp,#sidebar-right .form-com .ou .cp{float:left;width:90px;margin:15px 0 0 25px;display:inline;}#content-right .form-com .ou .cp input,#sidebar-right .form-com .ou .cp input{width:70px;margin:0;}#content-right .form-com .ou .cp label,#sidebar-right .form-com .ou .cp label{margin:0;}#content-right .form-com .ou .commune,#sidebar-right .form-com .ou .commune{float:left;width:170px;margin:15px 0 0 0;}#content-right .form-com .ou .commune input,#sidebar-right .form-com .ou .commune input{width:140px;margin:0;}#content-right .form-com .ou .commune label,#sidebar-right .form-com .ou .commune label{margin:0;}#content-right .form-com .desc,#sidebar-right .form-com .desc{margin-bottom:20px;}#content-right .form-com .desc input,#sidebar-right .form-com .desc input{width:160px;float:left;margin:0 0 0 25px;padding:2px 5px;display:inline;}#content-right .form-com .desc input.submit,#sidebar-right .form-com .desc input.submit{width:80px;height:22px;margin:0 0 0 2px;padding:0;border:none;} - #content-right .plus ul{padding-left:20px;padding-right:20px;}#content-right .plus li{clear:left;margin:20px 0 0 0;}#content-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}#content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}#content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} - .search-col-right p{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding:20px 0 0 25px;height:30px;margin:0;}.search-col-right input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:205px;}.search-col-right input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.lecture .search-col-right .closure{height:15px;} - .writter{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}.book{padding:0 0 0 17px;margin:10px 0;}.who{display:block;font-size:16px;margin-bottom:2px;}body.page-accueil div.view-quelisentils img.imagecache-personne_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-personne_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-personne_image_liste{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}body.page-accueil div.view-quelisentils img.imagecache-oeuvre_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-oeuvre_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-oeuvre_image_liste{padding:0 0 0 15px;margin:10px 0;} - .profil-extra img{margin-bottom:20px;}.profil-extra td{padding-bottom:8px;color:#262626;}.profil-extra .ref{width:85px;}.profil-extra .ref.map{width:225px;}.profil-extra .infos{padding-left:10px;} - .oeuvre p{color:#666666;font-size:11px;margin-left:105px;}.oeuvre a.title{display:block;font-size:12px;margin-bottom:3px;}.oeuvre span.format{color:#4D4D4D;font-weight:bold;display:block;margin-bottom:3px;} - .rel-emission .position{position:relative;text-align:right;width:235px;margin-bottom:8px;}.rel-emission .position a{display:block;height:45px;}.rel-emission .position p{position:absolute;top:0;left:0;margin:10px 0 0 5px;font-size:13px;font-weight:bold;color:#fff;z-index:10;width:110px;text-align:left;line-height:13px;}.rel-emission .position .opacity{position:absolute;bottom:0;left:0;display:block;width:120px;height:40px;opacity:0.8;}.rel-emission .position .opacity span{display:none;} - .position .docks{background-color:#29ABE2;}.position .theme1-131{background-color:#D2D721;}.position .theme1-130{background-color:#47758D;}.position .theme1-135{background-color:#1B97CD;}.position .theme1-132{background-color:#EED7A1;}.position .theme1-133{background-color:#EF6F60;}.position .theme1-289{background-color:#FFED00;}.position .theme1-290{background-color:#8E5698;}.position .theme1-134{background-color:#FBB03B;} - - - .part{position:relative;margin-bottom:10px;width:300px;}.part img{border:10px solid #EBEBEB;}.part .opaque{position:absolute;bottom:0;left:0;margin:0 0 10px 10px;height:30px;width:280px;background-color:#000;opacity:0.7;z-index:10;}.part p{color:#fff;font-size:16px;font-weight:bold;position:absolute;bottom:0;left:0;margin:0 0 15px 15px;z-index:20;} - #sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist{padding-bottom:50px;padding-top:5px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a{float:none;margin:0;text-align:left;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist .illustration{float:left;margin-right:20px;width:70px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit{background:transparent url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat scroll 0 0;color:#FFFFFF;float:right;padding:4px 10px;text-align:center;width:140px;margin-top:20px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit:hover{background-position:0 -25px;text-decoration:none;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist{position:relative;overflow:hidden;height:220px;margin:10px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items{position:absolute;height:200em;width:260px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items div.field-item{top:5px;border-bottom:1px solid #CFCFCF;padding:7px 0;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.disabled{visibility:hidden !important;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.prev{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png);cursor:pointer;display:block;height:15px;left:5px;margin:40px 0 0 5px;top:0;position:absolute;width:280px;z-index:10;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);cursor:pointer;display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;z-index:10;margin-bottom:75px;margin-left:150px;} - - #content-bottom{background:url(/sites/all/themes/franceculture/images/bg_bottom.png) repeat-y 0 0;}#content-bottom .clear-close{background:url(/sites/all/themes/franceculture/images/bg-bottom_bottom.png) no-repeat 0 100%;height:32px;clear:both;}#content-bottom .titre-barre span{background-color:#ebebeb;}#content-bottom ol{margin:10px 15px 0 15px;}#content-bottom li{border-bottom:1px solid #CFCFCF;}#cb-left{background:transparent url(/sites/all/themes/franceculture/images/cb-left_top.png) no-repeat 0 0;}#cb-right{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#cb-left li{margin:0 0 15px 0;padding:0 0 15px 0;}#cb-left .auteur{display:block;margin:10px 0 5px 0;}#cb-right li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#block-views-lesplusconsultes-block_1 li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1 h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#block-views-lesplusconsultes-block_1 h2.title span{background-color:#EBEBEB;display:inline-block;padding:0 5px;letter-spacing:0;} - - - body.blogs .blog-home{position:absolute;top:0;right:0;margin-top:-12px;margin-right:-12px;z-index:10;}body.blogs .opacity h1{position:absolute;bottom:0;left:0;margin-bottom:5px;margin-left:15px;display:block;opacity:0.8;color:#fff;padding:15px;line-height:20px;background-color:#29ABE2;font-size:30px;}body.blogs .opacity h1 a{color:#FFF;text-decoration:none;}body.blogs .opacity h1 a.le-blog-de{display:block;font-size:12px;color:#032649;}body.blogs .opacity-bottom{position:absolute;bottom:0;left:0;width:990px;height:5px;opacity:0.8;background-color:#29ABE2;} - body.blogs .list-article{margin-bottom:40px;}body.blogs .list-article li{margin-top:15px;padding-top:10px;border-top:1px solid #CFCFCF;}body.blogs .item-list ul{margin:0;}body.blogs .item-list li{margin:15px 0 0;padding-top:10px;border-top:1px solid #CFCFCF;list-style:none;}.blog-illu{float:left;position:relative;background:url(/sites/all/themes/franceculture/images/blog-ill-top.png) no-repeat 0 0;padding-top:10px;width:100px;margin-right:20px;}.blog-illu .date{position:absolute;top:0;left:0;z-index:20;margin-top:12px;color:#fff;display:block;text-align:center;width:100px;font-size:14px;}.blog-illu .opaque{position:absolute;top:0;left:0;width:100px;height:20px;background-color:#000;opacity:0.7;margin-top:10px;}.blog-illu span{border-bottom:1px solid #CFCFCF;margin-bottom:2px;padding-bottom:2px;font-size:11px;display:block;font-weight:bold;}.blog-illu span.auteur{border-bottom:none;}.blog-infos{float:left;width:520px;}.view-id-personne_fo_fleuve .blog-infos{width:auto;float:none;}.blog-infos p,body.node-type-rf-billet-blog#tinymce p{font-size:13px;color:#262626;line-height:18px;margin-bottom:10px;}body.blogs .pager{clear:left;}body.blogs .form-com{clear:both;}body.blogs #content .blog-infos .illustration{position:relative;float:left;margin:0 15px 25px 0;}body.blogs #content .blog-infos .large{margin-right:0;}body.blogs #content .blog-infos .illustration .opaque{position:absolute;bottom:0;left:0;width:100%;background-color:#000;opacity:0.7;}body.blogs #content .blog-infos .illustration .opaque p{font-weight:bold;color:#fff;font-size:11px;margin:2px 10px;} - #sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li{margin-top:0;}#sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li ~ li{margin-top:20px;} - #sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li{margin-top:0;}#sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li ~ li{margin-top:20px;} - - h1 .more{color:#773584;font-size:12px;font-weight:bold;}h1 .more .result,h1 .more .tag{font-size:24px;margin:0 5px;}.more-infos input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:270px;display:inline;}.more-infos input.submit{padding:0;border:none;margin:0 0 0 2px;width:77px;height:26px;background-color:#773584;}.more-infos input.box{float:left;margin:6px 0 0 20px;display:inline;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;width:15px;height:15px;}.more-infos label.box{float:left;margin:5px 0 0 5px;display:inline;color:#032649;font-size:11px;font-weight:bold;}.trie{margin-top:30px;color:#032649;font-size:11px;font-weight:bold;}.trie a{color:#032649;margin:0 3px;}.trie a.first{margin-left:0;}.trie a.active{color:#773584;}.result li{border-top:1px solid #CFCFCF;margin:0 0 15px 0;padding:10px 0 0 0;clear:both;}.result .illustration{float:right;margin-left:20px;}.result .tagged{background-color:#FFFF00;} - body.page-theme #content-inner .more{color:#773584;font-size:13px;font-weight:bold;margin:10px 0 20px 0;}body.page-theme #content-inner .more select{border-color:#CCCCCC #666666 #666666 #CCCCCC;border-style:solid;border-width:1px;margin-left:10px;padding:2px;width:200px;color:#4D4D4D;font-size:12px;}body.page-theme .list-article li{clear:both;}body.page-theme .list-article li .illustration{float:left;margin-right:10px;} - div#grille-programmes #grille-navigation{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}div#grille-programmes h1{color:#773584;padding-bottom:20px;margin-bottom:0;}div#grille-programmes .btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 33px;line-height:15px;width:185px;text-align:center;float:right;display:block;}div#grille-programmes .btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;} - div#grille-programmes .script-prog a.prev,div#grille-programmes .script-prog a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:6px;}div#grille-programmes .script-prog a.disabled{visibility:hidden !important;}div#grille-programmes .script-prog a.next,div#grille-programmes .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:6px;}div#grille-programmes .script-prog div.scrollable{position:relative;overflow:hidden;width:960px;height:31px;margin:0 0 0 5px;background-color:#EBEBEB;}div#grille-programmes #grille-navigation .script-prog ol{margin:0;}div#grille-programmes .script-prog #thumbs{position:absolute;width:10000em;clear:both;left:-1644px;} - div#grille-programmes .script-prog #thumbs li{width:137px;height:31px;cursor:pointer;margin:0;float:left;padding:0;position:relative;line-height:15px;text-align:center;background:url(/sites/all/themes/franceculture/images/li-prog.png) no-repeat 0 0;color:#032649;font-size:15px;font-weight:bold;}div#grille-programmes .script-prog #thumbs li.active{background:url(/sites/all/themes/franceculture/images/li-prog-active.png) no-repeat 0 0;}div#grille-programmes .script-prog #thumbs li a{display:block;height:100%;padding-top:7px;text-transform:lowercase;} - .plage-horaire a.prev,.plage-horaire a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:1px;}.plage-horaire a.disabled{visibility:hidden !important;}.plage-horaire a.next,.plage-horaire a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:1px;}.plage-horaire{width:960px;background-color:#fff;border-right:1px solid #CFCFCF;border-left:1px solid #CFCFCF;border-top:1px solid #CFCFCF;border-bottom:5px solid #C1272D;margin-top:5px;height:125px;padding:0 14px;position:relative;}.plage-horaire .horaire-inner{overflow:hidden;width:960px;height:125px;position:relative;}div#grille-programmes #thumbs2{position:absolute;width:10000em;clear:both;}.plage-horaire li{width:160px;height:125px;float:left;}.plage-horaire li div{width:140px;height:115px;position:relative;float:left;padding:10px 10px 0;}.plage-horaire li p{color:#032649;font-weight:bold;}.plage-horaire li.col-2{width:348px;}.plage-horaire h2{color:#4D4D4D;font-size:12px;font-weight:normal;}.plage-horaire a{display:block;height:100%;}.plage-horaire a:hover{text-decoration:none;}.plage-horaire span{position:absolute;bottom:0;left:0;height:16px;width:159px;background-color:#F9E9E9;font-size:11px;font-weight:bold;color:#ED1C24;display:block;padding:2px 0 2px 5px;}.plage-horaire span a{color:#ED1C24;}.plage-horaire span.second{margin-left:164px;}.plage-horaire .active span{background-color:#ED1C24;color:#fff;}.plage-horaire .active span a{color:#fff;} - .detail-plage{border-left:1px solid #CFCFCF;border-right:1px solid #CFCFCF;border-bottom:1px solid #CFCFCF;background:url(/sites/all/themes/franceculture/images/prog-horaire.png) repeat-x 0 0;padding:2px 15px 20px 15px;margin-bottom:40px;}.detail-plage .heure{color:#C1272D;font-size:18px;font-weight:bold;margin:5px 0 10px 0;}.detail-plage .heure .debut{float:left;}.detail-plage .heure .fin{float:right;}.detail-plage .programme p{padding-top:16px;}.detail-plage .programme img{float:left;margin-right:30px;}.detail-plage .programme h3{color:#C1272D;font-size:11px;font-weight:bold;line-height:11px;}.detail-plage .programme h2{font-size:20px;}.detail-plage .programme .btn-emission{padding:3px 25px 4px;float:right;line-height:15px;}.detail-plage .programme ul{margin:20px 0 0 0;float:left;width:300px;}.detail-plage .programme ul.split{margin-left:30px;}.detail-plage .programme li{border-bottom:1px solid #CFCFCF;margin-bottom:3px;padding-bottom:5px;font-size:11px;line-height:14px;}.detail-plage .programme li a{font-size:12px;}.detail-plage .programme li span{color:#C1272D;font-weight:bold;margin-right:2px;} - .detail-arbo{border:1px solid #CFCFCF;padding:30px;margin-top:5px;}.detail-arbo ul{margin-left:120px;}.detail-arbo li.actionnable{border-top:1px solid #CFCFCF;margin-top:10px;padding-top:10px;position:relative;width:810px;cursor:pointer;}.detail-arbo .action{position:absolute;top:0;right:0;margin:10px 0 0 0;cursor:pointer;}.detail-arbo span{color:#C1272D;font-weight:bold;}.detail-arbo span.plage{font-size:16px;display:block;width:50px;float:left;}.detail-arbo h2{margin-left:55px;}.detail-arbo p{margin-left:55px;color:#333333;font-size:12px;}.detail-arbo li ul{margin-left:55px;}.detail-arbo li li span{margin-right:3px;}.detail-arbo li li p{margin:0;} - body.section-podcasts .attachment-before .view-display-id-attachment_1{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1{padding-bottom:0;margin-bottom:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content{margin:0 0 15px 30px;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content li{display:block;float:left;margin:0 5px;position:relative;}body.section-podcasts li div.content{position:absolute;top:0;left:0;width:176px;border-top:1px solid #000;padding-bottom:15px;background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bottom.gif) no-repeat 0 100%;margin-top:-55px;margin-left:-3px;z-index:100;}body.section-podcasts li div.content p{background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bg.png) repeat-y 0 0;padding:5px 15px;margin:0;font-size:11px;font-weight:bold;line-height:11px;}body.section-podcasts li div.content p .timer{display:block;margin:0;} - body.podcasts .modifier{text-align:right;margin:30px 20px 0 0;height:25px;}body.podcasts .modifier a{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 18px;float:right;}body.podcasts .modifier a:hover{background-position:0 -25px;text-decoration:none;}body.podcasts .closure{height:60px;background-color:#ebebeb;padding-top:10px;}body.podcasts .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}body.podcasts .closure a:hover{background-position:0 -22px;text-decoration:none;} - body.section-podcasts h1{color:#773584;padding-bottom:10px;margin-bottom:0;}body.section-podcasts .primary-tabs{width:970px;height:31px;margin:0;margin-top:10px;}body.section-podcasts .primary-tabs span{float:left;}body.section-podcasts .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-podcasts .primary-tabs span a:hover{text-decoration:none;}body.section-podcasts .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:130px;height:26px;}body.section-podcasts .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-podcasts .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-podcasts .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-podcasts .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-podcasts .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-podcasts .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-podcasts .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-podcasts .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - body.section-podcasts .views-view-grid li img{float:right;margin-left:15px;}body.section-podcasts .views-view-grid li .views-field-title{font-size:16px;margin:0 0 5px 0;}body.section-podcasts .views-view-grid li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.section-podcasts .views-view-grid li span.timer{margin:0 0 5px 0;}body.section-podcasts .views-view-grid li .views-field-field-generique-personne-nid .field-content{display:inline;} - body.section-podcast .article-full{margin-bottom:30px;}body.section-podcast #content-left h2.titre-barre{margin-bottom:30px;}body.section-podcast .article-full h2{font-size:24px;color:#262626;}body.section-podcast .article-full h3{font-size:16px;color:#773584;margin:10px 0 5px 0;}body.section-podcast .article-full p{margin:10px 0 10px 215px;}body.section-podcast .article-full .illustration{float:left;margin:0 15px 25px 0;}body.section-podcast .article-full .instal{background:url(/sites/all/themes/franceculture/images/instal-bg.png) no-repeat 0 0;height:88px;margin:0 0 5px 215px;}body.section-podcast .article-full .instal a{font-size:11px;float:left;display:block;margin-top:10px;text-align:center;}body.section-podcast .article-full .instal a:hover{text-decoration:none;}body.section-podcast .article-full .instal a.itune{width:88px;}body.section-podcast .article-full .instal a.reader{width:85px;}body.section-podcast .article-full .instal a.yahoo{width:85px;}body.section-podcast .article-full .instal a.netvibes{width:85px;}body.section-podcast .article-full .instal a.netvibes span{margin-top:3px;}body.section-podcast .article-full .instal a.lien-rss{width:75px;}body.section-podcast .article-full .instal a.lien-rss span{margin-top:5px;}body.section-podcast .article-full .instal span{display:block;} - body.podcasts .script-vertical h2{margin-bottom:36px;}body.podcasts .script-vertical h2.titre-barre{margin-bottom:5px;}body.podcasts .script-vertical .liste-ecoute{position:relative;}body.podcasts .script-vertical a.prev,body.podcasts .script-vertical a.prevPage{display:block;width:260px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:40px 0 0 20px;}body.podcasts .script-vertical a.disabled{visibility:hidden !important;}body.podcasts .script-vertical a.next,body.podcasts .script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:120px;margin-left:159px;}body.podcasts .script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:300px;height:421px;margin:0;background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;}body.podcasts .script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;background:none;}body.podcasts .script-vertical #thumbs-vertical li{cursor:pointer;padding:15px 0 5px 0;margin:10px 20px 0 20px;clear:left;width:260px;height:109px;}body.podcasts .script-vertical #thumbs-vertical li .illustration{float:left;}body.podcasts .script-vertical #thumbs-vertical li p{margin-left:60px;}body.podcasts .script-vertical #thumbs-vertical li p a{display:block;margin-bottom:5px;line-height:15px;}body.podcasts .script-vertical #thumbs-vertical li p span{display:block;margin-top:5px;}body.podcasts .script-vertical #thumbs-vertical li p span span{display:inline;margin:0 0 0 5px;} - - - body.emissions #content-top{margin-bottom:-30px;}body.section-emissions .view-header{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-emissions #content #content-inner,body.section-grille-des-programmes #content #content-inner,body.section-programmes #content #content-inner{padding-top:0;}body.section-emissions h1{color:#773584;padding-bottom:10px;margin-bottom:0;} - body.section-emissions .primary-tabs{width:970px;margin:0;}body.section-emissions .primary-tabs span{float:left;}body.section-emissions .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-emissions .primary-tabs span a:hover{text-decoration:none;}body.section-emissions .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:125px;height:26px;}body.section-emissions .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-emissions .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-emissions .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-emissions .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-emissions .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-emissions .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-emissions .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-emissions .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - body.emissions .list-rubrique li h2{margin-bottom:30px;}body.emissions .list-rubrique li h2.titre-barre{font-size:16px;}body.emissions .list-rubrique li li.clear{float:left;width:100%;height:40px;}body.emissions .list-rubrique li li.clear span{display:none;}body.emissions .list-rubrique li li.first{padding-left:0;margin-left:0;border-left:none;}body.emissions .list-rubrique li li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}body.emissions .list-rubrique li li img{margin-bottom:5px;}body.emissions .list-rubrique li li h3{font-size:16px;margin:0 0 5px 0;}body.emissions .list-rubrique li li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.emissions .list-rubrique li li span.date{display:inline;}body.emissions .list-rubrique li li span.timer{margin:0 0 5px 0;display:inline;}body.emissions .list-rubrique li li span.timer img{margin-bottom:0;}body.emissions .list-rubrique li li p{font-weight:normal;margin-top:5px;}body.emissions .list-rubrique li li .rubrique{height:20px;}ul.views-view-grid li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}ul.views-view-grid li.col-1{padding-left:0;margin-left:0;border-left:none;}ul.views-view-grid li.empty{float:left;width:100%;height:40px;}ul.views-view-grid li .rubrique{height:20px;}ul.views-view-grid li h3{font-size:16px;margin:0 0 5px 0;}ul.views-view-grid li span.date{display:inline;}ul.views-view-grid li span.timer{margin:0 0 5px 0;display:inline;}ul.views-view-grid li span.timer img{margin-bottom:0;}ul.views-view-grid li p{font-weight:normal;margin-top:5px;}div.views-view-grid-title{clear:left;margin-bottom:30px;}div.views-view-grid-title h2.titre-barre{font-size:16px;} - body.emissions .article-full{color:#262626;font-size:14px;margin-bottom:40px;}body.emissions .article-full p.theme{font-size:13px;margin-top:30px;}body.emissions .article-full p.theme a{font-size:12px;margin:0 2px;}body.emissions .bandeau{position:relative;margin-bottom:20px;margin-left:15px;}body.emissions .bandeau h1{position:absolute;top:0;left:0;margin-top:10px;margin-left:-10px;display:block;opacity:0.95;height:75px;color:#fff;padding:5px 10px 10px 20px;line-height:20px;max-width:300px;}body.emissions .bandeau h1 span{display:block;font-size:12px;color:#032649;font-weight:bold;}body.emissions .bandeau h1 .site{background:url(/sites/all/themes/franceculture/images/emission.gif) no-repeat 0 0;display:block;font-size:12px;text-align:center;width:132px;height:17px;line-height:15px;}body.emissions .bandeau .illu-small{position:absolute;top:0;right:0;margin:13px 13px 0 0;}body.emissions .bandeau p{background-color:#EBEBEB;color:#032649;padding:2px 10px;font-size:12px;font-weight:bold;}body.emissions .bandeau p span{margin-left:15px;}body.emissions .bandeau h1.docks{background-color:#29ABE2;}body.emissions .bandeau h1.chemins{background-color:#D9E021;}body.emissions .bandeau h1.theme1-131{background-color:#D2D721;}body.emissions .bandeau h1.theme1-130{background-color:#47758D;}body.emissions .bandeau h1.theme1-135{background-color:#1B97CD;}body.emissions .bandeau h1.theme1-132{background-color:#EED7A1;}body.emissions .bandeau h1.theme1-133{background-color:#EF6F60;}body.emissions .bandeau h1.theme1-289{background-color:#FFED00;}body.emissions .bandeau h1.theme1-290{background-color:#8E5698;}body.emissions .bandeau h1.theme1-134{background-color:#FBB03B;}body.emissions .bandeau div.image{height:100px;} - - - .titre-plus{margin:0 0 20px 0;}.titre-plus h2{color:#262626;font-size:24px;line-height:26px;}.titre-plus .date{margin-right:10px;}.titre-plus .listen{float:left;width:90px;text-align:center;}.titre-plus .listen span{color:#C1272D;font-size:11px;display:block;font-weight:bold;}body.emissions #content .rel-doc{margin-bottom:40px;}body.emissions #content .rel-doc li{float:left;width:215px;}body.emissions #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.emissions #content .rel-doc li.clear span{display:none;}body.emissions #content .rel-doc p{float:right;width:110px;margin-right:5px;font-size:12px;color:#666666;display:inline;line-height:14px;}body.emissions #content .rel-doc p a{display:block;}body.emissions #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.emissions #sidebar-right #block-fcbloc-emission-contact .block-content{padding:15px 0 0;}body.emissions #sidebar-right #block-fcbloc-emission-contact .grippie{width:240px;margin:0 25px;}body.emissions #sidebar-right #block-fcbloc-emission-contact #edit-mollom-captcha-wrapper .description{width:240px;margin:0 25px;} - .node-rf_diffusion .rel-sites a{display:block;}.node-rf_diffusion .rel-sites a.timer{margin-left:0;}.node-rf_diffusion .rel-sites li{margin-bottom:20px;}.node-rf_diffusion .rel-sites li.last{margin-bottom:0;} - span.views-field-field-diffusion-date-debut-fin-value span.date-display-single{font-size:11px;font-weight:bold;} - p.invites{margin-top:15px;} - body.mini-site #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.mini-site h1{color:#773584;margin-bottom:0;}body.mini-site .biographie{margin-bottom:20px;}body.mini-site .biographie h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.mini-site .biographie p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.mini-site .biographie p.infos span{color:#808080;font-style:italic;display:block;}body.mini-site .biographie p{color:#262626;font-size:14px;line-height:18px;} - body.culture #content-top,body.culture-accueil h1#page-title{position:relative;background-color:#f1ebf3;padding:15px 15px 0;margin:0 0 15px 0;border-top:1px #CFCFCF solid;}body.culture #content-top .block{height:auto;min-height:0;margin-bottom:0;}body.culture #content-top #block-fc_cultureac-culture-module{margin:0 -15px;background:white;}body.culture h1{color:#773584;margin:0 0 15px;}body.culture-accueil h1#page-title{padding:15px;}body.culture-accueil h2,body.culture-accueil h3{font-size:16px;}body.culture-accueil .more{font-size:11px;text-align:right;}body.culture-accueil li p{font-size:12px;line-height:15px;}body.culture .view-id-cultureac_term .view-content p.rubrique{clear:left;} - body.section #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} - body.module #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} - body.culture .primary-tabs{width:970px;height:31px;margin:0;}body.culture .primary-tabs span{float:left;}body.culture .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.culture .primary-tabs span a:hover{text-decoration:none;}body.culture .primary-tabs span a{background:url(/sites/all/themes/franceculture/images/tab-sec.png) no-repeat 0 0;width:240px;height:26px;}body.culture .primary-tabs span a.active{background:url(/sites/all/themes/franceculture/images/tab-sec-active.png) no-repeat 0 0;}body.culture .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.culture .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} - .first-article{border-right:1px solid #f1ebf3;border-left:1px solid #f1ebf3;border-bottom:1px solid #CFCFCF;margin-bottom:20px;padding:5px 15px 20px;}.first-article img{float:left;margin-right:10px;}.first-article h2{font-size:24px;margin-bottom:10px;color:#262626;}.first-article h3{font-size:14px;margin-bottom:5px;color:#262626;}body.culture .first-article p{font-size:14px;line-height:18px;}body.culture .first-article .sousthemes{margin-bottom:15px;}.first-article p{font-size:12px;color:#262626;line-height:15px;} - body.culture .article-teaser{margin-bottom:20px;}body.culture .article-teaser h2{font-size:24px;margin-bottom:5px;color:#262626;}body.culture .article-teaser p{font-weight:bold;}body.culture .article-full .illustration{float:left;margin:0 15px 25px 0;}body.culture .article-full p,body.node-type-fc-cours#tinymce p{font-size:14px;line-height:18px;color:#262626;} - body.qr .tri-qr{margin-bottom:60px;color:#262626;font-size:14px;}body.qr .tri-qr h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;margin-bottom:30px;}body.qr .tri-qr p{display:block;margin:0 0 5px;}body.qr .tri-qr span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}body.qr .tri-qr label{display:block;color:#262626;font-size:14px;margin-bottom:5px;}body.qr .tri-qr select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:250px;margin:0 10px 5px 0;}body.qr .tri-qr input.submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:3px 13px 4px;font-weight:bold;color:#fff;border:none;cursor:pointer;}body.qr .tri-qr input.submit:hover{background-position:0 -25px;text-decoration:none;} - body.qr .all-qr{margin-bottom:40px;}body.qr .all-qr .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .all-qr .post .submited{color:#000;font-size:12px;margin-bottom:10px;display:block;}body.qr .all-qr .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .all-qr .post .auth{font-weight:bold;color:#032649;}body.qr .all-qr .post .submited .date{margin-left:5px;}body.qr .all-qr .post p{font-size:12px;line-height:15px;color:#262626;margin-left:55px;}body.qr .all-qr .q-r{float:right;margin:00;font-size:12px;font-weight:bold;height:40px;}body.qr .all-qr .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png);padding:5px 13px 15px 13px;margin-right:10px;color:#773584;}body.qr .all-qr .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px;color:#fff;}body.qr .all-qr .q-r a:hover{background-position:0 -25px;text-decoration:none;}body.qr .all-qr .q-r span.none{background:#e4d7e6 none;padding:5px 13px;} - .validation h2{font-size:24px;color:#262626;margin:20px 0 30px 0;}.validation img{float:left;margin-right:10px;}.validation .end{color:#773584;font-size:20px;margin-bottom:15px;}.validation p{color:#262626;font-size:14px;line-height:18px;margin-bottom:15px;}.validation .score span{color:#929497;font-size:19px;}.validation .liens{margin:30px 0 0 0;}.validation .liens a{background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:5px 23px;text-align:center;color:#fff;}.validation a.facelien{background:url(/sites/all/themes/franceculture/images/facebook.png) no-repeat 0 0;padding:5px 33px 5px 50px;margin-right:20px;}.validation .form-com{margin:50px 0 20px 0;}.validation .form-com span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}.validation .form-com .desc{color:#4D4D4D;font-size:12px;font-style:italic;} - .quiz-q{margin:40px 0;position:relative;}.quiz-q fieldset{border:3px solid #773584;padding:20px 20px 10px 20px;}.quiz-q legend{font-size:12px;color:#773584;font-weight:bold;padding:0 0.5em;}.quiz-q img{float:left;margin:0 20px 0 0;}.quiz-q h3{color:#262626;font-size:16px;margin-bottom:10px;}.quiz-q p{font-size:14px;color:#262626;}.quiz-q .date{margin-left:5px;}.quiz-q .q-r{margin:20px 0 0 0;font-size:12px;font-weight:bold;float:right;}.quiz-q .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png) no-repeat;padding:5px 13px 15px 13px;margin-right:10px;color:#773584;display:inline-block;height:15px;}.quiz-q .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px 5px 13px;color:#fff;display:inline-block;margin-bottom:10px;height:15px;}.quiz-q .q-r a:hover{background-position:0 -25px;text-decoration:none;} - .questionnaire{position:relative;margin-left:50px;}.questionnaire h3{color:#4D4D4D;font-size:14px;margin-bottom:10px;}.questionnaire .num{position:absolute;top:0;left:0;margin-left:-50px;color:#A6A8AB;font-size:14px;}.questionnaire img{display:block;margin-bottom:10px;}.questionnaire label{color:#4D4D4D;font-size:12px;}.questionnaire input.form-submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;cursor:pointer;font-weight:bold;padding:3px 13px 4px;display:block;margin-top:30px;text-align:center;width:81px;}.questionnaire input.form-submit:hover{background-position:0 -25px;text-decoration:none;}.questionnaire .form-radios,.questionnaire .form-checkboxes,#multichoice-render-question-form .form-radios,#multichoice-render-question-form .form-checkboxes{clear:both;} - body.qr .com{margin-bottom:40px;}body.qr .com .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .com .post .submited{color:#000;font-size:14px;margin-bottom:10px;display:block;}body.qr .com .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .com .post .auth{font-weight:bold;color:#032649;}body.qr .com .post .submited .date{margin-left:5px;}body.qr .com .post p{font-size:14px;line-height:18px;color:#262626;margin-left:55px;}body.qr .com .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 20px;color:#fff;margin-top:15px;}body.qr .com .quiz-go:hover{background-position:0 -25px;text-decoration:none;}body.qr .com .best{background-color:#f6f1f7;padding:15px 25px;}body.qr .com .best .meilleure{color:#773584;font-size:11px;font-weight:normal;} - .rubrique-culture li{float:left;width:300px;position:relative;height:435px;margin-bottom:20px;}.rubrique-culture li.left{margin-right:40px;}.rubrique-culture li h2,.rubrique-culture li h3{font-size:16px;}.rubrique-culture li p{color:#4D4D4D;}.rubrique-culture li .more{font-size:11px;position:absolute;bottom:0;right:0;} - body.culture .list-rubrique li{margin-top:10px;clear:left;}body.culture .list-rubrique li img.illustration{float:left;margin:0 15px 15px 0;}body.culture .list-rubrique li .auteur{display:block;margin-bottom:15px;} - body.culture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.culture .list-article li.first{border-top-width:0;}body.culture .list-article li img{float:left;margin:0 15px 15px 0;}body.culture .list-article li .auteur{display:block;margin-bottom:15px;} - .rel-quiz{margin:40px 0;clear:both;}.rel-quiz h3{font-size:14px;}.rel-quiz .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 16px;color:#fff;margin-top:15px;} - .liste-cours{margin:20px 0;}body.culture .liste-cours li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:10px;} - - .profil-infos{margin-bottom:30px;}.profil-infos img{float:left;margin-right:10px;}.profil-infos p{color:#262626;margin-bottom:15px;font-size:14px;}.profil-infos a.submit{float:right;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}.profil-infos a.submit.larger{background-image:url(/sites/all/themes/franceculture/images/btn-larger.png);width:180px;}.profil-infos a.submit:hover{background-position:0 -25px;text-decoration:none;}.profil-infos a.facebook-modif{float:right;background:url(/sites/all/themes/franceculture/images/btn-fbconnect-modification.png) no-repeat 0 0;padding:3px 5px 3px 25px;text-align:center;width:170px;color:#fff;font-size:11px;}.profil-infos a.facebook-modif:hover{background-position:0 -23px;text-decoration:none;} - .user-lecture{margin-bottom:30px;}.user-lecture img{float:left;margin-right:10px;}.user-lecture h3{font-size:16px;}.user-lecture .date{display:block;}.user-lecture .more{margin:50px 0 0 0;text-align:right;}#fc-quelisentils-que-lisez-vous span.date{display:inline;}.user-lecture .avatars{width:530px;margin:0 0 0 auto;}.user-lecture .avatars li{float:left;width:130px;margin-right:2px;clear:none;padding:0;}.user-lecture .more-review,.user-lecture .more-avatar{clear:both;}.user-lecture .unfold,.view-quelisentils .unfold,#personne-articles .unfold{background:url(/sites/all/themes/franceculture/images/urg-down.png) no-repeat 100% 4px;padding-right:10px;}.user-lecture .fold,.view-quelisentils .fold,#personne-articles .fold{background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 100% 4px;padding-right:10px;} - .user-question{margin-bottom:30px;clear:both;}.user-question ul{margin-top:20px;}.user-question li{width:300px;float:left;}.user-question li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-question li h3 a{display:block;}.user-question .more-link{margin:20px 0 0 0;text-align:right;clear:left;} - .user-com{margin-bottom:30px;clear:both;}.user-com li{margin-bottom:20px;}.user-com .date{display:block;}.user-com h3 a{display:block;font-size:14px;} - .user-agenda{margin-bottom:30px;}.user-agenda ul{margin-top:20px;}.user-agenda li{width:300px;float:left;padding-bottom:5px;}.user-agenda li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-agenda li.none{clear:left;}.user-agenda .more{margin:20px 0 0 0;text-align:right;float:right;} - .infos-connexion{margin-bottom:30px;}.infos-connexion h2{margin-bottom:20px;}.infos-connexion label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-connexion input{border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-connexion .description{margin-left:340px;color:#808080;font-size:12px;font-style:italic;}.infos-connexion span.password-strength,.infos-connexion span.password-confirm,.infos-connexion div.password-description{margin-left:340px;display:none;} - .infos-vous{margin-bottom:30px;}.infos-vous h2{margin-bottom:20px;}.infos-vous img{margin-bottom:3px;margin-left:340px;}.infos-vous label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-vous label.option{width:640px;font-size:12px;line-height:12px;margin-right:2px;}.infos-vous label.option input{width:15px;margin:0 0 3px 2px;float:right;}.infos-vous input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-vous input.submit{padding:0;border:none;margin:0 0 3px 3px;width:71px;height:25px;background-color:#773584;}.infos-vous input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}.infos-vous select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:302px;margin-bottom:3px;}.infos-vous textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:20px;}.infos-vous .grippie{width:300px;margin:0 0 3px 340px;display:inline-block;}.infos-vous .resizable-textarea{display:inline;}.infos-vous .resizable-textarea textarea{width:280px!important;}.infos-vous .description{margin-left:320px;color:#808080;font-size:12px;font-style:italic;}.infos-vous #edit-contact-1-wrapper .description{display:inline-block;} - .infos-vous fieldset{display:none;}.infos-vous input.focusField{color:#fff;}html.js .infos-vous input.form-autocomplete{background-position:100% 6px}html.js .infos-vous input.throbbing{background-position:100% -14px} - - body.page-contact h1#page-title{display:none;}body.page-contact h1{color:#773584;}.ecrire{float:left;width:405px;}.ecrire{margin-bottom:30px;}.ecrire label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:150px;text-align:right;font-size:13px;font-weight:normal;}.ecrire label.option{float:right;}.ecrire label.option input{width:12px;height:12px;padding:0;}.ecrire input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;margin-bottom:3px;}.ecrire select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:242px;margin-bottom:3px;}.ecrire textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;}.ecrire input.submit-v{padding:0;border:none;margin:10px 3px 0 3px;width:71px;height:25px;background-color:#773584;float:right;}.ecrire-desc{float:left;margin-left:10px;padding-left:19px;width:220px;border-left:1px solid #CFCFCF;}.ecrire-desc p{margin-bottom:10px;}.ecrire-desc li{margin-bottom:10px;list-style-type:disc;list-style-position:inside;}.ecrire .grippie{width:240px;margin:0 0 3px 160px;display:inline-block;}.ecrire .resizable-textarea{display:inline;}.ecrire .resizable-textarea textarea{width:220px!important;height:50px;}.ecrire .form-item{margin-bottom:0;margin-top:0;}.ecrire input.focusField{color:#fff;} - - body.frequence h1{color:#773584;}body.frequence #content-inner p{color:#262626;margin-bottom:10px;}body.frequence #content-inner label{float:left;margin:0 10px 10px 0;line-height:24px;}body.frequence #content-inner input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px 3px 10px;float:left;width:145px;margin-bottom:10px;}body.frequence #content-inner input.submit{padding:0;border:none;margin:0 0 10px 15px;width:103px;height:26px;background-color:#773584;}body.frequence #content-inner p.loc{font-size:14px;border-bottom:1px solid #CFCFCF;padding-bottom:5px;clear:both;}body.frequence #content-inner p.loc span{color:#773584;font-weight:bold;} - - body.section-votre-agenda #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.section-votre-agenda h1{color:#773584;margin-bottom:0;}body.section-votre-agenda .script-read a.prev,body.section-votre-agenda .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:105px;margin-left:-7px;}body.section-votre-agenda .script-read a.disabled{visibility:hidden !important;}body.section-votre-agenda .script-read a.next,body.section-votre-agenda .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:105px;margin-right:-7px;}body.section-votre-agenda .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:165px;margin:10px 0 0 0;background-color:#fff;}body.section-votre-agenda #content-top .script-read ol{margin:0;}body.section-votre-agenda .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.section-votre-agenda .script-read .thumbs li{width:210px;height:150px;cursor:pointer;margin:15px 0 0 0;float:left;padding:0 15px 0 15px;position:relative;line-height:15px;}body.section-votre-agenda .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.section-votre-agenda .script-read .thumbs li img{float:left;margin-right:10px;}body.section-votre-agenda .script-read .thumbs li h2{font-size:12px;line-height:15px;}body.section-votre-agenda div.agenda_error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}body.section-votre-agenda div.agenda_error a{text-decoration:underline;}body.section-votre-agenda form input.focusField{color:#fff;} - .board{margin-bottom:60px;}.board form{margin:0;}.board .ou{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board .quand{float:left;width:215px;margin:0 5px;background-color:#EBEBEB;height:230px;}.board .quoi{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board h3{text-align:center;margin-bottom:5px;}.board select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:190px;margin:0 10px 5px 10px;}.board label{font-size:14px;color:#4D4D4D;font-weight:normal;}.board .ou img{margin:0 10px;}.board .quand label{float:left;margin:0 3px 10px 10px;}.board .quand input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px;float:left;width:150px;margin-bottom:10px;}.board .quand input.submit{padding:0;border:none;margin:0 0 11px 7px;width:22px;height:22px;background-color:#773584;}.board .quoi input{margin-bottom:5px;}.board .quoi label{margin:0 0 5px 5px;}.board .s-submit{padding:0;border:none;margin:20px 0 0 2px;width:103px;height:26px;background-color:#773584;float:right;}.board .quoi label.option{display:block;}.board .ou .form-item{margin:0;}.board .quand #edit-date-min-value-wrapper div.description,.board .quand #edit-date-max-value-wrapper div.description{display:none;} - body.section-votre-agenda .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.section-votre-agenda .list-article li img{float:left;margin:0 15px 15px 0;}body.section-votre-agenda .list-article li .auteur{display:block;margin-bottom:15px;} - form#views-exposed-form-evenement-fo-liste-block-1 .views-exposed-form .views-exposed-widget{width:100%;} - - body.node-type-rf-article #content .article-teaser{margin:0 0 20px 0;}body.node-type-rf-article #content .article-teaser p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-teaser .date{display:block;margin:0 0 10px 0;}body.node-type-rf-article #content p{color:#262626;font-size:14px;line-height:18px;}body.node-type-rf-article #content .article-full p,body.node-type-rf-article#tinymce p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-full .large{width:640px;}body.node-type-rf-article #content .article-full .small{width:320px;}body.node-type-rf-article #content .article-full .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}body.node-type-rf-article #content .article-full .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}body.node-type-rf-article #content .article-full .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}body.node-type-rf-article #content .article-full .video .opaque{margin-bottom:33px;}body.node-type-rf-article #content .article-full p.theme,body.node-type-rf-billet-blog #content p.theme{clear:both;font-size:13px;}body.node-type-rf-article #content .article-full p.theme a,body.node-type-rf-billet-blog #content p.theme a{font-size:12px;margin:0 2px;}body.node-type-rf-article #content .article-full p.auteur{float:right;margin:0 0 8px 0;} - body.node-type-rf-article #content .article-full .list-rubrique li{margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li p{color:#4D4D4D;font-size:12px;line-height:14px;margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li a.title{font-size:12px;display:block;margin-bottom:5px;}body.node-type-rf-article #content .article-full .list-rubrique li a.timer,body.node-type-rf-article #content .article-full .list-rubrique li span.date{display:block;}body.node-type-rf-article #content .article-full .list-rubrique li .timer{margin:0;}body.node-type-rf-article #content .article-full .list-rubrique li .image{margin-bottom:10px;}body.node-type-rf-article #content .article-full .list-rubrique li .image p{margin:0 0 0 110px;}body.node-type-rf-article #content .article-full .field-field-article-image-page div div{line-height:1px;} - body.node-type-rf-article #content .rel-liens{margin-bottom:0px;}body.node-type-rf-article #content .rel-liens div{margin-bottom:20px;}body.node-type-rf-article #content .rel-liens div a{font-size:12px;display:block;margin:0 0 5px 0;} - body.node-type-rf-article #content .rel-doc{margin-bottom:40px;}body.node-type-rf-article #content .rel-doc li{float:left;width:215px;margin-bottom:20px;}body.node-type-rf-article #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.node-type-rf-article #content .rel-doc p{float:right;width:100px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.node-type-rf-article #content .rel-doc p a{font-size:12px;display:block;margin:0 0 5px 0;}body.node-type-rf-article #content .rel-doc p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}.rel-doc .liste-clear{width:100% !important;} - body.section-liste-ecoute h1{background:url(/sites/all/themes/franceculture/images/liste-ecoute-title.png) no-repeat 0 0;color:#fff;text-align:center;height:45px;padding:15px 0 0 45px;}body.section-liste-ecoute #content-inner fieldset,body.section-liste-ecoute #edit-title-wrapper,body.section-liste-ecoute .vertical-tabs{display:none!important;}body.section-liste-ecoute #content #content-right{float:right;}body.section-liste-ecoute #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.section-liste-ecoute #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.section-liste-ecoute #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 30px 5px;text-align:center;}body.section-liste-ecoute #content-right .block .title{margin:0 10px 5px 10px;}body.section-liste-ecoute #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.section-liste-ecoute #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.section-liste-ecoute #content-right .block ol{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:1px;}body.section-liste-ecoute #content-right .block ol li{border-bottom:medium none;color:#4d4d4d;font-weight:normal;list-style-position:inside;list-style-type:decimal;margin-top:10px;}body.section-liste-ecoute #content-right .block li{margin:20px 20px 0;padding:0 0 15px 0;}body.section-liste-ecoute #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - body.section-liste-ecoute .list-article li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:15px;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even{background-color:#FFFFFF;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd .form-item,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even.content-multiple-removed-row{background-color:#FFFFCC;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button{background-image:url(/sites/all/themes/franceculture/images/picto-supprimer.png);height:18px;width:18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button:hover{background-position:0 -18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button{background-position:0 -36px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -54px;}body.section-liste-ecoute table#field_liste_lecture_son_values thead,body.section-liste-ecoute table#field_liste_lecture_abonnements_values thead{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values td,body.section-liste-ecoute table#field_liste_lecture_abonnements_values td{width:100%;}body.section-liste-ecoute table#field_liste_lecture_son_values td.content-multiple-drag{width:20px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td.content-multiple-drag{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values .illustration{float:left;margin-right:20px;}body.section-liste-ecoute .form-item #autocomplete .reference-autocomplete{background:url(/sites/all/themes/franceculture/images/more-red.png) no-repeat right;padding:2px;margin:0px 2px;}body.section-liste-ecoute #node-form input.focusField,body.section-liste-ecoute #content-left .baladeur input.focusField{color:#fff;}html.js body.section-liste-ecoute input.form-autocomplete{background-position:100% 7px}html.js body.section-liste-ecoute input.throbbing{background-position:100% -14px} - .baladeur{color:#262626;line-height:18px;font-size:14px;width:600px;margin-left:10px;margin-bottom:50px;}body.section-liste-ecoute #content-left .baladeur input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}body.section-liste-ecoute #content-left .baladeur input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;} - body.section-liste-ecoute #content-left input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:330px;}body.section-liste-ecoute #content-left input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values{margin:20px 0 40px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values tbody{border-top:none;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper{margin:5px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3{font-size:16px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span{font-size:11px;margin-left:10px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span.author{color:#032649;font-weight:bold;} - - body.lecture h1{position:relative;background-color:#f1ebf3;padding:15px;color:#773584;margin-bottom:15px;}body.page-quelisentils h1,body.page-quelisentils-derniers-avis h1{margin-bottom:0;padding-bottom:0;}body.lecture #content-top{background-color:#f1ebf3;padding:1px 15px 15px;margin-bottom:30px;}body.lecture .script-read a.prev,body.lecture .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:7;margin-top:105px;margin-left:-7px;}body.lecture .script-read a.disabled{visibility:hidden !important;}body.lecture .script-read a.next,body.lecture .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:7;margin-top:105px;margin-right:-7px;}body.lecture .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:330px;margin:10px 0 0 0;background-color:#fff;}body.lecture #content-top .script-read ol{margin:0;}body.lecture .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.lecture .script-read .thumbs li{width:210px;height:285px;cursor:pointer;margin:15px 0;float:left;padding:0 15px 15px 15px;border-right:1px solid #CFCFCF;position:relative;}body.lecture .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.lecture .script-read .writter{padding:0;border-right:none;margin:0 5px 5px 0;}body.lecture .script-read .book{padding:0;margin:0 0 5px 5px;}body.lecture #content-top .who-read{margin-top:20px;}body.lecture #content-top .who-read input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}body.lecture #content-top .who-read input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}body.lecture #content-top .who-read label{float:left;margin-right:20px;}body.lecture #content-top .who-read .date{font-size:12px;}body.lecture #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.lecture #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.lecture #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.lecture #content-right .block .title{margin:0 10px 5px 10px;}body.lecture #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.lecture #content-right .block .context{padding:0 10px 5px;}body.lecture #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.lecture #content-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}body.lecture #content-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}body.lecture #content-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}body.lecture #content-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}body.lecture #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} - body.lecture .node-rf_oeuvre{margin-bottom:20px;}body.lecture .node-rf_oeuvre h2.title{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.lecture .node-rf_oeuvre p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.lecture .node-rf_oeuvre p.infos span{color:#808080;font-style:italic;display:block;}body.lecture .node-rf_oeuvre p,body.node-type-rf-oeuvre#tinymce p{color:#262626;font-size:14px;line-height:18px;}body.lecture .node-rf_oeuvre .illustration{margin:0 15px 15px 0;float:left;}body.lecture #content-inner .illustration{margin:0 15px 15px 0;float:left;}body.lecture .node-rf_oeuvre .theme a{float:right;font-size:11px;}.node-rf_oeuvre #quelisentils-oeuvre div.view-display-id-block_2{clear:left;padding-top:8px;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row{clear:left;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row p{margin-left:65px;}.node-rf_oeuvre #quelisentils-oeuvre p a{display:block;text-align:right;}.node-rf_oeuvre #quelisentils-oeuvre a.submit{margin-top:10px;text-align:center;}#quelisentils-oeuvre a.submit,#fc-quelisentils-que-lisez-vous a.submit,body.section-quelisentils a.submit{display:block;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}#quelisentils-oeuvre a.submit:hover,#fc-quelisentils-que-lisez-vous a.submit:hover,body.section-quelisentils a.submit:hover{background-position:0 -25px;text-decoration:none;}body.section-quelisentils .node-rf_oeuvre .theme a.submit{float:left;} - body.lecture #content .rel-doc{margin-bottom:40px;}body.lecture #content .rel-doc li{float:left;width:215px;padding-left:0;margin-left:0;border-left:0;}body.lecture #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.lecture #content .rel-doc li.clear span{display:none;}body.lecture #content .rel-doc p{margin-right:5px;font-size:12px;color:#666666;line-height:14px;}body.lecture #content .rel-doc p a{display:block;}body.lecture #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;} - body.lecture #content .com{margin-bottom:40px;}body.lecture #content .com .img-float{margin-bottom:20px;}body.lecture #content .com .post{margin-bottom:20px;clear:left;}body.lecture #content .com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}body.lecture #content .com .post .auth{font-weight:bold;color:#032649;}body.lecture #content .com .post .submited .date{margin-left:5px;}body.lecture #content .com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} - #fc-quelisentils-search-form table{width:100%;}#fc-quelisentils-search-form table .form-item{white-space:normal;} - #fc-quelisentils-que-lisez-vous{margin-top:20px;}body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper,body.page-accueil #fc-quelisentils-que-lisez-vous #autocomplete{display:block;margin:0;}body.node-type-rf-personne #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-taxonomy-term-131 #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title{width:178px;}#fc-quelisentils-que-lisez-vous #edit-submit{vertical-align:middle;float:none;border-width:0;width:auto;padding:0 0 0 2px;}#fc-quelisentils-que-lisez-vous #autocomplete img{clear:left;margin-right:5px;}#fc-quelisentils-que-lisez-vous #autocomplete li{height:32px;}#fc-quelisentils-que-lisez-vous #autocomplete{width:auto !important;background:white;}#fc-quelisentils-comment-form #edit-comment{width:650px;} - body.lecture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.lecture .list-article li img{float:left;margin:0 15px 15px 0;}body.lecture .list-article li .auteur{display:block;margin-bottom:15px;} - body.node-type-rf-page h1{color:#773584;}body.node-type-rf-page #content-inner p{color:#262626;margin-bottom:10px;} - body.section-rubrique #content-right h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.section-rubrique #content-right h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.section-rubrique #content-inner .view-display-id-attachment_1 .list-article{width:400px;} -.script-vertical h2{margin-bottom:36px;}.script-vertical a.prev,.script-vertical a.prevPage{display:block;width:284px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:42px 0 0 24px;}.script-vertical a.disabled{visibility:hidden !important;}.script-vertical a.next,.script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:-5px;margin-left:159px;}.script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:284px;height:330px;margin:10px 15px 0 15px;}#content-bottom .script-vertical ol{margin:0;}.script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;}.script-vertical #thumbs-vertical li{width:284px;height:150px;padding:0 0 5px 0;} - - -.jcarousel-clip{z-index:2;padding:0;margin:0;overflow:hidden;position:relative;width:658px;}.jcarousel-list{z-index:1;overflow:hidden;position:relative;} -#wrap{position:relative;border:1px solid #CFCFCF;}.script .target{padding:5px 0;width:658px;background:url(/sites/all/themes/franceculture/images/script-bg.png) repeat-x 0 20px;margin:0 5px;}.script #mycarousel-prev{display:block;width:15px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:6;margin-left:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #mycarousel-next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:6;margin-right:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #thumbs{height:240px;}.script #thumbs li h3{color:#032649;font-size:18px;line-height:16px;margin:10px 0 5px 0;}.script #thumbs li{float:left;width:658px;height:235px;cursor:pointer;padding:0 0 5px 0;}.script #thumbs li img{float:left;margin-right:10px;}.script #thumbs li p a{color:#4D4D4D;font-weight:normal;}.script .jcarousel-control{height:72px;}.script .jcarousel-control span{display:none;}.script .jcarousel-control h3{text-decoration:none;color:#032649;font-weight:bold;padding:0;display:inline;float:left;width:164px;height:65px;}.script .jcarousel-control a{cursor:pointer;padding:0 5px;display:block;color:#032649;width:153px;height:65px;border-right:1px solid #CFCFCF;}.script .jcarousel-control a:hover{text-decoration:none;border-bottom:7px solid #28042D;}.script .jcarousel-control .titre4 a{border-right:none;}.up1 .jcarousel-control .titre1 a{border-bottom:7px solid #28042D;}.up2 .jcarousel-control .titre2 a{border-bottom:7px solid #28042D;}.up3 .jcarousel-control .titre3 a{border-bottom:7px solid #28042D;}.up4 .jcarousel-control .titre4 a{border-bottom:7px solid #28042D;border-right:none;} -.dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}.dnd-drop-wrapper .image img{display:block;}.dnd-drop-wrapper .image{display:table;width:1px;}.dnd-drop-wrapper .image .opaque{width:100%;background-color:#000;opacity:0.7;}.dnd-drop-wrapper .image .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}.dnd-drop-wrapper .image .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}.dnd-library-wrapper div.meta{margin-left:52px;}.node-type-rf-personne .dnd-fields-wrapper .mceLayout,.node-type-rf-personne .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout iframe{width:400px !important;}.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout,.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout iframe{width:520px !important;}.dnd-fields-wrapper .mceLayout,.dnd-fields-wrapper .mceLayout iframe{width:657px !important;}.popups-box .popups-inner .dnd-fields-wrapper .mceLayout,.popups-box .popups-inner .dnd-fields-wrapper .mceLayout iframe{width:100% !important;}.mee-wrap-editor-library{float:none;}body#tinymce p{font-size:14px;}.mee-filter-form fieldset{display:none;} -.dnd-drop-wrapper .atom-Video{width:480px;height:365px;}.dnd-drop-wrapper .atom-SoundSlide{width:560px;height:489px;}.dnd-drop-wrapper .atom-Audio{min-width:300px;min-height:20px;}#tinymce .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;border-bottom:green solid 10px;} -div.view-dossier-fo-panes li{clear:both;}div.view-dossier-fo-panes img.imagecache-image_liste{margin-bottom:10px;}div.node-panel p.theme{margin-top:20px;} -form#rf-userregister-form .infos-connexion input,form#fc-userregister-form-userprofile .infos-connexion input{width:200px;margin-bottom:0;}form#rf-userregister-form .infos-connexion input.idleField,form#fc-userregister-form-userprofile .infos-connexion input.idleField{border:1px solid #CCCCCC;}form#rf-userregister-form div.form-item,form#fc-userregister-form-userprofile div.form-item{margin:5px 0;clear:both;}form#rf-userregister-form .infos-connexion label,form#fc-userregister-form-userprofile .infos-connexion label{line-height:13px;width:158px;}form#rf-userregister-form .infos-connexion .description,form#fc-userregister-form-userprofile .infos-connexion .description{clear:both;margin-left:168px;font-size:11px;}form#rf-userregister-form .infos-connexion input.submit-v,form#fc-userregister-form-userprofile .infos-connexion input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}form#rf-userregister-form .infos-connexion label.option,form#fc-userregister-form-userprofile .infos-connexion label.option{width:395px;font-size:12px;line-height:12px;margin-right:2px;display:block;}form#rf-userregister-form .infos-connexion label.option input,form#fc-userregister-form-userprofile .infos-connexion label.option input{width:15px;margin:0 0 3px 2px;float:right;} - -#sidebar-right .block-fc_widget_dailymotion,#sidebar-right .block-fc_widget_deezer{background-image:none;} -#homebox.column-count-2 .homebox-column{width:48%;}#homebox table span a.flag-processed{white-space:nowrap;}#homebox table span.flag-flagged-message{left:-5px;}#homebox table span.flag-unflagged-message{left:-25px;}.portlet-content .views-processed .view-filters{display:none;}#homebox div.view-header{text-align:left;} -body.section-search form#search-form input.form-text{float:left;height:14px;padding:5px;}body.section-search form#search-form input.submit-lancer{float:left;margin-left:3px;clear:right;}body.section-search div.box{clear:both;padding-top:10px;}body.section-search fieldset.search-advanced{clear:both;padding-top:10px;} -.shoutbox-msg blockquote{color:#032649;font-weight:bold;font-size:12px;line-height:17px;} -fieldset.group-mea tr .form-item .description,fieldset.vertical-tabs-group_mea tr .form-item .description{white-space:normal;} -.node-form span.form-required{font-size:17px;}.node-form .form-item .required{background-color:#EBEBEB;border:1px solid #CCCCFF;}a.popups-reference{font-size:13px;line-height:40px;}#node-form #group-diffusion-generique-items{display:none;} -.hierarchical-select-wrapper .hierarchical-select option.has-children{padding-right:14px;} -#fchook-envoyer-diffusion-sms-form input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}#fchook-envoyer-diffusion-sms-form input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;}#fchook-envoyer-diffusion-sms-form input.focusField{color:#fff;} -.panel-pane.hidden-pane .pane-title:after{content:" statut:masqué";}.panel-pane.changed .pane-title:after{content:" statut:modifications non enregistrées";}.panel-pane.hidden-pane.changed .pane-title:after{content:" statut:masqué & modifié";} -#ui-datepicker-div{width:200px;}.ui-datepicker-next label,.ui-datepicker-prev label{border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;} -#edit-profile-commune-wrapper{display:none;}.label-nowrap{white-space:pre;}body{margin:0;padding:0;background:#fff;}body.blogs{margin:0px 0 0 0;background:#fff none;}body#tinymce,body#mceContentBody,body.mceContentBody,body#nodepicker{background:#fff none;}#page{margin:0 0 20px 0;padding:0;}#header{position:relative;height:155px;}#page{background:#fff url(/sites/all/themes/franceculture/images/body.png) no-repeat 50% -40px;margin:0 0 0px 0;padding:0;}body.blogs #page{background:#fff none;}#page-inner{margin:0 auto;padding:0;width:990px;}#main{width:990px;}#content{width:655px;margin-left:0;margin-right:-990px;float:left;overflow:visible;}body #content-bottom{margin:30px 0 0 0;}#content-top{padding:0 0 20px 0;background-color:#fff;}body #cb-left{width:314px;padding:5px 10px 0;float:left;position:relative;}body #block-views-lesplusconsultes-block_1,body #cb-right{width:314px;padding:5px 10px 0;float:left;}#sidebar-right{width:300px;margin-right:0;float:left;margin-left:690px;margin-right:-990px;overflow:visible;}#footer-top{margin:0 0 0 0;padding:0px 0 8px 0;width:990px;}#footer{color:#fff;height:75px;padding:25px 0 0 0;width:990px;} -body.front #content,body.node-type-panel #content{width:670px;}body.front #content-inner{background:url(/sites/all/themes/franceculture/images/bg-content.png) repeat-y 0 0;}body.front #content-left,body.node-type-panel #content-left{width:400px;padding:0 18px 0 0;float:left;clear:left;}body.front #content-right,body.node-type-panel #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-panel .panel-pane,body.node-type-panel .panel-pane li{clear:both;} -body.no-sidebars #content{width:990px;}body.no-sidebars #content-left{width:655px;padding:0 18px 0 0;float:left;}body.no-sidebars #content-right{width:300px;padding:0 0 0 17px;float:left;} -body.not-front #content{padding-top:20px;position:relative;}body.not-front #content-inner{padding-top:15px;border-top:1px solid #CFCFCF;} -body.section-rubrique #content{width:670px;}body.section-rubrique #content-right{width:234px;padding:0 0 0 35px;float:right;background:#fff url(/sites/all/themes/franceculture/images/bg-content-right.png) repeat-y 0 0;min-height:300px;height:auto !important;height:300px;margin-bottom:20px;}body.section-rubrique #content-inner{border-top-width:0;padding-top:0;}body.section-rubrique h1{border-top:1px solid #CFCFCF;padding-top:15px;} -body.lecture #content-inner{padding-top:0;border-top-width:0;}body.lecture #content-right{float:right;} -body.culture #content-inner{padding-top:0;border-top-width:0;} -body.agenda #content-inner{padding-top:0;} -body.section-podcasts #content-inner,body.section-podcast #content-inner{padding-top:0;}body.podcasts #content-left,body.podcasts #content-right{margin-top:20px;} -div#grille-programmes #content-inner{padding-top:0;} -body.emissions #content-left,body.emissions #content-right{margin-top:20px;}body.emissions #content-inner{padding-top:0;border-top-width:0;} -body.article .article-full #content-left,body.node-type-panel .article-full #content-left{width:310px;padding:0 18px 0 0;float:left;}body.article .article-full #content-right,body.node-type-panel .article-full #content-right{width:310px;padding:0 0 0 17px;float:left;} -body.profil #content{width:670px;}body.profil #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;}body.profil #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content{width:670px;}body.node-type-rf-personne #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-personne #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content-inner{border-top-width:0;} -body.node-type-rf-evenement #content{width:670px;}body.node-type-rf-evenement #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-evenement #content-right{width:235px;padding:0 0 0 17px;float:left;} -body.node-type-rf-oeuvre #content{width:670px;}body.node-type-rf-oeuvre #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-oeuvre #content-right{width:235px;padding:0 0 0 17px;float:left;} -body.recherche #content{padding-top:0;position:relative;}body.recherche #content-inner{border-top:none;} -body.mini-site #main{padding-top:90px;position:relative;}body.mini-site #main #content{position:static;padding-top:0;}body.mini-site #main #content #content-inner{border-top:0;}body.mini-site #main #content-top{position:absolute;top:0;left:0;width:960px;margin:20px 0 0 0;} -body.blogs #header{position:relative;height:165px;margin-bottom:20px;}body.blogs #content-inner{padding-top:0;border-top:none;} -body.page-node-edit #content,body.page-node-add #content{width:100%;} +.flickr_badge_wrapper{display:block;width:216px;margin:auto}.flickr_badge_image{float:left;width:100px;padding-right:8px;padding-top:8px;height:75px;overflow:hidden;}.flickr_badge_source{float:left;width:100px;padding-right:8px;padding-top:25px;}.flickr_badge_uber_wrapper{text-align:center;}.flickr_badge_source_txt{font-size:11px;}.twitterBlock ul li{list-style:none;padding:5px;margin:0;background-image:none;background-color:#ffffff;color:#575757;}.block .twitterBlock ul{padding:2px;margin:0;}.block .twitterUser{font-family:'Lucida Grande',sans-serif;font-size:15px;font-weight:normal;}.widget_ytb{width:264px;}.widget_ytb .ytb_vide_list{width:264px;display:block;}.widget_ytb .ytb_vide_list .ytb_item{width:88px;float:left;margin:0;padding:0;height:64px;}.widget_ytb .ytb_vide_list .ytb_item:hover{width:86px;float:left;margin:0;padding:0;height:62px;border:black solid 1px;} + +.node-unpublished{background-color:#fff4f4;}.preview .node{background-color:#ffffea;}#node-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#node-admin-buttons{float:left; + margin-left:0.5em; + clear:right;}td.revision-current{background:#ffc;}.node-form .form-text{display:block;width:95%;}.node-form .container-inline .form-text{display:inline;width:auto;}.node-form .standard{clear:both;}.node-form textarea{display:block;width:95%;}.node-form .attachments fieldset{float:none;display:block;}.terms-inline{display:inline;} + + +fieldset{margin-bottom:1em;padding:.5em;}form{margin:0;padding:0;}hr{height:1px;border:1px solid gray;}img{border:0;}table{border-collapse:collapse;}th{text-align:left; + padding-right:1em; + border-bottom:3px solid #ccc;} +.clear-block:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.clear-block{display:inline-block;}/* Hides from IE-mac \*/ +* html .clear-block{height:1%;}.clear-block{display:block;} + + + +body.drag{cursor:move;}th.active img{display:inline;}tr.even,tr.odd{background-color:#eee;border-bottom:1px solid #ccc;padding:0.1em 0.6em;}tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}td.active{background-color:#ddd;}td.checkbox,th.checkbox{text-align:center;}tbody{border-top:1px solid #ccc;}tbody th{border-bottom:1px solid #ccc;}thead th{text-align:left; + padding-right:1em; + border-bottom:3px solid #ccc;} +.breadcrumb{padding-bottom:.5em}div.indentation{width:20px;height:1.7em;margin:-0.4em 0.2em -0.4em -0.4em; + padding:0.42em 0 0.42em 0.6em; + float:left;}div.tree-child{background:url(/misc/tree.png) no-repeat 11px center;}div.tree-child-last{background:url(/misc/tree-bottom.png) no-repeat 11px center;}div.tree-child-horizontal{background:url(/misc/tree.png) no-repeat -11px center;}.error{color:#e55;}div.error{border:1px solid #d77;}div.error,tr.error{background:#fcc;color:#200;padding:2px;}.warning{color:#e09010;}div.warning{border:1px solid #f0c020;}div.warning,tr.warning{background:#ffd;color:#220;padding:2px;}.ok{color:#008000;}div.ok{border:1px solid #00aa00;}div.ok,tr.ok{background:#dfd;color:#020;padding:2px;}.item-list .icon{color:#555;float:right; + padding-left:0.25em; + clear:right;}.item-list .title{font-weight:bold;}.item-list ul{margin:0 0 0.75em 0;padding:0;}.item-list ul li{margin:0 0 0.25em 1.5em; + padding:0;list-style:disc;}ol.task-list li.active{font-weight:bold;}.form-item{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;white-space:nowrap;}tr.merge-down,tr.merge-down td,tr.merge-down th{border-bottom-width:0 !important;}tr.merge-up,tr.merge-up td,tr.merge-up th{border-top-width:0 !important;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item .description{font-size:0.85em;}.form-item label{display:block;font-weight:bold;}.form-item label.option{display:inline;font-weight:normal;}.form-checkboxes,.form-radios{margin:1em 0;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.marker,.form-required{color:#f00;}.more-link{text-align:right;}.more-help-link{font-size:0.85em;text-align:right;}.nowrap{white-space:nowrap;}.item-list .pager{clear:both;text-align:center;}.item-list .pager li{background-image:none;display:inline;list-style-type:none;padding:0.5em;}.pager-current{font-weight:bold;}.tips{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-size:0.9em;}dl.multiselect dd.b,dl.multiselect dd.b .form-item,dl.multiselect dd.b select{font-family:inherit;font-size:inherit;width:14em;}dl.multiselect dd.a,dl.multiselect dd.a .form-item{width:8em;}dl.multiselect dt,dl.multiselect dd{float:left; + line-height:1.75em;padding:0;margin:0 1em 0 0;}dl.multiselect .form-item{height:1.75em;margin:0;} +.container-inline div,.container-inline label{display:inline;} +ul.primary{border-collapse:collapse;padding:0 0 0 1em; + white-space:nowrap;list-style:none;margin:5px;height:auto;line-height:normal;border-bottom:1px solid #bbb;}ul.primary li{display:inline;}ul.primary li a{background-color:#ddd;border-color:#bbb;border-width:1px;border-style:solid solid none solid;height:auto;margin-right:0.5em; + padding:0 1em;text-decoration:none;}ul.primary li.active a{background-color:#fff;border:1px solid #bbb;border-bottom:#fff 1px solid;}ul.primary li a:hover{background-color:#eee;border-color:#ccc;border-bottom-color:#eee;}ul.secondary{border-bottom:1px solid #bbb;padding:0.5em 1em;margin:5px;}ul.secondary li{display:inline;padding:0 1em;border-right:1px solid #ccc;}ul.secondary a{padding:0;text-decoration:none;}ul.secondary a.active{border-bottom:4px solid #999;} + +#autocomplete{position:absolute;border:1px solid;overflow:hidden;z-index:100;}#autocomplete ul{margin:0;padding:0;list-style:none;}#autocomplete li{background:#fff;color:#000;white-space:pre;cursor:default;}#autocomplete li.selected{background:#0072b9;color:#fff;} +html.js input.form-autocomplete{background-image:url(/misc/throbber.gif);background-repeat:no-repeat;background-position:100% 2px;}html.js input.throbbing{background-position:100% -18px;} +html.js fieldset.collapsed{border-bottom-width:0;border-left-width:0;border-right-width:0;margin-bottom:0;height:1em;}html.js fieldset.collapsed *{display:none;}html.js fieldset.collapsed legend{display:block;}html.js fieldset.collapsible legend a{padding-left:15px; + background:url(/misc/menu-expanded.png) 5px 75% no-repeat;}html.js fieldset.collapsed legend a{background-image:url(/misc/menu-collapsed.png); + background-position:5px 50%;} +* html.js fieldset.collapsed legend,* html.js fieldset.collapsed legend *,* html.js fieldset.collapsed table *{display:inline;} +html.js fieldset.collapsible{position:relative;}html.js fieldset.collapsible legend a{display:block;} +html.js fieldset.collapsible .fieldset-wrapper{overflow:auto;} +.resizable-textarea{width:95%;}.resizable-textarea .grippie{height:9px;overflow:hidden;background:#eee url(/misc/grippie.png) no-repeat center 2px;border:1px solid #ddd;border-top-width:0;cursor:s-resize;}html.js .resizable-textarea textarea{margin-bottom:0;width:100%;display:block;} +.draggable a.tabledrag-handle{cursor:move;float:left; + height:1.7em;margin:-0.4em 0 -0.4em -0.5em; + padding:0.42em 1.5em 0.42em 0.5em; + text-decoration:none;}a.tabledrag-handle:hover{text-decoration:none;}a.tabledrag-handle .handle{margin-top:4px;height:13px;width:13px;background:url(/misc/draggable.png) no-repeat 0 0;}a.tabledrag-handle-hover .handle{background-position:0 -20px;} +.joined + .grippie{height:5px;background-position:center 1px;margin-bottom:-2px;} +.teaser-checkbox{padding-top:1px;}div.teaser-button-wrapper{float:right; + padding-right:5%; + margin:0;}.teaser-checkbox div.form-item{float:right; + margin:0 5% 0 0; + padding:0;}textarea.teaser{display:none;}html.js .no-js{display:none;} +.progress{font-weight:bold;}.progress .bar{background:#fff url(/misc/progress.gif);border:1px solid #00375a;height:1.5em;margin:0 0.2em;}.progress .filled{background:#0072b9;height:1em;border-bottom:0.5em solid #004a73;width:0%;}.progress .percentage{float:right;}.progress-disabled{float:left;}.ahah-progress{float:left;}.ahah-progress .throbber{width:15px;height:15px;margin:2px;background:transparent url(/misc/throbber.gif) no-repeat 0px -18px;float:left;}tr .ahah-progress .throbber{margin:0 2px;}.ahah-progress-bar{width:16em;} +#first-time strong{display:block;padding:1.5em 0 .5em;} +tr.selected td{background:#ffc;} +table.sticky-header{margin-top:0;background:#fff;} +#clean-url.install{display:none;} +html.js .js-hide{display:none;} +#system-modules div.incompatible{font-weight:bold;} +#system-themes-form div.incompatible{font-weight:bold;} +span.password-strength{visibility:hidden;}input.password-field{margin-right:10px;}div.password-description{padding:0 2px;margin:4px 0 0 0;font-size:0.85em;max-width:500px;}div.password-description ul{margin-bottom:0;}.password-parent{margin:0 0 0 0;} +input.password-confirm{margin-right:10px;}.confirm-parent{margin:5px 0 0 0;}span.password-confirm{visibility:hidden;}span.password-confirm span{font-weight:normal;} + +ul.menu{list-style:none;border:none;text-align:left;}ul.menu li{margin:0 0 0 0.5em;}li.expanded{list-style-type:circle;list-style-image:url(/misc/menu-expanded.png);padding:0.2em 0.5em 0 0; + margin:0;}li.collapsed{list-style-type:disc;list-style-image:url(/misc/menu-collapsed.png); + padding:0.2em 0.5em 0 0; + margin:0;}li.leaf{list-style-type:square;list-style-image:url(/misc/menu-leaf.png);padding:0.2em 0.5em 0 0; + margin:0;}li a.active{color:#000;}td.menu-disabled{background:#ccc;}ul.links{margin:0;padding:0;}ul.links.inline{display:inline;}ul.links li{display:inline;list-style-type:none;padding:0 0.5em;}.block ul{margin:0;padding:0 0 0.25em 1em;} + +#permissions td.module{font-weight:bold;}#permissions td.permission{padding-left:1.5em;}#access-rules .access-type,#access-rules .rule-type{margin-right:1em; + float:left;}#access-rules .access-type .form-item,#access-rules .rule-type .form-item{margin-top:0;}#access-rules .mask{clear:both;}#user-login-form{text-align:center;}#user-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#user-admin-buttons{float:left; + margin-left:0.5em; + clear:right;}#user-admin-settings fieldset .description{font-size:0.85em;padding-bottom:.5em;} +.profile{clear:both;margin:1em 0;}.profile .picture{float:right; + margin:0 1em 1em 0;}.profile h3{border-bottom:1px solid #ccc;}.profile dl{margin:0 0 1.5em 0;}.profile dt{margin:0 0 0.2em 0;font-weight:bold;}.profile dd{margin:0 0 1em 0;} + + +.field .field-label,.field .field-label-inline,.field .field-label-inline-first{font-weight:bold;}.field .field-label-inline,.field .field-label-inline-first{display:inline;}.field .field-label-inline{visibility:hidden;} +.node-form .content-multiple-table td.content-multiple-drag{width:30px;padding-right:0;}.node-form .content-multiple-table td.content-multiple-drag a.tabledrag-handle{padding-right:.5em;}.node-form .content-add-more .form-submit{margin:0;}.content-multiple-remove-button{display:block;float:right;height:14px;width:16px;margin:2px 0 1px 0;padding:0;background:transparent url(/sites/all/modules/contrib/cck/images/remove.png) no-repeat 0 0;border-bottom:#C2C9CE 1px solid;border-right:#C2C9CE 1px solid;}.content-multiple-remove-button:hover{background-position:0 -14px;}.content-multiple-removed-row .content-multiple-remove-button{background-position:0 -28px;}.content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -42px;}html.js .content-multiple-removed-row{background-color:#ffffcc;}.content-multiple-weight-header,.content-multiple-remove-header,.content-multiple-remove-cell,.content-multiple-table td.delta-order{text-align:center;}html.js .content-multiple-weight-header,html.js .content-multiple-remove-header span,html.js .content-multiple-table td.delta-order,html.js .content-multiple-remove-checkbox{display:none;}.node-form .number{display:inline;width:auto;}.node-form .text{width:auto;} +.form-item #autocomplete .reference-autocomplete{white-space:normal;}.form-item #autocomplete .reference-autocomplete label{display:inline;font-weight:normal;} +#content-field-overview-form .advanced-help-link,#content-display-overview-form .advanced-help-link{margin:4px 4px 0 0;}#content-field-overview-form .label-group,#content-display-overview-form .label-group,#content-copy-export-form .label-group{font-weight:bold;}table#content-field-overview .label-add-new-field,table#content-field-overview .label-add-existing-field,table#content-field-overview .label-add-new-group{float:left;}table#content-field-overview tr.content-add-new .tabledrag-changed{display:none;}table#content-field-overview tr.content-add-new .description{margin-bottom:0;}table#content-field-overview .content-new{font-weight:bold;padding-bottom:.5em;} +.advanced-help-topic h3,.advanced-help-topic h4,.advanced-help-topic h5,.advanced-help-topic h6{margin:1em 0 .5em 0;}.advanced-help-topic dd{margin-bottom:.5em;}.advanced-help-topic span.code{background-color:#EDF1F3;font-family:"Bitstream Vera Sans Mono",Monaco,"Lucida Console",monospace;font-size:0.9em;padding:1px;}.advanced-help-topic .content-border{border:1px solid #AAA} +.ctools-locked{color:red;border:1px solid red;padding:1em;}.ctools-owns-lock{background:#FFFFDD none repeat scroll 0 0;border:1px solid #F0C020;padding:1em;}a.ctools-ajaxing,input.ctools-ajaxing,select.ctools-ajaxing{padding-right:18px !important;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) right center no-repeat;}div.ctools-ajaxing{float:left;width:18px;background:url(/sites/all/modules/contrib/ctools/images/status-active.gif) center center no-repeat;} +.container-inline-date{width:auto;clear:both;display:inline-block;vertical-align:top;margin-right:0.5em;}.container-inline-date .form-item{float:none;padding:0;margin:0;}.container-inline-date .form-item .form-item{float:left;}.container-inline-date .form-item,.container-inline-date .form-item input{width:auto;}.container-inline-date .description{clear:both;}.container-inline-date .form-item input,.container-inline-date .form-item select,.container-inline-date .form-item option{margin-right:5px;}.container-inline-date .date-spacer{margin-left:-5px;}.views-right-60 .container-inline-date div{padding:0;margin:0;}.container-inline-date .date-timezone .form-item{float:none;width:auto;clear:both;} +#calendar_div,#calendar_div td,#calendar_div th{margin:0;padding:0;}#calendar_div,.calendar_control,.calendar_links,.calendar_header,.calendar{width:185px;border-collapse:separate;margin:0;}.calendar td{padding:0;} +span.date-display-single{}span.date-display-start{}span.date-display-end{}span.date-display-separator{}.date-repeat-input{float:left; + width:auto;margin-right:5px;}.date-repeat-input select{min-width:7em;}.date-repeat fieldset{clear:both;float:none;}.date-views-filter-wrapper{min-width:250px;}.date-views-filter input{float:left !important; + margin-right:2px !important; + padding:0 !important;width:12em;min-width:12em;}.date-nav{width:100%;}.date-nav div.date-prev{text-align:left; + width:24%;float:left;}.date-nav div.date-next{text-align:right; + width:24%;float:right;}.date-nav div.date-heading{text-align:center;width:50%;float:left;}.date-nav div.date-heading h3{margin:0;padding:0;}.date-clear{float:none;clear:both;display:block;}.date-clear-block{float:none;width:auto;clear:both;} + .date-clear-block:after{content:" ";display:block;height:0;clear:both;visibility:hidden;}.date-clear-block{display:inline-block;}/* Hides from IE-mac \*/ + * html .date-clear-block{height:1%;}.date-clear-block{display:block;} + +.date-container .date-format-delete{margin-top:1.8em;margin-left:1.5em;float:left;}.date-container .date-format-name{float:left;}.date-container .date-format-type{float:left;padding-left:10px;}.date-container .select-container{clear:left;float:left;} +div.date-calendar-day{line-height:1;width:40px;float:left;margin:6px 10px 0 0;background:#F3F3F3;border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #bbb;border-bottom:1px solid #bbb;color:#999;text-align:center;font-family:Georgia,Arial,Verdana,sans;}div.date-calendar-day span{display:block;text-align:center;}div.date-calendar-day span.month{font-size:.9em;background-color:#B5BEBE;color:white;padding:2px;text-transform:uppercase;}div.date-calendar-day span.day{font-weight:bold;font-size:2em;}div.date-calendar-day span.year{font-size:.9em;padding:2px;} +#ui-datepicker-div table,#ui-datepicker-div td,#ui-datepicker-div th{margin:0;padding:0;}#ui-datepicker-div,#ui-datepicker-div table,.ui-datepicker-div,.ui-datepicker-div table,.ui-datepicker-inline,.ui-datepicker-inline table{font-size:12px !important;}.ui-datepicker-div,.ui-datepicker-inline,#ui-datepicker-div{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;background:#ffffff;border:2px solid #d3d3d3;font-family:Verdana,Arial,sans-serif;font-size:1.1em;margin:0;padding:2.5em .5em .5em .5em;position:relative;width:15.5em;}#ui-datepicker-div{background:#ffffff;display:none;z-index:9999;}.ui-datepicker-inline{display:block;float:left;}.ui-datepicker-control{display:none;}.ui-datepicker-current{display:none;}.ui-datepicker-next,.ui-datepicker-prev{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + left:.5em; + position:absolute;top:.5em;}.ui-datepicker-next{left:14.6em;}.ui-datepicker-next:hover,.ui-datepicker-prev:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x;}.ui-datepicker-next a,.ui-datepicker-prev a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_left.gif) 50% 50% no-repeat; + border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;}.ui-datepicker-next a{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/888888_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:hover{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/454545_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-prev a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_left.gif) 50% 50% no-repeat;}.ui-datepicker-next a:active{background:url(/sites/all/modules/contrib/date/date_popup/themes/images/222222_7x7_arrow_right.gif) 50% 50% no-repeat;}.ui-datepicker-header select{background:#e6e6e6;border:1px solid #d3d3d3;color:#555555;font-size:1em;line-height:1.4em;margin:0 !important;padding:0 !important;position:absolute;top:.5em;}.ui-datepicker-header select.ui-datepicker-new-month{left:2.2em; + width:7em;}.ui-datepicker-header select.ui-datepicker-new-year{left:9.4em; + width:5em;}table.ui-datepicker{text-align:right; + width:15.5em;}table.ui-datepicker td a{color:#555555;display:block;padding:.1em .3em .1em 0; + text-decoration:none;}table.ui-datepicker tbody{border-top:none;}table.ui-datepicker tbody td a{background:#e6e6e6 url(/sites/all/modules/contrib/date/date_popup/themes/images/e6e6e6_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border:1px solid #ffffff;cursor:pointer;}table.ui-datepicker tbody td a:hover{background:#dadada url(/sites/all/modules/contrib/date/date_popup/themes/images/dadada_40x100_textures_02_glass_75.png) 0 50% repeat-x; + border:1px solid #999999;color:#212121;}table.ui-datepicker tbody td a:active{background:#ffffff url(/sites/all/modules/contrib/date/date_popup/themes/images/ffffff_40x100_textures_02_glass_65.png) 0 50% repeat-x; + border:1px solid #dddddd;color:#222222;}table.ui-datepicker .ui-datepicker-title-row td{ + color:#222222;font-size:.9em;padding:.3em 0;text-align:center;text-transform:uppercase;}table.ui-datepicker .ui-datepicker-title-row td a{color:#222222;} + + + + + + +.filefield-icon{float:left; + margin-right:0.4em;} + + +.filefield-element{margin:1em 0;white-space:normal;}.filefield-element .widget-preview{float:left; + padding-right:10px; + border-right:1px solid #CCC; + margin-right:10px; + max-width:30%;}.filefield-element .widget-edit{float:left; + max-width:70%;}.filefield-element .filefield-preview{width:16em;overflow:hidden;}.filefield-element .widget-edit .form-item{margin:0 0 1em 0;}.filefield-element input.form-submit,.filefield-element input.form-file{margin:0;}.filefield-element input.progress-disabled{float:none;display:inline;}.filefield-element div.ahah-progress,.filefield-element div.throbber{display:inline;float:none;padding:1px 13px 2px 3px;}.filefield-element div.ahah-progress-bar{display:none;margin-top:4px;width:28em;padding:0;}.filefield-element div.ahah-progress-bar div.bar{margin:0;} + + + +.filefield-generic-edit .filefield-icon{float:left; + margin-right:0.7em; + margin-top:0.3em;}.filefield-generic-edit-description{margin-right:6em;} +.filefield-generic-edit .form-text{width:99%;}.filefield-generic-edit .description{white-space:normal;margin-bottom:0;overflow:auto;} + +form.fivestar-widget{clear:both;display:block;}form.fivestar-widget select,form.fivestar-widget input{margin:0;} +.fivestar-combo-stars .fivestar-static-form-item{float:left; + margin-right:40px;}.fivestar-combo-stars .fivestar-form-item{float:left;} +.fivestar-static-form-item .form-item,.fivestar-form-item .form-item{margin:0;} +div.fivestar-widget-static{display:block;}div.fivestar-widget-static br{clear:left;}div.fivestar-widget-static .star{float:left; + width:17px;height:15px;overflow:hidden;text-indent:-999em;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;}div.fivestar-widget-static .star span.on{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 -32px;}div.fivestar-widget-static .star span.off{display:block;width:100%;height:100%;background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0;} +div.fivestar-widget{display:block;}div.fivestar-widget .cancel,div.fivestar-widget .star{float:left; + width:17px;height:15px;overflow:hidden;text-indent:-999em;}div.fivestar-widget .cancel,div.fivestar-widget .cancel a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/delete.gif) no-repeat 0 -16px; + text-decoration:none;}div.fivestar-widget .star,div.fivestar-widget .star a{background:url(/sites/all/modules/contrib/fivestar/widgets/default/star.gif) no-repeat 0 0; + text-decoration:none;}div.fivestar-widget .cancel a,div.fivestar-widget .star a{display:block;width:100%;height:100%;background-position:0 0; + cursor:pointer;}div.fivestar-widget div.on a{background-position:0 -16px;}div.fivestar-widget div.hover a,div.rating div a:hover{background-position:0 -32px;}form.fivestar-widget div.description{margin-bottom:0;} + +.simplenews-subscription-filter .form-item{clear:both;line-height:1.75em;margin:0pt 1em 0pt 0pt;}.simplenews-subscription-filter .form-item label{float:left;width:12em;}.simplenews-subscription-filter .spacer{margin-left:12em;}.simplenews-subscription-filter .form-select,.simplenews-subscription-filter .form-text{width:14em;}.block-simplenews .issues-link,.block-simplenews .issues-list{margin-top:1em;}.block-simplenews .issues-list .newsletter-created{display:none;} + + +.wrapper.tagadelic{text-align:justify;margin-right:1em;}.tagadelic.level1{font-size:1em;}.tagadelic.level2{font-size:1.2em;}.tagadelic.level3{font-size:1.4em;}.tagadelic.level4{font-size:1.6em;}.tagadelic.level5{font-size:1.8em;}.tagadelic.level6{font-size:2em;}.tagadelic.level7{font-size:2.2em;}.tagadelic.level8{font-size:2.4em;}.tagadelic.level9{font-size:2.6em;}.tagadelic.level10{font-size:2.8em;} +div.field-type-asin{display:block;clear:both;border-top:2px solid #DDD;padding-top:3px;}div.amazon-item{clear:both;}div.amazon-item img{float:left;padding-left:3px;margin-bottom:1em;margin-right:1em;}div.amazon-item div{padding-left:1em;margin-left:100px;height:4em;} +#edit-antidot-search-block-form-1-wrapper{display:inline;} +#form_submit_search{}#edit-keys-wrapper{float:left;margin:0 3px 0 0;padding:0;}.result .tagged{background-color:none;}#edit-keys{height:20px;}#submit_resultat_page{flao:left;}#fc_antidot_recherche_check_emission-wrapper label{color:#032649;font-size:11px;font-weight:bold;margin:5px 0 0 5px;}.pager span.pager-next{margin-left:3px;}#edit-keys-wrapper{position:relative;overflow:hidden;} +#SuggestPopupBox,#SuggestPopupPage{background-color:white;border:1px solid #999999;z-index:500;position:absolute;}#SuggestPopupBox{ +top:49px;left:362px;width:200px;}#SuggestPopupPage{ +width:279px;top:26px;left:0;position:absolute;z-index:550;}#SuggestPopupBox .suj-reponse,#SuggestPopupPage .suj-reponse{ +padding:2px 0 2px 10px;font-weight:bold;background-color:white;cursor:pointer;height:21px;}#SuggestPopupBox .suj-reponse:hover,#SuggestPopupPage .suj-reponse:hover{background-color:#DECFE2;}#SuggestPopupBox .active,#SuggestPopupPage .active{background-color:#DECFE2;}#fc-antidot-recherche-form .form-item{height:35px;overflow:visible;}#share,#share .addthis_toolbox addthis_default_style,#share .addthis_toolbox addthis_default_style a,#main{z-index:0;position:relative;overflow:visible;}.more{z-index:0;position:relative;overflow:hiddent;} +a.lien-radio{float:left;height:30px;width:38px;}a.autres_sites{color:#666666;display:block;text-align:right;margin-top:5px;}p.ligne-autre-site{margin-left:48px;margin-bottom:0px;}#resultats_crawl li{min-height:36px;}#fc_antidot_recherche_check_emission-wrapper{z-index:0;overflow:visible;position:relative;} +div.grille-programmes li{list-style:none;}div.grille-programmes .clearer{clear:both;} +div.grilles-programmes div.entete{} +div.grille-programmes div.navigation{padding:1em;background-color:#EEE;}div.grille-programmes div.navigation li{display:inline;} +div.grilles-programmes div.tranches{margin:1em 0;} +div.grille-programmes div.emissions{padding:1em 0;}div.grille-programmes div.emission{padding:1em;margin:1em 0;border:1px solid #CCC;}div.grille-programmes div.emission img.image-liste{float:right;margin:0 0 1em 1em;} +div.grille-programmes div.diffusion{padding:1em;margin:1em 0;border:1px solid #CCC;background-color:#EEE;} +div.grille-programmes div.tranche{border:1px dashed #ccc;background-color:#EEE;} + + +#quiz_progress{font-style:italic;font-size:80%;}span.multichoice_answer_text p{display:inline;} +.quiz_question_bullet{font-weight:bold;font-size:120%;}#quiz_score_possible,#quiz_score_percent{font-weight:bold;}.quiz_summary_question{margin-bottom:0.5em;}tr.quiz_summary_qrow{background:transparent;}td.quiz_summary_qcell{vertical-align:top;padding:1em 1em 0em 0em;}td.quiz_summary_qcell table tr{background:transparent;}td.quiz_summary_qcell table td{vertical-align:top;padding:.5em;}.quiz_answer_feedback{font-style:italic;}.quiz_summary_header{font-weight:bold;}.quiz_summary_text{}div.multichoice_answer_correct{padding:5px;border:1px solid green;}div.multichoice_answer_incorrect{padding:5px;border:1px solid red;}.add-questions{background:transparent url(/sites/all/modules/rf/quiz/images/add.png) no-repeat scroll 0% 10%;padding:0 0 1em 2em;} +div.panel-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.panel-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.panel-navigation ul.menu li{font-weight:bold;} +div.emission-navigation ul.menu{display:inline;padding:0 1em 0 0;line-height:2.5em;}div.emission-navigation ul.menu li{display:inline;font-size:1.0em;list-style-type:none;background:#efefef;border:1px solid #aaa;margin:0;padding:4px 8px;}div.emission-navigation ul.menu li{font-weight:bold;} + +div.fieldgroup{margin:.5em 0 1em 0;}div.fieldgroup .content{padding-left:1em;} + +div.panel-pane div.admin-links{font-size:xx-small;margin-right:1em;}div.panel-pane div.admin-links li a{color:#ccc;}div.panel-pane div.admin-links li{padding-bottom:2px;background:white;z-index:201;}div.panel-pane div.admin-links:hover a,div.panel-pane div.admin-links-hover a{color:#000;}div.panel-pane div.admin-links a:before{content:"[";}div.panel-pane div.admin-links a:after{content:"]";}div.panel-pane div.panel-hide{display:none;} +div.panel-pane div.panel-hide-hover,div.panel-pane:hover div.panel-hide{display:block;position:absolute;z-index:200;margin-top:-1.5em;}div.panel-pane div.node{margin:0;padding:0;}div.panel-pane div.feed a{float:right;} +.views-exposed-form .views-exposed-widget{float:left; + padding:.5em 1em 0 0;}.views-exposed-form .views-exposed-widget .form-submit{margin-top:1.6em;}.views-exposed-form .form-item,.views-exposed-form .form-submit{margin-top:0;margin-bottom:0;}.views-exposed-form label{font-weight:bold;}.views-exposed-widgets{margin-bottom:.5em;}html.js a.views-throbbing,html.js span.views-throbbing{background:url(/sites/all/modules/contrib/views/images/status-active.gif) no-repeat right center;padding-right:18px;} + +div.view div.views-admin-links{font-size:xx-small;margin-right:1em;margin-top:1em;}.block div.view div.views-admin-links{margin-top:0;}div.view div.views-admin-links ul{padding-left:0;}div.view div.views-admin-links li a{color:#ccc;}div.view div.views-admin-links li{padding-bottom:2px;z-index:201;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#000;}div.view div.views-admin-links-hover,div.view div.views-admin-links:hover{background:transparent;;}div.view div.views-admin-links a:before{content:"[";}div.view div.views-admin-links a:after{content:"]";}div.view div.views-hide{display:none;} +div.view div.views-hide-hover,div.view:hover div.views-hide{display:block;position:absolute;z-index:200;} +div.view:hover div.views-hide{margin-top:-1.5em;} +.views-view-grid tbody{border-top:none;} + +#popups-overlay{position:absolute;z-index:8;background:black;top:0;}#popups-loading{position:absolute;z-index:10;opacity:0.75;width:100px;height:100px;display:none;}.popups-box{position:absolute;z-index:9;background:white;border:1px solid black;padding:0.5em;width:600px;overflow:auto;}.popups-title{font-weight:bold;margin-bottom:0.25em;}.popups-title div.title{float:left;}.popups-title .popups-close{float:right;}.popups-title .popups-close a{font-weight:normal;} +.popups-box div.messages{background:transparent;border:none;padding:0;margin:0;} +#popups-overlay{background:#773584;opacity:.80;}.popups-box{padding:0;border:10px #EBEBEB solid;-moz-border-radius:10px;-webkit-border-radius:10px;}.popups-inner{height:100%;}.popups-box{width:440px;z-index:600;}body.page-node-edit .popups-box,body.section-admin .popups-box,body.page-node-add .popups-box,body.section-tableau-de-bord .popups-box{width:700px;}.popups-title{background:#EBEBEB url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.popups-title .title,.popups-title .popups-close{display:inline;background:#EBEBEB;padding:0 5px;}.popups-title .popups-close a{display:block;width:9px;text-indent:-9999999px;outline:none;cursor:pointer;background:transparent url(/sites/all/themes/franceculture/images/popups-close.png) no-repeat center right;margin-right:5px;}.popups-title div.title{float:none;}.popups-title .popups-close{padding-right:0;}.popups-body{background:white;padding:5px 10px;overflow:auto;height:auto;} + +label.content-multigroup{font-weight:bold;} +hr.content-multigroup{} +.content-multigroup-wrapper .field .field-label-inline{visibility:visible;} +.content-multigroup-edit-table-multiple-columns label,.content-multigroup-edit-table-multiple-columns .description{display:none;} +.content-multigroup-display-table-multiple-columns .field .field-label,.content-multigroup-display-table-multiple-columns .field .field-label-inline,.content-multigroup-display-table-multiple-columns .field .field-label-inline-first{display:none;} +.content-multigroup-display-table-single-column .content-multigroup-wrapper{clear:both;}.content-multigroup-display-table-single-column .content-multigroup-wrapper label.content-multigroup{display:block;}.content-multigroup-display-table-single-column .content-multigroup-wrapper .field{float:left;margin-right:1em;} + +.indented{margin-left:25px;}.comment-unpublished{background-color:#fff4f4;}.preview .comment{background-color:#ffffea;} + + +html{font-size:75%;}body{line-height:1.5;}h1{font-size:2em;margin:0 0 .5em;padding:0;}h2{font-size:1.5em;}h3{font-size:1.25em;}h4{font-size:1.17em;}h5,h6{font-size:1em;}h1,h2,h3,h4,h5,h6,h1 img,h2 img,h3 img,h4 img,h5 img,h6 img,em,dfn,del,ins{margin:0;padding:0;}p{margin:0 0 1.5em;padding:0;}blockquote p{margin:0;}strong{font-weight:bold;}em,dfn{font-style:italic;}dfn{font-weight:bold;}del{color:#666;}ins{border-bottom:none;text-decoration:none;}pre,code,tt,samp,kbd,var{font:1em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;}blockquote,q{font-style:italic;quotes:"" "";}blockquote{margin:0 0 1.5em;padding:0 0 0 3em;}blockquote:before,blockquote:after,q:before,q:after{content:"";}table{border-color:#C0C0C0;border-spacing:0;margin:1em 0;padding:0;}caption,th,td{text-align:left;}caption,th{font-weight:bold;}table,td,th{vertical-align:middle;}tbody,tfoot,thead,tr{margin:0;padding:0;}thead th{border-bottom:.1875em solid #C0C0C0;color:#494949;font-weight:bold;}td,th{border-bottom:1px solid #CCC;margin:0;padding:.375em .5em;}tr.odd,tr.info{background-color:#F5F5F5;}tr.even{background-color:#FFF;}tr.drag{background-color:#FFFFF0;}tr.drag-previous{background-color:#FFD;}tr.odd td.active{background-color:#EEE;}tr.even td.active{background-color:#F7F7F7;}td.region,td.module,td.container td.category{background-color:#EEE;border-bottom:1px solid #CCC;border-top:1.5em solid #FFF;color:#222;font-weight:bold;}tr:first-child td.region,tr:first-child td.module,tr:first-child td.container{border-top-width:0;}#forum table{width:100%;}#forum tr td.forum{background-position:5px 5px!important;padding-left:1.67em;}#forum tr td.forum .name{padding-left:.375em;}#forum div.indent{margin-left:.5em;}.section-admin table{width:100%;}.description{color:#555;}div.messages{font-weight:normal;margin:1em 0;}div.messages ul{margin:0 0 0 1.25em;}div.error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}tr.error{background:#FFEFF3;color:#E41F0B;}div.notice{background:#FFF6BF;color:#514721;border-color:#FFD324;}.error a,.notice a,.success a{text-decoration:underline;}div.status{background:#F1FFCF url(/sites/all/themes/franceculture/images/ok.png) no-repeat .75em .6em;border:1px solid #4DA449;color:#2A6827;}div.help{background:#F7F8F8 url(/sites/all/themes/franceculture/images/info.png) no-repeat .5em .45em;border:1px solid #66BEF4;color:#000D2F;margin:1em 0;}div.warning{background:#FFF6DF url(/sites/all/themes/franceculture/images/warning.png) no-repeat .5em .45em;border:1px solid #FFB900;color:#9F3800;}div.messages,div.warning,div.help,div.status,div.error{padding:.6em 1em .6em 3em;}div.help code,div.messages code{font-weight:bold;} +#saving{font-size:1em;font-weight:bold;background:url(/sites/all/themes/franceculture/images/loading.gif) no-repeat 12px 1px;display:none;padding-left:36px;}#saving p{margin:0;}#saving-notice{font-size:0.9em;font-style:italic;background:#FFC;}table tr.warning{background-color:#F7E8C5;}table tr.warning td{color:#9F3800;}table tr.warning.merge-up td{color:#514721;}div.ok,tr.ok,table tr.ok td{color:#222;padding:1em .5em;}.update tr.ok{background:#F1FFCF;}.update tr.error{background:#FFEFF3;}.update tr.warning{background:#FFF6DF;}.update tr.error .version-recommended{background:#FFEFF4;}.update .info{padding:0 0 0 1em;}.includes{color:#222;}div.help p:last-child,div.help ul:last-child{margin-bottom:0;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid #C00000;}.form-item strong.error em{font-weight:bold;color:#E41F0B;font-size:1.2em;}.block-region{border:1px dotted #000;color:#000;font:1.25em "Lucida Console",Monaco,"DejaVu Sans Mono",monospace;padding:3px 6px 1px;}.node-unpublished,.comment-unpublished{background-color:#FFF6DF;}.unpublished{visibility:hidden;}.node-unpublished .unpublished,.comment-unpublished .unpublished{background:transparent url(/sites/all/themes/franceculture/images/warning-small.png) no-repeat 0 .1em;color:#FFB900;font-size:.94em;margin-left:.5em;padding-left:18px;visibility:visible;}.admin-dependencies,.admin-required,.admin-enabled,.admin-disabled,.admin-missing{font-weight:bold;}ul,ol{margin:0 0 1.5em 1.75em;padding:0;}li{margin:0;padding:0;}ul ul,ul ol,ol ol,ol ul,.block ul ul,.block ul ol,.block ol ol,.block ol ul,.item-list ul ul,.item-list ul ol,.item-list ol ol,.item-list ol ul{margin:0 0 0 1.75em;}ul{list-style-type:disc;}ul ul{list-style-type:circle;}ul ul ul{list-style-type:square;}ul ul ul ul{list-style-type:circle;}ol{list-style-type:decimal;}ol ol{list-style-type:lower-alpha;}ol ol ol{list-style-type:lower-roman;}dt{font-weight:bold;}dd{margin:0 0 1.5em 1.75em;}.item-list ul,.item-list ol{margin:0 0 0 1.75em;padding:0;}form{margin:0 0 1.5em;padding:0;} +input.text,input.title,textarea,select{border:1px solid #C0C0C0;margin:.375em 0;} + +input.text,input.title{padding:.375em;}input.title{font-size:1.5em;}input.form-text,textarea{border:1px solid #CCC;height:auto;padding:.1875em;} +div.form-item{margin-bottom:1em;margin-top:1em;}.form-item textarea.error{padding:.1875em;}.form-item .description{font-size:.9em;line-height:1.667em;}span.form-required,span.marker{color:#8A1F11;}div.form-item div.description img{margin:0;}#node-admin-filter ul{padding:.375em 0;}#edit-operation-wrapper select{margin:.375em;}div.resizable-textarea textarea{margin-top:0;}.tips{font-size:1em;margin-left:3em;padding:.1875em .375em .1875em 1.5em;}label,legend{margin:0;padding:0;}fieldset{background:transparent;border:1px solid #dadada;margin:1.5em 0;padding:.75em;}*:first-child+html fieldset{background-color:transparent;background-position:0 .75em;padding:0 1em .75em;}*:first-child+html fieldset > .description,*:first-child+html fieldset .fieldset-wrapper .description{padding-top:1.5em;}fieldset legend{display:block;font-weight:bold;padding:0 1em 0 0;}*:first-child+html fieldset legend,*:first-child+html fieldset.collapsed legend{display:inline;}html.js fieldset.collapsed{background:transparent;padding-bottom:.75em;padding-top:0;}#user-login-form li.openid-link,#user-login-form li.user-link{text-align:center;}html.js #user-login-form li.openid-link,html.js #user-login li.openid-link{list-style:none;}#user-login-form ul{margin-top:0;}#user-login ul{margin:0 0 5px;}#user-login ul li{margin:0;}#user-login-form li.openid-link,#user-login li.openid-link{background:none;}#user-login-form li.openid-link a,#user-login li.openid-link a{background:transparent url(/sites/all/themes/franceculture/images/openid.png) no-repeat 0 0;padding:0 20px;}#user-login-form .item-list li{list-style:none;}div.admin-panel{border:1px solid #DDD;margin:0 0 .75em;padding:0;}div.admin .left,div.admin .right{margin-left:0;margin-right:0;width:49%;}.admin-panel h3{background:#EEE;color:#222;padding:0 0 0 .5em;}.admin-panel .body{padding:0 1em;}.admin-panel p{margin:0;padding:1em 0 0;}.admin-panel ul,.admin-panel ul.menu,.admin-panel .item-list ul{padding:0 0 1em;}.admin-panel .item-list ul{margin:0;}.admin-panel ul li{color:#555;}.admin-panel dl{margin:0;padding:1em 0;}.admin-panel dt{font-weight:normal;}.admin-panel dd{color:#555;font-size:.94em;margin-left:0;}.admin .compact-link{margin:0 0 1em;}.page-admin-by-module .admin-panel .body{margin:0;}.page-admin-by-module .admin-panel .body p{color:#555;font-size:.94em;}#user-admin-filter ul li,#node-admin-filter ul li{list-style:none;}.more-help-link{font-size:.94em;line-height:1.667em;}#permissions td.permission{padding-left:.5em;}#permissions td.module{background:#EEE;color:#222;font-weight:bold;}tr .block{border:0;}.local-tasks{margin-bottom:1em;}ul.primary{border-bottom-color:#CCC;margin:1.5em 0 0;padding:0 0 .2em .3em;}ul.primary li a{background-color:#F5F5F5;border-color:#CCC;margin-right:.08em;padding:.1em .75em .2em;}.local-tasks ul.primary li a:hover{background-color:#F7F7F7;border-color:#DDD;color:#C1272D}.local-tasks ul.primary li.active a{background-color:#FFF;border-bottom-color:#FFF;}ul.secondary{border-bottom:1px solid #CCC;margin:1em 0 0 0;padding:0 .3em 1em;}ul.secondary li{border-right:0;list-style:none;padding:0 2em 0 0;}ul.secondary li a:hover,ul.secondary li a.active{border-bottom:none;text-decoration:underline;}body.admin-menu{margin-top:2em !important;}#admin-menu{font:0.9em Arial,Helvetica,sans-serif;}#admin-menu ul li a:focus{color:#000;border:0;background:#FFFF00;} +#genesis-1a .two-sidebars .content-inner{margin:0 22em;}#genesis-1a .sidebar-left .content-inner{margin-left:22em;}#genesis-1a .sidebar-right .content-inner{margin-right:22em;}#genesis-1a #sidebar-left{width:20em;margin-left:-100%;}#genesis-1a #sidebar-right{width:20em;margin-left:-20em;}#genesis-1b .two-sidebars .content-inner{margin:0 25.25%;}#genesis-1b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-1b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-1b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-1b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-1c .two-sidebars .content-inner{margin:0 260px;}#genesis-1c .sidebar-left .content-inner{margin-left:260px;}#genesis-1c .sidebar-right .content-inner{margin-right:260px;}#genesis-1c #sidebar-left{width:240px;margin-left:-100%;}#genesis-1c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2a .two-sidebars .content-inner{margin-right:44em;}#genesis-2a .sidebar-left .content-inner{margin-right:22em;}#genesis-2a .sidebar-right .content-inner{margin-right:22em;}#genesis-2a #sidebar-left{width:20em;margin-left:-42em;}#genesis-2a #sidebar-right{width:20em;margin-left:-20em;}#genesis-2a .sidebar-left #sidebar-left{width:20em;margin-left:-20em;}#genesis-2b .two-sidebars .content-inner{margin-right:50.5%;}#genesis-2b .sidebar-left .content-inner{margin-right:25.25%;}#genesis-2b .sidebar-right .content-inner{margin-right:25.25%;}#genesis-2b #sidebar-left{width:24.25%;margin-left:-49.5%;}#genesis-2b #sidebar-right{width:24.25%;margin-left:-24.25%;}#genesis-2b .sidebar-left #sidebar-left{width:24.25%;margin-left:-24.25%;}#genesis-2c .two-sidebars .content-inner{margin-right:520px;}#genesis-2c .sidebar-left .content-inner{margin-right:260px;}#genesis-2c .sidebar-right .content-inner{margin-right:260px;}#genesis-2c #sidebar-left{width:240px;margin-left:-500px;}#genesis-2c #sidebar-right{width:240px;margin-left:-240px;}#genesis-2c .sidebar-left #sidebar-left{width:240px;margin-left:-240px;}#genesis-3a .two-sidebars .content-inner{margin-left:44em;}#genesis-3a .sidebar-left .content-inner{margin-left:22em;}#genesis-3a .sidebar-right .content-inner{margin-left:22em;}#genesis-3a #sidebar-left{width:20em;margin-left:-100%;}#genesis-3a #sidebar-right{width:20em;margin-left:-100%;}#genesis-3a .two-sidebars #sidebar-right{width:20em;position:relative;left:22em;}#genesis-3b .two-sidebars .content-inner{margin-left:50.5%;}#genesis-3b .sidebar-left .content-inner{margin-left:25.25%;}#genesis-3b .sidebar-right .content-inner{margin-left:25.25%;}#genesis-3b #sidebar-left{width:24.25%;margin-left:-100%;}#genesis-3b #sidebar-right{width:24.25%;margin-left:-100%;}#genesis-3b .two-sidebars #sidebar-right{width:24.25%;position:relative;left:25.25%;}#genesis-3c .two-sidebars .content-inner{margin-left:520px;}#genesis-3c .sidebar-left .content-inner{margin-left:260px;}#genesis-3c .sidebar-right .content-inner{margin-left:260px;}#genesis-3c #sidebar-left{width:240px;margin-left:-100%;}#genesis-3c #sidebar-right{width:240px;margin-left:-100%;}#genesis-3c .two-sidebars #sidebar-right{width:240px;position:relative;left:260px;}#genesis-4 .two-sidebars .content-inner{margin-right:40%;}#genesis-4 .sidebar-left .content-inner{margin-right:40%;}#genesis-4 .sidebar-right .content-inner{margin-right:40%;}#genesis-4 #sidebar-left{width:37%;margin-left:-37%;}#genesis-4 #sidebar-right{width:37%;margin-left:-37%;}#genesis-4 .sidebar-left #sidebar-left{width:37%;margin-left:-37%;}.gpanel{clear:both;margin:.75em 0;}.gpanel .region{display:inline;position:relative;}.two-col-50 .region{width:49.5%;}.two-col-50 .col-1{float:left;}.two-col-50 .col-2{float:right;}.two-col-50 .gpanel{margin:0;}#two-col-50-nested .col-2{width:48.5%;}.col-1 #two-col-50-nested .region,.col-2 #two-col-50-nested .col-2{width:49%;}.three-col-33 .region{float:left;width:32%;}.three-col-33 .col-2{right:-1%;width:34%;}.three-col-33 .col-3{right:-2%;}.four-col-25 .section-1{float:left;width:49.5%;}.four-col-25 .section-2{float:right;width:49.5%;}.four-col-25 .col-1,.four-col-25 .col-3{float:left;width:49%;}.four-col-25 .col-2,.four-col-25 .col-4{float:right;width:49%;}.gpanel .region .inner{margin:0;}.gpanel .last .inner{margin-right:0;}#container{position:relative;margin:0 auto;}#columns{display:inline-block;margin-bottom:1em;}#container > #columns{display:block;}#content-column,#sidebar-left,#sidebar-right{float:left;}#content-column{width:100%;margin-bottom:1em;}.clear,#nav,#columns,#breadcrumb,#content-bottom,#secondary-content,#tertiary-content,#footer-wrapper,#footer,#footer-message{clear:both;} +div.block{position:relative;}div.block div.block-edit{font-size:.9em;position:absolute;right:0;top:0;visibility:hidden;z-index:40;}div.block:hover div.block-edit{display:block;font-family:Arial,Helvetica,"Nimbus Sans",sans-serif;visibility:visible;}div.block div.block-edit a{text-decoration:none;color:#ccc;}div.block div.block-edit a:before{content:"[";}div.block div.block-edit a:after{content:"]";}div.block div.block-edit a:hover{color:#000;background:#FFF;}div.block div.block-edit li{display:inline;float:left;list-style:none;margin:0 0 0 .5em;}div.view div.views-admin-links{font-size:.85em;}.block div.view div.views-admin-links{margin-top:1.8em;}#main-content div.view div.views-admin-links{margin-top:-.8em;}div.view div.views-admin-links li a{text-decoration:none;width:5em;}div.view div.views-admin-links li a:hover{color:#000;background:#FFF;}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#CCC;} + +li.leaf{list-style:none outside none !important;padding:0 !important;}.item-list ul,.item-list ol{margin:0;padding:0;}.item-list ul li{list-style:none;margin:0;padding:0;}#header form{margin:0;}div.views-cloud{line-height:1.2;}div.views-cloud span{margin:2px 5px;}div.views-cloud div{white-space:normal;}div.views-cloud span.views-cloud-size-3 a,div.views-cloud span.views-cloud-size-4 a{color:#262626;}.comments-count{font-style:italic;}.comments-count,.theme2,.type{font-size:11px;display:inline;margin:0 3px 0 0;}#comments .post img{float:left;margin:0 10px 0 0;}#comment-form label{color:#000000;font-size:14px;margin:0 0 5px;}div.ctools-modal-content textarea#edit-body{width:500px;height:400px;}#sidebar-right .block ul{padding:0 0 0.25em 0;}ul.primary li a{background-color:#DECFE2;} + +#acces-rapide{display:none;}.back-to-top{display:none;} + body{color:#4D4D4D;font-size:12px;line-height:17px;font-family:'Arial','FreeSans';}img{border:none;}a{text-decoration:none;color:#032649;font-weight:bold;}a:hover{text-decoration:underline;}a img,a:hover img{text-decoration:none;}a.ext{text-decoration:underline;}p{margin:0 0 5px 0;}ul{padding:0;margin:0;}ol{padding:0;margin:0;}li{list-style-type:none;padding:0;margin:0;}h1{color:#262626;font-size:24px;line-height:26px;letter-spacing:0.2px;margin:0 0 15px 0;}body.section-rubrique h1,body.section-partenariats h1{color:#773584;}h2{line-height:20px;font-size:16px;letter-spacing:0.5px;margin:0 0 3px 0;padding:0;}h3{font-size:12px;line-height:18px;margin:0 0 2px 0;padding:0;} + input.idleField{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}.section-admin input.idleField{color:#000000;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;}input.focusField{border:1px dotted #773584 !important;background-color:#ad86b5;color:#fff;} + #sidebar-right h3{font-size:14px;line-height:14px;}.titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}.titre-barre-gris{background:url(/sites/all/themes/franceculture/images/titre-barre-gris.gif) repeat-x 0 2px;color:#BABCBE;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#footer-top .titre-barre{padding:0 0 15px 0;}.titre-barre span,.titre-barre-gris span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}.titre-barre span.picto-ecoute{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 5px 3px;padding-left:28px;}.titre-barre a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}.titre-barre a:hover{text-decoration:none;}.titre-barre a.red{color:#C1272D;}.clear{clear:both;}.rss{padding:0 0 5px 5px;}.pictos{margin:2px 0 0 5px;background-color:#C1272D;}.sep{margin:0 0 6px 0;padding:0 0 6px 0;border-bottom:1px solid #CFCFCF;}.sep-last{margin:0;padding:0 0 6px 0;border-bottom:0 solid;}a.sep{display:block;}.read-more{text-align:right;font-size:11px;}.date{font-weight:bold;font-size:11px;}.timer{color:#C1272D;font-size:11px;margin:0 0 0 5px;font-weight:bold;}.timer-liste{font-size:11px;font-weight:bold;}.timer a{color:#C1272D;}.img-float{float:left;margin:0 10px 0 0;}.block{display:block;min-height:100px;margin:0 0 10px 0;}#footer-top .block{min-height:0;margin:0;}body.section-admin .block{min-height:0px;}.num-com{background:url(/sites/all/themes/franceculture/images/num-com-bg-rose.png) repeat-x 0 0;color:#000;font-size:10px;margin-left:10px;}.num-com:hover{text-decoration:none;}.num-com span{background:url(/sites/all/themes/franceculture/images/num-com-rose.png) no-repeat 100% 0;padding:0 3px 9px 3px;}.soon{padding:1px 4px;color:#fff;background-color:#C1272D;font-weight:bold;font-size:10px;margin-left:5px;}.violet{color:#773584;font-size:11px;}.cours{background-color:#E8E8E8;padding:0 5px;margin-right:5px;}.cours a{padding:0 5px;}.quiz{background-color:#DECFE2;padding:0 10px;margin-right:5px;}.quiz a{padding:0 10px;}.answer a{font-size:10px;background:url(/sites/all/themes/franceculture/images/answer.png) no-repeat 0 0;padding:0 5px 9px;}.answer a.none{background:#e4d7e6 none;padding:0 5px;}.rank-1{font-size:12px;}.rank-2{font-size:12px;color:#262626;}.rank-3{font-size:16px;color:#262626;}.btn-emission{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-emission.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:3px 20px 4px;margin-left:20px;}.btn-emission:hover{background-position:0 -22px;text-decoration:none;}.btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 25px;margin-left:20px;}.btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;}.more-doc{display:block;text-align:right;margin-top:15px;padding-right:15px;line-height:12px;cursor:pointer;}.more-doc:hover{text-decoration:none;}#edit-mollom-captcha-wrapper a#mollom-audio-captcha{display:none;}#edit-mollom-captcha-wrapper span{color:#fff;}#edit-mollom-captcha-wrapper span.form-required{color:#8A1F11;} + + + .retour-home{position:absolute;top:0;left:0;margin:18px 0 0 0;}.search{float:right;margin:10px 25px 0 0px;width:400px;} + #header .block{float:right;margin:22px 0 0 0;width:385px;}#header label,#header .block-simplenews p,#header #block-block-17 a{color:#773584;font-weight:bold;float:left;margin:0 10px 0 0;line-height:24px;}#header #block-block-17 a{float:right;}#header .block-simplenews p,#header .block-simplenews div,#header .block-simplenews form{display:inline;}#header .block-simplenews label{display:none;}#header input,#header .block-simplenews div.user-mail{padding:4px 10px 5px 10px;float:left;width:145px;}body.blogs #block-simplenews-65{display:none;}#header input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}#header .temp{margin:0 0 0 2px;} + #menu-principal{position:absolute;top:0;right:0;margin:108px 15px 0 0;}#menu-principal li{float:left;}#menu-principal a{color:#fff;padding:6px 8px 5px 9px;font-size:14px;font-weight:bold;display:block;background-color:#28042D;}#menu-principal a:hover,#menu-principal a.active{background-color:#773584;text-decoration:none;}#menu-principal .first a{margin:0 0 0 1px;}#menu-principal .menu-action a{padding:5px 10px 6px 10px;background-color:#4D4D4D;}#menu-principal .menu-action a:hover,#menu-principal .menu-action a.active{background-color:#C1272D;} + #menu-top{position:absolute;top:0;right:0;margin:80px 0 0 0;}#menu-top li{float:left;background-color:#DECFE2;}#menu-top a{color:#000;padding:5px 11px 6px;font-size:13px;font-weight:bold;display:block;}#menu-top a:hover,#menu-top a.active{background-color:#773584;color:#fff;text-decoration:none;}#menu-top .login{margin:0 0 0 1px;}#menu-top .login a{color:#56045D;}#menu-top .register a{color:#56045D;font-weight:normal;font-size:12px;}#menu-top .register a:hover,#menu-top .login a:hover,#menu-top .login a.active,#menu-top .register a.active{color:#fff;}#menu-top .disconnect a{margin:0 20px;}#menu-top .go-profil a{background:url(/sites/all/themes/franceculture/images/btn-edit-profil.png) no-repeat 0 0;display:block;text-align:center;width:54px;height:19px;color:#fff;margin:4px 4px 5px 4px;padding:0;}#menu-top .go-profil a:hover{background-position:0 -19px;} + .urgent{border:1px solid #CFCFCF;margin-bottom:15px;}.urgent-inner{background-color:#F5DCE3;margin:2px;padding:5px;position:relative;width:654px;}.urgent-inner span{color:#DC0000;font-size:11px;font-weight:bold;}.urgent-inner h1{color:#DC0000;font-size:16px;font-weight:bold;line-height:18px;margin-bottom:5px;}.urgent-inner a{font-size:11px;background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 0 4px;position:absolute;bottom:0;right:0;margin:0 10px 10px 0;line-height:11px;padding-left:10px;cursor:pointer;}.urgent-inner a:hover{text-decoration:none;} + .tabs{font-size:11px;color:#032649;}.tabs a{color:#032649;font-weight:bold;}.tabs a.active{color:#773584;} + #content-left{line-height:15px;}body .list-article li{margin:0 0 0 0;clear:left;padding:25px 0 0 0}.rubrique{background:url(/sites/all/themes/franceculture/images/bg-rubrique.png) repeat-x 0 0;font-size:11px;margin:0 0 3px 0;}.rubrique a,.rubrique span{background:#fff none;padding:0 5px 0 0;}.list-article .first{padding-top:0px;}.list-article .last{margin-bottom:25px;}.list-article .first .illustration{margin-bottom:15px;}.list-article .large .illustration{margin-right:0}.list-article .illustration{float:left;margin-right:20px;}.front .list-article .illustration{margin-bottom:25px;}.list-article .video{margin-top:15px;}img.imagefield-field_fleuve_image,img.imagecache-image_liste,img.imagecache-evenement_image_liste{float:left;margin-right:20px;} + .biographie{color:#262626;font-size:14px;line-height:18px;letter-spacing:0.1px;margin-bottom:35px;}.biographie p,body.node-type-rf-personne#tinymce p{margin-bottom:15px;} + #share,#block-print-0{position:absolute;top:0;right:0;text-align:right;min-height:0;}#share .share-mail{background:url(/sites/all/themes/franceculture/images/share-mail.png) no-repeat 100% 4px;padding-right:15px;margin-right:20px;}#share .share-mail span{display:none;}#share .share-more{padding-left:15px;}#share .share-services{margin-left:10px;}#share .share-services span{margin-right:5px;}.share-script .more-services{display:none;}.share-script .more-services.active{display:inline;}.share-script .more-services.active a{float:none;}.share-script .more-services.active a span{float:none;display:inline;padding:1px 8px;}#block-print-0{right:210px;}#block-print-0 .print-page{background:url(/sites/all/themes/franceculture/images/share-print.png) no-repeat 100% 2px;padding-right:15px;margin-right:17px;} + .pager{border:1px solid #CFCFCF;padding:5px;text-align:right;color:#032649;margin:50px 0 30px 0;}.pager a,.pager span.pager-current{font-size:14px;line-height:14px;color:#032649;display:inline-block;height:15px;text-align:center;padding:0;vertical-align:center;}.pager span.pager-item,.pager span.pager-current{margin:0 3px;}.pager span.pager-previous span,.pager span.pager-next span{display:none;}.pager span.pager-previous{background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat 0 0;width:15px;margin-right:3px;}.pager span.pager-next{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png) no-repeat 0 0;width:15px;margin-left:3px;}.pager span.pager-previous a,.pager span.pager-next a{width:15px;}.pager span.pager-current{color:#773584;} + .player{background:url(/sites/all/themes/franceculture/images/player-article.png) no-repeat 0 0;width:650px;height:75px;color:#fff;font-weight:bold;margin:20px 0 0 0;}.player .ecouter{float:left;width:65px;}.player .ecouter a{font-size:10px;display:block;padding:38px 0 0 0;text-align:center;color:#fff;}.player .ecouter a:hover{text-decoration:none;}.player .played{float:left;width:430px;margin:12px 0 0 0;}.player .played img{margin:8px 0 0 0;}.player .action{float:left;width:155px;margin-top:12px;}.player .action a{color:#fff;display:block;margin-bottom:7px;padding-left:22px;} + .com{margin-bottom:40px;}.com .post{margin-bottom:20px;}.com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}.com .post .auth{font-weight:bold;color:#032649;}.com .post .submited .date{margin-left:5px;}.com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;}#comment-form .preview .post{margin-bottom:20px;}#comment-form .preview .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}#comment-form .preview .post .auth{font-weight:bold;color:#032649;}#comment-form .preview .post .submited .date{margin-left:5px;}#comment-form .preview .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} +#comment-form{margin-bottom:40px;}#comment-form img{margin:0 0 15px 0;}#comment-form label,#comment-form input.form-text,#comment-form textarea{display:block;font-weight:normal;}#comment-form label{color:#000;font-size:14px;margin:0 0 5px 0;}#comment-form input.form-text{border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;width:210px;margin:0 0 15px 0;}#comment-form textarea{padding:4px 10px 5px 10px;color:#999999;width:633px;margin:0 0 15px 0;}#fc-quelisentils-comment-form input.form-submit,#comment-form input.form-submit,.section-liste-ecoute #node-form input.form-submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}.section-liste-ecoute #node-form input.form-submit{width:100px;}#fc-quelisentils-comment-form input.form-submit:hover,#comment-form + input.form-submit:hover,.section-liste-ecoute #node-form input.form-submit:hover{background-color:#C1272D;}#comment-form .fieldset-wrapper label,#comment-form .fieldset-wrapper input{display:inline;} + #footer-top ul{float:left;border-left:1px solid #CFCFCF;padding:0 0 0 15px;margin:0 0 0 15px;font-size:11px;line-height:16px;display:inline;}ul.no-border{border:none;padding:0 30px 0 0;margin:0;width:80px;}ul.tools{width:100px;}ul.france-culture{width:450px;}ul.ecoute-culture{width:230px;}#footer a{color:#fff;font-size:16px;}#footer ul{float:left;}#footer li{display:inline;border-right:2px solid #fff;padding:0 30px 5px 0;margin:0 30px 0 0;}.signature-rf{float:right;text-align:right;font-size:10px;color:#888b8b;line-height:12px;}.signature-rf a{display:block;color:#888b8b;font-size:10px;font-weight:bold;} + + #content-right{line-height:15px;}#content-right .panel-pane,.list-rubrique li{margin-bottom:30px;margin-top:0 !important;padding-left:10px;}#content-right .panel-pane label,.list-rubrique li label{margin:10px 0 5px 0;display:block;}#content-right .panel-pane input,.list-rubrique li input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}#content-right .panel-pane input.form-text:focus,#content-right .panel-pane input.focusField{color:#FFF;}#content-right .panel-pane input.submit,.list-rubrique li input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}#content-right .panel-pane select,.list-rubrique li select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;float:left;width:100%;margin:0 0 10px 0;} + #content-right .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.node-type-panel #content-left .panel-pane .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.node-type-panel #content-left .panel-pane .title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;} + .acheter li a{color:#000;font-weight:normal;font-style:italic;}.acheter li span{color:#808080;font-style:italic;font-size:11px;}#content-right .acheter li{border-bottom:1px solid #CFCFCF;margin:10px 0 0 0;padding:0 0 10px 0;} + body.lecture #sidebar-right .plus ul{padding-left:20px;padding-right:20px;}body.lecture #sidebar-right .plus li{clear:left;margin:20px 0 0 0;}body.lecture #sidebar-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.lecture #sidebar-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.lecture #sidebar-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}body.profil #content-right .plus li{clear:left;margin:10px 0;}body.profil #content-right .plus p{float:right;width:130px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.profil #content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}body.profil #content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} + body.profil #content-right .rel-doc li{clear:left;margin:10px 0;}body.profil #content-right .rel-doc img{float:left;margin:0 10px 15px 0;}body.profil #content-right .rel-doc p{font-size:12px;color:#4D4D4D;display:inline;line-height:14px;}body.profil #content-right .rel-doc p a{margin:0;}body.profil #content-right .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.profil #content-right .rel-doc p span.date{font-weight:bold;color:#4D4D4D;font-size:11px;}body.profil #content-right .rel-doc p.theme a{display:block;text-align:right;}body.profil #content-right .rel-doc p.theme input{float:none;width:113px;margin:20px 0;} + #sidebar-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block .title{margin:0 10px 5px 10px;}#sidebar-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block .title a{font-size:12px;font-weight:normal;line-height:12px;letter-spacing:-0.1px;cursor:default;display:block;color:#773584;}#sidebar-right .block .context{padding:0 10px 5px;}#sidebar-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#sidebar-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}#sidebar-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} + #sidebar-right .block-ecoute{background:#fff url(/sites/all/themes/franceculture/images/player-noir-bg.png) repeat-y 0 0;margin:0 0 10px 0;line-height:14px;}#sidebar-right .block-ecoute .block-inner{background:url(/sites/all/themes/franceculture/images/player-noir-top.png) no-repeat 0 0;padding:15px 0 0 0;color:#fff;}#sidebar-right .block-ecoute .titre-barre{background:url(/sites/all/themes/franceculture/images/titre-barre-noir.gif) repeat-x 0 2px;margin:0 19px 5px 10px;}#sidebar-right .block-ecoute h2 span{background:#323232 url(/sites/all/themes/franceculture/images/picto-cult-noir.png) no-repeat 5px 0;color:#fff;padding-left:28px;}#sidebar-right .block-ecoute .context{background-color:#fff;margin:0 19px 15px 10px;border-top:1px solid #666666;border-bottom:1px solid #666666;border-right:none;border-left:none;padding:15px 10px;color:#4D4D4D;}#sidebar-right .block-ecoute .context p{padding:0;}#sidebar-right .block-ecoute h3 a{display:block;}#sidebar-right .block-ecoute h3 .timer{font-size:14px;display:block;margin:0 0 2px 0;}#sidebar-right .block-ecoute p{padding-left:10px;padding-right:19px;}#sidebar-right .block-ecoute p a{color:#fff;background-color:#121212;}#sidebar-right .block-ecoute p .timer{font-size:12px;margin:0;}#sidebar-right .block-ecoute p.auteur{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;padding-bottom:25px;display:block;margin:2px 0 0 0;}#sidebar-right .block-ecoute .closure{background:url(/sites/all/themes/franceculture/images/player-noir-bottom.png) no-repeat 0 100%;height:15px;display:block;margin:2px 0 0 0;border:none;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .context{height:40px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard .default{font-weight:bold;margin-top:7px;}#sidebar-right .block-ecoute#block-fcbloc-a-tout-hasard{height:140px;} + #sidebar-right .block-list{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-list .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-list .titre-barre{margin:0 10px 5px 10px;}#sidebar-right .block-list .titre-barre span{background-color:#ebebeb;}#sidebar-right .block-list .context{padding:0 10px 5px;}#sidebar-right .block-list .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right .block-list label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-list ul,.block-list ol,.block-list .context{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding-top:1px;}#sidebar-right .block-list ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-list li{border-bottom:1px solid #CFCFCF;margin:20px 20px 0 20px;padding:0 0 15px 0;}#sidebar-right .block-list .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right .block-list .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} + #sidebar-right .block-user{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right .block-user .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right .block-user .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#sidebar-right .block-user .title{margin:0 10px 5px 10px;}#sidebar-right .block-user .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#sidebar-right .block-user .context{padding:0 10px 5px;}#sidebar-right .block-user label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right .block-user .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#sidebar-right .block-user ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right .block-user li{border-bottom:1px solid #CFCFCF;margin:2px 0;padding:0;border-top-width:0;}#sidebar-right .block-user li.first{margin-top:0;}#sidebar-right .block-user .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} + #sidebar-right #block-fcbloc-sur-le-meme-theme{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;background-color:#ebebeb;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context{padding:0 10px 5px;}#sidebar-right #block-fcbloc-sur-le-meme-theme .context a{float:left;margin:10px 10px 0 10px;width:120px;text-align:center;line-height:16px;}#sidebar-right #block-fcbloc-sur-le-meme-theme label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}#sidebar-right #block-fcbloc-sur-le-meme-theme ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}#sidebar-right #block-fcbloc-sur-le-meme-theme li{border-bottom:1px solid #CFCFCF;margin:20px 0 0 0;padding:0 0 15px 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme li.last{padding:0;border-bottom:0px}#sidebar-right #block-fcbloc-sur-le-meme-theme li.first{margin-top:0;}#sidebar-right #block-fcbloc-sur-le-meme-theme .read-more{padding:0 20px 0 0;display:block;margin:5px 0 0 0;clear:left;}#sidebar-right #block-fcbloc-sur-le-meme-theme .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;}#sidebar-right #block-fcbloc-sur-le-meme-theme p a{font-weight:normal;}#sidebar-right #block-fcbloc-sur-le-meme-theme h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;margin:0 10px 5px 10px;} + #sidebar-right #block-fcbloc-publicite.block .block-inner,#sidebar-right #block-fcbloc-publicite.block .block-content,#sidebar-right #block-fcbloc-publicite.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-fcbloc-publicite.block .closure{display:none;}#sidebar-right #block-fcbloc-publicite.block .title span{background-color:#FFF;}#sidebar-right #block-fcbloc-publicite.block .title{margin:0;}#sidebar-right #block-fcbloc-publicite.block .pub-inner{width:300px;height:250px;}#sidebar-right #block-fcbloc-publicite.block p.pub-notice{display:block;text-align:center;background-color:#c7c7c7;color:#808080;padding:2px;margin:0;}#sidebar-right #block-fcbloc-publicite.block{margin-bottom:15px;} + #sidebar-right #block-views-partenariats_fo_liste-block_1.block,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-inner,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .block-content,#sidebar-right #block-views-partenariats_fo_liste-block_1.block .closure{background:none;padding:0;margin:0;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title span{background-color:#FFF;}#sidebar-right #block-views-partenariats_fo_liste-block_1.block .title{margin:0;} + #sidebar-right #block-views-lesplusconsultes-block_3 h2.title span{background:#ebebeb url(/sites/all/themes/franceculture/images/picto-ecoute-gris.png) no-repeat 3px 50%;padding-left:28px;} + #content-right .propos li{border-bottom:none;margin-top:15px;padding-bottom:5px;}#content-right .propos li .date{font-size:12px;display:block;margin-bottom:5px;} + #sidebar-right .aide .closure{height:15px;}#sidebar-right .aide li{border-bottom:none;margin-top:10px;padding-bottom:0;} + .block-nav a{display:block;margin-bottom:5px;} + #content-right .qr .read-more{background:none;padding-bottom:5px;}#content-right .qr .closure{background-color:#ebebeb;padding-top:10px;height:40px;}#content-right .qr .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}#content-right .qr .closure a:hover{background-position:0 -22px;text-decoration:none;}#sidebar-right .qr-posezvotrequestion a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;height:20px;margin:10px 10px -15px;padding-top:2px;}#sidebar-right .qr-posezvotrequestion a:hover{background-position:0 -22px;text-decoration:none;} + #sidebar-right .equipe li{border-bottom:none;padding-bottom:5px;margin-top:15px;} + #content-right .votre-liste ol li{list-style-position:inside;border-bottom:none;font-weight:normal;color:#4D4D4D;} + #content-right .sujet li{margin-bottom:5px;padding-bottom:5px;border-bottom:0;}#content-right .sujet .illustration{float:left;margin-right:5px;}#content-right .sujet .timer{margin-left:0;} + #content-right #block-fc_evenement-proposer-un-evenement ul{padding:0 0 0.25em 0;}#content-right #block-fc_evenement-proposer-un-evenement{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}#content-right #block-fc_evenement-proposer-un-evenement .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}#content-right #block-fc_evenement-proposer-un-evenement .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#content-right #block-fc_evenement-proposer-un-evenement .title{margin:0 10px 5px 10px;}#content-right #block-fc_evenement-proposer-un-evenement .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}#content-right #block-fc_evenement-proposer-un-evenement .context{padding:0 10px 5px;}#content-right #block-fc_evenement-proposer-un-evenement .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}#content-right #block-fc_evenement-proposer-un-evenement li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}#content-right #block-fc_evenement-proposer-un-evenement li.first{margin-top:0;}#content-right #block-fc_evenement-proposer-un-evenement .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:35px;display:block;}#content-right #block-fc_evenement-proposer-un-evenement .desc .grippie{margin-left:25px;} + #content-right #block-fc_evenement-proposer-un-evenement .form-item label{font-weight:normal}#content-right #block-fc_evenement-proposer-un-evenement input.submit{width:100px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-add,#content-right #block-fc_evenement-proposer-un-evenement input.submit.file-remove{width:100px;margin-left:25px;border:2px outset;height:25px;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite{background:url(/sites/all/themes/franceculture/images/btn-evenement.png) no-repeat 0 0;margin-left:185px;margin-top:0;text-align:center;width:85px;height:25px;color:#fff;border:none;}#content-right #block-fc_evenement-proposer-un-evenement input.submit.suite:hover{background-position:0 -25px;text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement p.connect{height:30px;width:120px;margin-left:125px;padding:5px 20px;background:url(/sites/all/themes/franceculture/images/btn-evenement-connect.png) no-repeat 0 0;}#content-right #block-fc_evenement-proposer-un-evenement p.connect:hover{background-position:0 -39px;}#content-right #block-fc_evenement-proposer-un-evenement p.connect a{font-size:13px;color:#fff}#content-right #block-fc_evenement-proposer-un-evenement p.connect a:hover{text-decoration:none;}#content-right #block-fc_evenement-proposer-un-evenement div.messages{margin:1em;}#content-right #block-fc_evenement-proposer-un-evenement .quand .description{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand{margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label{margin-left:5px;}#content-right #block-fc_evenement-proposer-un-evenement .quand .container-inline-date.date-clear-block{clear:none;display:inline;float:left;margin-top:10px;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .quand label span.form-required{display:none;}#content-right #block-fc_evenement-proposer-un-evenement .desc .form-item .description{margin-left:25px;clear:left;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-throbber{margin-top:-22px;margin-left:145px;}#content-right #block-fc_evenement-proposer-un-evenement .ahah-progress-bar{width:235px;float:left;margin-left:25px;}#content-right #block-fc_evenement-proposer-un-evenement .supl span.field-prefix{margin-left:25px;font-size:13px;}#content-right #block-fc_evenement-proposer-un-evenement .supl input{margin-left:0px;width:195px;}#content-right #block-fc_evenement-proposer-un-evenement .supl #legal-wrapper{margin:10px 25px 5px;} + #sidebar-right .form-com p,#content-right .form-com p{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:11px;text-align:center;color:#C1272D;}#sidebar-right .form-com label,#content-right .form-com label{margin:10px 25px 5px 25px;background:none;text-align:left;color:#4D4D4D;font-size:12px;padding:0;}#sidebar-right .form-com label span,#content-right .form-com label span{color:#C1272D;font-size:13px;}#sidebar-right .form-com input,#sidebar-right .form-com textarea,#content-right .form-com input,#content-right .form-com textarea{margin:0 25px;width:230px;padding:3px 5px;}#content-right .form-com select,#sidebar-right .form-com select{margin:0 25px;width:240px;padding:3px 5px;}#sidebar-right .form-com img,#content-right .form-com img{margin:10px 25px;text-align:center;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{width:80px;margin-top:20px;}#sidebar-right .form-com input.submit,#content-right .form-com input.submit{background-color:#773587;text-align:center;color:#fff;font-size:13px;font-weight:bold;cursor:pointer;padding:2px 5px;width:80px;}#sidebar-right .form-com input.submit:hover,#content-right .form-com input.submit:hover{background-color:#C1272D;}#content-right .form-com .quoi,#content-right .form-com .quand,#content-right .form-com .ou,#sidebar-right .form-com .quoi,#sidebar-right .form-com .quand,#sidebar-right .form-com .ou{margin-bottom:20px;}#content-right .form-com .quand input,#sidebar-right .form-com .quand input{width:75px;float:left;margin:0 0 0 5px;padding:2px 5px;display:inline;}#content-right .form-com .quand input.submit,#sidebar-right .form-com .quand input.submit{width:22px;height:22px;margin:0 0 0 2px;padding:0;border:none;}#content-right .form-com .quand label,#sidebar-right .form-com .quand label{float:left;margin:5px 0 0 25px;display:inline;}#content-right .form-com .ou .cp,#sidebar-right .form-com .ou .cp{float:left;width:90px;margin:15px 0 0 25px;display:inline;}#content-right .form-com .ou .cp input,#sidebar-right .form-com .ou .cp input{width:70px;margin:0;}#content-right .form-com .ou .cp label,#sidebar-right .form-com .ou .cp label{margin:0;}#content-right .form-com .ou .commune,#sidebar-right .form-com .ou .commune{float:left;width:170px;margin:15px 0 0 0;}#content-right .form-com .ou .commune input,#sidebar-right .form-com .ou .commune input{width:140px;margin:0;}#content-right .form-com .ou .commune label,#sidebar-right .form-com .ou .commune label{margin:0;}#content-right .form-com .desc,#sidebar-right .form-com .desc{margin-bottom:20px;}#content-right .form-com .desc input,#sidebar-right .form-com .desc input{width:160px;float:left;margin:0 0 0 25px;padding:2px 5px;display:inline;}#content-right .form-com .desc input.submit,#sidebar-right .form-com .desc input.submit{width:80px;height:22px;margin:0 0 0 2px;padding:0;border:none;} + #content-right .plus ul{padding-left:20px;padding-right:20px;}#content-right .plus li{clear:left;margin:20px 0 0 0;}#content-right .plus p{float:right;width:140px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}#content-right .plus p a{font-size:12px;display:block;margin:0 0 5px 0;}#content-right .plus p span{font-size:12px;font-style:italic;display:block;margin-top:5px;} + .search-col-right p{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding:20px 0 0 25px;height:30px;margin:0;}.search-col-right input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:205px;}.search-col-right input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.lecture .search-col-right .closure{height:15px;} + .writter{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}.book{padding:0 0 0 17px;margin:10px 0;}.who{display:block;font-size:16px;margin-bottom:2px;}body.page-accueil div.view-quelisentils img.imagecache-personne_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-personne_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-personne_image_liste{padding:0 16px 0 0;border-right:1px solid #CFCFCF;margin:10px 0;}body.page-accueil div.view-quelisentils img.imagecache-oeuvre_image_liste,body.node-type-rf-personne div.view-quelisentils img.imagecache-oeuvre_image_liste,body.page-taxonomy-term-131 div.view-quelisentils img.imagecache-oeuvre_image_liste{padding:0 0 0 15px;margin:10px 0;} + .profil-extra img{margin-bottom:20px;}.profil-extra td{padding-bottom:8px;color:#262626;}.profil-extra .ref{width:85px;}.profil-extra .ref.map{width:225px;}.profil-extra .infos{padding-left:10px;} + .oeuvre p{color:#666666;font-size:11px;margin-left:105px;}.oeuvre a.title{display:block;font-size:12px;margin-bottom:3px;}.oeuvre span.format{color:#4D4D4D;font-weight:bold;display:block;margin-bottom:3px;} + .rel-emission .position{position:relative;text-align:right;width:235px;margin-bottom:8px;}.rel-emission .position a{display:block;height:45px;}.rel-emission .position p{position:absolute;top:0;left:0;margin:10px 0 0 5px;font-size:13px;font-weight:bold;color:#fff;z-index:10;width:110px;text-align:left;line-height:13px;}.rel-emission .position .opacity{position:absolute;bottom:0;left:0;display:block;width:120px;height:40px;opacity:0.8;}.rel-emission .position .opacity span{display:none;} + .position .docks{background-color:#29ABE2;}.position .theme1-131{background-color:#D2D721;}.position .theme1-130{background-color:#47758D;}.position .theme1-135{background-color:#1B97CD;}.position .theme1-132{background-color:#EED7A1;}.position .theme1-133{background-color:#EF6F60;}.position .theme1-289{background-color:#FFED00;}.position .theme1-290{background-color:#8E5698;}.position .theme1-134{background-color:#FBB03B;} + + + .part{position:relative;margin-bottom:10px;width:300px;}.part img{border:10px solid #EBEBEB;}.part .opaque{position:absolute;bottom:0;left:0;margin:0 0 10px 10px;height:30px;width:280px;background-color:#000;opacity:0.7;z-index:10;}.part p{color:#fff;font-size:16px;font-weight:bold;position:absolute;bottom:0;left:0;margin:0 0 15px 15px;z-index:20;} + #sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist{padding-bottom:50px;padding-top:5px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a{float:none;margin:0;text-align:left;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist .illustration{float:left;margin-right:20px;width:70px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit{background:transparent url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat scroll 0 0;color:#FFFFFF;float:right;padding:4px 10px;text-align:center;width:140px;margin-top:20px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.submit:hover{background-position:0 -25px;text-decoration:none;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist{position:relative;overflow:hidden;height:220px;margin:10px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items{position:absolute;height:200em;width:260px;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist div.scrollable-playlist div.field-items div.field-item{top:5px;border-bottom:1px solid #CFCFCF;padding:7px 0;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.disabled{visibility:hidden !important;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.prev{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png);cursor:pointer;display:block;height:15px;left:5px;margin:40px 0 0 5px;top:0;position:absolute;width:280px;z-index:10;}#sidebar-right div#block-fcbloc-votre-liste-decoute .context.playlist a.next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);cursor:pointer;display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;z-index:10;margin-bottom:75px;margin-left:150px;} + + #content-bottom{background:url(/sites/all/themes/franceculture/images/bg_bottom.png) repeat-y 0 0;}#content-bottom .clear-close{background:url(/sites/all/themes/franceculture/images/bg-bottom_bottom.png) no-repeat 0 100%;height:32px;clear:both;}#content-bottom .titre-barre span{background-color:#ebebeb;}#content-bottom ol{margin:10px 15px 0 15px;}#content-bottom li{border-bottom:1px solid #CFCFCF;}#cb-left{background:transparent url(/sites/all/themes/franceculture/images/cb-left_top.png) no-repeat 0 0;}#cb-right{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#cb-left li{margin:0 0 15px 0;padding:0 0 15px 0;}#cb-left .auteur{display:block;margin:10px 0 5px 0;}#cb-right li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1{background:transparent url(/sites/all/themes/franceculture/images/cb-right_top.png) no-repeat 0 0;}#block-views-lesplusconsultes-block_1 li{list-style-type:decimal;list-style-position:inside;font-weight:bold;color:#032649;margin:0 0 6px 0;padding:0 0 6px 0;}#block-views-lesplusconsultes-block_1 h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}#block-views-lesplusconsultes-block_1 h2.title span{background-color:#EBEBEB;display:inline-block;padding:0 5px;letter-spacing:0;} + + + body.blogs .blog-home{position:absolute;top:0;right:0;margin-top:-12px;margin-right:-12px;z-index:10;}body.blogs .opacity h1{position:absolute;bottom:0;left:0;margin-bottom:5px;margin-left:15px;display:block;opacity:0.8;color:#fff;padding:15px;line-height:20px;background-color:#29ABE2;font-size:30px;}body.blogs .opacity h1 a{color:#FFF;text-decoration:none;}body.blogs .opacity h1 a.le-blog-de{display:block;font-size:12px;color:#032649;}body.blogs .opacity-bottom{position:absolute;bottom:0;left:0;width:990px;height:5px;opacity:0.8;background-color:#29ABE2;} + body.blogs .list-article{margin-bottom:40px;}body.blogs .list-article li{margin-top:15px;padding-top:10px;border-top:1px solid #CFCFCF;}body.blogs .item-list ul{margin:0;}body.blogs .item-list li{margin:15px 0 0;padding-top:10px;border-top:1px solid #CFCFCF;list-style:none;}.blog-illu{float:left;position:relative;background:url(/sites/all/themes/franceculture/images/blog-ill-top.png) no-repeat 0 0;padding-top:10px;width:100px;margin-right:20px;}.blog-illu .date{position:absolute;top:0;left:0;z-index:20;margin-top:12px;color:#fff;display:block;text-align:center;width:100px;font-size:14px;}.blog-illu .opaque{position:absolute;top:0;left:0;width:100px;height:20px;background-color:#000;opacity:0.7;margin-top:10px;}.blog-illu span{border-bottom:1px solid #CFCFCF;margin-bottom:2px;padding-bottom:2px;font-size:11px;display:block;font-weight:bold;}.blog-illu span.auteur{border-bottom:none;}.blog-infos{float:left;width:520px;}.view-id-personne_fo_fleuve .blog-infos{width:auto;float:none;}.blog-infos p,body.node-type-rf-billet-blog#tinymce p{font-size:13px;color:#262626;line-height:18px;margin-bottom:10px;}body.blogs .pager{clear:left;}body.blogs .form-com{clear:both;}body.blogs #content .blog-infos .illustration{position:relative;float:left;margin:0 15px 25px 0;}body.blogs #content .blog-infos .large{margin-right:0;}body.blogs #content .blog-infos .illustration .opaque{position:absolute;bottom:0;left:0;width:100%;background-color:#000;opacity:0.7;}body.blogs #content .blog-infos .illustration .opaque p{font-weight:bold;color:#fff;font-size:11px;margin:2px 10px;} + #sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li{margin-top:0;}#sidebar-right #block-views-864a217bf1f0671a8b7d686e759c3554 .block-content ul.views-summary li ~ li{margin-top:20px;} + #sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li{margin-top:0;}#sidebar-right #block-fc_widget_twitter-field_twitter .block-content ul li ~ li{margin-top:20px;} + + h1 .more{color:#773584;font-size:12px;font-weight:bold;}h1 .more .result,h1 .more .tag{font-size:24px;margin:0 5px;}.more-infos input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:270px;display:inline;}.more-infos input.submit{padding:0;border:none;margin:0 0 0 2px;width:77px;height:26px;background-color:#773584;}.more-infos input.box{float:left;margin:6px 0 0 20px;display:inline;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;width:15px;height:15px;}.more-infos label.box{float:left;margin:5px 0 0 5px;display:inline;color:#032649;font-size:11px;font-weight:bold;}.trie{margin-top:30px;color:#032649;font-size:11px;font-weight:bold;}.trie a{color:#032649;margin:0 3px;}.trie a.first{margin-left:0;}.trie a.active{color:#773584;}.result li{border-top:1px solid #CFCFCF;margin:0 0 15px 0;padding:10px 0 0 0;clear:both;}.result .illustration{float:right;margin-left:20px;}.result .tagged{background-color:#FFFF00;} + body.page-theme #content-inner .more{color:#773584;font-size:13px;font-weight:bold;margin:10px 0 20px 0;}body.page-theme #content-inner .more select{border-color:#CCCCCC #666666 #666666 #CCCCCC;border-style:solid;border-width:1px;margin-left:10px;padding:2px;width:200px;color:#4D4D4D;font-size:12px;}body.page-theme .list-article li{clear:both;}body.page-theme .list-article li .illustration{float:left;margin-right:10px;} + div#grille-programmes #grille-navigation{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}div#grille-programmes h1{color:#773584;padding-bottom:20px;margin-bottom:0;}div#grille-programmes .btn-liste-ecoute{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-liste-ecoute.png) no-repeat 0 0;font-weight:bold;font-size:12px;padding:4px 33px;line-height:15px;width:185px;text-align:center;float:right;display:block;}div#grille-programmes .btn-liste-ecoute:hover{background-position:0 -23px;text-decoration:none;} + div#grille-programmes .script-prog a.prev,div#grille-programmes .script-prog a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:6px;}div#grille-programmes .script-prog a.disabled{visibility:hidden !important;}div#grille-programmes .script-prog a.next,div#grille-programmes .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:6px;}div#grille-programmes .script-prog div.scrollable{position:relative;overflow:hidden;width:960px;height:31px;margin:0 0 0 5px;background-color:#EBEBEB;}div#grille-programmes #grille-navigation .script-prog ol{margin:0;}div#grille-programmes .script-prog #thumbs{position:absolute;width:10000em;clear:both;left:-1644px;} + div#grille-programmes .script-prog #thumbs li{width:137px;height:31px;cursor:pointer;margin:0;float:left;padding:0;position:relative;line-height:15px;text-align:center;background:url(/sites/all/themes/franceculture/images/li-prog.png) no-repeat 0 0;color:#032649;font-size:15px;font-weight:bold;}div#grille-programmes .script-prog #thumbs li.active{background:url(/sites/all/themes/franceculture/images/li-prog-active.png) no-repeat 0 0;}div#grille-programmes .script-prog #thumbs li a{display:block;height:100%;padding-top:7px;text-transform:lowercase;} + .plage-horaire a.prev,.plage-horaire a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.gif) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:73px;margin-left:1px;}.plage-horaire a.disabled{visibility:hidden !important;}.plage-horaire a.next,.plage-horaire a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.gif);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:73px;margin-right:1px;}.plage-horaire{width:960px;background-color:#fff;border-right:1px solid #CFCFCF;border-left:1px solid #CFCFCF;border-top:1px solid #CFCFCF;border-bottom:5px solid #C1272D;margin-top:5px;height:125px;padding:0 14px;position:relative;}.plage-horaire .horaire-inner{overflow:hidden;width:960px;height:125px;position:relative;}div#grille-programmes #thumbs2{position:absolute;width:10000em;clear:both;}.plage-horaire li{width:160px;height:125px;float:left;}.plage-horaire li div{width:140px;height:115px;position:relative;float:left;padding:10px 10px 0;}.plage-horaire li p{color:#032649;font-weight:bold;}.plage-horaire li.col-2{width:348px;}.plage-horaire h2{color:#4D4D4D;font-size:12px;font-weight:normal;}.plage-horaire a{display:block;height:100%;}.plage-horaire a:hover{text-decoration:none;}.plage-horaire span{position:absolute;bottom:0;left:0;height:16px;width:159px;background-color:#F9E9E9;font-size:11px;font-weight:bold;color:#ED1C24;display:block;padding:2px 0 2px 5px;}.plage-horaire span a{color:#ED1C24;}.plage-horaire span.second{margin-left:164px;}.plage-horaire .active span{background-color:#ED1C24;color:#fff;}.plage-horaire .active span a{color:#fff;} + .detail-plage{border-left:1px solid #CFCFCF;border-right:1px solid #CFCFCF;border-bottom:1px solid #CFCFCF;background:url(/sites/all/themes/franceculture/images/prog-horaire.png) repeat-x 0 0;padding:2px 15px 20px 15px;margin-bottom:40px;}.detail-plage .heure{color:#C1272D;font-size:18px;font-weight:bold;margin:5px 0 10px 0;}.detail-plage .heure .debut{float:left;}.detail-plage .heure .fin{float:right;}.detail-plage .programme p{padding-top:16px;}.detail-plage .programme img{float:left;margin-right:30px;}.detail-plage .programme h3{color:#C1272D;font-size:11px;font-weight:bold;line-height:11px;}.detail-plage .programme h2{font-size:20px;}.detail-plage .programme .btn-emission{padding:3px 25px 4px;float:right;line-height:15px;}.detail-plage .programme ul{margin:20px 0 0 0;float:left;width:300px;}.detail-plage .programme ul.split{margin-left:30px;}.detail-plage .programme li{border-bottom:1px solid #CFCFCF;margin-bottom:3px;padding-bottom:5px;font-size:11px;line-height:14px;}.detail-plage .programme li a{font-size:12px;}.detail-plage .programme li span{color:#C1272D;font-weight:bold;margin-right:2px;} + .detail-arbo{border:1px solid #CFCFCF;padding:30px;margin-top:5px;}.detail-arbo ul{margin-left:120px;}.detail-arbo li.actionnable{border-top:1px solid #CFCFCF;margin-top:10px;padding-top:10px;position:relative;width:810px;cursor:pointer;}.detail-arbo .action{position:absolute;top:0;right:0;margin:10px 0 0 0;cursor:pointer;}.detail-arbo span{color:#C1272D;font-weight:bold;}.detail-arbo span.plage{font-size:16px;display:block;width:50px;float:left;}.detail-arbo h2{margin-left:55px;}.detail-arbo p{margin-left:55px;color:#333333;font-size:12px;}.detail-arbo li ul{margin-left:55px;}.detail-arbo li li span{margin-right:3px;}.detail-arbo li li p{margin:0;} + body.section-podcasts .attachment-before .view-display-id-attachment_1{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1{padding-bottom:0;margin-bottom:0;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content{margin:0 0 15px 30px;}body.section-podcasts .attachment-before .view-display-id-attachment_1 .view-content li{display:block;float:left;margin:0 5px;position:relative;}body.section-podcasts li div.content{position:absolute;top:0;left:0;width:176px;border-top:1px solid #000;padding-bottom:15px;background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bottom.gif) no-repeat 0 100%;margin-top:-55px;margin-left:-3px;z-index:100;}body.section-podcasts li div.content p{background:url(/sites/all/themes/franceculture/images/bandeau-podcast-bg.png) repeat-y 0 0;padding:5px 15px;margin:0;font-size:11px;font-weight:bold;line-height:11px;}body.section-podcasts li div.content p .timer{display:block;margin:0;} + body.podcasts .modifier{text-align:right;margin:30px 20px 0 0;height:25px;}body.podcasts .modifier a{color:#fff;background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 18px;float:right;}body.podcasts .modifier a:hover{background-position:0 -25px;text-decoration:none;}body.podcasts .closure{height:60px;background-color:#ebebeb;padding-top:10px;}body.podcasts .closure a{color:#fff;background:url(/sites/all/themes/franceculture/images/ecoute-bg.png) no-repeat 0 0;display:block;text-align:center;width:280px;height:20px;margin:2px 10px;padding-top:2px;}body.podcasts .closure a:hover{background-position:0 -22px;text-decoration:none;} + body.section-podcasts h1{color:#773584;padding-bottom:10px;margin-bottom:0;}body.section-podcasts .primary-tabs{width:970px;height:31px;margin:0;margin-top:10px;}body.section-podcasts .primary-tabs span{float:left;}body.section-podcasts .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-podcasts .primary-tabs span a:hover{text-decoration:none;}body.section-podcasts .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:130px;height:26px;}body.section-podcasts .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-podcasts .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-podcasts .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-podcasts .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-podcasts .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-podcasts .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-podcasts .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-podcasts .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-podcasts .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} + body.section-podcasts .views-view-grid li img{float:right;margin-left:15px;}body.section-podcasts .views-view-grid li .views-field-title{font-size:16px;margin:0 0 5px 0;}body.section-podcasts .views-view-grid li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.section-podcasts .views-view-grid li span.timer{margin:0 0 5px 0;}body.section-podcasts .views-view-grid li .views-field-field-generique-personne-nid .field-content{display:inline;} + body.section-podcast .article-full{margin-bottom:30px;}body.section-podcast #content-left h2.titre-barre{margin-bottom:30px;}body.section-podcast .article-full h2{font-size:24px;color:#262626;}body.section-podcast .article-full h3{font-size:16px;color:#773584;margin:10px 0 5px 0;}body.section-podcast .article-full p{margin:10px 0 10px 215px;}body.section-podcast .article-full .illustration{float:left;margin:0 15px 25px 0;}body.section-podcast .article-full .instal{background:url(/sites/all/themes/franceculture/images/instal-bg.png) no-repeat 0 0;height:88px;margin:0 0 5px 215px;}body.section-podcast .article-full .instal a{font-size:11px;float:left;display:block;margin-top:10px;text-align:center;}body.section-podcast .article-full .instal a:hover{text-decoration:none;}body.section-podcast .article-full .instal a.itune{width:88px;}body.section-podcast .article-full .instal a.reader{width:85px;}body.section-podcast .article-full .instal a.yahoo{width:85px;}body.section-podcast .article-full .instal a.netvibes{width:85px;}body.section-podcast .article-full .instal a.netvibes span{margin-top:3px;}body.section-podcast .article-full .instal a.lien-rss{width:75px;}body.section-podcast .article-full .instal a.lien-rss span{margin-top:5px;}body.section-podcast .article-full .instal span{display:block;} + body.podcasts .script-vertical h2{margin-bottom:36px;}body.podcasts .script-vertical h2.titre-barre{margin-bottom:5px;}body.podcasts .script-vertical .liste-ecoute{position:relative;}body.podcasts .script-vertical a.prev,body.podcasts .script-vertical a.prevPage{display:block;width:260px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:40px 0 0 20px;}body.podcasts .script-vertical a.disabled{visibility:hidden !important;}body.podcasts .script-vertical a.next,body.podcasts .script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:120px;margin-left:159px;}body.podcasts .script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:300px;height:421px;margin:0;background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;}body.podcasts .script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;background:none;}body.podcasts .script-vertical #thumbs-vertical li{cursor:pointer;padding:15px 0 5px 0;margin:10px 20px 0 20px;clear:left;width:260px;height:109px;}body.podcasts .script-vertical #thumbs-vertical li .illustration{float:left;}body.podcasts .script-vertical #thumbs-vertical li p{margin-left:60px;}body.podcasts .script-vertical #thumbs-vertical li p a{display:block;margin-bottom:5px;line-height:15px;}body.podcasts .script-vertical #thumbs-vertical li p span{display:block;margin-top:5px;}body.podcasts .script-vertical #thumbs-vertical li p span span{display:inline;margin:0 0 0 5px;} + + + body.emissions #content-top{margin-bottom:-30px;}body.section-emissions .view-header{position:relative;background-color:#EBEBEB;padding:15px 10px 0 10px;margin:0;}body.section-emissions #content #content-inner,body.section-grille-des-programmes #content #content-inner,body.section-programmes #content #content-inner{padding-top:0;}body.section-emissions h1{color:#773584;padding-bottom:10px;margin-bottom:0;} + body.section-emissions .primary-tabs{width:970px;margin:0;}body.section-emissions .primary-tabs span{float:left;}body.section-emissions .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.section-emissions .primary-tabs span a:hover{text-decoration:none;}body.section-emissions .primary-tabs span.themes a{background:url(/sites/all/themes/franceculture/images/tab-theme.png) no-repeat 0 0;width:125px;height:26px;}body.section-emissions .primary-tabs span.themes a.active{background:url(/sites/all/themes/franceculture/images/tab-theme-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.alpha a{background:url(/sites/all/themes/franceculture/images/tab-alpha.png) no-repeat 0 0;width:200px;height:26px;}body.section-emissions .primary-tabs span.alpha a.active{background:url(/sites/all/themes/franceculture/images/tab-alpha-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.prod a{background:url(/sites/all/themes/franceculture/images/tab-prod.png) no-repeat 0 0;width:150px;height:26px;}body.section-emissions .primary-tabs span.prod a.active{background:url(/sites/all/themes/franceculture/images/tab-prod-active.png) no-repeat 0 0;}body.section-emissions .primary-tabs span.cle{background:url(/sites/all/themes/franceculture/images/tab-cle.png) no-repeat 0 0;width:490px;height:31px;color:#fff;font-size:11px;}body.section-emissions .primary-tabs span.cle input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:225px;margin:5px 0 0 10px}body.section-emissions .primary-tabs span.cle input.submit{padding:0;border:none;margin:5px 0 0 2px;width:22px;height:22px;background-color:#773584;}body.section-emissions .primary-tabs span.cle span{margin:5px 0 0 10px;line-height:12px;}body.section-emissions .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.section-emissions .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} + body.emissions .list-rubrique li h2{margin-bottom:30px;}body.emissions .list-rubrique li h2.titre-barre{font-size:16px;}body.emissions .list-rubrique li li.clear{float:left;width:100%;height:40px;}body.emissions .list-rubrique li li.clear span{display:none;}body.emissions .list-rubrique li li.first{padding-left:0;margin-left:0;border-left:none;}body.emissions .list-rubrique li li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}body.emissions .list-rubrique li li img{margin-bottom:5px;}body.emissions .list-rubrique li li h3{font-size:16px;margin:0 0 5px 0;}body.emissions .list-rubrique li li span{display:block;margin-bottom:5px;letter-spacing:-0.2px;}body.emissions .list-rubrique li li span.date{display:inline;}body.emissions .list-rubrique li li span.timer{margin:0 0 5px 0;display:inline;}body.emissions .list-rubrique li li span.timer img{margin-bottom:0;}body.emissions .list-rubrique li li p{font-weight:normal;margin-top:5px;}body.emissions .list-rubrique li li .rubrique{height:20px;}ul.views-view-grid li{float:left;width:305px;border-left:1px solid #CFCFCF;margin:0 0 0 15px;padding:0 0 0 15px;color:#4D4D4D;font-size:11px;font-weight:bold;line-height:12px;}ul.views-view-grid li.col-1{padding-left:0;margin-left:0;border-left:none;}ul.views-view-grid li.empty{float:left;width:100%;height:40px;}ul.views-view-grid li .rubrique{height:20px;}ul.views-view-grid li h3{font-size:16px;margin:0 0 5px 0;}ul.views-view-grid li span.date{display:inline;}ul.views-view-grid li span.timer{margin:0 0 5px 0;display:inline;}ul.views-view-grid li span.timer img{margin-bottom:0;}ul.views-view-grid li p{font-weight:normal;margin-top:5px;}div.views-view-grid-title{clear:left;margin-bottom:30px;}div.views-view-grid-title h2.titre-barre{font-size:16px;} + body.emissions .article-full{color:#262626;font-size:14px;margin-bottom:40px;}body.emissions .article-full p.theme{font-size:13px;margin-top:30px;}body.emissions .article-full p.theme a{font-size:12px;margin:0 2px;}body.emissions .bandeau{position:relative;margin-bottom:20px;margin-left:15px;}body.emissions .bandeau h1{position:absolute;top:0;left:0;margin-top:10px;margin-left:-10px;display:block;opacity:0.95;height:75px;color:#fff;padding:5px 10px 10px 20px;line-height:20px;max-width:300px;}body.emissions .bandeau h1 span{display:block;font-size:12px;color:#032649;font-weight:bold;}body.emissions .bandeau h1 .site{background:url(/sites/all/themes/franceculture/images/emission.gif) no-repeat 0 0;display:block;font-size:12px;text-align:center;width:132px;height:17px;line-height:15px;}body.emissions .bandeau .illu-small{position:absolute;top:0;right:0;margin:13px 13px 0 0;}body.emissions .bandeau p{background-color:#EBEBEB;color:#032649;padding:2px 10px;font-size:12px;font-weight:bold;}body.emissions .bandeau p span{margin-left:15px;}body.emissions .bandeau h1.docks{background-color:#29ABE2;}body.emissions .bandeau h1.chemins{background-color:#D9E021;}body.emissions .bandeau h1.theme1-131{background-color:#D2D721;}body.emissions .bandeau h1.theme1-130{background-color:#47758D;}body.emissions .bandeau h1.theme1-135{background-color:#1B97CD;}body.emissions .bandeau h1.theme1-132{background-color:#EED7A1;}body.emissions .bandeau h1.theme1-133{background-color:#EF6F60;}body.emissions .bandeau h1.theme1-289{background-color:#FFED00;}body.emissions .bandeau h1.theme1-290{background-color:#8E5698;}body.emissions .bandeau h1.theme1-134{background-color:#FBB03B;}body.emissions .bandeau div.image{height:100px;} + + + .titre-plus{margin:0 0 20px 0;}.titre-plus h2{color:#262626;font-size:24px;line-height:26px;}.titre-plus .date{margin-right:10px;}.titre-plus .listen{float:left;width:90px;text-align:center;}.titre-plus .listen span{color:#C1272D;font-size:11px;display:block;font-weight:bold;}body.emissions #content .rel-doc{margin-bottom:40px;}body.emissions #content .rel-doc li{float:left;width:215px;}body.emissions #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.emissions #content .rel-doc li.clear span{display:none;}body.emissions #content .rel-doc p{float:right;width:110px;margin-right:5px;font-size:12px;color:#666666;display:inline;line-height:14px;}body.emissions #content .rel-doc p a{display:block;}body.emissions #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;}body.emissions #sidebar-right #block-fcbloc-emission-contact .block-content{padding:15px 0 0;}body.emissions #sidebar-right #block-fcbloc-emission-contact .grippie{width:240px;margin:0 25px;}body.emissions #sidebar-right #block-fcbloc-emission-contact #edit-mollom-captcha-wrapper .description{width:240px;margin:0 25px;} + .node-rf_diffusion .rel-sites a{display:block;}.node-rf_diffusion .rel-sites a.timer{margin-left:0;}.node-rf_diffusion .rel-sites li{margin-bottom:20px;}.node-rf_diffusion .rel-sites li.last{margin-bottom:0;} + span.views-field-field-diffusion-date-debut-fin-value span.date-display-single{font-size:11px;font-weight:bold;} + p.invites{margin-top:15px;} + body.mini-site #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.mini-site h1{color:#773584;margin-bottom:0;}body.mini-site .biographie{margin-bottom:20px;}body.mini-site .biographie h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.mini-site .biographie p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.mini-site .biographie p.infos span{color:#808080;font-style:italic;display:block;}body.mini-site .biographie p{color:#262626;font-size:14px;line-height:18px;} + body.culture #content-top,body.culture-accueil h1#page-title{position:relative;background-color:#f1ebf3;padding:15px 15px 0;margin:0 0 15px 0;border-top:1px #CFCFCF solid;}body.culture #content-top .block{height:auto;min-height:0;margin-bottom:0;}body.culture #content-top #block-fc_cultureac-culture-module{margin:0 -15px;background:white;}body.culture h1{color:#773584;margin:0 0 15px;}body.culture-accueil h1#page-title{padding:15px;}body.culture-accueil h2,body.culture-accueil h3{font-size:16px;}body.culture-accueil .more{font-size:11px;text-align:right;}body.culture-accueil li p{font-size:12px;line-height:15px;}body.culture .view-id-cultureac_term .view-content p.rubrique{clear:left;} + body.section #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} + body.module #content-top{position:relative;background-color:#f1ebf3;padding:15px 15px 0 15px;margin:0 0 15px 0;} + body.culture .primary-tabs{width:970px;height:31px;margin:0;}body.culture .primary-tabs span{float:left;}body.culture .primary-tabs span a{display:block;text-align:center;font-size:16px;padding-top:5px;}body.culture .primary-tabs span a:hover{text-decoration:none;}body.culture .primary-tabs span a{background:url(/sites/all/themes/franceculture/images/tab-sec.png) no-repeat 0 0;width:240px;height:26px;}body.culture .primary-tabs span a.active{background:url(/sites/all/themes/franceculture/images/tab-sec-active.png) no-repeat 0 0;}body.culture .secondary-tabs{margin:10px 0 30px 0;color:#032649;font-weight:bold;}body.culture .secondary-tabs a{margin:0 5px;letter-spacing:0.2px;} + .first-article{border-right:1px solid #f1ebf3;border-left:1px solid #f1ebf3;border-bottom:1px solid #CFCFCF;margin-bottom:20px;padding:5px 15px 20px;}.first-article img{float:left;margin-right:10px;}.first-article h2{font-size:24px;margin-bottom:10px;color:#262626;}.first-article h3{font-size:14px;margin-bottom:5px;color:#262626;}body.culture .first-article p{font-size:14px;line-height:18px;}body.culture .first-article .sousthemes{margin-bottom:15px;}.first-article p{font-size:12px;color:#262626;line-height:15px;} + body.culture .article-teaser{margin-bottom:20px;}body.culture .article-teaser h2{font-size:24px;margin-bottom:5px;color:#262626;}body.culture .article-teaser p{font-weight:bold;}body.culture .article-full .illustration{float:left;margin:0 15px 25px 0;}body.culture .article-full p,body.node-type-fc-cours#tinymce p{font-size:14px;line-height:18px;color:#262626;} + body.qr .tri-qr{margin-bottom:60px;color:#262626;font-size:14px;}body.qr .tri-qr h2{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;margin-bottom:30px;}body.qr .tri-qr p{display:block;margin:0 0 5px;}body.qr .tri-qr span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}body.qr .tri-qr label{display:block;color:#262626;font-size:14px;margin-bottom:5px;}body.qr .tri-qr select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:250px;margin:0 10px 5px 0;}body.qr .tri-qr input.submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:3px 13px 4px;font-weight:bold;color:#fff;border:none;cursor:pointer;}body.qr .tri-qr input.submit:hover{background-position:0 -25px;text-decoration:none;} + body.qr .all-qr{margin-bottom:40px;}body.qr .all-qr .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .all-qr .post .submited{color:#000;font-size:12px;margin-bottom:10px;display:block;}body.qr .all-qr .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .all-qr .post .auth{font-weight:bold;color:#032649;}body.qr .all-qr .post .submited .date{margin-left:5px;}body.qr .all-qr .post p{font-size:12px;line-height:15px;color:#262626;margin-left:55px;}body.qr .all-qr .q-r{float:right;margin:00;font-size:12px;font-weight:bold;height:40px;}body.qr .all-qr .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png);padding:5px 13px 15px 13px;margin-right:10px;color:#773584;}body.qr .all-qr .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px;color:#fff;}body.qr .all-qr .q-r a:hover{background-position:0 -25px;text-decoration:none;}body.qr .all-qr .q-r span.none{background:#e4d7e6 none;padding:5px 13px;} + .validation h2{font-size:24px;color:#262626;margin:20px 0 30px 0;}.validation img{float:left;margin-right:10px;}.validation .end{color:#773584;font-size:20px;margin-bottom:15px;}.validation p{color:#262626;font-size:14px;line-height:18px;margin-bottom:15px;}.validation .score span{color:#929497;font-size:19px;}.validation .liens{margin:30px 0 0 0;}.validation .liens a{background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:5px 23px;text-align:center;color:#fff;}.validation a.facelien{background:url(/sites/all/themes/franceculture/images/facebook.png) no-repeat 0 0;padding:5px 33px 5px 50px;margin-right:20px;}.validation .form-com{margin:50px 0 20px 0;}.validation .form-com span.floating-select{float:left;width:300px;margin-right:20px;margin-top:20px;}.validation .form-com .desc{color:#4D4D4D;font-size:12px;font-style:italic;} + .quiz-q{margin:40px 0;position:relative;}.quiz-q fieldset{border:3px solid #773584;padding:20px 20px 10px 20px;}.quiz-q legend{font-size:12px;color:#773584;font-weight:bold;padding:0 0.5em;}.quiz-q img{float:left;margin:0 20px 0 0;}.quiz-q h3{color:#262626;font-size:16px;margin-bottom:10px;}.quiz-q p{font-size:14px;color:#262626;}.quiz-q .date{margin-left:5px;}.quiz-q .q-r{margin:20px 0 0 0;font-size:12px;font-weight:bold;float:right;}.quiz-q .q-r span{background:url(/sites/all/themes/franceculture/images/answer-big.png) no-repeat;padding:5px 13px 15px 13px;margin-right:10px;color:#773584;display:inline-block;height:15px;}.quiz-q .q-r a{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat 0 0;padding:5px 13px 5px 13px;color:#fff;display:inline-block;margin-bottom:10px;height:15px;}.quiz-q .q-r a:hover{background-position:0 -25px;text-decoration:none;} + .questionnaire{position:relative;margin-left:50px;}.questionnaire h3{color:#4D4D4D;font-size:14px;margin-bottom:10px;}.questionnaire .num{position:absolute;top:0;left:0;margin-left:-50px;color:#A6A8AB;font-size:14px;}.questionnaire img{display:block;margin-bottom:10px;}.questionnaire label{color:#4D4D4D;font-size:12px;}.questionnaire input.form-submit{background:url(/sites/all/themes/franceculture/images/btn-modifier.png) no-repeat scroll 0 0;border:none;color:#FFFFFF;cursor:pointer;font-weight:bold;padding:3px 13px 4px;display:block;margin-top:30px;text-align:center;width:81px;}.questionnaire input.form-submit:hover{background-position:0 -25px;text-decoration:none;}.questionnaire .form-radios,.questionnaire .form-checkboxes,#multichoice-render-question-form .form-radios,#multichoice-render-question-form .form-checkboxes{clear:both;} + body.qr .com{margin-bottom:40px;}body.qr .com .post{margin-bottom:20px;border-bottom:1px solid #CFCFCF;padding-bottom:15px;}body.qr .com .post .submited{color:#000;font-size:14px;margin-bottom:10px;display:block;}body.qr .com .post .submited .quiz{color:#773584;font-size:11px;font-weight:normal;margin-left:10px;}body.qr .com .post .auth{font-weight:bold;color:#032649;}body.qr .com .post .submited .date{margin-left:5px;}body.qr .com .post p{font-size:14px;line-height:18px;color:#262626;margin-left:55px;}body.qr .com .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 20px;color:#fff;margin-top:15px;}body.qr .com .quiz-go:hover{background-position:0 -25px;text-decoration:none;}body.qr .com .best{background-color:#f6f1f7;padding:15px 25px;}body.qr .com .best .meilleure{color:#773584;font-size:11px;font-weight:normal;} + .rubrique-culture li{float:left;width:300px;position:relative;height:435px;margin-bottom:20px;}.rubrique-culture li.left{margin-right:40px;}.rubrique-culture li h2,.rubrique-culture li h3{font-size:16px;}.rubrique-culture li p{color:#4D4D4D;}.rubrique-culture li .more{font-size:11px;position:absolute;bottom:0;right:0;} + body.culture .list-rubrique li{margin-top:10px;clear:left;}body.culture .list-rubrique li img.illustration{float:left;margin:0 15px 15px 0;}body.culture .list-rubrique li .auteur{display:block;margin-bottom:15px;} + body.culture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.culture .list-article li.first{border-top-width:0;}body.culture .list-article li img{float:left;margin:0 15px 15px 0;}body.culture .list-article li .auteur{display:block;margin-bottom:15px;} + .rel-quiz{margin:40px 0;clear:both;}.rel-quiz h3{font-size:14px;}.rel-quiz .quiz-go{float:right;background:url(/sites/all/themes/franceculture/images/quiz-go.png) no-repeat 0 0;display:block;padding:5px 16px;color:#fff;margin-top:15px;} + .liste-cours{margin:20px 0;}body.culture .liste-cours li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:10px;} + + .profil-infos{margin-bottom:30px;}.profil-infos img{float:left;margin-right:10px;}.profil-infos p{color:#262626;margin-bottom:15px;font-size:14px;}.profil-infos a.submit{float:right;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}.profil-infos a.submit.larger{background-image:url(/sites/all/themes/franceculture/images/btn-larger.png);width:180px;}.profil-infos a.submit:hover{background-position:0 -25px;text-decoration:none;}.profil-infos a.facebook-modif{float:right;background:url(/sites/all/themes/franceculture/images/btn-fbconnect-modification.png) no-repeat 0 0;padding:3px 5px 3px 25px;text-align:center;width:170px;color:#fff;font-size:11px;}.profil-infos a.facebook-modif:hover{background-position:0 -23px;text-decoration:none;} + .user-lecture{margin-bottom:30px;}.user-lecture img{float:left;margin-right:10px;}.user-lecture h3{font-size:16px;}.user-lecture .date{display:block;}.user-lecture .more{margin:50px 0 0 0;text-align:right;}#fc-quelisentils-que-lisez-vous span.date{display:inline;}.user-lecture .avatars{width:530px;margin:0 0 0 auto;}.user-lecture .avatars li{float:left;width:130px;margin-right:2px;clear:none;padding:0;}.user-lecture .more-review,.user-lecture .more-avatar{clear:both;}.user-lecture .unfold,.view-quelisentils .unfold,#personne-articles .unfold{background:url(/sites/all/themes/franceculture/images/urg-down.png) no-repeat 100% 4px;padding-right:10px;}.user-lecture .fold,.view-quelisentils .fold,#personne-articles .fold{background:url(/sites/all/themes/franceculture/images/urg-up.png) no-repeat 100% 4px;padding-right:10px;} + .user-question{margin-bottom:30px;clear:both;}.user-question ul{margin-top:20px;}.user-question li{width:300px;float:left;}.user-question li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-question li h3 a{display:block;}.user-question .more-link{margin:20px 0 0 0;text-align:right;clear:left;} + .user-com{margin-bottom:30px;clear:both;}.user-com li{margin-bottom:20px;}.user-com .date{display:block;}.user-com h3 a{display:block;font-size:14px;} + .user-agenda{margin-bottom:30px;}.user-agenda ul{margin-top:20px;}.user-agenda li{width:300px;float:left;padding-bottom:5px;}.user-agenda li.border{padding-left:20px;margin-left:19px;border-left:1px solid #CFCFCF;}.user-agenda li.none{clear:left;}.user-agenda .more{margin:20px 0 0 0;text-align:right;float:right;} + .infos-connexion{margin-bottom:30px;}.infos-connexion h2{margin-bottom:20px;}.infos-connexion label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-connexion input{border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-connexion .description{margin-left:340px;color:#808080;font-size:12px;font-style:italic;}.infos-connexion span.password-strength,.infos-connexion span.password-confirm,.infos-connexion div.password-description{margin-left:340px;display:none;} + .infos-vous{margin-bottom:30px;}.infos-vous h2{margin-bottom:20px;}.infos-vous img{margin-bottom:3px;margin-left:340px;}.infos-vous label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:330px;text-align:right;font-size:13px;}.infos-vous label.option{width:640px;font-size:12px;line-height:12px;margin-right:2px;}.infos-vous label.option input{width:15px;margin:0 0 3px 2px;float:right;}.infos-vous input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:3px;}.infos-vous input.submit{padding:0;border:none;margin:0 0 3px 3px;width:71px;height:25px;background-color:#773584;}.infos-vous input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}.infos-vous select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:302px;margin-bottom:3px;}.infos-vous textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:280px;margin-bottom:20px;}.infos-vous .grippie{width:300px;margin:0 0 3px 340px;display:inline-block;}.infos-vous .resizable-textarea{display:inline;}.infos-vous .resizable-textarea textarea{width:280px!important;}.infos-vous .description{margin-left:320px;color:#808080;font-size:12px;font-style:italic;}.infos-vous #edit-contact-1-wrapper .description{display:inline-block;} + .infos-vous fieldset{display:none;}.infos-vous input.focusField{color:#fff;}html.js .infos-vous input.form-autocomplete{background-position:100% 6px}html.js .infos-vous input.throbbing{background-position:100% -14px} + + body.page-contact h1#page-title{display:none;}body.page-contact h1{color:#773584;}.ecrire{float:left;width:405px;}.ecrire{margin-bottom:30px;}.ecrire label{color:#262626;float:left;margin:0 10px 3px 0;line-height:24px;width:150px;text-align:right;font-size:13px;font-weight:normal;}.ecrire label.option{float:right;}.ecrire label.option input{width:12px;height:12px;padding:0;}.ecrire input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;margin-bottom:3px;}.ecrire select{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:242px;margin-bottom:3px;}.ecrire textarea{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px;width:220px;}.ecrire input.submit-v{padding:0;border:none;margin:10px 3px 0 3px;width:71px;height:25px;background-color:#773584;float:right;}.ecrire-desc{float:left;margin-left:10px;padding-left:19px;width:220px;border-left:1px solid #CFCFCF;}.ecrire-desc p{margin-bottom:10px;}.ecrire-desc li{margin-bottom:10px;list-style-type:disc;list-style-position:inside;}.ecrire .grippie{width:240px;margin:0 0 3px 160px;display:inline-block;}.ecrire .resizable-textarea{display:inline;}.ecrire .resizable-textarea textarea{width:220px!important;height:50px;}.ecrire .form-item{margin-bottom:0;margin-top:0;}.ecrire input.focusField{color:#fff;} + + body.frequence h1{color:#773584;}body.frequence #content-inner p{color:#262626;margin-bottom:10px;}body.frequence #content-inner label{float:left;margin:0 10px 10px 0;line-height:24px;}body.frequence #content-inner input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:3px 10px 3px 10px;float:left;width:145px;margin-bottom:10px;}body.frequence #content-inner input.submit{padding:0;border:none;margin:0 0 10px 15px;width:103px;height:26px;background-color:#773584;}body.frequence #content-inner p.loc{font-size:14px;border-bottom:1px solid #CFCFCF;padding-bottom:5px;clear:both;}body.frequence #content-inner p.loc span{color:#773584;font-weight:bold;} + + body.section-votre-agenda #content-top{position:relative;background-color:#f1ebf3;padding:15px;margin-bottom:30px;}body.section-votre-agenda h1{color:#773584;margin-bottom:0;}body.section-votre-agenda .script-read a.prev,body.section-votre-agenda .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin-top:105px;margin-left:-7px;}body.section-votre-agenda .script-read a.disabled{visibility:hidden !important;}body.section-votre-agenda .script-read a.next,body.section-votre-agenda .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:10;margin-top:105px;margin-right:-7px;}body.section-votre-agenda .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:165px;margin:10px 0 0 0;background-color:#fff;}body.section-votre-agenda #content-top .script-read ol{margin:0;}body.section-votre-agenda .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.section-votre-agenda .script-read .thumbs li{width:210px;height:150px;cursor:pointer;margin:15px 0 0 0;float:left;padding:0 15px 0 15px;position:relative;line-height:15px;}body.section-votre-agenda .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.section-votre-agenda .script-read .thumbs li img{float:left;margin-right:10px;}body.section-votre-agenda .script-read .thumbs li h2{font-size:12px;line-height:15px;}body.section-votre-agenda div.agenda_error{background:#FFF3F6 url(/sites/all/themes/franceculture/images/error.png) no-repeat .5em .45em;border:1px solid #C00000;color:#C00000;}body.section-votre-agenda div.agenda_error a{text-decoration:underline;}body.section-votre-agenda form input.focusField{color:#fff;} + .board{margin-bottom:60px;}.board form{margin:0;}.board .ou{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board .quand{float:left;width:215px;margin:0 5px;background-color:#EBEBEB;height:230px;}.board .quoi{float:left;width:215px;background-color:#EBEBEB;height:230px;}.board h3{text-align:center;margin-bottom:5px;}.board select{border-top:1px solid #CCCCCC;border-left:1px solid #CCCCCC;border-bottom:1px solid #666666;border-right:1px solid #666666;padding:2px 10px 3px 10px;width:190px;margin:0 10px 5px 10px;}.board label{font-size:14px;color:#4D4D4D;font-weight:normal;}.board .ou img{margin:0 10px;}.board .quand label{float:left;margin:0 3px 10px 10px;}.board .quand input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px;float:left;width:150px;margin-bottom:10px;}.board .quand input.submit{padding:0;border:none;margin:0 0 11px 7px;width:22px;height:22px;background-color:#773584;}.board .quoi input{margin-bottom:5px;}.board .quoi label{margin:0 0 5px 5px;}.board .s-submit{padding:0;border:none;margin:20px 0 0 2px;width:103px;height:26px;background-color:#773584;float:right;}.board .quoi label.option{display:block;}.board .ou .form-item{margin:0;}.board .quand #edit-date-min-value-wrapper div.description,.board .quand #edit-date-max-value-wrapper div.description{display:none;} + body.section-votre-agenda .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.section-votre-agenda .list-article li img{float:left;margin:0 15px 15px 0;}body.section-votre-agenda .list-article li .auteur{display:block;margin-bottom:15px;} + form#views-exposed-form-evenement-fo-liste-block-1 .views-exposed-form .views-exposed-widget{width:100%;} + + body.node-type-rf-article #content .article-teaser{margin:0 0 20px 0;}body.node-type-rf-article #content .article-teaser p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-teaser .date{display:block;margin:0 0 10px 0;}body.node-type-rf-article #content p{color:#262626;font-size:14px;line-height:18px;}body.node-type-rf-article #content .article-full p,body.node-type-rf-article#tinymce p{margin:0 0 10px 0;}body.node-type-rf-article #content .article-full .large{width:640px;}body.node-type-rf-article #content .article-full .small{width:320px;}body.node-type-rf-article #content .article-full .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}body.node-type-rf-article #content .article-full .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}body.node-type-rf-article #content .article-full .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}body.node-type-rf-article #content .article-full .video .opaque{margin-bottom:33px;}body.node-type-rf-article #content .article-full p.theme,body.node-type-rf-billet-blog #content p.theme{clear:both;font-size:13px;}body.node-type-rf-article #content .article-full p.theme a,body.node-type-rf-billet-blog #content p.theme a{font-size:12px;margin:0 2px;}body.node-type-rf-article #content .article-full p.auteur{float:right;margin:0 0 8px 0;} + body.node-type-rf-article #content .article-full .list-rubrique li{margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li p{color:#4D4D4D;font-size:12px;line-height:14px;margin-bottom:20px;}body.node-type-rf-article #content .article-full .list-rubrique li a.title{font-size:12px;display:block;margin-bottom:5px;}body.node-type-rf-article #content .article-full .list-rubrique li a.timer,body.node-type-rf-article #content .article-full .list-rubrique li span.date{display:block;}body.node-type-rf-article #content .article-full .list-rubrique li .timer{margin:0;}body.node-type-rf-article #content .article-full .list-rubrique li .image{margin-bottom:10px;}body.node-type-rf-article #content .article-full .list-rubrique li .image p{margin:0 0 0 110px;}body.node-type-rf-article #content .article-full .field-field-article-image-page div div{line-height:1px;} + body.node-type-rf-article #content .rel-liens{margin-bottom:0px;}body.node-type-rf-article #content .rel-liens div{margin-bottom:20px;}body.node-type-rf-article #content .rel-liens div a{font-size:12px;display:block;margin:0 0 5px 0;} + body.node-type-rf-article #content .rel-doc{margin-bottom:40px;}body.node-type-rf-article #content .rel-doc li{float:left;width:215px;margin-bottom:20px;}body.node-type-rf-article #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.node-type-rf-article #content .rel-doc p{float:right;width:100px;margin-right:10px;font-size:11px;color:#666666;display:inline;line-height:14px;}body.node-type-rf-article #content .rel-doc p a{font-size:12px;display:block;margin:0 0 5px 0;}body.node-type-rf-article #content .rel-doc p span{font-size:12px;font-style:italic;display:block;margin-top:5px;}.rel-doc .liste-clear{width:100% !important;} + body.section-liste-ecoute h1{background:url(/sites/all/themes/franceculture/images/liste-ecoute-title.png) no-repeat 0 0;color:#fff;text-align:center;height:45px;padding:15px 0 0 45px;}body.section-liste-ecoute #content-inner fieldset,body.section-liste-ecoute #edit-title-wrapper,body.section-liste-ecoute .vertical-tabs{display:none!important;}body.section-liste-ecoute #content #content-right{float:right;}body.section-liste-ecoute #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.section-liste-ecoute #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.section-liste-ecoute #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 30px 5px;text-align:center;}body.section-liste-ecoute #content-right .block .title{margin:0 10px 5px 10px;}body.section-liste-ecoute #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.section-liste-ecoute #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.section-liste-ecoute #content-right .block ol{background:transparent url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat scroll 0 0;padding-top:1px;}body.section-liste-ecoute #content-right .block ol li{border-bottom:medium none;color:#4d4d4d;font-weight:normal;list-style-position:inside;list-style-type:decimal;margin-top:10px;}body.section-liste-ecoute #content-right .block li{margin:20px 20px 0;padding:0 0 15px 0;}body.section-liste-ecoute #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} + body.section-liste-ecoute .list-article li{border-bottom:1px solid #CFCFCF;margin-bottom:15px;padding-bottom:15px;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even{background-color:#FFFFFF;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd .form-item,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_son_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_son_values tr.even.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.odd.content-multiple-removed-row,body.section-liste-ecoute table#field_liste_lecture_abonnements_values tr.even.content-multiple-removed-row{background-color:#FFFFCC;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button{background-image:url(/sites/all/themes/franceculture/images/picto-supprimer.png);height:18px;width:18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-remove-button:hover{background-position:0 -18px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button{background-position:0 -36px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values .content-multiple-removed-row .content-multiple-remove-button:hover,body.section-liste-ecoute table#field_liste_lecture_son_values .content-multiple-removed-row .content-multiple-remove-button:hover{background-position:0 -54px;}body.section-liste-ecoute table#field_liste_lecture_son_values thead,body.section-liste-ecoute table#field_liste_lecture_abonnements_values thead{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values td,body.section-liste-ecoute table#field_liste_lecture_abonnements_values td{width:100%;}body.section-liste-ecoute table#field_liste_lecture_son_values td.content-multiple-drag{width:20px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td.content-multiple-drag{display:none;}body.section-liste-ecoute table#field_liste_lecture_son_values .illustration{float:left;margin-right:20px;}body.section-liste-ecoute .form-item #autocomplete .reference-autocomplete{background:url(/sites/all/themes/franceculture/images/more-red.png) no-repeat right;padding:2px;margin:0px 2px;}body.section-liste-ecoute #node-form input.focusField,body.section-liste-ecoute #content-left .baladeur input.focusField{color:#fff;}html.js body.section-liste-ecoute input.form-autocomplete{background-position:100% 7px}html.js body.section-liste-ecoute input.throbbing{background-position:100% -14px} + .baladeur{color:#262626;line-height:18px;font-size:14px;width:600px;margin-left:10px;margin-bottom:50px;}body.section-liste-ecoute #content-left .baladeur input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}body.section-liste-ecoute #content-left .baladeur input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;} + body.section-liste-ecoute #content-left input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:330px;}body.section-liste-ecoute #content-left input.submit{padding:0;border:none;margin:0 0 0 2px;width:26px;height:26px;background-color:#773584;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values{margin:20px 0 40px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values tbody{border-top:none;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper{margin:5px 0;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper .form-item{white-space:normal;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3{font-size:16px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span{font-size:11px;margin-left:10px;}body.section-liste-ecoute table#field_liste_lecture_abonnements_values td div.noderef-view-wrapper h3 span.author{color:#032649;font-weight:bold;} + + body.lecture h1{position:relative;background-color:#f1ebf3;padding:15px;color:#773584;margin-bottom:15px;}body.page-quelisentils h1,body.page-quelisentils-derniers-avis h1{margin-bottom:0;padding-bottom:0;}body.lecture #content-top{background-color:#f1ebf3;padding:1px 15px 15px;margin-bottom:30px;}body.lecture .script-read a.prev,body.lecture .script-read a.prevPage{display:block;width:15px;height:15px;background:url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:7;margin-top:105px;margin-left:-7px;}body.lecture .script-read a.disabled{visibility:hidden !important;}body.lecture .script-read a.next,body.lecture .script-read a.nextPage{background:url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:7;margin-top:105px;margin-right:-7px;}body.lecture .script-read div.scrollable{position:relative;overflow:hidden;width:960px;height:330px;margin:10px 0 0 0;background-color:#fff;}body.lecture #content-top .script-read ol{margin:0;}body.lecture .script-read .thumbs{position:absolute;width:10000em;clear:both;}body.lecture .script-read .thumbs li{width:210px;height:285px;cursor:pointer;margin:15px 0;float:left;padding:0 15px 15px 15px;border-right:1px solid #CFCFCF;position:relative;}body.lecture .script-read .thumbs li .num{position:absolute;bottom:0;left:0;margin:0 15px;}body.lecture .script-read .writter{padding:0;border-right:none;margin:0 5px 5px 0;}body.lecture .script-read .book{padding:0;margin:0 0 5px 5px;}body.lecture #content-top .who-read{margin-top:20px;}body.lecture #content-top .who-read input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:2px 10px 3px 10px;float:left;width:180px}body.lecture #content-top .who-read input.submit{padding:0;border:none;margin:0 0 0 2px;width:22px;height:22px;background-color:#773584;}body.lecture #content-top .who-read label{float:left;margin-right:20px;}body.lecture #content-top .who-read .date{font-size:12px;}body.lecture #content-right .block{background:url(/sites/all/themes/franceculture/images/leftgris-bg.png) repeat-y 0 0;line-height:14px;}body.lecture #content-right .block .block-inner{background:url(/sites/all/themes/franceculture/images/leftgris-bg-top.png) no-repeat 0 0;padding:5px 0 0 0;}body.lecture #content-right .block .title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.lecture #content-right .block .title{margin:0 10px 5px 10px;}body.lecture #content-right .block .title span{background-color:#ebebeb;padding:0 5px;letter-spacing:0;}body.lecture #content-right .block .context{padding:0 10px 5px;}body.lecture #content-right .block label{background:#ebebeb url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;padding:10px 0;display:block;margin:2px 0 0 0;text-align:center;}body.lecture #content-right .block .block-content{background:url(/sites/all/themes/franceculture/images/leftgris-ul-top.png) no-repeat 0 0;padding:15px 20px 0;}body.lecture #content-right .block ol li{list-style-type:decimal;list-style-position:inside;margin-top:10px;font-weight:bold;color:#032649;}body.lecture #content-right .block li{border-bottom:1px solid #CFCFCF;margin:20px 0px 0 0px;padding:0 0 15px 0;border-top-width:0;}body.lecture #content-right .block li.first,#sidebar-right .block li.views-row-first{margin-top:0;}body.lecture #content-right .block .closure{background:url(/sites/all/themes/franceculture/images/leftgris-bg-bottom.png) no-repeat 0 100%;height:30px;display:block;margin:5px 0 0 0;} + body.lecture .node-rf_oeuvre{margin-bottom:20px;}body.lecture .node-rf_oeuvre h2.title{font-size:24px;line-height:26px;letter-spacing:0.2px;color:#262626;}body.lecture .node-rf_oeuvre p.infos{color:#4D4D4D;font-size:12px;margin-bottom:10px;}body.lecture .node-rf_oeuvre p.infos span{color:#808080;font-style:italic;display:block;}body.lecture .node-rf_oeuvre p,body.node-type-rf-oeuvre#tinymce p{color:#262626;font-size:14px;line-height:18px;}body.lecture .node-rf_oeuvre .illustration{margin:0 15px 15px 0;float:left;}body.lecture #content-inner .illustration{margin:0 15px 15px 0;float:left;}body.lecture .node-rf_oeuvre .theme a{float:right;font-size:11px;}.node-rf_oeuvre #quelisentils-oeuvre div.view-display-id-block_2{clear:left;padding-top:8px;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row{clear:left;}.node-rf_oeuvre #quelisentils-oeuvre div.views-row p{margin-left:65px;}.node-rf_oeuvre #quelisentils-oeuvre p a{display:block;text-align:right;}.node-rf_oeuvre #quelisentils-oeuvre a.submit{margin-top:10px;text-align:center;}#quelisentils-oeuvre a.submit,#fc-quelisentils-que-lisez-vous a.submit,body.section-quelisentils a.submit{display:block;background:url(/sites/all/themes/franceculture/images/btn-large.png) no-repeat 0 0;padding:4px 10px;text-align:center;width:140px;color:#fff;}#quelisentils-oeuvre a.submit:hover,#fc-quelisentils-que-lisez-vous a.submit:hover,body.section-quelisentils a.submit:hover{background-position:0 -25px;text-decoration:none;}body.section-quelisentils .node-rf_oeuvre .theme a.submit{float:left;} + body.lecture #content .rel-doc{margin-bottom:40px;}body.lecture #content .rel-doc li{float:left;width:215px;padding-left:0;margin-left:0;border-left:0;}body.lecture #content .rel-doc li.clear{float:left;width:100%;height:40px;}body.lecture #content .rel-doc li.clear span{display:none;}body.lecture #content .rel-doc p{margin-right:5px;font-size:12px;color:#666666;line-height:14px;}body.lecture #content .rel-doc p a{display:block;}body.lecture #content .rel-doc p span{display:block;margin-bottom:5px;color:#032649;} + body.lecture #content .com{margin-bottom:40px;}body.lecture #content .com .img-float{margin-bottom:20px;}body.lecture #content .com .post{margin-bottom:20px;clear:left;}body.lecture #content .com .post .submited{color:#000;font-size:14px;margin-bottom:2px;display:block;}body.lecture #content .com .post .auth{font-weight:bold;color:#032649;}body.lecture #content .com .post .submited .date{margin-left:5px;}body.lecture #content .com .post p{font-size:12px;color:#4D4D4D;margin-left:55px;} + #fc-quelisentils-search-form table{width:100%;}#fc-quelisentils-search-form table .form-item{white-space:normal;} + #fc-quelisentils-que-lisez-vous{margin-top:20px;}body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper,body.page-accueil #fc-quelisentils-que-lisez-vous #autocomplete{display:block;margin:0;}body.node-type-rf-personne #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-accueil #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title,body.page-taxonomy-term-131 #fc-quelisentils-que-lisez-vous #edit-title-wrapper #edit-title{width:178px;}#fc-quelisentils-que-lisez-vous #edit-submit{vertical-align:middle;float:none;border-width:0;width:auto;padding:0 0 0 2px;}#fc-quelisentils-que-lisez-vous #autocomplete img{clear:left;margin-right:5px;}#fc-quelisentils-que-lisez-vous #autocomplete li{height:32px;}#fc-quelisentils-que-lisez-vous #autocomplete{width:auto !important;background:white;}#fc-quelisentils-comment-form #edit-comment{width:650px;} + body.lecture .list-article li{border-top:1px solid #CFCFCF;margin-top:5px;padding-top:10px;}body.lecture .list-article li img{float:left;margin:0 15px 15px 0;}body.lecture .list-article li .auteur{display:block;margin-bottom:15px;} + body.node-type-rf-page h1{color:#773584;}body.node-type-rf-page #content-inner p{color:#262626;margin-bottom:10px;} + body.section-rubrique #content-right h2.title{background:url(/sites/all/themes/franceculture/images/titre-barre.gif) repeat-x 0 2px;color:#773584;font-weight:bold;font-size:13px;padding:0 0 5px 0;text-align:center;}body.section-rubrique #content-right h2.title span{background:#fff none;padding:0 5px;letter-spacing:0;display:inline-block;}body.section-rubrique #content-inner .view-display-id-attachment_1 .list-article{width:400px;} +.script-vertical h2{margin-bottom:36px;}.script-vertical a.prev,.script-vertical a.prevPage{display:block;width:284px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-top.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:10;margin:42px 0 0 24px;}.script-vertical a.disabled{visibility:hidden !important;}.script-vertical a.next,.script-vertical a.nextPage{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-bottom.png);display:block;width:15px;height:15px;position:absolute;bottom:0;left:0;cursor:pointer;z-index:10;margin-bottom:-5px;margin-left:159px;}.script-vertical div.scrollable-vertical{position:relative;overflow:hidden;width:284px;height:330px;margin:10px 15px 0 15px;}#content-bottom .script-vertical ol{margin:0;}.script-vertical #thumbs-vertical{position:absolute;width:10000em;clear:both;}.script-vertical #thumbs-vertical li{width:284px;height:150px;padding:0 0 5px 0;} + + +.jcarousel-clip{z-index:2;padding:0;margin:0;overflow:hidden;position:relative;width:658px;}.jcarousel-list{z-index:1;overflow:hidden;position:relative;} +#wrap{position:relative;border:1px solid #CFCFCF;}.script .target{padding:5px 0;width:658px;background:url(/sites/all/themes/franceculture/images/script-bg.png) repeat-x 0 20px;margin:0 5px;}.script #mycarousel-prev{display:block;width:15px;height:15px;background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-left.png) no-repeat;position:absolute;top:0;left:0;cursor:pointer;z-index:6;margin-left:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #mycarousel-next{background:#773584 url(/sites/all/themes/franceculture/images/script-scroll-right.png);display:block;width:15px;height:15px;position:absolute;top:0;right:0;cursor:pointer;z-index:6;margin-right:-10px;text-indent:-10000px;font-size:0;margin-top:265px;}.script #thumbs{height:240px;}.script #thumbs li h3{color:#032649;font-size:18px;line-height:16px;margin:10px 0 5px 0;}.script #thumbs li{float:left;width:658px;height:235px;cursor:pointer;padding:0 0 5px 0;}.script #thumbs li img{float:left;margin-right:10px;}.script #thumbs li p a{color:#4D4D4D;font-weight:normal;}.script .jcarousel-control{height:72px;}.script .jcarousel-control span{display:none;}.script .jcarousel-control h3{text-decoration:none;color:#032649;font-weight:bold;padding:0;display:inline;float:left;width:164px;height:65px;}.script .jcarousel-control a{cursor:pointer;padding:0 5px;display:block;color:#032649;width:153px;height:65px;border-right:1px solid #CFCFCF;}.script .jcarousel-control a:hover{text-decoration:none;border-bottom:7px solid #28042D;}.script .jcarousel-control .titre4 a{border-right:none;}.up1 .jcarousel-control .titre1 a{border-bottom:7px solid #28042D;}.up2 .jcarousel-control .titre2 a{border-bottom:7px solid #28042D;}.up3 .jcarousel-control .titre3 a{border-bottom:7px solid #28042D;}.up4 .jcarousel-control .titre4 a{border-bottom:7px solid #28042D;border-right:none;} +.dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;}.dnd-drop-wrapper .image img{display:block;}.dnd-drop-wrapper .image{display:table;width:1px;}.dnd-drop-wrapper .image .opaque{width:100%;background-color:#000;opacity:0.7;}.dnd-drop-wrapper .image .opaque p{color:#fff;font-weight:bold;font-style:italic;padding:5px 10px 10px 10px;font-size:12px;margin:0;}.dnd-drop-wrapper .image .opaque span{font-style:normal;text-transform:uppercase;font-size:9px;margin-left:5px;}.dnd-library-wrapper div.meta{margin-left:52px;}.node-type-rf-personne .dnd-fields-wrapper .mceLayout,.node-type-rf-personne .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout,.node-type-rf-oeuvre .dnd-fields-wrapper .mceLayout iframe,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout,.node-type-rf-evenement .dnd-fields-wrapper .mceLayout iframe{width:400px !important;}.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout,.node-type-rf-billet-blog .dnd-fields-wrapper .mceLayout iframe{width:520px !important;}.dnd-fields-wrapper .mceLayout,.dnd-fields-wrapper .mceLayout iframe{width:657px !important;}.popups-box .popups-inner .dnd-fields-wrapper .mceLayout,.popups-box .popups-inner .dnd-fields-wrapper .mceLayout iframe{width:100% !important;}.mee-wrap-editor-library{float:none;}body#tinymce p{font-size:14px;}.mee-filter-form fieldset{display:none;} +.dnd-drop-wrapper .atom-Video{width:480px;height:365px;}.dnd-drop-wrapper .atom-SoundSlide{width:560px;height:489px;}.dnd-drop-wrapper .atom-Audio{min-width:300px;min-height:20px;}#tinymce .dnd-drop-wrapper{position:relative;float:left;margin:0 15px 25px 0;border-bottom:green solid 10px;} +div.view-dossier-fo-panes li{clear:both;}div.view-dossier-fo-panes img.imagecache-image_liste{margin-bottom:10px;}div.node-panel p.theme{margin-top:20px;} +form#rf-userregister-form .infos-connexion input,form#fc-userregister-form-userprofile .infos-connexion input{width:200px;margin-bottom:0;}form#rf-userregister-form .infos-connexion input.idleField,form#fc-userregister-form-userprofile .infos-connexion input.idleField{border:1px solid #CCCCCC;}form#rf-userregister-form div.form-item,form#fc-userregister-form-userprofile div.form-item{margin:5px 0;clear:both;}form#rf-userregister-form .infos-connexion label,form#fc-userregister-form-userprofile .infos-connexion label{line-height:13px;width:158px;}form#rf-userregister-form .infos-connexion .description,form#fc-userregister-form-userprofile .infos-connexion .description{clear:both;margin-left:168px;font-size:11px;}form#rf-userregister-form .infos-connexion input.submit-v,form#fc-userregister-form-userprofile .infos-connexion input.submit-v{padding:0;border:none;margin:20px 20px 3px 3px;width:71px;height:25px;background-color:#773584;float:right;}form#rf-userregister-form .infos-connexion label.option,form#fc-userregister-form-userprofile .infos-connexion label.option{width:395px;font-size:12px;line-height:12px;margin-right:2px;display:block;}form#rf-userregister-form .infos-connexion label.option input,form#fc-userregister-form-userprofile .infos-connexion label.option input{width:15px;margin:0 0 3px 2px;float:right;} + +#sidebar-right .block-fc_widget_dailymotion,#sidebar-right .block-fc_widget_deezer{background-image:none;} +#homebox.column-count-2 .homebox-column{width:48%;}#homebox table span a.flag-processed{white-space:nowrap;}#homebox table span.flag-flagged-message{left:-5px;}#homebox table span.flag-unflagged-message{left:-25px;}.portlet-content .views-processed .view-filters{display:none;}#homebox div.view-header{text-align:left;} +body.section-search form#search-form input.form-text{float:left;height:14px;padding:5px;}body.section-search form#search-form input.submit-lancer{float:left;margin-left:3px;clear:right;}body.section-search div.box{clear:both;padding-top:10px;}body.section-search fieldset.search-advanced{clear:both;padding-top:10px;} +.shoutbox-msg blockquote{color:#032649;font-weight:bold;font-size:12px;line-height:17px;} +fieldset.group-mea tr .form-item .description,fieldset.vertical-tabs-group_mea tr .form-item .description{white-space:normal;} +.node-form span.form-required{font-size:17px;}.node-form .form-item .required{background-color:#EBEBEB;border:1px solid #CCCCFF;}a.popups-reference{font-size:13px;line-height:40px;}#node-form #group-diffusion-generique-items{display:none;} +.hierarchical-select-wrapper .hierarchical-select option.has-children{padding-right:14px;} +#fchook-envoyer-diffusion-sms-form input{color:#999999;border-top:1px solid #666666;border-left:1px solid #666666;border-bottom:1px solid #CCCCCC;border-right:1px solid #CCCCCC;padding:4px 10px 5px 10px;float:left;width:125px;}#fchook-envoyer-diffusion-sms-form input.submit{padding:0;border:none;margin:0 0 0 2px;width:120px;height:27px;background-color:#773584;}#fchook-envoyer-diffusion-sms-form input.focusField{color:#fff;} +.panel-pane.hidden-pane .pane-title:after{content:" statut:masqué";}.panel-pane.changed .pane-title:after{content:" statut:modifications non enregistrées";}.panel-pane.hidden-pane.changed .pane-title:after{content:" statut:masqué & modifié";} +#ui-datepicker-div{width:200px;}.ui-datepicker-next label,.ui-datepicker-prev label{border:1px solid #d3d3d3;cursor:pointer;display:block;font-size:1em;height:1.4em;text-indent:-999999px;width:1.3em;} +#edit-profile-commune-wrapper{display:none;}.label-nowrap{white-space:pre;}body{margin:0;padding:0;background:#fff;}body.blogs{margin:0px 0 0 0;background:#fff none;}body#tinymce,body#mceContentBody,body.mceContentBody,body#nodepicker{background:#fff none;}#page{margin:0 0 20px 0;padding:0;}#header{position:relative;height:155px;}#page{background:#fff url(/sites/all/themes/franceculture/images/body.png) no-repeat 50% -40px;margin:0 0 0px 0;padding:0;}body.blogs #page{background:#fff none;}#page-inner{margin:0 auto;padding:0;width:990px;}#main{width:990px;}#content{width:655px;margin-left:0;margin-right:-990px;float:left;overflow:visible;}body #content-bottom{margin:30px 0 0 0;}#content-top{padding:0 0 20px 0;background-color:#fff;}body #cb-left{width:314px;padding:5px 10px 0;float:left;position:relative;}body #block-views-lesplusconsultes-block_1,body #cb-right{width:314px;padding:5px 10px 0;float:left;}#sidebar-right{width:300px;margin-right:0;float:left;margin-left:690px;margin-right:-990px;overflow:visible;}#footer-top{margin:0 0 0 0;padding:0px 0 8px 0;width:990px;}#footer{color:#fff;height:75px;padding:25px 0 0 0;width:990px;} +body.front #content,body.node-type-panel #content{width:670px;}body.front #content-inner{background:url(/sites/all/themes/franceculture/images/bg-content.png) repeat-y 0 0;}body.front #content-left,body.node-type-panel #content-left{width:400px;padding:0 18px 0 0;float:left;clear:left;}body.front #content-right,body.node-type-panel #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-panel .panel-pane,body.node-type-panel .panel-pane li{clear:both;} +body.no-sidebars #content{width:990px;}body.no-sidebars #content-left{width:655px;padding:0 18px 0 0;float:left;}body.no-sidebars #content-right{width:300px;padding:0 0 0 17px;float:left;} +body.not-front #content{padding-top:20px;position:relative;}body.not-front #content-inner{padding-top:15px;border-top:1px solid #CFCFCF;} +body.section-rubrique #content{width:670px;}body.section-rubrique #content-right{width:234px;padding:0 0 0 35px;float:right;background:#fff url(/sites/all/themes/franceculture/images/bg-content-right.png) repeat-y 0 0;min-height:300px;height:auto !important;height:300px;margin-bottom:20px;}body.section-rubrique #content-inner{border-top-width:0;padding-top:0;}body.section-rubrique h1{border-top:1px solid #CFCFCF;padding-top:15px;} +body.lecture #content-inner{padding-top:0;border-top-width:0;}body.lecture #content-right{float:right;} +body.culture #content-inner{padding-top:0;border-top-width:0;} +body.agenda #content-inner{padding-top:0;} +body.section-podcasts #content-inner,body.section-podcast #content-inner{padding-top:0;}body.podcasts #content-left,body.podcasts #content-right{margin-top:20px;} +div#grille-programmes #content-inner{padding-top:0;} +body.emissions #content-left,body.emissions #content-right{margin-top:20px;}body.emissions #content-inner{padding-top:0;border-top-width:0;} +body.article .article-full #content-left,body.node-type-panel .article-full #content-left{width:310px;padding:0 18px 0 0;float:left;}body.article .article-full #content-right,body.node-type-panel .article-full #content-right{width:310px;padding:0 0 0 17px;float:left;} +body.profil #content{width:670px;}body.profil #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;}body.profil #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content{width:670px;}body.node-type-rf-personne #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-personne #content-right{width:235px;padding:0 0 0 17px;float:left;}body.node-type-rf-personne #content-inner{border-top-width:0;} +body.node-type-rf-evenement #content{width:670px;}body.node-type-rf-evenement #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-evenement #content-right{width:235px;padding:0 0 0 17px;float:left;} +body.node-type-rf-oeuvre #content{width:670px;}body.node-type-rf-oeuvre #content-left{width:400px;padding:0 17px 0 0;float:left;border-right:1px solid #CFCFCF;overflow:hidden;}body.node-type-rf-oeuvre #content-right{width:235px;padding:0 0 0 17px;float:left;} +body.recherche #content{padding-top:0;position:relative;}body.recherche #content-inner{border-top:none;} +body.mini-site #main{padding-top:90px;position:relative;}body.mini-site #main #content{position:static;padding-top:0;}body.mini-site #main #content #content-inner{border-top:0;}body.mini-site #main #content-top{position:absolute;top:0;left:0;width:960px;margin:20px 0 0 0;} +body.blogs #header{position:relative;height:165px;margin-bottom:20px;}body.blogs #content-inner{padding-top:0;border-top:none;} +body.page-node-edit #content,body.page-node-add #content{width:100%;} body.section-partenariats #content{width:670px;}body.section-partenariats #content-right{width:234px;padding:0 0 0 35px;float:right;background:#fff url(/sites/all/themes/franceculture/images/bg-content-right.png) repeat-y 0 0;min-height:300px;height:auto !important;height:300px;margin-bottom:20px;}body.section-partenariats #content-inner{border-top-width:0;padding-top:0;}body.section-partenariats h1{border-top:1px solid #CFCFCF;padding-top:15px;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/drupal.js --- a/web/res/metadataplayer/test/emission_fichiers/drupal.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/drupal.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,290 +1,290 @@ -// $Id: drupal.js,v 1.41.2.4 2009/07/21 08:59:10 goba Exp $ - -var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} }; - -/** - * Set the variable that indicates if JavaScript behaviors should be applied - */ -Drupal.jsEnabled = true; - -/** - * Attach all registered behaviors to a page element. - * - * Behaviors are event-triggered actions that attach to page elements, enhancing - * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors - * object as follows: - * @code - * Drupal.behaviors.behaviorName = function () { - * ... - * }; - * @endcode - * - * Drupal.attachBehaviors is added below to the jQuery ready event and so - * runs on initial page load. Developers implementing AHAH/AJAX in their - * solutions should also call this function after new page content has been - * loaded, feeding in an element to be processed, in order to attach all - * behaviors to the new content. - * - * Behaviors should use a class in the form behaviorName-processed to ensure - * the behavior is attached only once to a given element. (Doing so enables - * the reprocessing of given elements, which may be needed on occasion despite - * the ability to limit behavior attachment to a particular element.) - * - * @param context - * An element to attach behaviors to. If none is given, the document element - * is used. - */ -Drupal.attachBehaviors = function(context) { - context = context || document; - // Execute all of them. - jQuery.each(Drupal.behaviors, function() { - this(context); - }); -}; - -/** - * Encode special characters in a plain-text string for display as HTML. - */ -Drupal.checkPlain = function(str) { - str = String(str); - var replace = { '&': '&', '"': '"', '<': '<', '>': '>' }; - for (var character in replace) { - var regex = new RegExp(character, 'g'); - str = str.replace(regex, replace[character]); - } - return str; -}; - -/** - * Translate strings to the page language or a given language. - * - * See the documentation of the server-side t() function for further details. - * - * @param str - * A string containing the English string to translate. - * @param args - * An object of replacements pairs to make after translation. Incidences - * of any key in this array are replaced with the corresponding value. - * Based on the first character of the key, the value is escaped and/or themed: - * - !variable: inserted as is - * - @variable: escape plain text to HTML (Drupal.checkPlain) - * - %variable: escape text and theme as a placeholder for user-submitted - * content (checkPlain + Drupal.theme('placeholder')) - * @return - * The translated string. - */ -Drupal.t = function(str, args) { - // Fetch the localized version of the string. - if (Drupal.locale.strings && Drupal.locale.strings[str]) { - str = Drupal.locale.strings[str]; - } - - if (args) { - // Transform arguments before inserting them - for (var key in args) { - switch (key.charAt(0)) { - // Escaped only - case '@': - args[key] = Drupal.checkPlain(args[key]); - break; - // Pass-through - case '!': - break; - // Escaped and placeholder - case '%': - default: - args[key] = Drupal.theme('placeholder', args[key]); - break; - } - str = str.replace(key, args[key]); - } - } - return str; -}; - -/** - * Format a string containing a count of items. - * - * This function ensures that the string is pluralized correctly. Since Drupal.t() is - * called by this function, make sure not to pass already-localized strings to it. - * - * See the documentation of the server-side format_plural() function for further details. - * - * @param count - * The item count to display. - * @param singular - * The string for the singular case. Please make sure it is clear this is - * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). - * Do not use @count in the singular string. - * @param plural - * The string for the plural case. Please make sure it is clear this is plural, - * to ease translation. Use @count in place of the item count, as in "@count - * new comments". - * @param args - * An object of replacements pairs to make after translation. Incidences - * of any key in this array are replaced with the corresponding value. - * Based on the first character of the key, the value is escaped and/or themed: - * - !variable: inserted as is - * - @variable: escape plain text to HTML (Drupal.checkPlain) - * - %variable: escape text and theme as a placeholder for user-submitted - * content (checkPlain + Drupal.theme('placeholder')) - * Note that you do not need to include @count in this array. - * This replacement is done automatically for the plural case. - * @return - * A translated string. - */ -Drupal.formatPlural = function(count, singular, plural, args) { - var args = args || {}; - args['@count'] = count; - // Determine the index of the plural form. - var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1); - - if (index == 0) { - return Drupal.t(singular, args); - } - else if (index == 1) { - return Drupal.t(plural, args); - } - else { - args['@count['+ index +']'] = args['@count']; - delete args['@count']; - return Drupal.t(plural.replace('@count', '@count['+ index +']')); - } -}; - -/** - * Generate the themed representation of a Drupal object. - * - * All requests for themed output must go through this function. It examines - * the request and routes it to the appropriate theme function. If the current - * theme does not provide an override function, the generic theme function is - * called. - * - * For example, to retrieve the HTML that is output by theme_placeholder(text), - * call Drupal.theme('placeholder', text). - * - * @param func - * The name of the theme function to call. - * @param ... - * Additional arguments to pass along to the theme function. - * @return - * Any data the theme function returns. This could be a plain HTML string, - * but also a complex object. - */ -Drupal.theme = function(func) { - for (var i = 1, args = []; i < arguments.length; i++) { - args.push(arguments[i]); - } - - return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); -}; - -/** - * Parse a JSON response. - * - * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. - */ -Drupal.parseJson = function (data) { - if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) { - return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') }; - } - return eval('(' + data + ');'); -}; - -/** - * Freeze the current body height (as minimum height). Used to prevent - * unnecessary upwards scrolling when doing DOM manipulations. - */ -Drupal.freezeHeight = function () { - Drupal.unfreezeHeight(); - var div = document.createElement('div'); - $(div).css({ - position: 'absolute', - top: '0px', - left: '0px', - width: '1px', - height: $('body').css('height') - }).attr('id', 'freeze-height'); - $('body').append(div); -}; - -/** - * Unfreeze the body height - */ -Drupal.unfreezeHeight = function () { - $('#freeze-height').remove(); -}; - -/** - * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of - * drupal_urlencode() in PHP). This function should only be used on paths, not - * on query string arguments. - */ -Drupal.encodeURIComponent = function (item, uri) { - uri = uri || location.href; - item = encodeURIComponent(item).replace(/%2F/g, '/'); - return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F'); -}; - -/** - * Get the text selection in a textarea. - */ -Drupal.getSelection = function (element) { - if (typeof(element.selectionStart) != 'number' && document.selection) { - // The current selection - var range1 = document.selection.createRange(); - var range2 = range1.duplicate(); - // Select all text. - range2.moveToElementText(element); - // Now move 'dummy' end point to end point of original range. - range2.setEndPoint('EndToEnd', range1); - // Now we can calculate start and end points. - var start = range2.text.length - range1.text.length; - var end = start + range1.text.length; - return { 'start': start, 'end': end }; - } - return { 'start': element.selectionStart, 'end': element.selectionEnd }; -}; - -/** - * Build an error message from ahah response. - */ -Drupal.ahahError = function(xmlhttp, uri) { - if (xmlhttp.status == 200) { - if (jQuery.trim(xmlhttp.responseText)) { - var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText }); - } - else { - var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri }); - } - } - else { - var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status }); - } - return message.replace(/\n/g, '
'); -} - -// Global Killswitch on the element -$(document.documentElement).addClass('js'); -// Attach all behaviors. -$(document).ready(function() { - Drupal.attachBehaviors(this); -}); - -/** - * The default themes. - */ -Drupal.theme.prototype = { - - /** - * Formats text for emphasized display in a placeholder inside a sentence. - * - * @param str - * The text to format (plain-text). - * @return - * The formatted text (html). - */ - placeholder: function(str) { - return '' + Drupal.checkPlain(str) + ''; - } -}; +// $Id: drupal.js,v 1.41.2.4 2009/07/21 08:59:10 goba Exp $ + +var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} }; + +/** + * Set the variable that indicates if JavaScript behaviors should be applied + */ +Drupal.jsEnabled = true; + +/** + * Attach all registered behaviors to a page element. + * + * Behaviors are event-triggered actions that attach to page elements, enhancing + * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors + * object as follows: + * @code + * Drupal.behaviors.behaviorName = function () { + * ... + * }; + * @endcode + * + * Drupal.attachBehaviors is added below to the jQuery ready event and so + * runs on initial page load. Developers implementing AHAH/AJAX in their + * solutions should also call this function after new page content has been + * loaded, feeding in an element to be processed, in order to attach all + * behaviors to the new content. + * + * Behaviors should use a class in the form behaviorName-processed to ensure + * the behavior is attached only once to a given element. (Doing so enables + * the reprocessing of given elements, which may be needed on occasion despite + * the ability to limit behavior attachment to a particular element.) + * + * @param context + * An element to attach behaviors to. If none is given, the document element + * is used. + */ +Drupal.attachBehaviors = function(context) { + context = context || document; + // Execute all of them. + jQuery.each(Drupal.behaviors, function() { + this(context); + }); +}; + +/** + * Encode special characters in a plain-text string for display as HTML. + */ +Drupal.checkPlain = function(str) { + str = String(str); + var replace = { '&': '&', '"': '"', '<': '<', '>': '>' }; + for (var character in replace) { + var regex = new RegExp(character, 'g'); + str = str.replace(regex, replace[character]); + } + return str; +}; + +/** + * Translate strings to the page language or a given language. + * + * See the documentation of the server-side t() function for further details. + * + * @param str + * A string containing the English string to translate. + * @param args + * An object of replacements pairs to make after translation. Incidences + * of any key in this array are replaced with the corresponding value. + * Based on the first character of the key, the value is escaped and/or themed: + * - !variable: inserted as is + * - @variable: escape plain text to HTML (Drupal.checkPlain) + * - %variable: escape text and theme as a placeholder for user-submitted + * content (checkPlain + Drupal.theme('placeholder')) + * @return + * The translated string. + */ +Drupal.t = function(str, args) { + // Fetch the localized version of the string. + if (Drupal.locale.strings && Drupal.locale.strings[str]) { + str = Drupal.locale.strings[str]; + } + + if (args) { + // Transform arguments before inserting them + for (var key in args) { + switch (key.charAt(0)) { + // Escaped only + case '@': + args[key] = Drupal.checkPlain(args[key]); + break; + // Pass-through + case '!': + break; + // Escaped and placeholder + case '%': + default: + args[key] = Drupal.theme('placeholder', args[key]); + break; + } + str = str.replace(key, args[key]); + } + } + return str; +}; + +/** + * Format a string containing a count of items. + * + * This function ensures that the string is pluralized correctly. Since Drupal.t() is + * called by this function, make sure not to pass already-localized strings to it. + * + * See the documentation of the server-side format_plural() function for further details. + * + * @param count + * The item count to display. + * @param singular + * The string for the singular case. Please make sure it is clear this is + * singular, to ease translation (e.g. use "1 new comment" instead of "1 new"). + * Do not use @count in the singular string. + * @param plural + * The string for the plural case. Please make sure it is clear this is plural, + * to ease translation. Use @count in place of the item count, as in "@count + * new comments". + * @param args + * An object of replacements pairs to make after translation. Incidences + * of any key in this array are replaced with the corresponding value. + * Based on the first character of the key, the value is escaped and/or themed: + * - !variable: inserted as is + * - @variable: escape plain text to HTML (Drupal.checkPlain) + * - %variable: escape text and theme as a placeholder for user-submitted + * content (checkPlain + Drupal.theme('placeholder')) + * Note that you do not need to include @count in this array. + * This replacement is done automatically for the plural case. + * @return + * A translated string. + */ +Drupal.formatPlural = function(count, singular, plural, args) { + var args = args || {}; + args['@count'] = count; + // Determine the index of the plural form. + var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1); + + if (index == 0) { + return Drupal.t(singular, args); + } + else if (index == 1) { + return Drupal.t(plural, args); + } + else { + args['@count['+ index +']'] = args['@count']; + delete args['@count']; + return Drupal.t(plural.replace('@count', '@count['+ index +']')); + } +}; + +/** + * Generate the themed representation of a Drupal object. + * + * All requests for themed output must go through this function. It examines + * the request and routes it to the appropriate theme function. If the current + * theme does not provide an override function, the generic theme function is + * called. + * + * For example, to retrieve the HTML that is output by theme_placeholder(text), + * call Drupal.theme('placeholder', text). + * + * @param func + * The name of the theme function to call. + * @param ... + * Additional arguments to pass along to the theme function. + * @return + * Any data the theme function returns. This could be a plain HTML string, + * but also a complex object. + */ +Drupal.theme = function(func) { + for (var i = 1, args = []; i < arguments.length; i++) { + args.push(arguments[i]); + } + + return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args); +}; + +/** + * Parse a JSON response. + * + * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message. + */ +Drupal.parseJson = function (data) { + if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) { + return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') }; + } + return eval('(' + data + ');'); +}; + +/** + * Freeze the current body height (as minimum height). Used to prevent + * unnecessary upwards scrolling when doing DOM manipulations. + */ +Drupal.freezeHeight = function () { + Drupal.unfreezeHeight(); + var div = document.createElement('div'); + $(div).css({ + position: 'absolute', + top: '0px', + left: '0px', + width: '1px', + height: $('body').css('height') + }).attr('id', 'freeze-height'); + $('body').append(div); +}; + +/** + * Unfreeze the body height + */ +Drupal.unfreezeHeight = function () { + $('#freeze-height').remove(); +}; + +/** + * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of + * drupal_urlencode() in PHP). This function should only be used on paths, not + * on query string arguments. + */ +Drupal.encodeURIComponent = function (item, uri) { + uri = uri || location.href; + item = encodeURIComponent(item).replace(/%2F/g, '/'); + return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F'); +}; + +/** + * Get the text selection in a textarea. + */ +Drupal.getSelection = function (element) { + if (typeof(element.selectionStart) != 'number' && document.selection) { + // The current selection + var range1 = document.selection.createRange(); + var range2 = range1.duplicate(); + // Select all text. + range2.moveToElementText(element); + // Now move 'dummy' end point to end point of original range. + range2.setEndPoint('EndToEnd', range1); + // Now we can calculate start and end points. + var start = range2.text.length - range1.text.length; + var end = start + range1.text.length; + return { 'start': start, 'end': end }; + } + return { 'start': element.selectionStart, 'end': element.selectionEnd }; +}; + +/** + * Build an error message from ahah response. + */ +Drupal.ahahError = function(xmlhttp, uri) { + if (xmlhttp.status == 200) { + if (jQuery.trim(xmlhttp.responseText)) { + var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText }); + } + else { + var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri }); + } + } + else { + var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status }); + } + return message.replace(/\n/g, '
'); +} + +// Global Killswitch on the element +$(document.documentElement).addClass('js'); +// Attach all behaviors. +$(document).ready(function() { + Drupal.attachBehaviors(this); +}); + +/** + * The default themes. + */ +Drupal.theme.prototype = { + + /** + * Formats text for emphasized display in a placeholder inside a sentence. + * + * @param str + * The text to format (plain-text). + * @return + * The formatted text (html). + */ + placeholder: function(str) { + return '' + Drupal.checkPlain(str) + ''; + } +}; diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/fc_antidot_recherche.js --- a/web/res/metadataplayer/test/emission_fichiers/fc_antidot_recherche.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/fc_antidot_recherche.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,246 +1,246 @@ -// integration du suggest (module antidot) -Drupal.behaviors.fc_antidot_recherche = function (){ - - // recupère l'adresse du proxy - var urlP = Drupal.settings.adresseProxy; -var as_pos = 0; -var as_pos2 = 0; - /** - * traitement de la sujestion sur le bloc de recherche - * pour économiser des appels à antidot - * la requete est lancée si l'utilisateur saisi plus de 3 lettres - * elle n'est pas lancée si : - * la dernière requete a retourné 0 ou un resultat et que le mot actuel est semblable au mot précedent+1car - */ - var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); - - // - $('#search_top_page').keyup(function(e){ - if(e.keyCode>=48 || e.keyCode == 8){ - var queryBox = $('#search_top_page').val(); - // active le bouton de recherche en fonction de la pressence de mot clé - if(expression.test(queryBox)){ - $('#search_top_page-wrapper #edit-submit').attr('disabled', 'disabled'); - }else{ - $('#search_top_page-wrapper #edit-submit').removeAttr('disabled'); - } - - - var prec = ""; - if(jQuery.trim(queryBox).length > 2){ - if($('#SuggestPopupBox').length == 0){ - $('#search_top_page-wrapper').append('
'); - // pour le stockage de la requete precedente - $('#search_top_page-wrapper').append(''); - }else{ - $('#SuggestPopupBox').css("display", 'block'); - prec = $('#SuggestPrecBox').text(); - } - //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete - - if ($('#SuggestPopupBox ul li').length < 2 && prec !="" && queryBox.indexOf(prec) == 0){ - - var suj = $('#SuggestPopupBox ul li').text(); - // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone - if ( prec == "" || suj=="" || suj.indexOf(queryBox) !=0 ){ - $('#SuggestPopupBox').css("display", 'none'); - } - } else { - $('#SuggestPrecBox').text(queryBox); - // récupère le resultat de la sujestion - - $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryBox,function(data){ - // s'il y a des sujestions on les traites puis affiche - if(data[1].length > 0){ - $('#SuggestPopupBox').text(""); - var liste =""; - $.each(data[1], function(i, item) { - liste += "
  • "+item+"
  • "; - }); - $('#SuggestPopupBox').append("
      "+liste+"
    "); - // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche - - $('#SuggestPopupBox ul li').click(function(){ - var reponse = $(this).text(); - $('#search_top_page').val(reponse); - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - }); - - }else{ - // sinon on masque le champ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - } - }); - } - $('#SuggestPrecBox').text(queryBox); - }else{ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - - } - } - }); -/* fin traitement de la sujestion sur le bloc de recherche */ -$('#search_top_page').keypress(function(e){ - - if($('#SuggestPopupBox').text()!=''){ - switch(e.keyCode){ - //down - case 40: - if(as_pos<$('#SuggestPopupBox ul li').length){ - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); - as_pos++; - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); - var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); - $('#search_top_page').val(donne); - } - break; - //up - case 38: - if(as_pos>0){ - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); - as_pos--; - $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); - var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); - $('#search_top_page').val(donne); - } - break; - } - - } -}); -// -$('body').click(function(){ - $('#SuggestPopupBox').text(""); - $('#SuggestPopupBox').css("display", 'none'); - $('#SuggestPrecBox').text(""); - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - as_pos = 0; - as_pos2 = 0; -}); - - -$('#edit-keys').keypress(function(e){ - - if($('#SuggestPopupPage').text()!=''){ - switch(e.keyCode){ - case 40: - if(as_pos2<$('#SuggestPopupPage ul li').length){ - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); - as_pos2++; - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); -var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); - $('#edit-keys').val(donne); - } - break; - case 38: - if(as_pos2>0){ - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); - as_pos2--; - $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); -var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); - $('#edit-keys').val(donne); - } - break; - } - } -}); - - -/* traitement de la sujestion sur la page de recherche */ - $('#edit-keys').keyup(function(e){ - if(e.keyCode>=48 || e.keyCode == 8){ - var queryPage = $('#edit-keys').val(); - var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); - - // active le bouton de recherche en fonction de la pressence de mot clé - if(expression.test(queryPage)){ - $('#submit_resultat_page').attr('disabled', 'disabled'); - }else{ - $('#submit_resultat_page').removeAttr('disabled'); - - } - - var precPage = ""; - if(jQuery.trim(queryPage).length > 2){ - if($('#SuggestPopupPage').length == 0){ - $('#edit-keys-wrapper').append('
    '); - // pour le stockage de la requete precedente - $('#edit-keys-wrapper').append(''); - }else{ - $('#SuggestPopupPage').css("display", 'block'); - precPage = $('#SuggestPrecPage').text(); - } - //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete - if ($('#SuggestPopupPage ul li').length < 2 && precPage !="" && queryPage.indexOf(precPage) == 0){ - - var sujPage = $('#SuggestPopupPage ul li').text(); - // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone - if ( precPage == "" || sujPage =="" || suj.indexOf(queryPage) !=0 ){ - $('#SuggestPopupPage').css("display", 'none'); - } - } else { - $('#SuggestPrecPage').text(queryPage); - // récupère le resultat de la sujestion - $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryPage,function(data){ - // s'il y a des sujestions on les traites puis affiche - if(data[1].length > 0){ - $('#SuggestPopupPage').text(""); - var liste =""; - $.each(data[1], function(i, item) { - liste += "
  • "+item+"
  • "; - }); - $('#SuggestPopupPage').append("
      "+liste+"
    "); - // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche - $('#SuggestPopupPage ul li').click(function(){ - var reponse = $(this).text(); - $('#edit-keys').val(reponse); - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - }); - - }else{ - // sinon on masque le champ - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - } - }); - } - $('#SuggestPrecPage').text(queryPage); - }else{ - $('#SuggestPopupPage').text(""); - $('#SuggestPopupPage').css("display", 'none'); - $('#SuggestPrecPage').text(""); - } -} - }); - -/* fin traitement de la sujestion sur la page de recherche */ - - - // surligner les résultats - var key = $('#edit-keys').val(); - if (!key) { - return; - } - var tableau = key.split(' '); - var key2 = ''; - for (var i=0;i=3){ - key2 += tableau[i] + ' '; - } - } - var options = {exact:"exact",style_name_suffix:false,style_name:"tagged",keys:key2}; - jQuery(document).SearchHighlight(options); - -}; - - - +// integration du suggest (module antidot) +Drupal.behaviors.fc_antidot_recherche = function (){ + + // recupère l'adresse du proxy + var urlP = Drupal.settings.adresseProxy; +var as_pos = 0; +var as_pos2 = 0; + /** + * traitement de la sujestion sur le bloc de recherche + * pour économiser des appels à antidot + * la requete est lancée si l'utilisateur saisi plus de 3 lettres + * elle n'est pas lancée si : + * la dernière requete a retourné 0 ou un resultat et que le mot actuel est semblable au mot précedent+1car + */ + var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); + + // + $('#search_top_page').keyup(function(e){ + if(e.keyCode>=48 || e.keyCode == 8){ + var queryBox = $('#search_top_page').val(); + // active le bouton de recherche en fonction de la pressence de mot clé + if(expression.test(queryBox)){ + $('#search_top_page-wrapper #edit-submit').attr('disabled', 'disabled'); + }else{ + $('#search_top_page-wrapper #edit-submit').removeAttr('disabled'); + } + + + var prec = ""; + if(jQuery.trim(queryBox).length > 2){ + if($('#SuggestPopupBox').length == 0){ + $('#search_top_page-wrapper').append('
    '); + // pour le stockage de la requete precedente + $('#search_top_page-wrapper').append(''); + }else{ + $('#SuggestPopupBox').css("display", 'block'); + prec = $('#SuggestPrecBox').text(); + } + //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete + + if ($('#SuggestPopupBox ul li').length < 2 && prec !="" && queryBox.indexOf(prec) == 0){ + + var suj = $('#SuggestPopupBox ul li').text(); + // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone + if ( prec == "" || suj=="" || suj.indexOf(queryBox) !=0 ){ + $('#SuggestPopupBox').css("display", 'none'); + } + } else { + $('#SuggestPrecBox').text(queryBox); + // récupère le resultat de la sujestion + + $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryBox,function(data){ + // s'il y a des sujestions on les traites puis affiche + if(data[1].length > 0){ + $('#SuggestPopupBox').text(""); + var liste =""; + $.each(data[1], function(i, item) { + liste += "
  • "+item+"
  • "; + }); + $('#SuggestPopupBox').append("
      "+liste+"
    "); + // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche + + $('#SuggestPopupBox ul li').click(function(){ + var reponse = $(this).text(); + $('#search_top_page').val(reponse); + $('#SuggestPopupBox').text(""); + $('#SuggestPopupBox').css("display", 'none'); + $('#SuggestPrecBox').text(""); + }); + + }else{ + // sinon on masque le champ + $('#SuggestPopupBox').text(""); + $('#SuggestPopupBox').css("display", 'none'); + } + }); + } + $('#SuggestPrecBox').text(queryBox); + }else{ + $('#SuggestPopupBox').text(""); + $('#SuggestPopupBox').css("display", 'none'); + $('#SuggestPrecBox').text(""); + + } + } + }); +/* fin traitement de la sujestion sur le bloc de recherche */ +$('#search_top_page').keypress(function(e){ + + if($('#SuggestPopupBox').text()!=''){ + switch(e.keyCode){ + //down + case 40: + if(as_pos<$('#SuggestPopupBox ul li').length){ + $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); + as_pos++; + $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); + var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); + $('#search_top_page').val(donne); + } + break; + //up + case 38: + if(as_pos>0){ + $('#SuggestPopupBox ul li:nth-child('+as_pos+')').removeClass('active'); + as_pos--; + $('#SuggestPopupBox ul li:nth-child('+as_pos+')').addClass('active'); + var donne = $('#SuggestPopupBox ul li:nth-child('+as_pos+')').text(); + $('#search_top_page').val(donne); + } + break; + } + + } +}); +// +$('body').click(function(){ + $('#SuggestPopupBox').text(""); + $('#SuggestPopupBox').css("display", 'none'); + $('#SuggestPrecBox').text(""); + $('#SuggestPopupPage').text(""); + $('#SuggestPopupPage').css("display", 'none'); + $('#SuggestPrecPage').text(""); + as_pos = 0; + as_pos2 = 0; +}); + + +$('#edit-keys').keypress(function(e){ + + if($('#SuggestPopupPage').text()!=''){ + switch(e.keyCode){ + case 40: + if(as_pos2<$('#SuggestPopupPage ul li').length){ + $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); + as_pos2++; + $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); +var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); + $('#edit-keys').val(donne); + } + break; + case 38: + if(as_pos2>0){ + $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').removeClass('active'); + as_pos2--; + $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').addClass('active'); +var donne = $('#SuggestPopupPage ul li:nth-child('+as_pos2+')').text(); + $('#edit-keys').val(donne); + } + break; + } + } +}); + + +/* traitement de la sujestion sur la page de recherche */ + $('#edit-keys').keyup(function(e){ + if(e.keyCode>=48 || e.keyCode == 8){ + var queryPage = $('#edit-keys').val(); + var expression = new RegExp("^[\\s!&\"'(\\-\\_)=$^\*!:;,~~#{\\[\\|`\\\\^@\\]}¤£µ%§/.?<>\\+]*$", "g"); + + // active le bouton de recherche en fonction de la pressence de mot clé + if(expression.test(queryPage)){ + $('#submit_resultat_page').attr('disabled', 'disabled'); + }else{ + $('#submit_resultat_page').removeAttr('disabled'); + + } + + var precPage = ""; + if(jQuery.trim(queryPage).length > 2){ + if($('#SuggestPopupPage').length == 0){ + $('#edit-keys-wrapper').append('
    '); + // pour le stockage de la requete precedente + $('#edit-keys-wrapper').append(''); + }else{ + $('#SuggestPopupPage').css("display", 'block'); + precPage = $('#SuggestPrecPage').text(); + } + //si la recerche précédente avait la même racine et moins de 2 reponses on ne lance pas la requete + if ($('#SuggestPopupPage ul li').length < 2 && precPage !="" && queryPage.indexOf(precPage) == 0){ + + var sujPage = $('#SuggestPopupPage ul li').text(); + // si la sugestion est vide ou si elle n'est pas conforme au mot on cache la zone + if ( precPage == "" || sujPage =="" || suj.indexOf(queryPage) !=0 ){ + $('#SuggestPopupPage').css("display", 'none'); + } + } else { + $('#SuggestPrecPage').text(queryPage); + // récupère le resultat de la sujestion + $.getJSON(urlP+"?afs:service=254&afs:feed=chaineC&afs:query="+queryPage,function(data){ + // s'il y a des sujestions on les traites puis affiche + if(data[1].length > 0){ + $('#SuggestPopupPage').text(""); + var liste =""; + $.each(data[1], function(i, item) { + liste += "
  • "+item+"
  • "; + }); + $('#SuggestPopupPage').append("
      "+liste+"
    "); + // place dans la barre de recherche au clic sur une suj et reinitialise le bloc de recherche + $('#SuggestPopupPage ul li').click(function(){ + var reponse = $(this).text(); + $('#edit-keys').val(reponse); + $('#SuggestPopupPage').text(""); + $('#SuggestPopupPage').css("display", 'none'); + $('#SuggestPrecPage').text(""); + }); + + }else{ + // sinon on masque le champ + $('#SuggestPopupPage').text(""); + $('#SuggestPopupPage').css("display", 'none'); + } + }); + } + $('#SuggestPrecPage').text(queryPage); + }else{ + $('#SuggestPopupPage').text(""); + $('#SuggestPopupPage').css("display", 'none'); + $('#SuggestPrecPage').text(""); + } +} + }); + +/* fin traitement de la sujestion sur la page de recherche */ + + + // surligner les résultats + var key = $('#edit-keys').val(); + if (!key) { + return; + } + var tableau = key.split(' '); + var key2 = ''; + for (var i=0;i=3){ + key2 += tableau[i] + ' '; + } + } + var options = {exact:"exact",style_name_suffix:false,style_name:"tagged",keys:key2}; + jQuery(document).SearchHighlight(options); + +}; + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/fc_bloc_direct.js --- a/web/res/metadataplayer/test/emission_fichiers/fc_bloc_direct.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/fc_bloc_direct.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,24 +1,24 @@ -Drupal.behaviors.fcBlocDirect = function(context) { - // Set up interval - if (context == document && typeof(Drupal.settings.rf_bloc_suppress) == 'undefined') { // Only one is enough - var fcBlocDirectUpdateInterval = setInterval('fcBlocDirectUpdate()', Drupal.settings.fc_bloc_direct.interval); - if (Drupal.settings.fc_bloc_direct.refresh_on_load === 1) { - fcBlocDirectUpdate(); - }; - }; -}; - -// Interval callback -function fcBlocDirectUpdate() { - var url = Drupal.settings.basePath + 'fc_bloc_direct/refresh'; - $.ajax({ - method: 'get', - url : url, - dataType : 'json', - error: function(xhr) { - // Do nothing in production mode - // Drupal.CTools.AJAX.handleErrors(xhr, url); - }, - success: Drupal.CTools.AJAX.respond - }); -}; +Drupal.behaviors.fcBlocDirect = function(context) { + // Set up interval + if (context == document && typeof(Drupal.settings.rf_bloc_suppress) == 'undefined') { // Only one is enough + var fcBlocDirectUpdateInterval = setInterval('fcBlocDirectUpdate()', Drupal.settings.fc_bloc_direct.interval); + if (Drupal.settings.fc_bloc_direct.refresh_on_load === 1) { + fcBlocDirectUpdate(); + }; + }; +}; + +// Interval callback +function fcBlocDirectUpdate() { + var url = Drupal.settings.basePath + 'fc_bloc_direct/refresh'; + $.ajax({ + method: 'get', + url : url, + dataType : 'json', + error: function(xhr) { + // Do nothing in production mode + // Drupal.CTools.AJAX.handleErrors(xhr, url); + }, + success: Drupal.CTools.AJAX.respond + }); +}; diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/fc_widget_twitter.js --- a/web/res/metadataplayer/test/emission_fichiers/fc_widget_twitter.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/fc_widget_twitter.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,39 +1,39 @@ -function twitterCallback2(twitters) { - var statusHTML = []; - var username = ""; - for (var i=0; i]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { - return ''+url+''; - }).replace(/\B@([_a-z0-9]+)/ig, function(reply) { - return reply.charAt(0)+''+reply.substring(1)+''; - }); - statusHTML.push('
  • '+status+''+relative_time(twitters[i].created_at)+'
  • '); - } - document.getElementById('twitter_update_list_'+username).innerHTML = statusHTML.join(''); -} - -function relative_time(time_value) { - var values = time_value.split(" "); - time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; - var parsed_date = Date.parse(time_value); - var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); - var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); - delta = delta + (relative_to.getTimezoneOffset() * 60); - - if (delta < 60) { - return " il y a moins d'une minute"; - } else if(delta < 120) { - return ' il y a une minute'; - } else if(delta < (60*60)) { - return ' il y a '+(parseInt(delta / 60)).toString() + ' minutes '; - } else if(delta < (120*60)) { - return ' il y a une heure'; - } else if(delta < (24*60*60)) { - return ' il y a ' + (parseInt(delta / 3600)).toString() + ' heures'; - } else if(delta < (48*60*60)) { - return ' il y a un jour'; - } else { - return ' il y a '+(parseInt(delta / 86400)).toString() + ' jours'; - } +function twitterCallback2(twitters) { + var statusHTML = []; + var username = ""; + for (var i=0; i]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) { + return ''+url+''; + }).replace(/\B@([_a-z0-9]+)/ig, function(reply) { + return reply.charAt(0)+''+reply.substring(1)+''; + }); + statusHTML.push('
  • '+status+''+relative_time(twitters[i].created_at)+'
  • '); + } + document.getElementById('twitter_update_list_'+username).innerHTML = statusHTML.join(''); +} + +function relative_time(time_value) { + var values = time_value.split(" "); + time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; + var parsed_date = Date.parse(time_value); + var relative_to = (arguments.length > 1) ? arguments[1] : new Date(); + var delta = parseInt((relative_to.getTime() - parsed_date) / 1000); + delta = delta + (relative_to.getTimezoneOffset() * 60); + + if (delta < 60) { + return " il y a moins d'une minute"; + } else if(delta < 120) { + return ' il y a une minute'; + } else if(delta < (60*60)) { + return ' il y a '+(parseInt(delta / 60)).toString() + ' minutes '; + } else if(delta < (120*60)) { + return ' il y a une heure'; + } else if(delta < (24*60*60)) { + return ' il y a ' + (parseInt(delta / 3600)).toString() + ' heures'; + } else if(delta < (48*60*60)) { + return ' il y a un jour'; + } else { + return ' il y a '+(parseInt(delta / 86400)).toString() + ' jours'; + } } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/fivestar.js --- a/web/res/metadataplayer/test/emission_fichiers/fivestar.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/fivestar.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,394 +1,394 @@ -/** - * Modified Star Rating - jQuery plugin - * - * Copyright (c) 2006 Wil Stuckey - * - * Original source available: http://sandbox.wilstuckey.com/jquery-ratings/ - * Extensively modified by Lullabot: http://www.lullabot.com - * - * Dual licensed under the MIT and GPL licenses: - * http://www.opensource.org/licenses/mit-license.php - * http://www.gnu.org/licenses/gpl.html - */ - -/** - * Create a degradeable star rating interface out of a simple form structure. - * Returns a modified jQuery object containing the new interface. - * - * @example jQuery('form.rating').fivestar(); - * @cat plugin - * @type jQuery - * - */ -(function($){ // Create local scope. - /** - * Takes the form element, builds the rating interface and attaches the proper events. - * @param {Object} $obj - */ - var buildRating = function($obj){ - var $widget = buildInterface($obj), - $stars = $('.star', $widget), - $cancel = $('.cancel', $widget), - $summary = $('.fivestar-summary', $obj), - feedbackTimerId = 0, - summaryText = $summary.html(), - summaryHover = $obj.is('.fivestar-labels-hover'), - currentValue = $("select", $obj).val(), - cancelTitle = $('label', $obj).html(), - voteTitle = cancelTitle != Drupal.settings.fivestar.titleAverage ? cancelTitle : Drupal.settings.fivestar.titleUser, - voteChanged = false; - - // Record star display. - if ($obj.is('.fivestar-user-stars')) { - var starDisplay = 'user'; - } - else if ($obj.is('.fivestar-average-stars')) { - var starDisplay = 'average'; - currentValue = $("input[name=vote_average]", $obj).val(); - } - else if ($obj.is('.fivestar-combo-stars')) { - var starDisplay = 'combo'; - } - else { - var starDisplay = 'none'; - } - - // Smart is intentionally separate, so the average will be set if necessary. - if ($obj.is('.fivestar-smart-stars')) { - var starDisplay = 'smart'; - } - - // Record text display. - if ($summary.size()) { - var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - else { - var textDisplay = 'none'; - } - - // Add hover and focus events. - $stars - .mouseover(function(){ - event.drain(); - event.fill(this); - }) - .mouseout(function(){ - event.drain(); - event.reset(); - }); - $stars.children() - .focus(function(){ - event.drain(); - event.fill(this.parentNode) - }) - .blur(function(){ - event.drain(); - event.reset(); - }).end(); - - // Cancel button events. - $cancel - .mouseover(function(){ - event.drain(); - $(this).addClass('on') - }) - .mouseout(function(){ - event.reset(); - $(this).removeClass('on') - }); - $cancel.children() - .focus(function(){ - event.drain(); - $(this.parentNode).addClass('on') - }) - .blur(function(){ - event.reset(); - $(this.parentNode).removeClass('on') - }).end(); - - // Click events. - $cancel.click(function(){ - currentValue = 0; - event.reset(); - voteChanged = false; - // Inform a user that his vote is being processed - if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { - setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote); - } - // Save the currentValue in a hidden field. - $("select", $obj).val(0); - // Update the title. - cancelTitle = starDisplay != 'smart' ? cancelTitle : Drupal.settings.fivestar.titleAverage; - $('label', $obj).html(cancelTitle); - // Update the smart classes on the widget if needed. - if ($obj.is('.fivestar-smart-text')) { - $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text'); - $summary[0].className = $summary[0].className.replace(/-user/, '-average'); - textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - if ($obj.is('.fivestar-smart-stars')) { - $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars'); - } - // Submit the form if needed. - $("input.fivestar-path", $obj).each(function() { - var token = $("input.fivestar-token", $obj).val(); - $.ajax({ - type: 'GET', - data: { token: token }, - dataType: 'xml', - url: this.value + '/' + 0, - success: voteHook - }); - }); - return false; - }); - $stars.click(function(){ - currentValue = $('select option', $obj).get($stars.index(this) + $cancel.size() + 1).value; - // Save the currentValue to the hidden select field. - $("select", $obj).val(currentValue); - // Update the display of the stars. - voteChanged = true; - event.reset(); - // Inform a user that his vote is being processed. - if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { - setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote); - } - // Update the smart classes on the widget if needed. - if ($obj.is('.fivestar-smart-text')) { - $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text'); - $summary[0].className = $summary[0].className.replace(/-average/, '-user'); - textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - } - if ($obj.is('.fivestar-smart-stars')) { - $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars'); - } - // Submit the form if needed. - $("input.fivestar-path", $obj).each(function () { - var token = $("input.fivestar-token", $obj).val(); - $.ajax({ - type: 'GET', - data: { token: token }, - dataType: 'xml', - url: this.value + '/' + currentValue, - success: voteHook - }); - }); - return false; - }); - - var event = { - fill: function(el){ - // Fill to the current mouse position. - var index = $stars.index(el) + 1; - $stars - .children('a').css('width', '100%').end() - .filter(':lt(' + index + ')').addClass('hover').end(); - // Update the description text and label. - if (summaryHover && !feedbackTimerId) { - var summary = $("select option", $obj)[index + $cancel.size()].text; - var value = $("select option", $obj)[index + $cancel.size()].value; - $summary.html(summary != index + 1 ? summary : ' '); - $('label', $obj).html(voteTitle); - } - }, - drain: function() { - // Drain all the stars. - $stars - .filter('.on').removeClass('on').end() - .filter('.hover').removeClass('hover').end(); - // Update the description text. - if (summaryHover && !feedbackTimerId) { - var cancelText = $("select option", $obj)[1].text; - $summary.html(($cancel.size() && cancelText != 0) ? cancelText : ' '); - if (!voteChanged) { - $('label', $obj).html(cancelTitle); - } - } - }, - reset: function(){ - // Reset the stars to the default index. - var starValue = currentValue/100 * $stars.size(); - var percent = (starValue - Math.floor(starValue)) * 100; - $stars.filter(':lt(' + Math.floor(starValue) + ')').addClass('on').end(); - if (percent > 0) { - $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width', percent + "%").end().end(); - } - // Restore the summary text and original title. - if (summaryHover && !feedbackTimerId) { - $summary.html(summaryText ? summaryText : ' '); - } - if (voteChanged) { - $('label', $obj).html(voteTitle); - } - else { - $('label', $obj).html(cancelTitle); - } - } - }; - - var setFeedbackText = function(text) { - // Kill previous timer if it isn't finished yet so that the text we - // are about to set will not get cleared too early. - feedbackTimerId = 1; - $summary.html(text); - }; - - /** - * Checks for the presence of a javascript hook 'fivestarResult' to be - * called upon completion of a AJAX vote request. - */ - var voteHook = function(data) { - var returnObj = { - result: { - count: $("result > count", data).text(), - average: $("result > average", data).text(), - summary: { - average: $("summary average", data).text(), - average_count: $("summary average_count", data).text(), - user: $("summary user", data).text(), - user_count: $("summary user_count", data).text(), - combo: $("summary combo", data).text(), - count: $("summary count", data).text() - } - }, - vote: { - id: $("vote id", data).text(), - tag: $("vote tag", data).text(), - type: $("vote type", data).text(), - value: $("vote value", data).text() - }, - display: { - stars: starDisplay, - text: textDisplay - } - }; - // Check for a custom callback. - if (window.fivestarResult) { - fivestarResult(returnObj); - } - // Use the default. - else { - fivestarDefaultResult(returnObj); - } - // Update the summary text. - summaryText = returnObj.result.summary[returnObj.display.text]; - if ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) { - // Inform user that his/her vote has been processed. - if (returnObj.vote.value != 0) { // check if vote has been saved or deleted - setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved); - } - else { - setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted); - } - // Setup a timer to clear the feedback text after 3 seconds. - feedbackTimerId = setTimeout(function() { clearTimeout(feedbackTimerId); feedbackTimerId = 0; $summary.html(returnObj.result.summary[returnObj.display.text]); }, 2000); - } - // Update the current star currentValue to the previous average. - if (returnObj.vote.value == 0 && (starDisplay == 'average' || starDisplay == 'smart')) { - currentValue = returnObj.result.average; - event.reset(); - } - }; - - event.reset(); - return $widget; - }; - - /** - * Accepts jQuery object containing a single fivestar widget. - * Returns the proper div structure for the star interface. - * - * @return jQuery - * @param {Object} $widget - * - */ - var buildInterface = function($widget){ - var $container = $('
    '); - var $options = $("select option", $widget); - var size = $('option', $widget).size() - 1; - var cancel = 1; - for (var i = 1, option; option = $options[i]; i++){ - if (option.value == "0") { - cancel = 0; - $div = $(''); - } - else { - var zebra = (i + cancel - 1) % 2 == 0 ? 'even' : 'odd'; - var count = i + cancel - 1; - var first = count == 1 ? ' star-first' : ''; - var last = count == size + cancel - 1 ? ' star-last' : ''; - $div = $(''); - } - $container.append($div[0]); - } - $container.addClass('fivestar-widget-' + (size + cancel - 1)); - // Attach the new widget and hide the existing widget. - $('select', $widget).after($container).css('display', 'none'); - return $container; - }; - - /** - * Standard handler to update the average rating when a user changes their - * vote. This behavior can be overridden by implementing a fivestarResult - * function in your own module or theme. - * @param object voteResult - * Object containing the following properties from the vote result: - * voteResult.result.count The current number of votes for this item. - * voteResult.result.average The current average of all votes for this item. - * voteResult.result.summary.average The textual description of the average. - * voteResult.result.summary.user The textual description of the user's current vote. - * voteResult.vote.id The id of the item the vote was placed on (such as the nid) - * voteResult.vote.type The type of the item the vote was placed on (such as 'node') - * voteResult.vote.tag The multi-axis tag the vote was placed on (such as 'vote') - * voteResult.vote.average The average of the new vote saved - * voteResult.display.stars The type of star display we're using. Either 'average', 'user', or 'combo'. - * voteResult.display.text The type of text display we're using. Either 'average', 'user', or 'combo'. - */ - function fivestarDefaultResult(voteResult) { - // Update the summary text. - $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]); - // If this is a combo display, update the average star display. - if (voteResult.display.stars == 'combo') { - $('div.fivestar-form-'+voteResult.vote.id).each(function() { - // Update stars. - var $stars = $('.fivestar-widget-static .star span', this); - var average = voteResult.result.average/100 * $stars.size(); - var index = Math.floor(average); - $stars.removeClass('on').addClass('off').css('width', 'auto'); - $stars.filter(':lt(' + (index + 1) + ')').removeClass('off').addClass('on'); - $stars.eq(index).css('width', ((average - index) * 100) + "%"); - // Update summary. - var $summary = $('.fivestar-static-form-item .fivestar-summary', this); - if ($summary.size()) { - var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); - $summary.html(voteResult.result.summary[textDisplay]); - } - }); - } - }; - - /** - * Set up the plugin - */ - $.fn.fivestar = function() { - var stack = []; - this.each(function() { - var ret = buildRating($(this)); - stack.push(ret); - }); - return stack; - }; - - // Fix ie6 background flicker problem. - if ($.browser.msie == true) { - try { - document.execCommand('BackgroundImageCache', false, true); - } catch(err) {} - } - - Drupal.behaviors.fivestar = function(context) { - $('div.fivestar-form-item:not(.fivestar-processed)', context).addClass('fivestar-processed').fivestar(); - $('input.fivestar-submit', context).css('display', 'none'); - } - +/** + * Modified Star Rating - jQuery plugin + * + * Copyright (c) 2006 Wil Stuckey + * + * Original source available: http://sandbox.wilstuckey.com/jquery-ratings/ + * Extensively modified by Lullabot: http://www.lullabot.com + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +/** + * Create a degradeable star rating interface out of a simple form structure. + * Returns a modified jQuery object containing the new interface. + * + * @example jQuery('form.rating').fivestar(); + * @cat plugin + * @type jQuery + * + */ +(function($){ // Create local scope. + /** + * Takes the form element, builds the rating interface and attaches the proper events. + * @param {Object} $obj + */ + var buildRating = function($obj){ + var $widget = buildInterface($obj), + $stars = $('.star', $widget), + $cancel = $('.cancel', $widget), + $summary = $('.fivestar-summary', $obj), + feedbackTimerId = 0, + summaryText = $summary.html(), + summaryHover = $obj.is('.fivestar-labels-hover'), + currentValue = $("select", $obj).val(), + cancelTitle = $('label', $obj).html(), + voteTitle = cancelTitle != Drupal.settings.fivestar.titleAverage ? cancelTitle : Drupal.settings.fivestar.titleUser, + voteChanged = false; + + // Record star display. + if ($obj.is('.fivestar-user-stars')) { + var starDisplay = 'user'; + } + else if ($obj.is('.fivestar-average-stars')) { + var starDisplay = 'average'; + currentValue = $("input[name=vote_average]", $obj).val(); + } + else if ($obj.is('.fivestar-combo-stars')) { + var starDisplay = 'combo'; + } + else { + var starDisplay = 'none'; + } + + // Smart is intentionally separate, so the average will be set if necessary. + if ($obj.is('.fivestar-smart-stars')) { + var starDisplay = 'smart'; + } + + // Record text display. + if ($summary.size()) { + var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); + } + else { + var textDisplay = 'none'; + } + + // Add hover and focus events. + $stars + .mouseover(function(){ + event.drain(); + event.fill(this); + }) + .mouseout(function(){ + event.drain(); + event.reset(); + }); + $stars.children() + .focus(function(){ + event.drain(); + event.fill(this.parentNode) + }) + .blur(function(){ + event.drain(); + event.reset(); + }).end(); + + // Cancel button events. + $cancel + .mouseover(function(){ + event.drain(); + $(this).addClass('on') + }) + .mouseout(function(){ + event.reset(); + $(this).removeClass('on') + }); + $cancel.children() + .focus(function(){ + event.drain(); + $(this.parentNode).addClass('on') + }) + .blur(function(){ + event.reset(); + $(this.parentNode).removeClass('on') + }).end(); + + // Click events. + $cancel.click(function(){ + currentValue = 0; + event.reset(); + voteChanged = false; + // Inform a user that his vote is being processed + if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { + setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote); + } + // Save the currentValue in a hidden field. + $("select", $obj).val(0); + // Update the title. + cancelTitle = starDisplay != 'smart' ? cancelTitle : Drupal.settings.fivestar.titleAverage; + $('label', $obj).html(cancelTitle); + // Update the smart classes on the widget if needed. + if ($obj.is('.fivestar-smart-text')) { + $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text'); + $summary[0].className = $summary[0].className.replace(/-user/, '-average'); + textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); + } + if ($obj.is('.fivestar-smart-stars')) { + $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars'); + } + // Submit the form if needed. + $("input.fivestar-path", $obj).each(function() { + var token = $("input.fivestar-token", $obj).val(); + $.ajax({ + type: 'GET', + data: { token: token }, + dataType: 'xml', + url: this.value + '/' + 0, + success: voteHook + }); + }); + return false; + }); + $stars.click(function(){ + currentValue = $('select option', $obj).get($stars.index(this) + $cancel.size() + 1).value; + // Save the currentValue to the hidden select field. + $("select", $obj).val(currentValue); + // Update the display of the stars. + voteChanged = true; + event.reset(); + // Inform a user that his vote is being processed. + if ($("input.fivestar-path", $obj).size() && $summary.is('.fivestar-feedback-enabled')) { + setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote); + } + // Update the smart classes on the widget if needed. + if ($obj.is('.fivestar-smart-text')) { + $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text'); + $summary[0].className = $summary[0].className.replace(/-average/, '-user'); + textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); + } + if ($obj.is('.fivestar-smart-stars')) { + $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars'); + } + // Submit the form if needed. + $("input.fivestar-path", $obj).each(function () { + var token = $("input.fivestar-token", $obj).val(); + $.ajax({ + type: 'GET', + data: { token: token }, + dataType: 'xml', + url: this.value + '/' + currentValue, + success: voteHook + }); + }); + return false; + }); + + var event = { + fill: function(el){ + // Fill to the current mouse position. + var index = $stars.index(el) + 1; + $stars + .children('a').css('width', '100%').end() + .filter(':lt(' + index + ')').addClass('hover').end(); + // Update the description text and label. + if (summaryHover && !feedbackTimerId) { + var summary = $("select option", $obj)[index + $cancel.size()].text; + var value = $("select option", $obj)[index + $cancel.size()].value; + $summary.html(summary != index + 1 ? summary : ' '); + $('label', $obj).html(voteTitle); + } + }, + drain: function() { + // Drain all the stars. + $stars + .filter('.on').removeClass('on').end() + .filter('.hover').removeClass('hover').end(); + // Update the description text. + if (summaryHover && !feedbackTimerId) { + var cancelText = $("select option", $obj)[1].text; + $summary.html(($cancel.size() && cancelText != 0) ? cancelText : ' '); + if (!voteChanged) { + $('label', $obj).html(cancelTitle); + } + } + }, + reset: function(){ + // Reset the stars to the default index. + var starValue = currentValue/100 * $stars.size(); + var percent = (starValue - Math.floor(starValue)) * 100; + $stars.filter(':lt(' + Math.floor(starValue) + ')').addClass('on').end(); + if (percent > 0) { + $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width', percent + "%").end().end(); + } + // Restore the summary text and original title. + if (summaryHover && !feedbackTimerId) { + $summary.html(summaryText ? summaryText : ' '); + } + if (voteChanged) { + $('label', $obj).html(voteTitle); + } + else { + $('label', $obj).html(cancelTitle); + } + } + }; + + var setFeedbackText = function(text) { + // Kill previous timer if it isn't finished yet so that the text we + // are about to set will not get cleared too early. + feedbackTimerId = 1; + $summary.html(text); + }; + + /** + * Checks for the presence of a javascript hook 'fivestarResult' to be + * called upon completion of a AJAX vote request. + */ + var voteHook = function(data) { + var returnObj = { + result: { + count: $("result > count", data).text(), + average: $("result > average", data).text(), + summary: { + average: $("summary average", data).text(), + average_count: $("summary average_count", data).text(), + user: $("summary user", data).text(), + user_count: $("summary user_count", data).text(), + combo: $("summary combo", data).text(), + count: $("summary count", data).text() + } + }, + vote: { + id: $("vote id", data).text(), + tag: $("vote tag", data).text(), + type: $("vote type", data).text(), + value: $("vote value", data).text() + }, + display: { + stars: starDisplay, + text: textDisplay + } + }; + // Check for a custom callback. + if (window.fivestarResult) { + fivestarResult(returnObj); + } + // Use the default. + else { + fivestarDefaultResult(returnObj); + } + // Update the summary text. + summaryText = returnObj.result.summary[returnObj.display.text]; + if ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) { + // Inform user that his/her vote has been processed. + if (returnObj.vote.value != 0) { // check if vote has been saved or deleted + setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved); + } + else { + setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted); + } + // Setup a timer to clear the feedback text after 3 seconds. + feedbackTimerId = setTimeout(function() { clearTimeout(feedbackTimerId); feedbackTimerId = 0; $summary.html(returnObj.result.summary[returnObj.display.text]); }, 2000); + } + // Update the current star currentValue to the previous average. + if (returnObj.vote.value == 0 && (starDisplay == 'average' || starDisplay == 'smart')) { + currentValue = returnObj.result.average; + event.reset(); + } + }; + + event.reset(); + return $widget; + }; + + /** + * Accepts jQuery object containing a single fivestar widget. + * Returns the proper div structure for the star interface. + * + * @return jQuery + * @param {Object} $widget + * + */ + var buildInterface = function($widget){ + var $container = $('
    '); + var $options = $("select option", $widget); + var size = $('option', $widget).size() - 1; + var cancel = 1; + for (var i = 1, option; option = $options[i]; i++){ + if (option.value == "0") { + cancel = 0; + $div = $(''); + } + else { + var zebra = (i + cancel - 1) % 2 == 0 ? 'even' : 'odd'; + var count = i + cancel - 1; + var first = count == 1 ? ' star-first' : ''; + var last = count == size + cancel - 1 ? ' star-last' : ''; + $div = $(''); + } + $container.append($div[0]); + } + $container.addClass('fivestar-widget-' + (size + cancel - 1)); + // Attach the new widget and hide the existing widget. + $('select', $widget).after($container).css('display', 'none'); + return $container; + }; + + /** + * Standard handler to update the average rating when a user changes their + * vote. This behavior can be overridden by implementing a fivestarResult + * function in your own module or theme. + * @param object voteResult + * Object containing the following properties from the vote result: + * voteResult.result.count The current number of votes for this item. + * voteResult.result.average The current average of all votes for this item. + * voteResult.result.summary.average The textual description of the average. + * voteResult.result.summary.user The textual description of the user's current vote. + * voteResult.vote.id The id of the item the vote was placed on (such as the nid) + * voteResult.vote.type The type of the item the vote was placed on (such as 'node') + * voteResult.vote.tag The multi-axis tag the vote was placed on (such as 'vote') + * voteResult.vote.average The average of the new vote saved + * voteResult.display.stars The type of star display we're using. Either 'average', 'user', or 'combo'. + * voteResult.display.text The type of text display we're using. Either 'average', 'user', or 'combo'. + */ + function fivestarDefaultResult(voteResult) { + // Update the summary text. + $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]); + // If this is a combo display, update the average star display. + if (voteResult.display.stars == 'combo') { + $('div.fivestar-form-'+voteResult.vote.id).each(function() { + // Update stars. + var $stars = $('.fivestar-widget-static .star span', this); + var average = voteResult.result.average/100 * $stars.size(); + var index = Math.floor(average); + $stars.removeClass('on').addClass('off').css('width', 'auto'); + $stars.filter(':lt(' + (index + 1) + ')').removeClass('off').addClass('on'); + $stars.eq(index).css('width', ((average - index) * 100) + "%"); + // Update summary. + var $summary = $('.fivestar-static-form-item .fivestar-summary', this); + if ($summary.size()) { + var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_'); + $summary.html(voteResult.result.summary[textDisplay]); + } + }); + } + }; + + /** + * Set up the plugin + */ + $.fn.fivestar = function() { + var stack = []; + this.each(function() { + var ret = buildRating($(this)); + stack.push(ret); + }); + return stack; + }; + + // Fix ie6 background flicker problem. + if ($.browser.msie == true) { + try { + document.execCommand('BackgroundImageCache', false, true); + } catch(err) {} + } + + Drupal.behaviors.fivestar = function(context) { + $('div.fivestar-form-item:not(.fivestar-processed)', context).addClass('fivestar-processed').fivestar(); + $('input.fivestar-submit', context).css('display', 'none'); + } + })(jQuery); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/footer.js --- a/web/res/metadataplayer/test/emission_fichiers/footer.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/footer.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,11 +1,11 @@ -function boutonHautDePage(){ - $("#top-page").click(function() { - var hauteur = 0; - $('html,body').animate({scrollTop: hauteur}, 1000); - }); - return false; -} -// -Drupal.behaviors.franceculture_header_footer = function (){ - boutonHautDePage(); -} +function boutonHautDePage(){ + $("#top-page").click(function() { + var hauteur = 0; + $('html,body').animate({scrollTop: hauteur}, 1000); + }); + return false; +} +// +Drupal.behaviors.franceculture_header_footer = function (){ + boutonHautDePage(); +} diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/high.js --- a/web/res/metadataplayer/test/emission_fichiers/high.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/high.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,1 +1,1 @@ -eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){17.2m.27=6(b){4 c=b.2g||1j.22;5(!c&&b.J==Y)x F;j.A=$.2a({E:"E",1h:\'21\',1b:1T},b);5(b.C)j.C.1O(b.C);4 q=b.J!=Y?b.J.K().X(/[\\s,\\+\\.]+/):j.V(c,j.C);5(q&&q.1y("")){j.1v(q);x F.G(6(){4 a=F;5(a==1j)a=$("P")[0];j.1n(a,q)})}1l x F};4 j={A:{},m:[],C:[[/^9:\\/\\/(k\\.)?23\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1X\\./i,/p=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1S\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1R\\./i,/1Q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1P\\./i,/1N=([^&]+)/i],[/^9:\\/\\/(k\\.)?1M\\.Z/i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1L\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1K\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1H\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1G\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1F\\.Z/i,/([^\\?\\/]+)(?:\\?.*)$/i]],N:{},V:6(b,c){b=1D(b);4 d=1A;$.G(c,6(i,n){5(n[0].1w(b)){4 a=b.v(n[1]);5(a){d=a[1].K();x 2k}}});5(d){d=d.Q(/(\\\'|")/,\'\\$1\');d=d.X(/[\\s,\\+\\.]+/)}x d},H:[[/[\\1r-\\1q\\1s-\\2c]/7,\'a\'],[/[\\1o\\29-\\1m]/7,\'c\'],[/[\\28-\\26]/7,\'e\'],[/[\\25-\\1i]/7,\'i\'],[/\\1g/7,\'n\'],[/[\\24-\\1f\\1t]/7,\'o\'],[/[\\1e-\\20]/7,\'s\'],[/[\\1Y-\\1c]/7,\'t\'],[/[\\1U-\\1a]/7,\'u\'],[/\\19/7,\'y\'],[/[\\16\\15\\14\\13]/7,\'\\\'\']],L:/[\\16\\15\\1r-\\1q\\1o-\\1i\\1g-\\1f\\1t-\\1a\\19\\1s-\\1m\\1e-\\1c\\14\\13]/7,M:6(q){j.L.11=0;5(j.L.1w(q)){12(4 i=0,l=j.H.z;i\'+g.1p(v.r,v[0].z)+"";r=v.r+v[0].z}5(h){h+=g.2e(r);4 i=$.2d([],$(""+h+"")[0].R);S+=i.z-1;e+=i.z-1;$(f).2l(i).2b()}}1l{5(f.O==1&&f.2n.B(j.W)==-1)j.T(f,b,c)}}}}}})(17)',62,148,'||||var|if|function|ig||http|||||||||||www||regex|||||index||||match||return||length|options|search|engines|elHighlight|exact|this|each|regexAccent|span|keys|toLowerCase|matchAccent|replaceAccent|subs|nodeType|body|replace|childNodes|endIndex|hiliteTree|noHighlight|decodeURL|nosearch|split|undefined|com|escapeRegEx|lastIndex|for|u2019|u2018|x92|x91|jQuery|case|xFF|xDC|style_name_suffix|u0167|highlight|u015A|xD6|xD1|style_name|xCF|document|whole|else|u010D|hiliteElement|xC7|substr|xC5|xC0|u0100|xD8|textNoAcc|buildReplaceTools|test|nohighlight|join|break|null|textarea|cript|decodeURIComponent|gi|technorati|alltheweb|lycos|switch|push|feedster|altavista|ask|userQuery|unshift|aol|query|live|msn|true|xD9|new|RegExp|yahoo|u0162|tyle|u0161|hilite|referrer|google|xD2|xCC|xCB|SearchHighlight|xC8|u0106|extend|remove|u0105|merge|substring|class|debug_referrer|exec|while|data|false|before|fn|nodeName'.split('|'),0,{})) +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){17.2m.27=6(b){4 c=b.2g||1j.22;5(!c&&b.J==Y)x F;j.A=$.2a({E:"E",1h:\'21\',1b:1T},b);5(b.C)j.C.1O(b.C);4 q=b.J!=Y?b.J.K().X(/[\\s,\\+\\.]+/):j.V(c,j.C);5(q&&q.1y("")){j.1v(q);x F.G(6(){4 a=F;5(a==1j)a=$("P")[0];j.1n(a,q)})}1l x F};4 j={A:{},m:[],C:[[/^9:\\/\\/(k\\.)?23\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1X\\./i,/p=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1S\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1R\\./i,/1Q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1P\\./i,/1N=([^&]+)/i],[/^9:\\/\\/(k\\.)?1M\\.Z/i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1L\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1K\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?B\\.1H\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1G\\./i,/q=([^&]+)/i],[/^9:\\/\\/(k\\.)?1F\\.Z/i,/([^\\?\\/]+)(?:\\?.*)$/i]],N:{},V:6(b,c){b=1D(b);4 d=1A;$.G(c,6(i,n){5(n[0].1w(b)){4 a=b.v(n[1]);5(a){d=a[1].K();x 2k}}});5(d){d=d.Q(/(\\\'|")/,\'\\$1\');d=d.X(/[\\s,\\+\\.]+/)}x d},H:[[/[\\1r-\\1q\\1s-\\2c]/7,\'a\'],[/[\\1o\\29-\\1m]/7,\'c\'],[/[\\28-\\26]/7,\'e\'],[/[\\25-\\1i]/7,\'i\'],[/\\1g/7,\'n\'],[/[\\24-\\1f\\1t]/7,\'o\'],[/[\\1e-\\20]/7,\'s\'],[/[\\1Y-\\1c]/7,\'t\'],[/[\\1U-\\1a]/7,\'u\'],[/\\19/7,\'y\'],[/[\\16\\15\\14\\13]/7,\'\\\'\']],L:/[\\16\\15\\1r-\\1q\\1o-\\1i\\1g-\\1f\\1t-\\1a\\19\\1s-\\1m\\1e-\\1c\\14\\13]/7,M:6(q){j.L.11=0;5(j.L.1w(q)){12(4 i=0,l=j.H.z;i\'+g.1p(v.r,v[0].z)+"";r=v.r+v[0].z}5(h){h+=g.2e(r);4 i=$.2d([],$(""+h+"")[0].R);S+=i.z-1;e+=i.z-1;$(f).2l(i).2b()}}1l{5(f.O==1&&f.2n.B(j.W)==-1)j.T(f,b,c)}}}}}})(17)',62,148,'||||var|if|function|ig||http|||||||||||www||regex|||||index||||match||return||length|options|search|engines|elHighlight|exact|this|each|regexAccent|span|keys|toLowerCase|matchAccent|replaceAccent|subs|nodeType|body|replace|childNodes|endIndex|hiliteTree|noHighlight|decodeURL|nosearch|split|undefined|com|escapeRegEx|lastIndex|for|u2019|u2018|x92|x91|jQuery|case|xFF|xDC|style_name_suffix|u0167|highlight|u015A|xD6|xD1|style_name|xCF|document|whole|else|u010D|hiliteElement|xC7|substr|xC5|xC0|u0100|xD8|textNoAcc|buildReplaceTools|test|nohighlight|join|break|null|textarea|cript|decodeURIComponent|gi|technorati|alltheweb|lycos|switch|push|feedster|altavista|ask|userQuery|unshift|aol|query|live|msn|true|xD9|new|RegExp|yahoo|u0162|tyle|u0161|hilite|referrer|google|xD2|xCC|xCB|SearchHighlight|xC8|u0106|extend|remove|u0105|merge|substring|class|debug_referrer|exec|while|data|false|before|fn|nodeName'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/jquery.js --- a/web/res/metadataplayer/test/emission_fichiers/jquery.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/jquery.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,147 +1,147 @@ -/** - * jQuery.timers - Timer abstractions for jQuery - * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) - * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). - * Date: 2009/02/08 - * - * @author Blair Mitchelmore - * @version 1.1.2 - * - **/ - -jQuery.fn.extend({ - everyTime: function(interval, label, fn, times, belay) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, times, belay); - }); - }, - oneTime: function(interval, label, fn) { - return this.each(function() { - jQuery.timer.add(this, interval, label, fn, 1); - }); - }, - stopTime: function(label, fn) { - return this.each(function() { - jQuery.timer.remove(this, label, fn); - }); - } -}); - -jQuery.event.special - -jQuery.extend({ - timer: { - global: [], - guid: 1, - dataKey: "jQuery.timer", - regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/, - powers: { - // Yeah this is major overkill... - 'ms': 1, - 'cs': 10, - 'ds': 100, - 's': 1000, - 'das': 10000, - 'hs': 100000, - 'ks': 1000000 - }, - timeParse: function(value) { - if (value == undefined || value == null) - return null; - var result = this.regex.exec(jQuery.trim(value.toString())); - if (result[2]) { - var num = parseFloat(result[1]); - var mult = this.powers[result[2]] || 1; - return num * mult; - } else { - return value; - } - }, - add: function(element, interval, label, fn, times, belay) { - var counter = 0; - - if (jQuery.isFunction(label)) { - if (!times) - times = fn; - fn = label; - label = interval; - } - - interval = jQuery.timer.timeParse(interval); - - if (typeof interval != 'number' || isNaN(interval) || interval <= 0) - return; - - if (times && times.constructor != Number) { - belay = !!times; - times = 0; - } - - times = times || 0; - belay = belay || false; - - var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {}); - - if (!timers[label]) - timers[label] = {}; - - fn.timerID = fn.timerID || this.guid++; - - var handler = function() { - if (belay && this.inProgress) - return; - this.inProgress = true; - if ((++counter > times && times !== 0) || fn.call(element, counter) === false) - jQuery.timer.remove(element, label, fn); - this.inProgress = false; - }; - - 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); - }); +/** + * jQuery.timers - Timer abstractions for jQuery + * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com) + * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/). + * Date: 2009/02/08 + * + * @author Blair Mitchelmore + * @version 1.1.2 + * + **/ + +jQuery.fn.extend({ + everyTime: function(interval, label, fn, times, belay) { + return this.each(function() { + jQuery.timer.add(this, interval, label, fn, times, belay); + }); + }, + oneTime: function(interval, label, fn) { + return this.each(function() { + jQuery.timer.add(this, interval, label, fn, 1); + }); + }, + stopTime: function(label, fn) { + return this.each(function() { + jQuery.timer.remove(this, label, fn); + }); + } +}); + +jQuery.event.special + +jQuery.extend({ + timer: { + global: [], + guid: 1, + dataKey: "jQuery.timer", + regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/, + powers: { + // Yeah this is major overkill... + 'ms': 1, + 'cs': 10, + 'ds': 100, + 's': 1000, + 'das': 10000, + 'hs': 100000, + 'ks': 1000000 + }, + timeParse: function(value) { + if (value == undefined || value == null) + return null; + var result = this.regex.exec(jQuery.trim(value.toString())); + if (result[2]) { + var num = parseFloat(result[1]); + var mult = this.powers[result[2]] || 1; + return num * mult; + } else { + return value; + } + }, + add: function(element, interval, label, fn, times, belay) { + var counter = 0; + + if (jQuery.isFunction(label)) { + if (!times) + times = fn; + fn = label; + label = interval; + } + + interval = jQuery.timer.timeParse(interval); + + if (typeof interval != 'number' || isNaN(interval) || interval <= 0) + return; + + if (times && times.constructor != Number) { + belay = !!times; + times = 0; + } + + times = times || 0; + belay = belay || false; + + var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {}); + + if (!timers[label]) + timers[label] = {}; + + fn.timerID = fn.timerID || this.guid++; + + var handler = function() { + if (belay && this.inProgress) + return; + this.inProgress = true; + if ((++counter > times && times !== 0) || fn.call(element, counter) === false) + jQuery.timer.remove(element, label, fn); + this.inProgress = false; + }; + + 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); + }); }); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/jquery_002.js --- a/web/res/metadataplayer/test/emission_fichiers/jquery_002.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/jquery_002.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,60 +1,60 @@ -/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net) - * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) - * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. - * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. - * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. - * - * Version: 3.0.2 - * - * Requires: 1.2.2+ - */ - -(function($) { - -var types = ['DOMMouseScroll', 'mousewheel']; - -$.event.special.mousewheel = { - setup: function() { - if ( this.addEventListener ) - for ( var i=types.length; i; ) - this.addEventListener( types[--i], handler, false ); - else - this.onmousewheel = handler; - }, - - teardown: function() { - if ( this.removeEventListener ) - for ( var i=types.length; i; ) - this.removeEventListener( types[--i], handler, false ); - else - this.onmousewheel = null; - } -}; - -$.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); - }, - - unmousewheel: function(fn) { - return this.unbind("mousewheel", fn); - } -}); - - -function handler(event) { - var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true; - - event = $.event.fix(event || window.event); - event.type = "mousewheel"; - - if ( event.wheelDelta ) delta = event.wheelDelta/120; - if ( event.detail ) delta = -event.detail/3; - - // Add events and delta to the front of the arguments - args.unshift(event, delta); - - return $.event.handle.apply(this, args); -} - +/*! Copyright (c) 2009 Brandon Aaron (http://brandonaaron.net) + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. + * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. + * + * Version: 3.0.2 + * + * Requires: 1.2.2+ + */ + +(function($) { + +var types = ['DOMMouseScroll', 'mousewheel']; + +$.event.special.mousewheel = { + setup: function() { + if ( this.addEventListener ) + for ( var i=types.length; i; ) + this.addEventListener( types[--i], handler, false ); + else + this.onmousewheel = handler; + }, + + teardown: function() { + if ( this.removeEventListener ) + for ( var i=types.length; i; ) + this.removeEventListener( types[--i], handler, false ); + else + this.onmousewheel = null; + } +}; + +$.fn.extend({ + mousewheel: function(fn) { + return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); + }, + + unmousewheel: function(fn) { + return this.unbind("mousewheel", fn); + } +}); + + +function handler(event) { + var args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true; + + event = $.event.fix(event || window.event); + event.type = "mousewheel"; + + if ( event.wheelDelta ) delta = event.wheelDelta/120; + if ( event.detail ) delta = -event.detail/3; + + // Add events and delta to the front of the arguments + args.unshift(event, delta); + + return $.event.handle.apply(this, args); +} + })(jQuery); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/jquery_003.js --- a/web/res/metadataplayer/test/emission_fichiers/jquery_003.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/jquery_003.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,457 +1,457 @@ -/** - * jquery.scrollable 1.0.2. Put your HTML scroll. - * - * Copyright (c) 2009 Tero Piirainen - * http://flowplayer.org/tools/scrollable.html - * - * Dual licensed under MIT and GPL 2+ licenses - * http://www.opensource.org/licenses - * - * Launch : March 2008 - * Version : 1.0.2 - Tue Feb 24 2009 10:52:08 GMT-0000 (GMT+00:00) - */ -(function($) { - - function fireEvent(opts, name, self, arg) { - var fn = opts[name]; - - if ($.isFunction(fn)) { - try { - return fn.call(self, arg); - - } catch (error) { - if (opts.alert) { - alert("Error calling scrollable." + name + ": " + error); - } else { - throw error; - } - return false; - } - } - return true; - } - - var current = null; - - - // constructor - function Scrollable(root, conf) { - - // current instance - var self = this; - if (!current) { current = self; } - - // horizontal flag - var horizontal = !conf.vertical; - - - // wrap (root elements for items) - var wrap = $(conf.items, root); - - // current index - var index = 0; - - - // get handle to navigational elements - var navi = root.siblings(conf.navi).eq(0); - var prev = root.siblings(conf.prev).eq(0); - var next = root.siblings(conf.next).eq(0); - var prevPage = root.siblings(conf.prevPage).eq(0); - var nextPage = root.siblings(conf.nextPage).eq(0); - - - // methods - $.extend(self, { - - getVersion: function() { - return [1, 0, 1]; - }, - - getIndex: function() { - return index; - }, - - getConf: function() { - return conf; - }, - - getSize: function() { - return self.getItems().size(); - }, - - getPageAmount: function() { - return Math.ceil(this.getSize() / conf.size); - }, - - getPageIndex: function() { - return Math.ceil(index / conf.size); - }, - - getRoot: function() { - return root; - }, - - getItemWrap: function() { - return wrap; - }, - - getItems: function() { - return wrap.children(); - }, - - /* all seeking functions depend on this */ - seekTo: function(i, time, fn) { - - // default speed - time = time || conf.speed; - - // function given as second argument - if ($.isFunction(time)) { - fn = time; - time = conf.speed; - } - - if (i < 0) { i = 0; } - if (i > self.getSize() - conf.size) { return self; } - - var item = self.getItems().eq(i); - if (!item.length) { return self; } - - // onBeforeSeek - if (fireEvent(conf, "onBeforeSeek", self, i) === false) { - return self; - } - - if (horizontal) { - var left = -(item.outerWidth(true) * i); - wrap.animate({left: left}, time, conf.easing, fn ? function() { fn.call(self); } : null); - - } else { - var top = -(item.outerHeight(true) * i); // wrap.offset().top - item.offset().top; - wrap.animate({top: top}, time, conf.easing, fn ? function() { fn.call(self); } : null); - } - - - // navi status update - if (navi.length) { - var klass = conf.activeClass; - var page = Math.ceil(i / conf.size); - page = Math.min(page, navi.children().length - 1); - navi.children().removeClass(klass).eq(page).addClass(klass); - } - - // prev buttons disabled flag - if (i === 0) { - prev.add(prevPage).addClass(conf.disabledClass); - } else { - prev.add(prevPage).removeClass(conf.disabledClass); - } - - // next buttons disabled flag - if (i >= self.getSize() - conf.size) { - next.add(nextPage).addClass(conf.disabledClass); - } else { - next.add(nextPage).removeClass(conf.disabledClass); - } - - current = self; - index = i; - - // onSeek after index being updated - fireEvent(conf, "onSeek", self, i); - - return self; - - }, - - move: function(offset, time, fn) { - var to = index + offset; - if (conf.loop && to > (self.getSize() - conf.size)) { - to = 0; - } - return this.seekTo(to, time, fn); - }, - - next: function(time, fn) { - return this.move(1, time, fn); - }, - - prev: function(time, fn) { - return this.move(-1, time, fn); - }, - - movePage: function(offset, time, fn) { - return this.move(conf.size * offset, time, fn); - }, - - setPage: function(page, time, fn) { - var size = conf.size; - var index = size * page; - var lastPage = index + size >= this.getSize(); - if (lastPage) { - index = this.getSize() - conf.size; - } - return this.seekTo(index, time, fn); - }, - - prevPage: function(time, fn) { - return this.setPage(this.getPageIndex() - 1, time, fn); - }, - - nextPage: function(time, fn) { - return this.setPage(this.getPageIndex() + 1, time, fn); - }, - - begin: function(time, fn) { - return this.seekTo(0, time, fn); - }, - - end: function(time, fn) { - return this.seekTo(this.getSize() - conf.size, time, fn); - }, - - reload: function() { - return load(); - }, - - click: function(index, time, fn) { - - var item = self.getItems().eq(index); - var klass = conf.activeClass; - - if (!item.hasClass(klass) && (index >= 0 || index < this.getSize())) { - self.getItems().removeClass(klass); - item.addClass(klass); - var delta = Math.floor(conf.size / 2); - var to = index - delta; - - // next to last item must work - if (to > self.getSize() - conf.size) { to--; } - - if (to !== index) { - return this.seekTo(to, time, fn); - } - } - - return self; - } - - }); - - - // mousewheel - if ($.isFunction($.fn.mousewheel)) { - root.bind("mousewheel.scrollable", function(e, delta) { - // opera goes to opposite direction - var step = $.browser.opera ? 1 : -1; - - self.move(delta > 0 ? step : -step, 50); - return false; - }); - } - - // prev button - prev.addClass(conf.disabledClass).click(function() { - self.prev(); - }); - - - // next button - next.click(function() { - self.next(); - }); - - // prev page button - nextPage.click(function() { - self.nextPage(); - }); - - - // next page button - prevPage.addClass(conf.disabledClass).click(function() { - self.prevPage(); - }); - - - // keyboard - if (conf.keyboard) { - - // unfortunately window.keypress does not work on IE. - $(window).unbind("keypress.scrollable").bind("keypress.scrollable", function(evt) { - - var el = current; - if (!el) { return; } - - if (horizontal && (evt.keyCode == 37 || evt.keyCode == 39)) { - el.move(evt.keyCode == 37 ? -1 : 1); - return evt.preventDefault(); - } - - if (!horizontal && (evt.keyCode == 38 || evt.keyCode == 40)) { - el.move(evt.keyCode == 38 ? -1 : 1); - return evt.preventDefault(); - } - - return true; - - }); - } - - // navi - function load() { - - navi.each(function() { - - var nav = $(this); - - // generate new entries - if (nav.is(":empty") || nav.data("me") == self) { - - nav.empty(); - nav.data("me", self); - - for (var i = 0; i < self.getPageAmount(); i++) { - - var item = $("<" + conf.naviItem + "/>").attr("href", i).click(function(e) { - var el = $(this); - el.parent().children().removeClass(conf.activeClass); - el.addClass(conf.activeClass); - self.setPage(el.attr("href")); - return e.preventDefault(); - }); - - if (i === 0) { item.addClass(conf.activeClass); } - nav.append(item); - } - - // assign onClick events to existing entries - } else { - - // find a entries first -> syntaxically correct - var els = nav.children(); - - els.each(function(i) { - var item = $(this); - item.attr("href", i); - if (i === 0) { item.addClass(conf.activeClass); } - - item.click(function() { - nav.find("." + conf.activeClass).removeClass(conf.activeClass); - item.addClass(conf.activeClass); - self.setPage(item.attr("href")); - }); - - }); - } - - }); - - - // item.click() - if (conf.clickable) { - self.getItems().each(function(index, arg) { - var el = $(this); - if (!el.data("set")) { - el.bind("click.scrollable", function() { - self.click(index); - }); - el.data("set", true); - } - }); - } - - - // hover - if (conf.hoverClass) { - self.getItems().hover(function() { - $(this).addClass(conf.hoverClass); - }, function() { - $(this).removeClass(conf.hoverClass); - }); - } - - return self; - } - - load(); - - - // interval stuff - var timer = null; - - function setTimer() { - timer = setInterval(function() { - self.next(); - - }, conf.interval); - } - - if (conf.interval > 0) { - - root.hover(function() { - clearInterval(timer); - }, function() { - setTimer(); - }); - - setTimer(); - } - - } - - - // jQuery plugin implementation - jQuery.prototype.scrollable = function(conf) { - - // already constructed --> return API - var api = this.eq(typeof conf == 'number' ? conf : 0).data("scrollable"); - if (api) { return api; } - - - var opts = { - - // basics - size: 5, - vertical:false, - clickable: true, - loop: false, - interval: 0, - speed: 400, - keyboard: true, - - // other - activeClass:'active', - disabledClass: 'disabled', - hoverClass: null, - easing: 'swing', - - // navigational elements - items: '.items', - prev: '.prev', - next: '.next', - prevPage: '.prevPage', - nextPage: '.nextPage', - navi: '.navi', - naviItem: 'a', - - - // callbacks - onBeforeSeek: null, - onSeek: null, - alert: true - }; - - - $.extend(opts, conf); - - this.each(function() { - var el = new Scrollable($(this), opts); - $(this).data("scrollable", el); - }); - - return this; - - }; - - -})(jQuery); +/** + * jquery.scrollable 1.0.2. Put your HTML scroll. + * + * Copyright (c) 2009 Tero Piirainen + * http://flowplayer.org/tools/scrollable.html + * + * Dual licensed under MIT and GPL 2+ licenses + * http://www.opensource.org/licenses + * + * Launch : March 2008 + * Version : 1.0.2 - Tue Feb 24 2009 10:52:08 GMT-0000 (GMT+00:00) + */ +(function($) { + + function fireEvent(opts, name, self, arg) { + var fn = opts[name]; + + if ($.isFunction(fn)) { + try { + return fn.call(self, arg); + + } catch (error) { + if (opts.alert) { + alert("Error calling scrollable." + name + ": " + error); + } else { + throw error; + } + return false; + } + } + return true; + } + + var current = null; + + + // constructor + function Scrollable(root, conf) { + + // current instance + var self = this; + if (!current) { current = self; } + + // horizontal flag + var horizontal = !conf.vertical; + + + // wrap (root elements for items) + var wrap = $(conf.items, root); + + // current index + var index = 0; + + + // get handle to navigational elements + var navi = root.siblings(conf.navi).eq(0); + var prev = root.siblings(conf.prev).eq(0); + var next = root.siblings(conf.next).eq(0); + var prevPage = root.siblings(conf.prevPage).eq(0); + var nextPage = root.siblings(conf.nextPage).eq(0); + + + // methods + $.extend(self, { + + getVersion: function() { + return [1, 0, 1]; + }, + + getIndex: function() { + return index; + }, + + getConf: function() { + return conf; + }, + + getSize: function() { + return self.getItems().size(); + }, + + getPageAmount: function() { + return Math.ceil(this.getSize() / conf.size); + }, + + getPageIndex: function() { + return Math.ceil(index / conf.size); + }, + + getRoot: function() { + return root; + }, + + getItemWrap: function() { + return wrap; + }, + + getItems: function() { + return wrap.children(); + }, + + /* all seeking functions depend on this */ + seekTo: function(i, time, fn) { + + // default speed + time = time || conf.speed; + + // function given as second argument + if ($.isFunction(time)) { + fn = time; + time = conf.speed; + } + + if (i < 0) { i = 0; } + if (i > self.getSize() - conf.size) { return self; } + + var item = self.getItems().eq(i); + if (!item.length) { return self; } + + // onBeforeSeek + if (fireEvent(conf, "onBeforeSeek", self, i) === false) { + return self; + } + + if (horizontal) { + var left = -(item.outerWidth(true) * i); + wrap.animate({left: left}, time, conf.easing, fn ? function() { fn.call(self); } : null); + + } else { + var top = -(item.outerHeight(true) * i); // wrap.offset().top - item.offset().top; + wrap.animate({top: top}, time, conf.easing, fn ? function() { fn.call(self); } : null); + } + + + // navi status update + if (navi.length) { + var klass = conf.activeClass; + var page = Math.ceil(i / conf.size); + page = Math.min(page, navi.children().length - 1); + navi.children().removeClass(klass).eq(page).addClass(klass); + } + + // prev buttons disabled flag + if (i === 0) { + prev.add(prevPage).addClass(conf.disabledClass); + } else { + prev.add(prevPage).removeClass(conf.disabledClass); + } + + // next buttons disabled flag + if (i >= self.getSize() - conf.size) { + next.add(nextPage).addClass(conf.disabledClass); + } else { + next.add(nextPage).removeClass(conf.disabledClass); + } + + current = self; + index = i; + + // onSeek after index being updated + fireEvent(conf, "onSeek", self, i); + + return self; + + }, + + move: function(offset, time, fn) { + var to = index + offset; + if (conf.loop && to > (self.getSize() - conf.size)) { + to = 0; + } + return this.seekTo(to, time, fn); + }, + + next: function(time, fn) { + return this.move(1, time, fn); + }, + + prev: function(time, fn) { + return this.move(-1, time, fn); + }, + + movePage: function(offset, time, fn) { + return this.move(conf.size * offset, time, fn); + }, + + setPage: function(page, time, fn) { + var size = conf.size; + var index = size * page; + var lastPage = index + size >= this.getSize(); + if (lastPage) { + index = this.getSize() - conf.size; + } + return this.seekTo(index, time, fn); + }, + + prevPage: function(time, fn) { + return this.setPage(this.getPageIndex() - 1, time, fn); + }, + + nextPage: function(time, fn) { + return this.setPage(this.getPageIndex() + 1, time, fn); + }, + + begin: function(time, fn) { + return this.seekTo(0, time, fn); + }, + + end: function(time, fn) { + return this.seekTo(this.getSize() - conf.size, time, fn); + }, + + reload: function() { + return load(); + }, + + click: function(index, time, fn) { + + var item = self.getItems().eq(index); + var klass = conf.activeClass; + + if (!item.hasClass(klass) && (index >= 0 || index < this.getSize())) { + self.getItems().removeClass(klass); + item.addClass(klass); + var delta = Math.floor(conf.size / 2); + var to = index - delta; + + // next to last item must work + if (to > self.getSize() - conf.size) { to--; } + + if (to !== index) { + return this.seekTo(to, time, fn); + } + } + + return self; + } + + }); + + + // mousewheel + if ($.isFunction($.fn.mousewheel)) { + root.bind("mousewheel.scrollable", function(e, delta) { + // opera goes to opposite direction + var step = $.browser.opera ? 1 : -1; + + self.move(delta > 0 ? step : -step, 50); + return false; + }); + } + + // prev button + prev.addClass(conf.disabledClass).click(function() { + self.prev(); + }); + + + // next button + next.click(function() { + self.next(); + }); + + // prev page button + nextPage.click(function() { + self.nextPage(); + }); + + + // next page button + prevPage.addClass(conf.disabledClass).click(function() { + self.prevPage(); + }); + + + // keyboard + if (conf.keyboard) { + + // unfortunately window.keypress does not work on IE. + $(window).unbind("keypress.scrollable").bind("keypress.scrollable", function(evt) { + + var el = current; + if (!el) { return; } + + if (horizontal && (evt.keyCode == 37 || evt.keyCode == 39)) { + el.move(evt.keyCode == 37 ? -1 : 1); + return evt.preventDefault(); + } + + if (!horizontal && (evt.keyCode == 38 || evt.keyCode == 40)) { + el.move(evt.keyCode == 38 ? -1 : 1); + return evt.preventDefault(); + } + + return true; + + }); + } + + // navi + function load() { + + navi.each(function() { + + var nav = $(this); + + // generate new entries + if (nav.is(":empty") || nav.data("me") == self) { + + nav.empty(); + nav.data("me", self); + + for (var i = 0; i < self.getPageAmount(); i++) { + + var item = $("<" + conf.naviItem + "/>").attr("href", i).click(function(e) { + var el = $(this); + el.parent().children().removeClass(conf.activeClass); + el.addClass(conf.activeClass); + self.setPage(el.attr("href")); + return e.preventDefault(); + }); + + if (i === 0) { item.addClass(conf.activeClass); } + nav.append(item); + } + + // assign onClick events to existing entries + } else { + + // find a entries first -> syntaxically correct + var els = nav.children(); + + els.each(function(i) { + var item = $(this); + item.attr("href", i); + if (i === 0) { item.addClass(conf.activeClass); } + + item.click(function() { + nav.find("." + conf.activeClass).removeClass(conf.activeClass); + item.addClass(conf.activeClass); + self.setPage(item.attr("href")); + }); + + }); + } + + }); + + + // item.click() + if (conf.clickable) { + self.getItems().each(function(index, arg) { + var el = $(this); + if (!el.data("set")) { + el.bind("click.scrollable", function() { + self.click(index); + }); + el.data("set", true); + } + }); + } + + + // hover + if (conf.hoverClass) { + self.getItems().hover(function() { + $(this).addClass(conf.hoverClass); + }, function() { + $(this).removeClass(conf.hoverClass); + }); + } + + return self; + } + + load(); + + + // interval stuff + var timer = null; + + function setTimer() { + timer = setInterval(function() { + self.next(); + + }, conf.interval); + } + + if (conf.interval > 0) { + + root.hover(function() { + clearInterval(timer); + }, function() { + setTimer(); + }); + + setTimer(); + } + + } + + + // jQuery plugin implementation + jQuery.prototype.scrollable = function(conf) { + + // already constructed --> return API + var api = this.eq(typeof conf == 'number' ? conf : 0).data("scrollable"); + if (api) { return api; } + + + var opts = { + + // basics + size: 5, + vertical:false, + clickable: true, + loop: false, + interval: 0, + speed: 400, + keyboard: true, + + // other + activeClass:'active', + disabledClass: 'disabled', + hoverClass: null, + easing: 'swing', + + // navigational elements + items: '.items', + prev: '.prev', + next: '.next', + prevPage: '.prevPage', + nextPage: '.nextPage', + navi: '.navi', + naviItem: 'a', + + + // callbacks + onBeforeSeek: null, + onSeek: null, + alert: true + }; + + + $.extend(opts, conf); + + this.each(function() { + var el = new Scrollable($(this), opts); + $(this).data("scrollable", el); + }); + + return this; + + }; + + +})(jQuery); diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/emission_fichiers/jquery_004.js --- a/web/res/metadataplayer/test/emission_fichiers/jquery_004.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/emission_fichiers/jquery_004.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,28 +1,28 @@ -/*! -* jQuery Form Plugin -* version: 2.43 (12-MAR-2010) -* @requires jQuery v1.3.2 or later -* -* Examples and documentation at: http://malsup.com/jquery/form/ -* Dual licensed under the MIT and GPL licenses: -* http://www.opensource.org/licenses/mit-license.php -* http://www.gnu.org/licenses/gpl.html -*/ -(function(b){function o(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log)window.console.log(a);else window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function d(){function r(){var p=h.attr("target"),n=h.attr("action");j.setAttribute("target",z);j.getAttribute("method")!="POST"&&j.setAttribute("method","POST");j.getAttribute("action")!=g.url&&j.setAttribute("action",g.url);g.skipEncodingOverride|| -h.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});g.timeout&&setTimeout(function(){C=true;s()},g.timeout);var m=[];try{if(g.extraData)for(var u in g.extraData)m.push(b('').appendTo(j)[0]);t.appendTo("body");t.data("form-plugin-onload",s);j.submit()}finally{j.setAttribute("action",n);p?j.setAttribute("target",p):h.removeAttr("target");b(m).remove()}}function s(){if(!D){var p=true;try{if(C)throw"timeout";var n,m;m=v.contentWindow? -v.contentWindow.document:v.contentDocument?v.contentDocument:v.document;var u=g.dataType=="xml"||m.XMLDocument||b.isXMLDoc(m);o("isXml="+u);if(!u&&(m.body==null||m.body.innerHTML=="")){if(--G){o("requeing onLoad callback, DOM not available");setTimeout(s,250);return}o("Could not access iframe DOM after 100 tries.");return}o("response detected");D=true;i.responseText=m.body?m.body.innerHTML:null;i.responseXML=m.XMLDocument?m.XMLDocument:m;i.getResponseHeader=function(H){return{"content-type":g.dataType}[H]}; -if(g.dataType=="json"||g.dataType=="script"){var E=m.getElementsByTagName("textarea")[0];if(E)i.responseText=E.value;else{var F=m.getElementsByTagName("pre")[0];if(F)i.responseText=F.innerHTML}}else if(g.dataType=="xml"&&!i.responseXML&&i.responseText!=null)i.responseXML=A(i.responseText);n=b.httpData(i,g.dataType)}catch(B){o("error caught:",B);p=false;i.error=B;b.handleError(g,i,"error",B)}if(p){g.success(n,"success");w&&b.event.trigger("ajaxSuccess",[i,g])}w&&b.event.trigger("ajaxComplete",[i,g]); -w&&!--b.active&&b.event.trigger("ajaxStop");if(g.complete)g.complete(i,p?"success":"error");setTimeout(function(){t.removeData("form-plugin-onload");t.remove();i.responseXML=null},100)}}function A(p,n){if(window.ActiveXObject){n=new ActiveXObject("Microsoft.XMLDOM");n.async="false";n.loadXML(p)}else n=(new DOMParser).parseFromString(p,"text/xml");return n&&n.documentElement&&n.documentElement.tagName!="parsererror"?n:null}var j=h[0];if(b(":input[name=submit]",j).length)alert('Error: Form elements must not be named "submit".'); -else{var g=b.extend({},b.ajaxSettings,a),q=b.extend(true,{},b.extend(true,{},b.ajaxSettings),g),z="jqFormIO"+(new Date).getTime(),t=b(' -

    Clay Shirky, on Egypt and Tunisia : when a football forum goes politics - from Les Rencontres RSLN on Vimeo.

    - - API - - http://api.vimeo.com/moogaloop_api.swf - - oauth_key The Consumer Key that is associated with your API Application. NEW! - clip_id The ID of the video you want to load. - width (optional) Sets the width of the player. Defaults to 400. - height(optional) Sets the height of the player. Defaults to 300. - fp_version (optional) Flash Player version of app. Defaults to 9 ().NEW! - fullscreen (optional) Enable fullscreen capability. Defaults to true. - title (optional) Show the byline on the video. Defaults to true. - byline (optional) Show the title on the video. Defaults to true. - portrait (optional) Show the user's portrait on the video. Defaults to true. - color (optional) Specify the color of the video controls. - hd_off (optional) Set to 1 to disable HD. - js_api Set to 1 to enable the Javascript API. - js_onLoad (optional) JS function called when the player loads. Defaults to vimeo_player_loaded. - js_swf_id (optional) Unique id that is passed into all player events as the ending parameter. - - - Consumer Key: 487aaaa9064b658193bd82aa50032dc7 - Consumer Secret: caf5ce14e2201b69 Please do not share this with others - - - treemap video player : - - Media Poid - - -> vido fixe - -> Twitter - -> Wikipedia - -> Flick'R - -> Google Map - -> slides - - --> - -
    - - - -
    - - - + + + + + + + + + +
    +

    MetaData Player / Vimeo

    + back
    +
    +
    +
    + + + + + + +
    + + + +
    + + + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/index-youtube.htm --- a/web/res/metadataplayer/test/index-youtube.htm Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/index-youtube.htm Wed Apr 27 18:54:31 2011 +0200 @@ -1,64 +1,64 @@ - - - - - - - - - -
    -

    MetaData Player / Youtube

    - back
    -
    -
    -
    - - - - - - -
    - - - -
    - - - + + + + + + + + + +
    +

    MetaData Player / Youtube

    + back
    +
    +
    +
    + + + + + + +
    + + + +
    + + + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/index.htm --- a/web/res/metadataplayer/test/index.htm Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/index.htm Wed Apr 27 18:54:31 2011 +0200 @@ -1,59 +1,59 @@ - - - - - - - - - -
    -

    Metadata player

    - Iri SimplePlayer is a javascript's Widget interface to augment existing player like : - - It's made to show time annotation and different metadata on video. - To implement it on your website it's 's really simple. - You just need to insert a div and a script, like the exemple under this lines.

    -
    - - - - - -
    - - - - -
    - This player was test on : firefox 3.6.9 / Chrome 6.0.472.55 / Safari 5.0.2 / Internet Explore 8
    - It's a freeSoftware under CeCILL-C license. - This program is made by Institut de recherche et d innovation - more information on this page. -
    - + + + + + + + + + +
    +

    Metadata player

    + Iri SimplePlayer is a javascript's Widget interface to augment existing player like : + + It's made to show time annotation and different metadata on video. + To implement it on your website it's 's really simple. + You just need to insert a div and a script, like the exemple under this lines.

    +
    + + + + + +
    + + + + +
    + This player was test on : firefox 3.6.9 / Chrome 6.0.472.55 / Safari 5.0.2 / Internet Explore 8
    + It's a freeSoftware under CeCILL-C license. + This program is made by Institut de recherche et d innovation + more information on this page. +
    + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/indexFC.htm --- a/web/res/metadataplayer/test/indexFC.htm Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/indexFC.htm Wed Apr 27 18:54:31 2011 +0200 @@ -1,1974 +1,1974 @@ - - - - - - - - - - - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - Information - France Culture - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - -
    retour en haut de page - -
    - -
    -
    -
    -
    - -
    - -
    -

    Les Retours du dimanche - - par Caroline - Broué, Hervé -Gardette - Le site de l'émission -

    -
    - Les Retours du 
-dimanche - -
    -

    le dimanche de 18h10 à 19h

    -
    -
    - -
    -
    -
    - -
    - -
    - - -
    -
    - - Ecoutez l'émission - - 50 minutes -
    -

    - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - 0 - -

    -

    - 20.06.2010 - 18:10 -

    -
    -
    - - -
    -
    -
    -
    - - -
    - -

    le sociologue Alain Garrigou ©Radio -France

    -
    - - -

    Au sommaire des Retours du dimanche :

     

    La - - - revue -d'actualités : rappel des petits et grands évènements de la semaine. : il - faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien - - - - : "Le salaire de la politique", après que la question de la rémunération des -politiques a été posée par le -premier ministre cette semaine. Invité : l'historien -et professeur en science politique Alain Garrigou, -auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, - paru aux éditions Les Belles Lettres en avril 2010.

     

     

    - - - - - - -
    - - - - - - -
    - -

    La - revue de -presse : les vuvuzelas comme phénomène identitaire, ces - trompettes qui occupent le fond sonore de tous les matchs de la coupe -du monde de football qui se déroule en ce moment en Afrique du Sud.
    -
    La bulle sonore : Patrick Roegiers pour revenir - sur l'actualité politique en Belgique. Notre invité -est romancier, auteur de La Belgique, Le roman d'un pays, paru -chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait -de la Belgique, publié au Seuil en 2003. Il a récemment publié La - Nuit du Monde, au Seuil en janvier 2010.

     

    - La -chronique d'Anthony Bellanger de Courrier - -International.

    -


    Et comme chaque semaine : le sujet choisi par l'invité, notre -choix pour -la semaine à venir...

    -
    -
    -
    - -

    Invités :
    - Alain -Garrigou, professeur agrégé d'histoire et docteur en science -politique à l'université de Paris-X Nanterre
    Patrick - Roegiers

    -

    Thèmes : - Information| Débat| - Gouvernement| - Histoire

    - -
    -
    -
    -

    0 commentaire

    -
    -

    Votre commentaire

    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -

    Enregistrement des -données…

    - - -
    -
    -
    - -
    -
    - - - -
    -
    -
    - - - -
    -
    - - -
    - - - - -
    -
    - - - - -
    -
    - - - - - - - - - - - - - - -
    + + + + + + + + + + Le salaire de la politique ; les vuvuzelas ; l'actualité +politique belge - Information - France Culture + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    retour en haut de page + +
    + +
    +
    +
    +
    + +
    + +
    +

    Les Retours du dimanche + + par Caroline + Broué, Hervé +Gardette + Le site de l'émission +

    +
    + Les Retours du 
+dimanche + +
    +

    le dimanche de 18h10 à 19h

    +
    +
    + +
    +
    +
    + +
    + +
    + + +
    +
    + + Ecoutez l'émission + + 50 minutes +
    +

    + Le salaire de la politique ; les vuvuzelas ; l'actualité +politique belge + 0 + +

    +

    + 20.06.2010 - 18:10 +

    +
    +
    + + +
    +
    +
    +
    + + +
    + +

    le sociologue Alain Garrigou ©Radio +France

    +
    + + +

    Au sommaire des Retours du dimanche :

     

    La + + + revue +d'actualités : rappel des petits et grands évènements de la semaine. : il + faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien + + + + : "Le salaire de la politique", après que la question de la rémunération des +politiques a été posée par le +premier ministre cette semaine. Invité : l'historien +et professeur en science politique Alain Garrigou, +auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, + paru aux éditions Les Belles Lettres en avril 2010.

     

     

    + + + + + + +
    + + + + + + +
    + +

    La + revue de +presse : les vuvuzelas comme phénomène identitaire, ces + trompettes qui occupent le fond sonore de tous les matchs de la coupe +du monde de football qui se déroule en ce moment en Afrique du Sud.
    +
    La bulle sonore : Patrick Roegiers pour revenir + sur l'actualité politique en Belgique. Notre invité +est romancier, auteur de La Belgique, Le roman d'un pays, paru +chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait +de la Belgique, publié au Seuil en 2003. Il a récemment publié La + Nuit du Monde, au Seuil en janvier 2010.

     

    + La +chronique d'Anthony Bellanger de Courrier + +International.

    +


    Et comme chaque semaine : le sujet choisi par l'invité, notre +choix pour +la semaine à venir...

    +
    +
    +
    + +

    Invités :
    + Alain +Garrigou, professeur agrégé d'histoire et docteur en science +politique à l'université de Paris-X Nanterre
    Patrick + Roegiers

    +

    Thèmes : + Information| Débat| + Gouvernement| + Histoire

    + +
    +
    +
    +

    0 commentaire

    +
    +

    Votre commentaire

    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    + +

    Enregistrement des +données…

    + + +
    +
    +
    + +
    +
    + + + +
    +
    +
    + + + +
    +
    + + +
    + + + + +
    +
    + + + + +
    +
    + + + + + + + + + + + + + + +
    \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/indexFC2.htm --- a/web/res/metadataplayer/test/indexFC2.htm Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/indexFC2.htm Wed Apr 27 18:54:31 2011 +0200 @@ -1,1974 +1,1974 @@ - - - - - - - - - - - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - Information - France Culture - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - -
    retour en haut de page - -
    - -
    -
    -
    -
    - -
    - -
    -

    Les Retours du dimanche - - par Caroline - Broué, Hervé -Gardette - Le site de l'émission -

    -
    - Les Retours du 
-dimanche - -
    -

    le dimanche de 18h10 à 19h

    -
    -
    - -
    -
    -
    - -
    - -
    - - -
    -
    - - Ecoutez l'émission - - 50 minutes -
    -

    - Le salaire de la politique ; les vuvuzelas ; l'actualité -politique belge - 0 - -

    -

    - 20.06.2010 - 18:10 -

    -
    -
    - - -
    -
    -
    -
    - - -
    - -

    le sociologue Alain Garrigou ©Radio -France

    -
    - - -

    Au sommaire des Retours du dimanche :

     

    La - - - revue -d'actualités : rappel des petits et grands évènements de la semaine. : il - faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien - - - - : "Le salaire de la politique", après que la question de la rémunération des -politiques a été posée par le -premier ministre cette semaine. Invité : l'historien -et professeur en science politique Alain Garrigou, -auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, - paru aux éditions Les Belles Lettres en avril 2010.

     

     

    - - - - - - -
    - - - - - - -
    - -

    La - revue de -presse : les vuvuzelas comme phénomène identitaire, ces - trompettes qui occupent le fond sonore de tous les matchs de la coupe -du monde de football qui se déroule en ce moment en Afrique du Sud.
    -
    La bulle sonore : Patrick Roegiers pour revenir - sur l'actualité politique en Belgique. Notre invité -est romancier, auteur de La Belgique, Le roman d'un pays, paru -chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait -de la Belgique, publié au Seuil en 2003. Il a récemment publié La - Nuit du Monde, au Seuil en janvier 2010.

     

    - La -chronique d'Anthony Bellanger de Courrier - -International.

    -


    Et comme chaque semaine : le sujet choisi par l'invité, notre -choix pour -la semaine à venir...

    -
    -
    -
    - -

    Invités :
    - Alain -Garrigou, professeur agrégé d'histoire et docteur en science -politique à l'université de Paris-X Nanterre
    Patrick - Roegiers

    -

    Thèmes : - Information| Débat| - Gouvernement| - Histoire

    - -
    -
    -
    -

    0 commentaire

    -
    -

    Votre commentaire

    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -

    Enregistrement des -données…

    - - -
    -
    -
    - -
    -
    - - - -
    -
    -
    - - - -
    -
    - - -
    - - - - -
    -
    - - - - -
    -
    - - - - - - - - - - - - - - -
    + + + + + + + + + + Le salaire de la politique ; les vuvuzelas ; l'actualité +politique belge - Information - France Culture + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + +
    retour en haut de page + +
    + +
    +
    +
    +
    + +
    + +
    +

    Les Retours du dimanche + + par Caroline + Broué, Hervé +Gardette + Le site de l'émission +

    +
    + Les Retours du 
+dimanche + +
    +

    le dimanche de 18h10 à 19h

    +
    +
    + +
    +
    +
    + +
    + +
    + + +
    +
    + + Ecoutez l'émission + + 50 minutes +
    +

    + Le salaire de la politique ; les vuvuzelas ; l'actualité +politique belge + 0 + +

    +

    + 20.06.2010 - 18:10 +

    +
    +
    + + +
    +
    +
    +
    + + +
    + +

    le sociologue Alain Garrigou ©Radio +France

    +
    + + +

    Au sommaire des Retours du dimanche :

     

    La + + + revue +d'actualités : rappel des petits et grands évènements de la semaine. : il + faut reconnaître un mérite à Raymond Domenech et à ses joueurs...

     

    L'entretien + + + + : "Le salaire de la politique", après que la question de la rémunération des +politiques a été posée par le +premier ministre cette semaine. Invité : l'historien +et professeur en science politique Alain Garrigou, +auteur de Mourir pour des Idées, la vie posthume d'Alphone Baudin, + paru aux éditions Les Belles Lettres en avril 2010.

     

     

    + + + + + + +
    + + + + + + +
    + +

    La + revue de +presse : les vuvuzelas comme phénomène identitaire, ces + trompettes qui occupent le fond sonore de tous les matchs de la coupe +du monde de football qui se déroule en ce moment en Afrique du Sud.
    +
    La bulle sonore : Patrick Roegiers pour revenir + sur l'actualité politique en Belgique. Notre invité +est romancier, auteur de La Belgique, Le roman d'un pays, paru +chez Découvertes Gallimard en 2005, et Le mal du pays, autoportrait +de la Belgique, publié au Seuil en 2003. Il a récemment publié La + Nuit du Monde, au Seuil en janvier 2010.

     

    + La +chronique d'Anthony Bellanger de Courrier + +International.

    +


    Et comme chaque semaine : le sujet choisi par l'invité, notre +choix pour +la semaine à venir...

    +
    +
    +
    + +

    Invités :
    + Alain +Garrigou, professeur agrégé d'histoire et docteur en science +politique à l'université de Paris-X Nanterre
    Patrick + Roegiers

    +

    Thèmes : + Information| Débat| + Gouvernement| + Histoire

    + +
    +
    +
    +

    0 commentaire

    +
    +

    Votre commentaire

    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    +
    + +

    Enregistrement des +données…

    + + +
    +
    +
    + +
    +
    + + + +
    +
    +
    + + + +
    +
    + + +
    + + + + +
    +
    + + + + +
    +
    + + + + + + + + + + + + + + +
    \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/accordion.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/accordion.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/accordion.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * 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. - * - */ - +/** + * 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. + * + */ + eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6.E={C:5(3){r 4.A(5(){h(!3.n||!3.p)r;I 1=4;1.2={l:3.l||J,n:3.n,p:3.p,f:3.f||\'z\',o:3.o||\'z\',8:3.8&&w 3.8==\'5\'?3.8:v,j:3.8&&w 3.j==\'5\'?3.j:v,9:3.9&&w 3.9==\'5\'?3.9:v,k:6(3.n,4),g:6(3.p,4),m:3.m||K,7:3.7||0};1.2.g.S().i(\'d\',\'N\').a(0).i({d:1.2.l+\'U\',q:\'D\'}).c();1.2.k.A(5(x){4.b=x}).R(5(){6(4).u(1.2.o)},5(){6(4).y(1.2.o)}).Q(\'O\',5(e){h(1.2.7==4.b)r;1.2.k.a(1.2.7).y(1.2.f).c().a(4.b).u(1.2.f).c();1.2.g.a(1.2.7).F({d:0},1.2.m,5(){4.B.q=\'T\';h(1.2.j){1.2.j.s(1,[4])}}).c().a(4.b).P().F({d:1.2.l},1.2.m,5(){4.B.q=\'D\';h(1.2.8){1.2.8.s(1,[4])}}).c();h(1.2.9){1.2.9.s(1,[4,1.2.g.t(4.b),1.2.k.t(1.2.7),1.2.g.t(1.2.7)])}1.2.7=4.b}).a(0).u(1.2.f).c();6(4).i(\'d\',6(4).i(\'d\')).i(\'H\',\'G\')})}};6.L.M=6.E.C;',57,57,'|el|accordionCfg|options|this|function|jQuery|currentPanel|onShow|onClick|eq|accordionPos|end|height||activeClass|panels|if|css|onHide|headers|panelHeight|speed|headerSelector|hoverClass|panelSelector|display|return|apply|get|addClass|false|typeof|nr|removeClass|fakeAccordionClass|each|style|build|block|iAccordion|animate|hidden|overflow|var|300|400|fn|Accordion|1px|click|show|bind|hover|hide|none|px'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/easing.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/easing.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/easing.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Easing formulas - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - */ - -/** +/** + * Interface Elements for jQuery + * Easing formulas + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + */ + +/** eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('h.B({i:{w:e(p,n,8,6,9){b((-c.x(p*c.f)/2)+0.5)*6+8},C:e(p,n,8,6,9){b 6*(n/=9)*n*n+8},D:e(p,n,8,6,9){b-6*((n=n/9-1)*n*n*n-1)+8},G:e(p,n,8,6,9){d((n/=9/2)<1)b 6/2*n*n*n*n+8;b-6/2*((n-=2)*n*n*n-2)+8},k:e(p,n,8,6,9){d((n/=9)<(1/2.g)){b 6*(7.l*n*n)+8}j d(n<(2/2.g)){b 6*(7.l*(n-=(1.5/2.g))*n+.g)+8}j d(n<(2.5/2.g)){b 6*(7.l*(n-=(2.E/2.g))*n+.F)+8}j{b 6*(7.l*(n-=(2.A/2.g))*n+.z)+8}},r:e(p,n,8,6,9){d(h.i.k)b 6-h.i.k(p,9-n,0,6,9)+8;b 8+6},y:e(p,n,8,6,9){d(h.i.r&&h.i.k)d(n<9/2)b h.i.r(p,n*2,0,6,9)*.5+8;b h.i.k(p,n*2-9,0,6,9)*.5+6*.5+8;b 8+6},I:e(p,n,8,6,9){t a,s;d(n==0)b 8;d((n/=9)==1)b 8+6;a=6*0.3;p=9*.3;d(a35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4.h={H:9(d){T 7.F(9(){g 1=7;1.3={8:4(d.8,7),i:4(d.i,7),m:4.z.J(7),5:d.5,t:d.t,j:d.j,K:d.K,b:d.b,A:d.A};4.h.s(1,0);4(S).v(\'W\',9(){1.3.m=4.z.J(1);4.h.s(1,0);4.h.E(1)});4.h.E(1);1.3.8.v(\'O\',9(){4(1.3.t,7).l(0).a.I=\'P\'}).v(\'R\',9(){4(1.3.t,7).l(0).a.I=\'11\'});4(Z).v(\'10\',9(e){g p=4.z.Y(e);g c=0;k(1.3.b&&1.3.b==\'L\')g r=p.x-1.3.m.x-(1.w-1.3.5*1.3.8.n())/2-1.3.5/2;u k(1.3.b&&1.3.b==\'N\')g r=p.x-1.3.m.x-1.w+1.3.5*1.3.8.n();u g r=p.x-1.3.m.x;g M=B.G(p.y-1.3.m.y-1.X/2,2);1.3.8.F(9(q){6=B.Q(B.G(r-q*1.3.5,2)+M);6-=1.3.5/2;6=6<0?0:6;6=6>1.3.j?1.3.j:6;6=1.3.j-6;C=1.3.A*6/1.3.j;7.a.D=1.3.5+C+\'f\';7.a.o=1.3.5*q+c+\'f\';c+=C});4.h.s(1,c)})})},s:9(1,c){k(1.3.b)k(1.3.b==\'L\')1.3.i.l(0).a.o=(1.w-1.3.5*1.3.8.n())/2-c/2+\'f\';u k(1.3.b==\'o\')1.3.i.l(0).a.o=-c/1.3.8.n()+\'f\';u k(1.3.b==\'N\')1.3.i.l(0).a.o=(1.w-1.3.5*1.3.8.n())-c/2+\'f\';1.3.i.l(0).a.D=1.3.5*1.3.8.n()+c+\'f\'},E:9(1){1.3.8.F(9(q){7.a.D=1.3.5+\'f\';7.a.o=1.3.5*q+\'f\'})}};4.V.U=4.h.H;',62,64,'|el||fisheyeCfg|jQuery|itemWidth|distance|this|items|function|style|halign|toAdd|options||px|var|iFisheye|container|proximity|if|get|pos|size|left|pointer|nr|posx|positionContainer|itemsText|else|bind|offsetWidth|||iUtil|maxWidth|Math|extraWidth|width|positionItems|each|pow|build|display|getPosition|valign|center|posy|right|mouseover|block|sqrt|mouseout|window|return|Fisheye|fn|resize|offsetHeight|getPointer|document|mousemove|none'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/iautoscroller.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/iautoscroller.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/iautoscroller.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Autoscroller - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Autoscroller + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1.2={j:8,5:8,3:8,6:u,E:k(r,s,6,o){1.2.5=r;1.2.3=s;1.2.6=q(6)||u;1.2.j=A.F(1.2.m,q(o)||B)},m:k(){z(i=0;i<1.2.3.C;i++){a(!1.2.3[i].4){1.2.3[i].4=1.w(1.b.n(1.2.3[i]),1.b.v(1.2.3[i]),1.b.G(1.2.3[i]))}e{1.2.3[i].4.t=1.2.3[i].g;1.2.3[i].4.l=1.2.3[i].f}a(1.2.5.9&&1.2.5.9.I==N){7={x:1.2.5.9.L,y:1.2.5.9.J,c:1.2.5.9.p.c,d:1.2.5.9.p.d}}e{7=1.w(1.b.n(1.2.5),1.b.v(1.2.5))}a(1.2.3[i].4.t>0&&1.2.3[i].4.y+1.2.3[i].4.t>7.y){1.2.3[i].g-=1.2.6}e a(1.2.3[i].4.t<=1.2.3[i].4.h&&1.2.3[i].4.t+1.2.3[i].4.d<7.y+7.d){1.2.3[i].g+=1.2.6}a(1.2.3[i].4.l>0&&1.2.3[i].4.x+1.2.3[i].4.l>7.x){1.2.3[i].f-=1.2.6}e a(1.2.3[i].4.l<=1.2.3[i].4.H&&1.2.3[i].4.l+1.2.3[i].4.c<7.x+7.c){1.2.3[i].f+=1.2.6}}},M:k(){A.D(1.2.j);1.2.5=8;1.2.3=8;z(i K 1.2.3){1.2.3[i].4=8}}};',50,50,'|jQuery|iAutoscroller|elsToScroll|parentData|elToScroll|step|elementData|null|dragCfg|if|iUtil|wb|hb|else|scrollLeft|scrollTop|||timer|function||doScroll|getPositionLite|interval|oC|parseInt|el|els||10|getSizeLite|extend|||for|window|40|length|clearInterval|start|setInterval|getScroll|wh|init|ny|in|nx|stop|true'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/idrop.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/idrop.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/idrop.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Droppables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Droppables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1.4={1o:l(u,r,G,F){v u<=1.6.8.9.X&&(u+G)>=(1.6.8.9.X+1.6.8.9.S.w)&&r<=1.6.8.9.Q&&(r+F)>=(1.6.8.9.Q+1.6.8.9.S.h)?k:7},1r:l(u,r,G,F){v!(u>(1.6.8.9.X+1.6.8.9.S.w)||(u+G)<1.6.8.9.X||r>(1.6.8.9.Q+1.6.8.9.S.h)||(r+F)<1.6.8.9.Q)?k:7},1q:l(u,r,G,F){v u<1.6.8.9.O.x&&(u+G)>1.6.8.9.O.x&&r<1.6.8.9.O.y&&(r+F)>1.6.8.9.O.y?k:7},C:7,g:{},1u:0,j:{},1E:l(D){5(1.6.8==E){v}n i;1.4.g={};n 15=7;T(i R 1.4.j){5(1.4.j[i]!=E){n 2=1.4.j[i].q(0);5(1(1.6.8).1d(\'.\'+2.3.a)){5(2.3.m==7){2.3.p=1.18(1.K.1c(2),1.K.1b(2));2.3.m=k}5(2.3.A){1.4.j[i].13(2.3.A)}1.4.g[i]=1.4.j[i];5(1.c&&2.3.s&&1.6.8.9.W){2.3.1e=1(\'.\'+2.3.a,2);D.I.H=\'16\';1.c.1f(2);2.3.1k=1.c.1l(1.12(2,\'z\')).1t;D.I.H=D.9.1h;15=k}5(2.3.V){2.3.V.Z(1.4.j[i].q(0),[1.6.8])}}}}5(15){1.c.1F()}},1w:l(){1.4.g={};T(i R 1.4.j){5(1.4.j[i]!=E){n 2=1.4.j[i].q(0);5(1(1.6.8).1d(\'.\'+2.3.a)){2.3.p=1.18(1.K.1c(2),1.K.1b(2));5(2.3.A){1.4.j[i].13(2.3.A)}1.4.g[i]=1.4.j[i];5(1.c&&2.3.s&&1.6.8.9.W){2.3.1e=1(\'.\'+2.3.a,2);D.I.H=\'16\';1.c.1f(2);D.I.H=D.9.1h}}}}},1a:l(e){5(1.6.8==E){v}1.4.C=7;n i;n 14=7;n 1g=0;T(i R 1.4.g){n 2=1.4.g[i].q(0);5(1.4.C==7&&1.4[2.3.t](2.3.p.x,2.3.p.y,2.3.p.1A,2.3.p.1y)){5(2.3.B&&2.3.h==7){1.4.g[i].13(2.3.B)}5(2.3.h==7&&2.3.M){14=k}2.3.h=k;1.4.C=2;5(1.c&&2.3.s&&1.6.8.9.W){1.c.P.q(0).1J=2.3.1m;1.c.1a(2)}1g++}1U 5(2.3.h==k){5(2.3.N){2.3.N.Z(2,[e,1.6.P.q(0).1i,2.3.J])}5(2.3.B){1.4.g[i].11(2.3.B)}2.3.h=7}}5(1.c&&!1.4.C&&1.6.8.W){1.c.P.q(0).I.H=\'16\'}5(14){1.4.C.3.M.Z(1.4.C,[e,1.6.P.q(0).1i])}},1N:l(e){n i;T(i R 1.4.g){n 2=1.4.g[i].q(0);5(2.3.A){1.4.g[i].11(2.3.A)}5(2.3.B){1.4.g[i].11(2.3.B)}5(2.3.s){1.c.19[1.c.19.1Q]=i}5(2.3.L&&2.3.h==k){2.3.h=7;2.3.L.Z(2,[e,2.3.J])}2.3.m=7;2.3.h=7}1.4.g={}},1v:l(){v b.1j(l(){5(b.U){5(b.3.s){z=1.12(b,\'z\');1.c.1p[z]=E;1(\'.\'+b.3.a,b).1P()}1.4.j[\'d\'+b.17]=E;b.U=7;b.f=E}})},1n:l(o){v b.1j(l(){5(b.U==k||!o.1s||!1.K||!1.6){v}b.3={a:o.1s,A:o.1R||7,B:o.1O||7,1m:o.1K||7,L:o.1L||o.L||7,M:o.M||o.1T||7,N:o.N||o.1S||7,V:o.V||7,t:o.Y&&(o.Y==\'1o\'||o.Y==\'1r\')?o.Y:\'1q\',J:o.J?o.J:7,m:7,h:7};5(o.1D==k&&1.c){z=1.12(b,\'z\');1.c.1p[z]=b.3.a;b.3.s=k;5(o.10){b.3.10=o.10;b.3.1k=1.c.1l(z).1t}}b.U=k;b.17=1H(1G.1I()*1B);1.4.j[\'d\'+b.17]=1(b);1.4.1u++})}};1.1z.18({1x:1.4.1v,1C:1.4.1n});1.1M=1.4.1w;',62,119,'|jQuery|iEL|dropCfg|iDrop|if|iDrag|false|dragged|dragCfg||this|iSort||||highlighted|||zones|true|function||var|||get|zoney|||zonex|return||||id|ac|hc|overzone|elm|null|zoneh|zonew|display|style|fx|iUtil|onDrop|onHover|onOut|currentPointer|helper|ny|in|oC|for|isDroppable|onActivate|so|nx|tolerance|apply|onChange|removeClass|attr|addClass|applyOnHover|oneIsSortable|none|idsa|extend|changed|checkhover|getSizeLite|getPositionLite|is|el|measure|hlt|oD|firstChild|each|os|serialize|shc|build|fit|collected|pointer|intersect|accept|hash|count|destroy|remeasure|DroppableDestroy|hb|fn|wb|10000|Droppable|sortable|highlight|start|Math|parseInt|random|className|helperclass|ondrop|recallDroppables|checkdrop|hoverclass|DraggableDestroy|length|activeclass|onout|onhover|else'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/iexpander.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/iexpander.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/iexpander.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Expander - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Expander + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3.6={9:y,d:k(){a=4.T;7(!a)j;h={P:3(4).8(\'P\')||\'\',I:3(4).8(\'I\')||\'\',z:3(4).8(\'z\')||\'\',x:3(4).8(\'x\')||\'\',M:3(4).8(\'M\')||\'\',s:3(4).8(\'s\')||\'\',D:3(4).8(\'D\')||\'\',N:3(4).8(\'N\')||\'\'};3.6.9.8(h);c=3.6.A(a);c=c.K(H G("\\\\n","g"),"");3.6.9.c(\'U\');l=3.6.9.o(0).O;3.6.9.c(c);e=3.6.9.o(0).O+l;7(4.b.5&&e>4.b.5[0]){e=4.b.5[0]}4.h.e=e+\'B\';7(4.p==\'C\'){f=3.6.9.o(0).W+l;7(4.b.5&&f>4.b.5[1]){f=4.b.5[1]}4.h.f=f+\'B\'}},A:k(a){m={\'&\':\'&X;\',\'<\':\'&Y;\',\'>\':\'&Z;\',\'"\':\'&S;\'};Q(i R m){a=a.K(H G(i,\'g\'),m[i])}j a},w:k(5){7(3.6.9==y){3(\'1h\',1g).1f(\'\');3.6.9=3(\'#t\')}j 4.1i(k(){7(/C|L/.J(4.p)){7(4.p==\'L\'){F=4.1b(\'1c\');7(!/a|14/.J(F)){j}}7(5&&(5.q==E||(5.q==13&&5.12==2))){7(5.q==E)5=[5,5];11{5[0]=u(5[0])||v;5[1]=u(5[1])||v}4.b={5:5}}3(4).15(3.6.d).16(3.6.d).1a(3.6.d);3.6.d.19(4)}})}};3.18.17=3.6.w;',62,85,'|||jQuery|this|limit|iExpander|if|css|helper|text|Expander|html|expand|width|height||style||return|function|spacer|entities||get|tagName|constructor|div|fontVariant|expanderHelper|parseInt|400|build|fontStyle|null|fontWeight|htmlEntities|px|TEXTAREA|letterSpacing|Number|elType|RegExp|new|fontSize|test|replace|INPUT|fontStretch|wordSpacing|offsetWidth|fontFamily|for|in|quot|value|pW|br|offsetHeight|amp|lt|gt|top|else|length|Array|password|blur|keyup|Autoexpand|fn|apply|keypress|getAttribute|type|id|position|append|document|body|each|absolute|hidden|visibility|left'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifx.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifx.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifx.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4.2V=q(e){7(/^3k$|^3h$|^3i$|^3y$|^3A$|^3v$|^37$|^38$|^3t$|^4n$|^4a$|^4b$|^48$|^46$|^3D$|^44$|^4d$/i.1I(e.2d))B 1b;u B 1D};4.f.4k=q(e,V){6 c=e.4l;6 Y=c.1f;Y.L=V.L;Y.1E=V.R.t;Y.1K=V.R.l;Y.1N=V.R.b;Y.1O=V.R.r;Y.K=V.K+\'S\';Y.J=V.J+\'S\';e.21.2B(c,e);e.21.4m(e)};4.f.4i=q(e){7(!4.2V(e))B 1b;6 t=4(e);6 H=e.1f;6 1Y=1b;7(t.N(\'1S\')==\'15\'){2E=t.N(\'1X\');t.N(\'1X\',\'1R\').1y();1Y=1D}6 v={};v.L=t.N(\'L\');v.26=4.2W.3T(e);v.R=4.2W.43(e);6 24=e.2k?e.2k.2l:t.N(\'3S\');v.K=D(t.N(\'K\'))||0;v.J=D(t.N(\'J\'))||0;6 2m=\'3R\'+D(27.3Q()*2R);6 14=1v.3U(/^3V$|^3Y$|^3X$|^3W$|^3P$|^3O$|^2f$|^3H$|^3G$|^3F$|^3E$|^3I$|^3J$|^3N$/i.1I(e.2d)?\'3L\':e.2d);4.1r(14,\'3K\',2m);6 3Z=4(14).40(\'4h\');6 E=14.1f;6 K=0;6 J=0;7(v.L==\'28\'||v.L==\'1Z\'){K=v.K;J=v.J}E.K=K+\'S\';E.J=J+\'S\';E.L=v.L!=\'28\'&&v.L!=\'1Z\'?\'28\':v.L;E.2F=v.26.4g+\'S\';E.2G=v.26.4f+\'S\';E.1E=v.R.t;E.1O=v.R.r;E.1N=v.R.b;E.1K=v.R.l;E.1W=\'1R\';7(4.2i.2A){E.2l=24}u{E.4j=24}7(4.2i=="2A"){H.4c="45(P="+0.2z*2s+")"}H.P=0.2z;e.21.2B(14,e);14.41(e);H.1E=\'1h\';H.1O=\'1h\';H.1N=\'1h\';H.1K=\'1h\';H.L=\'1Z\';H.49=\'15\';H.K=\'1h\';H.J=\'1h\';7(1Y){t.1q();H.1X=2E}B{v:v,36:4(14)}};4.f.1p={35:[0,d,d],39:[2w,d,d],3a:[2D,2D,3d],34:[0,0,0],3c:[0,0,d],3b:[2y,42,42],3e:[0,d,d],33:[0,0,1l],31:[0,1l,1l],32:[2e,2e,2e],3C:[0,2s,0],3u:[3f,3s,2q],3w:[1l,0,1l],3x:[3B,2q,47],3z:[d,2u,0],3r:[3q,50,3j],3g:[1l,0,0],3l:[3p,3o,3n],3m:[3M,0,1z],4s:[d,0,d],5q:[d,5p,0],5o:[0,12,0],5n:[5r,0,5s],5v:[2w,2t,2u],5u:[5m,5l,2t],5e:[2x,d,d],5c:[2r,5b,2r],5f:[1z,1z,1z],4o:[d,5j,5i],5x:[d,d,2x],5w:[0,d,0],5B:[d,0,d],5N:[12,0,0],5L:[0,0,12],5S:[12,12,0],5M:[d,2y,0],5O:[d,1C,5R],5Q:[12,0,12],5K:[d,0,0],5I:[1C,1C,1C],5A:[d,d,d],5y:[d,d,0]};4.f.16=q(M,2p){7(4.f.1p[M])B{r:4.f.1p[M][0],g:4.f.1p[M][1],b:4.f.1p[M][2]};u 7(x=/^1a\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.1B(M))B{r:D(x[1]),g:D(x[2]),b:D(x[3])};u 7(x=/1a\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.1B(M))B{r:I(x[1])*2.55,g:I(x[2])*2.55,b:I(x[3])*2.55};u 7(x=/^#([a-1k-1j-9])([a-1k-1j-9])([a-1k-1j-9])$/.1B(M))B{r:D("1i"+x[1]+x[1]),g:D("1i"+x[2]+x[2]),b:D("1i"+x[3]+x[3])};u 7(x=/^#([a-1k-1j-9]{2})([a-1k-1j-9]{2})([a-1k-1j-9]{2})$/.1B(M))B{r:D("1i"+x[1]),g:D("1i"+x[2]),b:D("1i"+x[3])};u B 2p==1D?1b:{r:d,g:d,b:d}};4.f.2J={4C:1,4B:1,4F:1,4G:1,4J:1,4I:1,2F:1,J:1,4H:1,4A:1,1N:1,1K:1,1O:1,1E:1,4p:1,4t:1,4u:1,4y:1,P:1,4x:1,4w:1,4v:1,4K:1,4L:1,52:1,51:1,4Z:1,K:1,2G:1,1P:1};4.f.2L={4Y:1,53:1,54:1,58:1,57:1,M:1,4X:1};4.f.1t=[\'4W\',\'4P\',\'4O\',\'4N\'];4.f.22={\'23\':[\'1u\',\'2Q\'],\'1F\':[\'1u\',\'2h\'],\'1A\':[\'1A\',\'\'],\'1G\':[\'1G\',\'\']};4.4M.2j({4Q:q(W,1m,C,1M){B A.1s(q(){6 1H=4.1m(1m,C,1M);6 e=1o 4.30(A,1H,W)})},2g:q(1m,1M){B A.1s(q(){6 1H=4.1m(1m,1M);6 e=1o 4.2g(A,1H)})},4R:q(O){B A.2o(q(){7(A.X)4.25(A,O)})},4V:q(O){B A.2o(q(){7(A.X)4.25(A,O);7(A.1s&&A.1s[\'f\'])A.1s.f=[]})}});4.2j({2g:q(8,k){6 z=A,2Z;z.O=q(){7(4.2X(k.1U))k.1U.2H(8)};z.1n=2n(q(){z.O()},k.T);8.X=z},C:{2M:q(p,n,2S,2U,T){B((-27.4T(p*27.4S)/2)+0.5)*2U+2S}},30:q(8,k,W){6 z=A,2Z;6 y=8.1f;6 2K=4.N(8,"1W");6 1c=4.N(8,"1S");6 h={};z.1V=(1o 2T()).2Y();k.C=k.C&&4.C[k.C]?k.C:\'2M\';z.1T=q(o,F){7(4.f.2J[o]){7(F==\'1y\'||F==\'1q\'||F==\'2I\'){7(!8.18)8.18={};6 r=I(4.10(8,o));8.18[o]=r&&r>-2R?r:(I(4.N(8,o))||0);F=F==\'2I\'?(1c==\'15\'?\'1y\':\'1q\'):F;k[F]=1D;h[o]=F==\'1y\'?[0,8.18[o]]:[8.18[o],0];7(o!=\'P\')y[o]=h[o][0]+(o!=\'1P\'&&o!=\'2b\'?\'S\':\'\');u 4.1r(y,"P",h[o][0])}u{h[o]=[I(4.10(8,o)),I(F)||0]}}u 7(4.f.2L[o])h[o]=[4.f.16(4.10(8,o)),4.f.16(F)];u 7(/^1A$|1G$|1u$|1F$|23$/i.1I(o)){6 m=F.11(/\\s+/g,\' \').11(/1a\\s*\\(\\s*/g,\'1a(\').11(/\\s*,\\s*/g,\',\').11(/\\s*\\)/g,\')\').4E(/([^\\s]+)/g);4U(o){1x\'1A\':1x\'1G\':1x\'23\':1x\'1F\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];G(6 i=0;i<4.f.1t.17;i++){6 U=4.f.22[o][0]+4.f.1t[i]+4.f.22[o][1];h[U]=o==\'1F\'?[4.f.16(4.10(8,U)),4.f.16(m[i])]:[I(4.10(8,U)),I(m[i])]}2N;1x\'1u\':G(6 i=0;ik.T+z.1V){2C(z.1n);z.1n=1Q;G(p 1g h){7(p=="P")4.1r(y,"P",h[p][1]);u 7(29 h[p][1]==\'2f\')y[p]=\'1a(\'+h[p][1].r+\',\'+h[p][1].g+\',\'+h[p][1].b+\')\';u y[p]=h[p][1]+(p!=\'1P\'&&p!=\'2b\'?\'S\':\'\')}7(k.1q||k.1y)G(6 p 1g 8.18)7(p=="P")4.1r(y,p,8.18[p]);u y[p]="";y.1S=k.1q?\'15\':(1c!=\'15\'?1c:\'2P\');y.1W=2K;8.X=1Q;7(4.2X(k.1U))k.1U.2H(8)}u{6 n=t-A.1V;6 1w=n/k.T;G(p 1g h){7(29 h[p][1]==\'2f\'){y[p]=\'1a(\'+D(4.C[k.C](1w,n,h[p][0].r,(h[p][1].r-h[p][0].r),k.T))+\',\'+D(4.C[k.C](1w,n,h[p][0].g,(h[p][1].g-h[p][0].g),k.T))+\',\'+D(4.C[k.C](1w,n,h[p][0].b,(h[p][1].b-h[p][0].b),k.T))+\')\'}u{6 2c=4.C[k.C](1w,n,h[p][0],(h[p][1]-h[p][0]),k.T);7(p=="P")4.1r(y,"P",2c);u y[p]=2c+(p!=\'1P\'&&p!=\'2b\'?\'S\':\'\')}}}};z.1n=2n(q(){z.O()},13);8.X=z},25:q(8,O){7(O)8.X.1V-=4D;u{59.2C(8.X.1n);8.X=1Q;4.5F(8,"f")}}});4.20=q(Z){6 Q={};7(29 Z==\'5J\'){Z=Z.5P().2v(\';\');G(6 i=0;i35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2.R.Q({S:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'B\',5)})},T:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'q\',5)})},U:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'E\',5)})},V:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'w\',5)})},P:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'t\',5)})},L:6(3,4,5){h 8.i(\'c\',6(){9 2.1.g(8,3,4,\'D\',5)})}});2.1.g=6(e,3,4,a,5){k(!2.M(e)){2.H(e,\'c\');h O}N z=8;z.7=2(e);z.W=2.16.14(e);z.5=F 4==\'17\'?4:5||C;k(!e.r)e.r=z.7.j(\'o\');k(a==\'E\'){a=z.7.j(\'o\')==\'v\'?\'q\':\'B\'}G k(a==\'D\'){a=z.7.j(\'o\')==\'v\'?\'t\':\'w\'}z.7.x();z.3=3;z.4=F 4==\'6\'?4:C;z.1=2.1.Y(e);z.a=a;z.m=6(){k(z.4&&z.4.Z==10){z.4.15(z.7.b(0))}k(z.a==\'q\'||z.a==\'t\'){z.7.j(\'o\',z.7.b(0).r==\'v\'?\'11\':z.7.b(0).r)}G{z.7.X()}2.1.12(z.1.f.b(0),z.1.l);2.H(z.7.b(0),\'c\')};13(z.a){u\'B\':d=9 2.1(z.1.f.b(0),2.3(z.3,z.5,z.m),\'A\');d.s(z.1.l.p.I,0);n;u\'q\':z.1.f.j(\'A\',\'J\');z.7.x();d=9 2.1(z.1.f.b(0),2.3(z.3,z.5,z.m),\'A\');d.s(0,z.1.l.p.I);n;u\'w\':d=9 2.1(z.1.f.b(0),2.3(z.3,z.5,z.m),\'y\');d.s(z.1.l.p.K,0);n;u\'t\':z.1.f.j(\'y\',\'J\');z.7.x();d=9 2.1(z.1.f.b(0),2.3(z.3,z.5,z.m),\'y\');d.s(0,z.1.l.p.K);n}};',62,70,'|fx|jQuery|speed|callback|easing|function|el|this|new|direction|get|interfaceFX|fxh||wrapper|BlindDirection|return|queue|css|if|oldStyle|complete|break|display|sizes|down|ifxFirstDisplay|custom|right|case|none|left|show|width||height|up|null|togglehor|togglever|typeof|else|dequeue|hb|1px|wb|BlindToggleHorizontally|fxCheckTag|var|false|BlindRight|extend|fn|BlindUp|BlindDown|BlindToggleVertically|BlindLeft|size|hide|buildWrapper|constructor|Function|block|destroyWrapper|switch|getSize|apply|iUtil|string'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxbounce.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxbounce.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxbounce.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - bounce - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - bounce + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8.C.D=c(7,9){p d.E(\'n\',c(){f(!8.F(d)){8.u(d,\'n\');p B}r e=k 8.h.x(d,7,9);e.l()})};8.h.x=c(e,7,9){r z=d;z.4=8(e);z.4.y();z.9=9;z.7=g(7)||A;z.3={};z.3.a=z.4.b(\'a\');z.3.6=g(z.4.b(\'6\'))||0;z.3.j=g(z.4.b(\'j\'))||0;f(z.3.a!=\'v\'&&z.3.a!=\'G\'){z.4.b(\'a\',\'v\')}z.t=5;z.m=1;z.l=c(){z.m++;z.e=k 8.h(z.4.i(0),{w:H,s:c(){z.e=k 8.h(z.4.i(0),{w:I,s:c(){z.7=g(z.7/2);f(z.m<=z.t)z.l();M{z.4.b(\'a\',z.3.a).b(\'6\',z.3.6+\'o\').b(\'j\',z.3.j+\'o\');8.u(z.4.i(0),\'n\');f(z.9&&z.9.K==J){z.9.L(z.4.i(0))}}}},\'6\');z.e.q(z.3.6-z.7,z.3.6)}},\'6\');z.e.q(z.3.6,z.3.6-z.7)}};',49,49,'|||oldStyle|el||top|hight|jQuery|callback|position|css|function|this||if|parseInt|fx|get|left|new|bounce|cnt|interfaceFX|px|return|custom|var|complete|times|dequeue|relative|duration|iBounce|show||40|false|fn|Bounce|queue|fxCheckTag|absolute|120|80|Function|constructor|apply|else'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxdrop.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxdrop.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxdrop.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - drop - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - drop + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5.Q.1a({12:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'A\',\'m\',4)})},13:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'A\',\'n\',4)})},14:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'A\',\'r\',4)})},V:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'w\',\'m\',4)})},U:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'w\',\'n\',4)})},W:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'w\',\'r\',4)})},X:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'h\',\'m\',4)})},T:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'h\',\'n\',4)})},Z:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'h\',\'r\',4)})},S:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'y\',\'m\',4)})},P:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'y\',\'n\',4)})},R:6(2,3,4){d 7.f(\'b\',6(){a 5.9.c(7,2,3,\'y\',\'r\',4)})}});5.9.c=6(e,2,3,H,l,4){o(!5.1c(e)){5.L(e,\'b\');d 18}19 z=7;z.8=5(e);z.4=O 3==\'1b\'?3:4||J;z.g={};z.g.s=z.8.i(\'s\');z.g.p=z.8.i(\'p\');z.g.h=z.8.i(\'h\');o(!e.B)e.B=z.8.i(\'D\');o(l==\'r\'){l=z.8.i(\'D\')==\'E\'?\'n\':\'m\'}z.8.10();o(z.g.s!=\'I\'&&z.g.s!=\'17\'){z.8.i(\'s\',\'I\')}z.l=l;3=O 3==\'6\'?3:J;q=1;16(H){u\'w\':z.e=a 5.9(z.8.k(0),5.2(2-15,z.4,3),\'p\');z.j=t(z.g.p)||0;z.v=z.N;q=-1;C;u\'A\':z.e=a 5.9(z.8.k(0),5.2(2-15,z.4,3),\'p\');z.j=t(z.g.p)||0;z.v=z.N;C;u\'y\':z.e=a 5.9(z.8.k(0),5.2(2-15,z.4,3),\'h\');z.j=t(z.g.h)||0;z.v=z.K;C;u\'h\':z.e=a 5.9(z.8.k(0),5.2(2-15,z.4,3),\'h\');z.j=t(z.g.h)||0;z.v=z.K;q=-1;C}z.F=a 5.9(z.8.k(0),5.2(2,z.4,6(){z.8.i(z.g);o(z.l==\'m\'){z.8.i(\'D\',\'E\')}M z.8.i(\'D\',z.8.k(0).B==\'E\'?\'11\':z.8.k(0).B);5.L(z.8.k(0),\'b\')}),\'Y\');o(l==\'n\'){z.e.x(z.j+G*q,z.j);z.F.x(0,1)}M{z.e.x(z.j,z.j+G*q);z.F.x(1,0)}};',62,75,'||speed|callback|easing|jQuery|function|this|el|fx|new|interfaceFX|DropOutDirectiont|return||queue|oldStyle|left|css|point|get|type|out|in|if|top|directionIncrement|toggle|position|parseFloat|case|unit|up|custom|right||down|ifxFirstDisplay|break|display|none|e2|100|direction|relative|null|leftUnit|dequeue|else|topUnit|typeof|DropInRight|fn|DropToggleRight|DropOutRight|DropInLeft|DropInUp|DropOutUp|DropToggleUp|DropOutLeft|opacity|DropToggleLeft|show|block|DropOutDown|DropInDown|DropToggleDown||switch|absolute|false|var|extend|string|fxCheckTag'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxfold.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxfold.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxfold.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - fold - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - fold + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2.J.K({L:7(3,4,5,6){n d.o(\'g\',7(){a 2.1.j(d,3,4,5,\'w\',6)})},I:7(3,4,5,6){n d.o(\'g\',7(){a 2.1.j(d,3,4,5,\'k\',6)})},H:7(3,4,5,6){n d.o(\'g\',7(){a 2.1.j(d,3,4,5,\'v\',6)})}});2.1.j=7(e,3,4,5,9,6){h(!2.E(e)){2.x(e,\'g\');n F}G z=d;z.b=2(e);z.6=t 5==\'M\'?5:6||u;z.5=t 5==\'7\'?5:u;h(9==\'v\'){9=z.b.p(\'T\')==\'S\'?\'k\':\'w\'}z.3=3;z.4=4&&4.s==P?4:Q;z.1=2.1.R(e);z.9=9;z.r=7(){h(z.5&&z.5.s==N){z.5.U(z.b.c(0))}h(z.9==\'k\'){z.b.B()}C{z.b.D()}2.1.O(z.1.f.c(0),z.1.i);2.x(z.b.c(0),\'g\')};h(z.9==\'k\'){z.b.B();z.1.f.p(\'4\',z.4+\'W\').p(\'q\',\'V\');z.8=a 2.1(z.1.f.c(0),2.3(z.3,z.6,7(){z.8=a 2.1(z.1.f.c(0),2.3(z.3,z.6,z.r),\'4\');z.8.l(z.4,z.1.i.m.A)}),\'q\');z.8.l(0,z.1.i.m.y)}C{z.8=a 2.1(z.1.f.c(0),2.3(z.3,z.6,7(){z.8=a 2.1(z.1.f.c(0),2.3(z.3,z.6,z.r),\'q\');z.8.l(z.1.i.m.y,0)}),\'4\');z.8.l(z.1.i.m.A,z.4)}};',59,59,'|fx|jQuery|speed|height|callback|easing|function|ef|type|new|el|get|this||wrapper|interfaceFX|if|oldStyle|DoFold|unfold|custom|sizes|return|queue|css|width|complete|constructor|typeof|null|toggle|fold|dequeue|wb||hb|show|else|hide|fxCheckTag|false|var|FoldToggle|UnFold|fn|extend|Fold|string|Function|destroyWrapper|Number|20|buildWrapper|none|display|apply|1px|px'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxopenclose.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxopenclose.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxopenclose.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - open/close/switch - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - open/close/switch + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3.11.10({12:a(4,6,7){o 9.r(\'l\',a(){f 3.d.j(9,4,6,\'q\',\'p\',7)})},13:a(4,6,7){o 9.r(\'l\',a(){f 3.d.j(9,4,6,\'s\',\'p\',7)})},16:a(4,6,7){o 9.r(\'l\',a(){k(3.b(9,\'x\')==\'F\'){f 3.d.j(9,4,6,\'s\',\'t\',7)}A{f 3.d.j(9,4,6,\'s\',\'p\',7)}})},14:a(4,6,7){o 9.r(\'l\',a(){k(3.b(9,\'x\')==\'F\'){f 3.d.j(9,4,6,\'q\',\'t\',7)}A{f 3.d.j(9,4,6,\'q\',\'p\',7)}})},Z:a(4,6,7){o 9.r(\'l\',a(){f 3.d.j(9,4,6,\'q\',\'t\',7)})},X:a(4,6,7){o 9.r(\'l\',a(){f 3.d.j(9,4,6,\'s\',\'t\',7)})}});3.d.j=a(e,4,6,C,n,7){k(!3.Y(e)){3.V(e,\'l\');o M}N z=9;N E=M;z.8=3(e);z.7=O 6==\'18\'?6:7||P;z.6=O 6==\'a\'?6:P;z.n=n;z.4=4;z.5=3.1d.1a(e);z.c={};z.c.y=z.8.b(\'y\');z.c.x=z.8.b(\'x\');k(z.c.x==\'F\'){K=z.8.b(\'Q\');z.8.U();E=19}z.c.i=z.8.b(\'i\');z.c.g=z.8.b(\'g\');k(E){z.8.R();z.8.b(\'Q\',K)}z.c.J=z.5.w+\'D\';z.c.I=z.5.h+\'D\';z.c.G=z.8.b(\'G\');z.5.i=L(z.c.i)||0;z.5.g=L(z.c.g)||0;k(z.c.y!=\'W\'&&z.c.y!=\'1c\'){z.8.b(\'y\',\'W\')}z.8.b(\'G\',\'1b\').b(\'I\',n==\'t\'&&C==\'q\'?1:z.5.h+\'D\').b(\'J\',n==\'t\'&&C==\'s\'?1:z.5.w+\'D\');z.H=a(){z.8.b(z.c);k(z.n==\'p\')z.8.R();A z.8.U();3.V(z.8.B(0),\'l\')};17(C){S\'q\':z.u=f 3.d(z.8.B(0),3.4(4-15,z.7,6),\'I\');z.v=f 3.d(z.8.B(0),3.4(z.4,z.7,z.H),\'i\');k(z.n==\'p\'){z.u.m(z.5.h,0);z.v.m(z.5.i,z.5.i+z.5.h/2)}A{z.u.m(0,z.5.h);z.v.m(z.5.i+z.5.h/2,z.5.i)}T;S\'s\':z.u=f 3.d(z.8.B(0),3.4(4-15,z.7,6),\'J\');z.v=f 3.d(z.8.B(0),3.4(z.4,z.7,z.H),\'g\');k(z.n==\'p\'){z.u.m(z.5.w,0);z.v.m(z.5.g,z.5.g+z.5.w/2)}A{z.u.m(0,z.5.w);z.v.m(z.5.g+z.5.w/2,z.5.g)}T}};',62,76,'|||jQuery|speed|oldP|callback|easing|el|this|function|css|oldStyle|fx||new|left||top|OpenClose|if|interfaceFX|custom|type|return|close|vertically|queue|horizontally|open|eh|et||display|position||else|get|direction|px|restoreStyle|none|overflow|complete|height|width|oldVisibility|parseInt|false|var|typeof|null|visibility|hide|case|break|show|dequeue|relative|OpenHorizontally|fxCheckTag|OpenVertically|extend|fn|CloseVertically|CloseHorizontally|SwitchVertically||SwitchHorizontally|switch|string|true|getSize|hidden|absolute|iUtil'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxpulsate.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxpulsate.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxpulsate.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - pulsate - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - pulsate + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3.p.b=8(4,7,5){n a.r(\'h\',8(){g(!3.q(a)){3.l(a,\'h\');n o}k 9=d 3.9.b(a,4,7,5);9.f()})};3.9.b=8(6,4,7,5){k 2=a;2.7=7;2.c=1;2.6=6;2.4=4;2.5=5;3(2.6).u();2.f=8(){2.c++;2.e=d 3.9(2.6,3.4(2.4,8(){2.m=d 3.9(2.6,3.4(2.4,8(){g(2.c<=2.7)2.f();s{3.l(2.6,\'h\');g(2.5&&2.5.w==v){2.5.t(2.6)}}}),\'i\');2.m.j(0,1)}),\'i\');2.e.j(1,0)}};',33,33,'||z|jQuery|speed|callback|el|times|function|fx|this|Pulsate|cnt|new||pulse|if|interfaceFX|opacity|custom|var|dequeue|ef|return|false|fn|fxCheckTag|queue|else|apply|show|Function|constructor'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxscale.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxscale.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxscale.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - scale/grow/shrink/puff - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - scale/grow/shrink/puff + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('a.21.23({2d:f(q,d,8){Z u.1e(\'O\',f(){N a.S.H(u,q,1,c,14,d,\'1E\',8)})},2f:f(q,d,8){Z u.1e(\'O\',f(){N a.S.H(u,q,c,1,14,d,\'1n\',8)})},27:f(q,d,8){Z u.1e(\'O\',f(){10 8=8||\'1V\';N a.S.H(u,q,c,2c,14,d,\'C\',8)})},H:f(q,r,A,Q,d,8){Z u.1e(\'O\',f(){N a.S.H(u,q,r,A,Q,d,\'H\',8)})}});a.S.H=f(e,q,r,A,Q,d,j,8){6(!a.28(e)){a.1y(e,\'O\');Z 1a}10 z=u;z.3=a(e);z.r=L(r)||c;z.A=L(A)||c;z.8=1v d==\'2b\'?d:8||1c;z.d=1v d==\'f\'?d:1c;z.y=a.q(q).y;z.Q=Q||1c;z.I=a.2g.1U(e);z.9={P:z.3.7(\'P\'),R:z.3.7(\'R\'),D:z.3.7(\'D\')||\'c%\',11:z.3.7(\'11\'),1b:z.3.7(\'1b\'),k:z.3.7(\'k\'),g:z.3.7(\'g\'),1g:z.3.7(\'1g\'),V:z.3.7(\'V\'),X:z.3.7(\'X\'),W:z.3.7(\'W\'),T:z.3.7(\'T\'),16:z.3.7(\'16\'),15:z.3.7(\'15\'),12:z.3.7(\'12\'),Y:z.3.7(\'Y\')};z.P=L(z.9.P)||e.20||0;z.R=L(z.9.R)||e.1S||0;z.k=L(z.9.k)||0;z.g=L(z.9.g)||0;b=[\'1Y\',\'U\',\'22\',\'%\'];1X(i 1W b){6(z.9.D.x(b[i])>0){z.1J=b[i];z.D=v(z.9.D)}6(z.9.V.x(b[i])>0){z.1I=b[i];z.1t=v(z.9.V)||0}6(z.9.X.x(b[i])>0){z.1N=b[i];z.1u=v(z.9.X)||0}6(z.9.W.x(b[i])>0){z.1M=b[i];z.1m=v(z.9.W)||0}6(z.9.T.x(b[i])>0){z.1P=b[i];z.1p=v(z.9.T)||0}6(z.9.16.x(b[i])>0){z.1Q=b[i];z.1s=v(z.9.16)||0}6(z.9.15.x(b[i])>0){z.1O=b[i];z.1r=v(z.9.15)||0}6(z.9.12.x(b[i])>0){z.1z=b[i];z.1o=v(z.9.12)||0}6(z.9.Y.x(b[i])>0){z.1H=b[i];z.1q=v(z.9.Y)||0}}6(z.9.11!=\'1A\'&&z.9.11!=\'2h\'){z.3.7(\'11\',\'1A\')}z.3.7(\'1g\',\'2e\');z.j=j;24(z.j){1k\'1E\':z.G=z.k+z.I.h/2;z.J=z.k;z.E=z.g+z.I.w/2;z.M=z.g;1j;1k\'1n\':z.J=z.k+z.I.h/2;z.G=z.k;z.M=z.g+z.I.w/2;z.E=z.g;1j;1k\'C\':z.J=z.k-z.I.h/4;z.G=z.k;z.M=z.g-z.I.w/4;z.E=z.g;1j}z.1i=1a;z.t=(N 1w).1x();z.1K=f(){26(z.1h);z.1h=1c};z.1L=f(){6(z.1i==1a){z.3.25();z.1i=14}10 t=(N 1w).1x();10 n=t-z.t;10 p=n/z.y;6(t>=z.y+z.t){29(f(){o=1;6(z.j){t=z.J;l=z.M;6(z.j==\'C\')o=0}z.1l(z.A,l,t,14,o)},13);z.1K()}19{o=1;6(!a.8||!a.8[z.8]){s=((-B.1d(p*B.1f)/2)+0.5)*(z.A-z.r)+z.r}19{s=a.8[z.8](p,n,z.r,(z.A-z.r),z.y)}6(z.j){6(!a.8||!a.8[z.8]){t=((-B.1d(p*B.1f)/2)+0.5)*(z.J-z.G)+z.G;l=((-B.1d(p*B.1f)/2)+0.5)*(z.M-z.E)+z.E;6(z.j==\'C\')o=((-B.1d(p*B.1f)/2)+0.5)*(-0.18)+0.18}19{t=a.8[z.8](p,n,z.G,(z.J-z.G),z.y);l=a.8[z.8](p,n,z.E,(z.M-z.E),z.y);6(z.j==\'C\')o=a.8[z.8](p,n,0.18,-0.18,z.y)}}z.1l(s,l,t,1a,o)}};z.1h=1R(f(){z.1L()},13);z.1l=f(m,g,k,1F,F){z.3.7(\'R\',z.R*m/c+\'U\').7(\'P\',z.P*m/c+\'U\').7(\'g\',g+\'U\').7(\'k\',k+\'U\').7(\'D\',z.D*m/c+z.1J);6(z.1t)z.3.7(\'V\',z.1t*m/c+z.1I);6(z.1u)z.3.7(\'X\',z.1u*m/c+z.1N);6(z.1m)z.3.7(\'W\',z.1m*m/c+z.1M);6(z.1p)z.3.7(\'T\',z.1p*m/c+z.1P);6(z.1s)z.3.7(\'16\',z.1s*m/c+z.1Q);6(z.1r)z.3.7(\'15\',z.1r*m/c+z.1O);6(z.1o)z.3.7(\'12\',z.1o*m/c+z.1z);6(z.1q)z.3.7(\'Y\',z.1q*m/c+z.1H);6(z.j==\'C\'){6(1G.1C)z.3.K(0).17.1D="1B(F="+F*c+")";z.3.K(0).17.F=F}6(1F){6(z.Q){z.3.7(z.9)}6(z.j==\'1n\'||z.j==\'C\'){z.3.7(\'1b\',\'2a\');6(z.j==\'C\'){6(1G.1C)z.3.K(0).17.1D="1B(F="+c+")";z.3.K(0).17.F=1}}19 z.3.7(\'1b\',\'1Z\');6(z.d)z.d.1T(z.3.K(0));a.1y(z.3.K(0),\'O\')}}};',62,142,'|||el|||if|css|easing|oldStyle|jQuery|sizes|100|callback||function|left|||type|top||percent||||speed|from|||this|parseFloat||indexOf|duration||to|Math|puff|fontSize|startLeft|opacity|startTop|Scale|oldP|endTop|get|parseInt|endLeft|new|interfaceFX|width|restore|height|fx|borderLeftWidth|px|borderTopWidth|borderBottomWidth|borderRightWidth|paddingLeft|return|var|position|paddingBottom||true|paddingRight|paddingTop|style|9999|else|false|display|null|cos|queue|PI|overflow|timer|firstStep|break|case|zoom|borderBottomSize|shrink|paddingBottomSize|borderLeftSize|paddingLeftSize|paddingRightSize|paddingTopSize|borderTopSize|borderRightSize|typeof|Date|getTime|dequeue|paddingBottomUnit|relative|alpha|ActiveXObject|filter|grow|finish|window|paddingLeftUnit|borderTopUnit|fontUnit|clear|step|borderBottomUnit|borderRightUnit|paddingRightUnit|borderLeftUnit|paddingTopUnit|setInterval|offsetHeight|apply|getSize|easeout|in|for|em|block|offsetWidth|fn|pt|extend|switch|show|clearInterval|Puff|fxCheckTag|setTimeout|none|string|150|Grow|hidden|Shrink|iUtil|absolute'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxshake.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxshake.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxshake.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - shake - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - shake + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6.F.o=a(b,7){t c.C(\'s\',a(){g(!6.y(c)){6.x(c,\'s\');t G}u e=j 6.d.o(c,b,7);e.q()})};6.d.o=a(e,b,7){u z=c;z.5=6(e);z.5.A();z.b=p(b)||3;z.7=7;z.l=1;z.2={};z.2.8=z.5.9(\'8\');z.2.f=p(z.5.9(\'f\'))||0;z.2.4=p(z.5.9(\'4\'))||0;g(z.2.8!=\'v\'&&z.2.8!=\'H\'){z.5.9(\'8\',\'v\')}z.q=a(){z.l++;z.e=j 6.d(z.5.i(0),{k:n,m:a(){z.e=j 6.d(z.5.i(0),{k:n,m:a(){z.e=j 6.d(e,{k:n,m:a(){g(z.l<=z.b)z.q();D{z.5.9(\'8\',z.2.8).9(\'f\',z.2.f+\'w\').9(\'4\',z.2.4+\'w\');6.x(z.5.i(0),\'s\');g(z.7&&z.7.B==I){z.7.E(z.5.i(0))}}}},\'4\');z.e.r(z.2.4-h,z.2.4)}},\'4\');z.e.r(z.2.4+h,z.2.4-h)}},\'4\');z.e.r(z.2.4,z.2.4+h)}};',45,45,'||oldStyle||left|el|jQuery|callback|position|css|function|times|this|fx||top|if|20|get|new|duration|cnt|complete|60|Shake|parseInt|shake|custom|interfaceFX|return|var|relative|px|dequeue|fxCheckTag||show|constructor|queue|else|apply|fn|false|absolute|Function'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxslide.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxslide.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxslide.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - slide - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - slide + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5.U.T({S:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'C\',\'m\',3)})},Q:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'C\',\'r\',3)})},R:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'C\',\'u\',3)})},V:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'E\',\'m\',3)})},W:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'E\',\'r\',3)})},Z:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'E\',\'u\',3)})},Y:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'s\',\'m\',3)})},X:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'s\',\'r\',3)})},10:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'s\',\'u\',3)})},N:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'D\',\'m\',3)})},O:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'D\',\'r\',3)})},P:6(1,4,3){b 7.g(\'a\',6(){8 5.2.d(7,1,4,\'D\',\'u\',3)})}});5.2.d=6(e,1,4,A,k,3){l(!5.M(e)){5.K(e,\'a\');b 18}1b z=7;z.9=5(e);z.3=J 4==\'1a\'?4:3||L;z.4=J 4==\'6\'?4:L;l(k==\'u\'){k=z.9.q(\'w\')==\'G\'?\'m\':\'r\'}l(!e.y)e.y=z.9.q(\'w\');z.9.1d();z.1=1;z.2=5.2.1e(e);z.k=k;z.A=A;z.t=6(){l(z.k==\'r\')z.9.q(\'I\',\'1f\');5.2.1c(z.2.F.j(0),z.2.c);l(z.k==\'m\'){z.9.q(\'w\',z.9.j(0).y==\'G\'?\'19\':z.9.j(0).y)}v{z.9.q(\'w\',\'G\');z.9.q(\'I\',\'13\')}l(z.4&&z.4.11==12){z.4.14(z.9.j(0))}5.K(z.9.j(0),\'a\')};15(z.A){B\'C\':z.h=8 5.2(z.9.j(0),5.1(z.1,z.3,z.t),\'H\');z.p=8 5.2(z.2.F.j(0),5.1(z.1,z.3),\'17\');l(z.k==\'m\'){z.h.f(-z.2.c.i.n,0);z.p.f(0,z.2.c.i.n)}v{z.h.f(0,-z.2.c.i.n);z.p.f(z.2.c.i.n,0)}x;B\'E\':z.h=8 5.2(z.9.j(0),5.1(z.1,z.3,z.t),\'H\');l(z.k==\'m\'){z.h.f(z.2.c.i.n,0)}v{z.h.f(0,z.2.c.i.n)}x;B\'s\':z.h=8 5.2(z.9.j(0),5.1(z.1,z.3,z.t),\'s\');z.p=8 5.2(z.2.F.j(0),5.1(z.1,z.3),\'16\');l(z.k==\'m\'){z.h.f(-z.2.c.i.o,0);z.p.f(0,z.2.c.i.o)}v{z.h.f(0,-z.2.c.i.o);z.p.f(z.2.c.i.o,0)}x;B\'D\':z.h=8 5.2(z.9.j(0),5.1(z.1,z.3,z.t),\'s\');l(z.k==\'m\'){z.h.f(z.2.c.i.o,0)}v{z.h.f(0,z.2.c.i.o)}x}};',62,78,'|speed|fx|easing|callback|jQuery|function|this|new|el|interfaceFX|return|oldStyle|slide||custom|queue|ef|sizes|get|type|if|in|hb|wb|efx|css|out|left|complete|toggle|else|display|break|ifxFirstDisplay||direction|case|up|right|down|wrapper|none|top|visibility|typeof|dequeue|null|fxCheckTag|SlideInRight|SlideOutRight|SlideToggleRight|SlideOutUp|SlideToggleUp|SlideInUp|extend|fn|SlideInDown|SlideOutDown|SlideOutLeft|SlideInLeft|SlideToggleDown|SlideToggleLeft|constructor|Function|visible|apply|switch|width|height|false|block|string|var|destroyWrapper|show|buildWrapper|hidden'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ifxtransfer.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxtransfer.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxtransfer.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * FX - transfer - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * FX - transfer + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1.2=q;1.Q.P=i(o){p m.O(\'s\',i(){R 1.A.w(m,o)})};1.A.w=i(e,o){5(1.2==q){1(\'S\',n).V(\'\');1.2=1(\'#2\')}1.2.3(\'B\',\'T\').3(\'W\',\'L\');I z=m;z.c=1(e);5(!o||!o.4){p}5(o.4.H==K&&n.G(o.4)){o.4=n.G(o.4)}J 5(!o.4.M){p}5(!o.a){o.a=U}z.a=o.a;z.4=o.4;z.b=o.10;z.9=o.9;5(z.b){1.2.19(z.b)}z.g=0;z.h=0;5(1.18){z.g=(6(1.2.3(\'17\'))||0)+(6(1.2.3(\'1a\'))||0)+(6(1.2.3(\'X\'))||0)+(6(1.2.3(\'1d\'))||0);z.h=(6(1.2.3(\'1c\'))||0)+(6(1.2.3(\'16\'))||0)+(6(1.2.3(\'15\'))||0)+(6(1.2.3(\'Z\'))||0)}z.7=1.u(1.k.v(z.c.l(0)),1.k.r(z.c.l(0)));z.8=1.u(1.k.v(z.4),1.k.r(z.4));z.7.j-=z.g;z.7.d-=z.h;z.8.j-=z.g;z.8.d-=z.h;z.11=o.9;1.2.3(\'C\',z.7.j+\'f\').3(\'E\',z.7.d+\'f\').3(\'F\',z.7.y+\'f\').3(\'D\',z.7.x+\'f\').13({F:z.8.y,D:z.8.x,C:z.8.j,E:z.8.d},z.a,i(){5(z.b)1.2.1b(z.b);1.2.3(\'B\',\'1e\');5(z.9&&z.9.H==Y){z.9.14(z.c.l(0),[z.4])}1.12(z.c.l(0),\'s\')})};',62,77,'|jQuery|transferHelper|css|to|if|parseInt|start|end|complete|duration|classname|el|hb||px|diffWidth|diffHeight|function|wb|iUtil|get|this|document||return|null|getSize|interfaceFX|div|extend|getPosition|itransferTo||||fx|display|width|left|height|top|getElementById|constructor|var|else|String|absolute|childNodes|id|queue|TransferTo|fn|new|body|block|500|append|position|paddingLeft|Function|paddingBottom|className|callback|dequeue|animate|apply|paddingTop|borderBottomWidth|borderLeftWidth|boxModel|addClass|borderRightWidth|removeClass|borderTopWidth|paddingRight|none'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/iselect.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/iselect.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/iselect.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Selectables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Selectables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2.5=1k;2.F=c;2.8=1k;2.B=[];2.X=i(e){g 1d=e.1O||e.1N||-1;4(1d==17||1d==16){2.F=k}};2.Z=i(e){2.F=c};2.1n=i(e){3.f.6=2.C.1p(e);3.f.9=2.1R(2.C.1T(3),2.C.1S(3));3.f.7=2.C.1r(3);3.f.6.x-=3.f.9.x;3.f.6.y-=3.f.9.y;2(3).1e(2.5.1c(0));4(3.f.J)2.5.13(3.f.J).z(\'V\',\'1i\');2.5.z({V:\'1i\',1g:\'1h\',1l:\'1h\'});4(3.f.o){2.5.z(\'14\',3.f.o)}2.8=3;2.H=c;2.B=[];3.f.W.Y(i(){3.9={x:3.1L+(3.P&&!2.1f.1w?1v(3.P.1G)||0:0)+(2.8.q||0),y:3.1F+(3.P&&!2.1f.1w?1v(3.P.1H)||0:0)+(2.8.p||0),1o:3.1I,1C:3.1K};4(3.s==k){4(2.F==c){3.s=c;2(3).T(2.8.f.D)}v{2.H=k;2.B[2.B.1b]=2.E(3,\'A\')}}});2.U.11(3,[e]);2(G).m(\'1z\',2.U).m(\'1A\',2.1a);n c};2.U=i(e){4(!2.8)n;2.1q.11(2.8,[e])};2.1q=i(e){4(!2.8)n;g 6=2.C.1p(e);g 7=2.C.1r(2.8);6.x+=7.l-3.f.7.l-3.f.9.x;6.y+=7.t-3.f.7.t-3.f.9.y;g I=j.u(6.x,3.f.6.x);g N=j.u(j.Q(6.x-3.f.6.x),j.Q(3.f.7.w-I));g M=j.u(6.y,3.f.6.y);g L=j.u(j.Q(6.y-3.f.6.y),j.Q(3.f.7.h-M));4(3.p>0&&6.y-20<3.p){g d=j.u(7.t,10);M-=d;L+=d;3.p-=d}v 4(3.p+3.f.9.h<3.f.7.h&&6.y+20>3.p+3.f.9.h){g d=j.u(3.f.7.h-3.p,10);3.p+=d;4(3.p!=7.t)L+=d}4(3.q>0&&6.x-20<3.q){g d=j.u(7.l,10);I-=d;N+=d;3.q-=d}v 4(3.q+3.f.9.w<3.f.7.w&&6.x+20>3.q+3.f.9.w){g d=j.u(3.f.7.w-3.q,10);3.q+=d;4(3.q!=7.l)N+=d}2.5.z({1X:I+\'R\',1W:M+\'R\',1g:N+\'R\',1l:L+\'R\'});2.5.l=I+3.f.7.l;2.5.t=M+3.f.7.t;2.5.r=2.5.l+N;2.5.b=2.5.t+L;2.H=c;3.f.W.Y(i(){S=2.B.1U(2.E(3,\'A\'));4(!(3.9.x>2.5.r||(3.9.x+3.9.1o)<2.5.l||3.9.y>2.5.b||(3.9.y+3.9.1C)<2.5.t)){2.H=k;4(3.s!=k){3.s=k;2(3).13(2.8.f.D)}4(S!=-1){3.s=c;2(3).T(2.8.f.D)}}v 4((3.s==k)&&(S==-1)){3.s=c;2(3).T(2.8.f.D)}v 4((!3.s)&&(2.F==k)&&(S!=-1)){3.s=k;2(3).13(2.8.f.D)}});n c};2.1a=i(e){4(!2.8)n;2.1y.11(2.8,[e])};2.1y=i(e){2(G).1D(\'1z\',2.U).1D(\'1A\',2.1a);4(!2.8)n;2.5.z(\'V\',\'1B\');4(3.f.J)2.5.T(3.f.J);2.8=c;2(\'12\').1e(2.5.1c(0));4(2.H==k){4(3.f.K)3.f.K(2.15(2.E(3,\'A\')))}v{4(3.f.O)3.f.O(2.15(2.E(3,\'A\')))}2.B=[]};2.15=i(s){g h=\'\';g o=[];4(a=2(\'#\'+s)){a.1c(0).f.W.Y(i(){4(3.s==k){4(h.1b>0){h+=\'&\'}h+=s+\'[]=\'+2.E(3,\'A\');o[o.1b]=2.E(3,\'A\')}})}n{1M:h,o:o}};2.1Q.1P=i(o){4(!2.5){2(\'12\',G).1e(\'<1j A="5">\').m(\'18\',2.X).m(\'19\',2.Z);2.5=2(\'#5\');2.5.z({1t:\'1E\',V:\'1B\'});4(1V.1J){2(\'12\',G).m(\'18\',2.X).m(\'19\',2.Z)}v{2(G).m(\'18\',2.X).m(\'19\',2.Z)}}4(!o){o={}}n 3.Y(i(){4(3.1x)n;3.1x=k;3.f={a:o.1s,o:o.14?21(o.14):c,D:o.1m?o.1m:c,J:o.1u?o.1u:c,K:o.K?o.K:c,O:o.O?o.O:c};3.f.W=2(\'.\'+o.1s);2(3).m(\'1Z\',2.1n).z(\'1t\',\'1Y\')})};',62,126,'||jQuery|this|if|selectHelper|pointer|scr|selectdrug|pos|||false|diff|||var||function|Math|true||bind|return||scrollTop|scrollLeft||||min|else||||css|id|selectCurrent|iUtil|sc|attr|selectKeyHelper|document|selectedone|sx|hc|onselect|sh|sy|sw|onselectstop|currentStyle|abs|px|iIndex|removeClass|selectcheck|display|el|selectKeyDown|each|selectKeyUp||apply|body|addClass|opacity|Selectserialize|||keydown|keyup|selectstop|length|get|pressedKey|append|browser|width|0px|block|div|null|height|selectedclass|selectstart|wb|getPointer|selectcheckApply|getScroll|accept|position|helperclass|parseInt|opera|isSelectable|selectstopApply|mousemove|mouseup|none|hb|unbind|absolute|offsetTop|borderLeftWidth|borderTopWidth|offsetWidth|event|offsetHeight|offsetLeft|hash|keyCode|charCode|Selectable|fn|extend|getSize|getPosition|indexOf|window|top|left|relative|mousedown||parseFloat'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/islider.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/islider.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/islider.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * 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. - * - * - */ +/** + * 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. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('5.b={19:1,1B:d(c){n c=c;H 6.D(d(){6.e.z.D(d(N){5.b.t(6,c[N])})})},A:d(){n c=[];6.D(d(Z){7(6.1a){c[Z]=[];n 3=6;n 1f=5.V.1s(6);6.e.z.D(d(N){n x=6.1L;n y=6.1M;M=a(x*G/(1f.w-6.2c));K=a(y*G/(1f.h-6.1V));c[Z][N]=[M||0,K||0,x||0,y||0]})}});H c},1l:d(3){3.4.1n=3.4.9.w-3.4.r.P;3.4.1g=3.4.9.h-3.4.r.Q;7(3.T.e.1b){W=3.T.e.z.A(3.17+1);7(W){3.4.9.w=(a(5(W).v(\'I\'))||0)+3.4.r.P;3.4.9.h=(a(5(W).v(\'16\'))||0)+3.4.r.Q}O=3.T.e.z.A(3.17-1);7(O){n X=a(5(O).v(\'I\'))||0;n Y=a(5(O).v(\'I\'))||0;3.4.9.x+=X;3.4.9.y+=Y;3.4.9.w-=X;3.4.9.h-=Y}}3.4.1G=3.4.9.w-3.4.r.P;3.4.1p=3.4.9.h-3.4.r.Q;7(3.4.8){3.4.13=((3.4.9.w-3.4.r.P)/3.4.8)||1;3.4.11=((3.4.9.h-3.4.r.Q)/3.4.8)||1;3.4.1o=3.4.1G/3.4.8;3.4.1j=3.4.1p/3.4.8}3.4.9.f=3.4.9.x-3.4.k.x;3.4.9.j=3.4.9.y-3.4.k.y;5.F.1T.v(\'1S\',\'1U\')},u:d(3,x,y){7(3.4.8){1q=a(x/3.4.1o);M=1q*G/3.4.8;1K=a(y/3.4.1j);K=1K*G/3.4.8}1x{M=a(x*G/3.4.1n);K=a(y*G/3.4.1g)}3.4.1A=[M||0,K||0,x||0,y||0];7(3.4.u)3.4.u.12(3,3.4.1A)},1I:d(14){1J=14.1R||14.2b||-1;2a(1J){B 29:5.b.t(6.l,[R,R]);E;B 28:5.b.t(6.l,[-R,-R]);E;B 2d:5.b.t(6.l,[-6.l.4.13||-1,0]);E;B 2h:5.b.t(6.l,[0,-6.l.4.11||-1]);E;B 2g:5.b.t(6.l,[6.l.4.13||1,0]);E;B 2f:5.F.t(6.l,[0,6.l.4.11||1]);E}},t:d(3,L){7(!3.4){H}3.4.r=5.1F(5.V.27(3),5.V.1s(3));3.4.k={x:a(5.v(3,\'I\'))||0,y:a(5.v(3,\'16\'))||0};3.4.10=5.v(3,\'L\');7(3.4.10!=\'1k\'&&3.4.10!=\'26\'){3.15.L=\'1k\'}5.F.1Z(3);5.b.1l(3);f=a(L[0])||0;j=a(L[1])||0;q=3.4.k.x+f;p=3.4.k.y+j;7(3.4.8){s=5.F.1Y.12(3,[q,p,f,j]);7(s.C==1H){f=s.f;j=s.j}q=3.4.k.x+f;p=3.4.k.y+j}s=5.F.1X.12(3,[q,p,f,j]);7(s&&s.C==1H){f=s.f;j=s.j}q=3.4.k.x+f;p=3.4.k.y+j;7(3.4.1z&&(3.4.u||3.4.J)){5.b.u(3,q,p)}q=!3.4.U||3.4.U==\'1W\'?q:3.4.k.x||0;p=!3.4.U||3.4.U==\'21\'?p:3.4.k.y||0;3.15.I=q+\'1C\';3.15.16=p+\'1C\'},1E:d(o){H 6.D(d(){7(6.1a==S||!o.1r||!5.V||!5.F||!5.22){H}m=5(o.1r,6);7(m.1w()==0){H}n g={23:\'24\',1z:S,u:o.u&&o.u.C==1y?o.u:1d,J:o.J&&o.J.C==1y?o.J:1d,1D:6,1v:o.1v||1i};7(o.8&&a(o.8)){g.8=a(o.8)||1;g.8=g.8>0?g.8:1}7(m.1w()==1)m.18(g);1x{5(m.A(0)).18(g);g.1D=1d;m.18(g)}m.25(5.b.1I);m.20(\'19\',5.b.19++);6.1a=S;6.e={};6.e.1u=g.1u;6.e.8=g.8;6.e.z=m;6.e.1b=o.1b?S:1i;1c=6;1c.e.z.D(d(1m){6.17=1m;6.T=1c});7(o.c&&o.c.C==1t){2e(i=o.c.1h-1;i>=0;i--){7(o.c[i].C==1t&&o.c[i].1h==2){1e=6.e.z.A(i);7(1e.2i){5.b.t(1e,o.c[i])}}}}})}};5.1N.1F({1Q:5.b.1E,1O:5.b.1B,1P:5.b.A});',62,143,'|||elm|dragCfg|jQuery|this|if|fractions|cont|parseInt|iSlider|values|function|slideCfg|dx|params|||dy|oR|dragElem|toDrag|var||ny|nx|oC|newCoords|dragmoveBy|onSlide|css||||sliders|get|case|constructor|each|break|iDrag|100|return|left|onChange|yproc|position|xproc|key|prev|wb|hb|2000|true|SliderContainer|axis|iUtil|next|prevLeft|prevTop|slider|oP|gy|apply|gx|event|style|top|SliderIteration|Draggable|tabindex|isSlider|restricted|sliderEl|null|el|sizes|containerMaxy|length|false|fracH|relative|modifyContainer|nr|containerMaxx|fracW|maxy|xfrac|accept|getSize|Array|onslide|opacity|size|else|Function|si|lastSi|set|px|handle|build|extend|maxx|Object|dragmoveByKey|pressedKey|yfrac|offsetLeft|offsetTop|fn|SliderSetValues|SliderGetValues|Slider|charCode|cursor|helper|default|offsetHeight|horizontally|fitToContainer|snapToGrid|getContainment|attr|vertically|iDrop|containment|parent|keydown|absolute|getPosition|36|35|switch|keyCode|offsetWidth|37|for|40|39|38|tagName'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/islideshow.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/islideshow.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/islideshow.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Slideshow - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - */ - +/** + * Interface Elements for jQuery + * Slideshow + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + */ + eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7.k={P:[],1O:O(){u.1t();5=u.14;p=7.E(5,\'p\');8(7.k.P[p]!=T){1k.1u(7.k.P[p])}f=5.4.s+1;8(5.4.e.A0){e.1o(5.4.S,7.k.1j)}},20:O(){u.1t();5=u.14;p=7.E(5,\'p\');8(7.k.P[p]!=T){1k.1u(7.k.P[p])}f=5.4.s-1;e=7(\'g\',5.4.K);8(f<1){f=5.4.e.A}5.4.s=f;8(e.19()>0){e.1o(5.4.S,7.k.1j)}},1R:O(c){5=1B.1y(c);8(5.4.17){f=5.4.s;2k(f==5.4.s){f=1+C(2e.17()*5.4.e.A)}}B{f=5.4.s+1;8(5.4.e.A0){e.1o(5.4.S,7.k.1j)}},1d:O(o){12 5;8(o&&o.2m==2p){8(o.l){5=1B.1y(o.l.5);X=1k.2g.U.23("#");o.l.11=T;8(X.A==2){f=C(X[1]);1m=X[1].1Z(f,\'\');8(7.E(5,\'p\')!=1m){f=1}}B{f=1}}8(o.1f){o.1f.1t();5=o.1f.14.14;p=7.E(5,\'p\');8(7.k.P[p]!=T){1k.1u(7.k.P[p])}X=o.1f.U.23("#");f=C(X[1]);1m=X[1].1Z(f,\'\');8(7.E(5,\'p\')!=1m){f=1}}8(5.4.e.A0){e.1o(5.4.S,7.k.1j)}B{1l=7(\'a\',5.4.d.o).W(f-1);7(1l).16(5.4.d.Q);12 g=1J 1K();g.5=7.E(5,\'p\');g.f=f-1;g.I=5.4.e[5.4.s-1].I;8(g.1G){g.11=T;7.k.q.1U(g)}B{g.11=7.k.q}8(5.4.j){5.4.j.o.1w(5.4.e[f-1].15)}}}},1j:O(){5=u.14.14;5.4.K.9(\'q\',\'L\');8(5.4.d.Q){1l=7(\'a\',5.4.d.o).2c(5.4.d.Q).W(5.4.s-1);7(1l).16(5.4.d.Q)}12 g=1J 1K();g.5=7.E(5,\'p\');g.f=5.4.s-1;g.I=5.4.e[5.4.s-1].I;8(g.1G){g.11=T;7.k.q.1U(g)}B{g.11=7.k.q}8(5.4.j){5.4.j.o.1w(5.4.e[5.4.s-1].15)}},q:O(){5=1B.1y(u.5);8(5.4.v){5.4.v.o.9(\'q\',\'L\')}8(5.4.r){5.4.r.o.9(\'q\',\'L\')}F=7.J.18(5);y=0;8(5.4.d){8(5.4.d.N==\'z\'){y+=5.4.d.D.G}B{F.h-=5.4.d.D.G}}8(5.4.j){8(5.4.j&&5.4.j.Y==\'z\'){y+=5.4.j.D.G}B{F.h-=5.4.j.D.G}}2s=7(\'.1H\',5);y=y+(F.h-u.V)/2;x=(F.1N-u.H)/2;5.4.K.9(\'z\',y+\'n\').9(\'1h\',x+\'n\').1w(\'\');5.4.K.2n(5.4.S);r=5.4.s+1;8(r>5.4.e.A){r=1}v=5.4.s-1;8(v<1){v=5.4.e.A}5.4.r.o.9(\'q\',\'1x\').9(\'z\',y+\'n\').9(\'1h\',x+2*u.H/3+\'n\').9(\'H\',u.H/3+\'n\').9(\'V\',u.V+\'n\').E(\'1p\',5.4.e[r-1].15);5.4.r.o.W(0).U=\'#\'+r+7.E(5,\'p\');5.4.v.o.9(\'q\',\'1x\').9(\'z\',y+\'n\').9(\'1h\',x+\'n\').9(\'H\',u.H/3+\'n\').9(\'V\',u.V+\'n\').E(\'1p\',5.4.e[v-1].15);5.4.v.o.W(0).U=\'#\'+v+7.E(5,\'p\')},25:O(o){8(!o||!o.m||7.k.P[o.m])1z;12 m=7(\'#\'+o.m);12 6=m.W(0);8(6.1a.M!=\'Z\'&&6.1a.M!=\'1Q\'){6.1a.M=\'1Q\'}6.1a.1M=\'1L\';8(m.19()==0)1z;6.4={};6.4.e=o.e?o.e:[];6.4.17=o.17&&o.17==2v||2i;1g=6.2t(\'2u\');28(i=0;i<1g.A;i++){13=6.4.e.A;6.4.e[13]={I:1g[i].I,15:1g[i].1p||1g[i].2l||\'\'}}8(6.4.e.A==0){1z}6.4.1I=7.2q(7.J.2r(6),7.J.18(6));6.4.1v=7.J.2b(6);6.4.1D=7.J.26(6);t=C(6.4.1v.t)+C(6.4.1D.t);b=C(6.4.1v.b)+C(6.4.1D.b);7(\'g\',6).2f();6.4.S=o.S?o.S:2d;8(o.N||o.1c||o.Q){6.4.d={};m.1i(\'\');6.4.d.o=7(\'.27\',6);8(o.1c){6.4.d.1c=o.1c;6.4.d.o.16(o.1c)}8(o.Q){6.4.d.Q=o.Q}6.4.d.o.9(\'M\',\'Z\').9(\'H\',6.4.1I.w+\'n\');8(o.N&&o.N==\'z\'){6.4.d.N=\'z\';6.4.d.o.9(\'z\',t+\'n\')}B{6.4.d.N=\'1b\';6.4.d.o.9(\'1b\',b+\'n\')}6.4.d.1r=o.1r?o.1r:\' \';28(12 i=0;i<6.4.e.A;i++){13=C(i)+1;6.4.d.o.1i(\'\'+13+\'\'+(13!=6.4.e.A?6.4.d.1r:\'\'))}7(\'a\',6.4.d.o).1C(\'1E\',O(){7.k.1d({1f:u})});6.4.d.D=7.J.18(6.4.d.o.W(0))}8(o.Y||o.1e){6.4.j={};m.1i(\'&1F;\');6.4.j.o=7(\'.29\',6);8(o.1e){6.4.j.1e=o.1e;6.4.j.o.16(o.1e)}6.4.j.o.9(\'M\',\'Z\').9(\'H\',6.4.1I.w+\'n\');8(o.Y&&o.Y==\'z\'){6.4.j.Y=\'z\';6.4.j.o.9(\'z\',(6.4.d&&6.4.d.N==\'z\'?6.4.d.D.G+t:t)+\'n\')}B{6.4.j.Y=\'1b\';6.4.j.o.9(\'1b\',(6.4.d&&6.4.d.N==\'1b\'?6.4.d.D.G+b:b)+\'n\')}6.4.j.D=7.J.18(6.4.j.o.W(0))}8(o.1n){6.4.r={1n:o.1n};m.1i(\'&1F;\');6.4.r.o=7(\'.1S\',6);6.4.r.o.9(\'M\',\'Z\').9(\'q\',\'L\').9(\'1M\',\'1L\').9(\'1Y\',\'1P\').16(6.4.r.1n);6.4.r.o.1C(\'1E\',7.k.1O)}8(o.1q){6.4.v={1q:o.1q};m.1i(\'&1F;\');6.4.v.o=7(\'.1V\',6);6.4.v.o.9(\'M\',\'Z\').9(\'q\',\'L\').9(\'1M\',\'1L\').9(\'1Y\',\'1P\').16(6.4.v.1q);6.4.v.o.1C(\'1E\',7.k.20)}m.22(\'\');6.4.K=7(\'.1H\',6);6.4.K.9(\'M\',\'Z\').9(\'z\',\'24\').9(\'1h\',\'24\').9(\'q\',\'L\');8(o.l){m.22(\'\');6.4.l=7(\'.2a\',6);6.4.l.9(\'M\',\'Z\');12 g=1J 1K();g.5=o.m;g.I=o.l;8(g.1G){g.11=T;7.k.1d({l:g})}B{g.11=O(){7.k.1d({l:u})}}}B{7.k.1d({m:6})}8(o.1A){21=C(o.1A)*2h}7.k.P[o.m]=o.1A?1k.2o(\'7.k.1R(\\\'\'+o.m+\'\\\')\',21):T}};7.5=7.k.25;',62,156,'||||ss|slideshow|el|jQuery|if|css||||slideslinks|images|slide|img|||slideCaption|islideshow|loader|container|px||id|display|nextslide|currentslide||this|prevslide||||top|length|else|parseInt|dimm|attr|slidePos|hb|width|src|iUtil|holder|none|position|linksPosition|function|slideshows|activeLinkClass|div|fadeDuration|null|href|height|get|url|captionPosition|absolute|class|onload|var|indic|parentNode|caption|addClass|random|getSize|size|style|bottom|linksClass|go|captionClass|link|imgs|left|append|showImage|window|lnk|show|nextslideClass|fadeOut|title|prevslideClass|linksSeparator|loaderWidth|blur|clearInterval|oPad|html|block|getElementById|return|autoplay|document|bind|oBor|click|nbsp|complete|slideshowHolder|oP|new|Image|hidden|overflow|wb|gonext|30px|relative|timer|slideshowNextSlide|slidePad|apply|slideshowPrevslide|loaderHeight|slideBor|fontSize|replace|goprev|time|prepend|split|0px|build|getBorder|slideshowLinks|for|slideshowCaption|slideshowLoader|getPadding|removeClass|500|Math|remove|location|1000|false|slideshowLink|while|alt|constructor|fadeIn|setInterval|Object|extend|getPosition|par|getElementsByTagName|IMG|true'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/isortables.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/isortables.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/isortables.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Sortables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Sortables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3.4={17:[],H:{},d:6,T:n,1T:k(){5(3.f.j==n){D}m w,U,c,I;3.4.d.8(0).1U=3.f.j.9.14;w=3.4.d.8(0).L;w.M=\'1k\';3.4.d.1l=3.1i(3.S.1X(3.4.d.8(0)),3.S.1Y(3.4.d.8(0)));w.1V=3.f.j.9.1l.1r+\'1E\';w.27=3.f.j.9.1l.1h+\'1E\';U=3.S.20(3.f.j);w.1z=U.t;w.1C=U.r;w.1y=U.b;w.1Q=U.l;5(3.f.j.9.J==u){c=3.f.j.28(u);I=c.L;I.1z=\'13\';I.1C=\'13\';I.1y=\'13\';I.1Q=\'13\';I.M=\'1k\';3.4.d.24().18(c)}3(3.f.j).1x(3.4.d.8(0));3.f.j.L.M=\'1a\'},23:k(e){5(!e.9.1e&&3.15.1t.1K){5(e.9.P)e.9.P.22(j);3(e).21(\'25\',e.9.26||e.9.2a);3(e).1u();3(3.15.1t).1S(e)}3.4.d.29(e.9.14).2b(\'&1N;\');3.4.T=n;m w=3.4.d.8(0).L;w.M=\'1a\';3.4.d.1x(e);5(e.9.v>0){3(e).1Z(e.9.v)}3(\'1D\').18(3.4.d.8(0));m Y=[];m V=6;Z(m i=0;i<3.4.17.A;i++){m N=3.15.1W[3.4.17[i]].8(0);m p=3.E(N,\'p\');m X=3.4.1p(p);5(N.g.1q!=X.1b){N.g.1q=X.1b;5(V==6&&N.g.10){V=N.g.10}X.p=p;Y[Y.A]=X}}3.4.17=[];5(V!=6&&Y.A>0){V(Y)}},2e:k(e,o){5(!3.f.j)D;m B=6;m i=0;5(e.g.q.1s()>0){Z(i=e.g.q.1s();i>0;i--){5(e.g.q.8(i-1)!=3.f.j){5(!e.C.1g){5((e.g.q.8(i-1).K.y+e.g.q.8(i-1).K.1h/2)>3.f.j.9.1v){B=e.g.q.8(i-1)}W{2v}}W{5((e.g.q.8(i-1).K.x+e.g.q.8(i-1).K.1r/2)>3.f.j.9.2t&&(e.g.q.8(i-1).K.y+e.g.q.8(i-1).K.1h/2)>3.f.j.9.1v){B=e.g.q.8(i-1)}}}}}5(B&&3.4.T!=B){3.4.T=B;3(B).2x(3.4.d.8(0))}W 5(!B&&(3.4.T!=n||3.4.d.8(0).2B!=e)){3.4.T=n;3(e).18(3.4.d.8(0))}3.4.d.8(0).L.M=\'1k\'},2z:k(e){5(3.f.j==n){D}e.g.q.F(k(){7.K=3.1i(3.S.2A(7),3.S.2y(7))})},1p:k(s){m i;m h=\'\';m o={};5(s){5(3.4.H[s]){o[s]=[];3(\'#\'+s+\' .\'+3.4.H[s]).F(k(){5(h.A>0){h+=\'&\'}h+=s+\'[]=\'+3.E(7,\'p\');o[s][o[s].A]=3.E(7,\'p\')})}W{Z(a 1w s){5(3.4.H[s[a]]){o[s[a]]=[];3(\'#\'+s[a]+\' .\'+3.4.H[s[a]]).F(k(){5(h.A>0){h+=\'&\'}h+=s[a]+\'[]=\'+3.E(7,\'p\');o[s[a]][o[s[a]].A]=3.E(7,\'p\')})}}}}W{Z(i 1w 3.4.H){o[i]=[];3(\'#\'+i+\' .\'+3.4.H[i]).F(k(){5(h.A>0){h+=\'&\'}h+=i+\'[]=\'+3.E(7,\'p\');o[i][o[i].A]=3.E(7,\'p\')})}}D{1b:h,o:o}},1L:k(e){5(!e.2h){D}D 7.F(k(){5(!7.C||!3(e).2g(\'.\'+7.C.z))3(e).2d(7.C.z);3(e).1I(7.C.9)})},1M:k(){D 7.F(k(){3(\'.\'+7.C.z).1u();3(7).2c();7.C=n;7.1H=n})},1A:k(o){5(o.z&&3.S&&3.f&&3.15){5(!3.4.d){3(\'1D\',2i).18(\'<1P p="1R">&1N;\');3.4.d=3(\'#1R\');3.4.d.8(0).L.M=\'1a\'}7.2j({z:o.z,19:o.19?o.19:6,1c:o.1c?o.1c:6,G:o.G?o.G:6,1O:o.1O||o.2o,1J:o.1J||o.2n,1K:u,10:o.10||o.2m,v:o.v?o.v:6,J:o.J?u:6,1m:o.1m?o.1m:\'2k\'});D 7.F(k(){m 9={11:o.11?u:6,1G:1F,O:o.O?1B(o.O):6,14:o.G?o.G:6,v:o.v?o.v:6,1e:u,J:o.J?u:6,R:o.R?o.R:n,Q:o.Q?o.Q:n,12:o.12&&o.12.1o==1n?o.12:6,16:o.16&&o.16.1o==1n?o.16:6,P:o.P&&o.P.1o==1n?o.P:6,1d:/2l|2f/.2p(o.1d)?o.1d:6,1j:o.1j?2q(o.1j)||0:6,1f:o.1f?o.1f:6};3(\'.\'+o.z,7).1I(9);7.1H=u;7.C={z:o.z,11:o.11?u:6,1G:1F,O:o.O?1B(o.O):6,14:o.G?o.G:6,v:o.v?o.v:6,1e:u,J:o.J?u:6,R:o.R?o.R:n,Q:o.Q?o.Q:n,1g:o.1g?u:6,9:9}})}}};3.2w.1i({2s:3.4.1A,1S:3.4.1L,2r:3.4.1M});3.2u=3.4.1p;',62,162,'|||jQuery|iSort|if|false|this|get|dragCfg||||helper||iDrag|dropCfg|||dragged|function||var|null||id|el||||true|fx|shs|||accept|length|cur|sortCfg|return|attr|each|helperclass|collected|cs|ghosting|pos|style|display|iEL|opacity|onStop|containment|handle|iUtil|inFrontOf|margins|fnc|else|ser|ts|for|onChange|revert|onStart|0px|hpc|iDrop|onDrag|changed|append|activeclass|none|hash|hoverclass|axis|so|cursorAt|floats|hb|extend|snapDistance|block|oC|tolerance|Function|constructor|serialize|os|wb|size|overzone|DraggableDestroy|ny|in|after|marginBottom|marginTop|build|parseFloat|marginRight|body|px|3000|zindex|isSortable|Draggable|onOut|sortable|addItem|destroy|nbsp|onHover|div|marginLeft|sortHelper|SortableAddItem|start|className|width|zones|getPosition|getSize|fadeIn|getMargins|css|apply|check|empty|position|initialPosition|height|cloneNode|removeClass|oP|html|DroppableDestroy|addClass|checkhover|horizontally|is|childNodes|document|Droppable|intersect|vertically|onchange|onout|onhover|test|parseInt|SortableDestroy|Sortable|nx|SortSerialize|break|fn|before|getPositionLite|measure|getSizeLite|parentNode'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/itooltip.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/itooltip.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/itooltip.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * Tooltip - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * Tooltip + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('2.4={c:o,p:f,D:o,O:g(e){2.4.p=I;2.4.A(e,9,I)},L:g(e){5(2.4.c!=9)H;2.4.p=f;2.4.E(e,9)},A:g(e,3,p){5(2.4.c!=o)H;5(!3){3=9}2.4.c=3;8=2.1d(2.q.1c(3),2.q.10(3));r=2(3);b=r.v(\'b\');J=r.v(\'J\');5(b){2.4.D=b;r.v(\'b\',\'\');2(\'#12\').N(b);5(J)2(\'#W\').N(J.1j(\'1k://\',\'\'));U 2(\'#W\').N(\'\');a=2(\'#s\');5(3.7.d){a.P(0).d=3.7.d}U{a.P(0).d=\'\'}Q=2.q.10(a.P(0));11=p&&3.7.i==\'S\'?\'R\':3.7.i;1e(11){F\'B\':h=8.y-Q.X;l=8.x;t;F\'G\':h=8.y;l=8.x-Q.Z;t;F\'17\':h=8.y;l=8.x+8.Z;t;F\'S\':2(\'K\').z(\'u\',2.4.u);n=2.q.Y(e);h=n.y+15;l=n.x+15;t;1h:h=8.y+8.X;l=8.x;t}a.T({B:h+\'C\',G:l+\'C\'});5(3.7.w==f){a.A()}U{a.1o(3.7.w)}5(3.7.j)3.7.j.19(3);r.z(\'1a\',2.4.E).z(\'18\',2.4.L)}},u:g(e){5(2.4.c==o){2(\'K\').M(\'u\',2.4.u);H}n=2.q.Y(e);2(\'#s\').T({B:n.y+15+\'C\',G:n.x+15+\'C\'})},E:g(e,3){5(!3){3=9}5(2.4.p!=I&&2.4.c==3){2.4.c=o;2(\'#s\').1s(1);2(3).v(\'b\',2.4.D).M(\'1a\',2.4.E).M(\'18\',2.4.L);5(3.7.k)3.7.k.19(3);2.4.D=o}},13:g(6){5(!2.4.a){2(\'K\').1p(\'\');2(\'#s\').T({i:\'1r\',1q:1u,1t:\'1m\'});2.4.a=I}H 9.1n(g(){5(2.v(9,\'b\')){9.7={i:/B|R|G|17|S/.1f(6.i)?6.i:\'R\',d:6.d?6.d:f,w:6.w?6.w:f,j:6.j&&6.j.16==14?6.j:f,k:6.k&&6.k.16==14?6.k:f};1l 3=2(9);3.z(\'1g\',2.4.A);3.z(\'O\',2.4.O)}})}};2.1i.1b=2.4.13;',62,93,'||jQuery|el|iTooltip|if|options|tooltipCFG|pos|this|helper|title|current|className||false|function|ny|position|onShow|onHide|nx|div|pointer|null|focused|iUtil|jEl|tooltipHelper|break|mousemove|attr|delay|||bind|show|top|px|oldTitle|hide|case|left|return|true|href|body|hidefocused|unbind|html|focus|get|helperSize|bottom|mouse|css|else|id|tooltipURL|hb|getPointer|wb|getSize|filteredPosition|tooltipTitle|build|Function||constructor|right|blur|apply|mouseout|ToolTip|getPosition|extend|switch|test|mouseover|default|fn|replace|http|var|none|each|fadeIn|append|zIndex|absolute|fadeOut|display|3000'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/compressed/ittabs.js --- a/web/res/metadataplayer/test/interface 1.2/compressed/ittabs.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/compressed/ittabs.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,13 +1,13 @@ -/** - * Interface Elements for jQuery - * TTabs - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - * +/** + * Interface Elements for jQuery + * TTabs + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + * eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3.7={c:5(e){k=e.E||e.B||-1;4(k==9){4(h.b){h.b.C=f;h.b.F=8}n{e.y();e.u()}4(2.s){v.x.w().D="\\t";2.i=5(){2.j();2.i=N}}n 4(2.l){a=2.P;o=2.M;2.d=2.d.H(0,a)+"\\t"+2.d.K(o);2.l(a+1,a+1);2.j()}g 8}},m:5(){g 2.r(5(){4(2.6&&2.6==f){3(2).I(\'q\',3.7.c);2.6=8}})},p:5(){g 2.r(5(){4(2.J==\'L\'&&(!2.6||2.6==8)){3(2).Q(\'q\',3.7.c);2.6=f}})}};3.O.G({z:3.7.p,A:3.7.m});',53,53,'||this|jQuery|if|function|hasTabsEnabled|iTTabs|false||start|event|doTab|value||true|return|window|onblur|focus|pressedKey|setSelectionRange|destroy|else|end|build|keydown|each|createTextRange||stopPropagation|document|createRange|selection|preventDefault|EnableTabs|DisableTabs|keyCode|cancelBubble|text|charCode|returnValue|extend|substring|unbind|tagName|substr|TEXTAREA|selectionEnd|null|fn|selectionStart|bind'.split('|'),0,{})) diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/interface.js --- a/web/res/metadataplayer/test/interface 1.2/interface.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/interface.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,12 +1,12 @@ -/** - * Interface Elements for jQuery - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ +/** + * Interface Elements for jQuery + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('k.f2={2r:u(M){E q.1E(u(){if(!M.aR||!M.aZ)E;D el=q;el.2l={aq:M.aq||cO,aR:M.aR,aZ:M.aZ,8e:M.8e||\'fV\',aJ:M.aJ||\'fV\',2Y:M.2Y&&2g M.2Y==\'u\'?M.2Y:I,3i:M.2Y&&2g M.3i==\'u\'?M.3i:I,7U:M.7U&&2g M.7U==\'u\'?M.7U:I,as:k(M.aR,q),8f:k(M.aZ,q),H:M.H||8J,67:M.67||0};el.2l.8f.2G().B(\'W\',\'9R\').eq(0).B({W:el.2l.aq+\'U\',19:\'2B\'}).2T();el.2l.as.1E(u(2N){q.7X=2N}).gC(u(){k(q).2R(el.2l.aJ)},u(){k(q).4i(el.2l.aJ)}).1J(\'5h\',u(e){if(el.2l.67==q.7X)E;el.2l.as.eq(el.2l.67).4i(el.2l.8e).2T().eq(q.7X).2R(el.2l.8e).2T();el.2l.8f.eq(el.2l.67).5w({W:0},el.2l.H,u(){q.14.19=\'1o\';if(el.2l.3i){el.2l.3i.1D(el,[q])}}).2T().eq(q.7X).1Y().5w({W:el.2l.aq},el.2l.H,u(){q.14.19=\'2B\';if(el.2l.2Y){el.2l.2Y.1D(el,[q])}}).2T();if(el.2l.7U){el.2l.7U.1D(el,[q,el.2l.8f.K(q.7X),el.2l.as.K(el.2l.67),el.2l.8f.K(el.2l.67)])}el.2l.67=q.7X}).eq(0).2R(el.2l.8e).2T();k(q).B(\'W\',k(q).B(\'W\')).B(\'2U\',\'2K\')})}};k.fn.gN=k.f2.2r;k.aA={2r:u(M){E q.1E(u(){D el=q;D 7E=2*18.2Q/f1;D an=2*18.2Q;if(k(el).B(\'Y\')!=\'2s\'&&k(el).B(\'Y\')!=\'1P\'){k(el).B(\'Y\',\'2s\')}el.1l={1R:k(M.1R,q),2F:M.2F,6q:M.6q,aD:M.aD,an:an,1N:k.1a.2o(q),Y:k.1a.3w(q),26:18.2Q/2,bi:M.bi,8p:M.6r,6r:[],aG:I,7E:2*18.2Q/f1};el.1l.fB=(el.1l.1N.w-el.1l.2F)/2;el.1l.7D=(el.1l.1N.h-el.1l.6q-el.1l.6q*el.1l.8p)/2;el.1l.2D=2*18.2Q/el.1l.1R.1N();el.1l.ba=el.1l.1N.w/2;el.1l.b9=el.1l.1N.h/2-el.1l.6q*el.1l.8p;D ak=1h.3F(\'22\');k(ak).B({Y:\'1P\',3I:1,Q:0,O:0});k(el).1S(ak);el.1l.1R.1E(u(2N){a6=k(\'1T\',q).K(0);W=T(el.1l.6q*el.1l.8p);if(k.3a.4t){3E=1h.3F(\'1T\');k(3E).B(\'Y\',\'1P\');3E.2J=a6.2J;3E.14.5E=\'gE 9n:9w.9y.cC(1G=60, 14=1, gB=0, gA=0, gv=0, gF=0)\'}P{3E=1h.3F(\'3E\');if(3E.fD){4L=3E.fD("2d");3E.14.Y=\'1P\';3E.14.W=W+\'U\';3E.14.Z=el.1l.2F+\'U\';3E.W=W;3E.Z=el.1l.2F;4L.gu();4L.gO(0,W);4L.gk(1,-1);4L.gp(a6,0,0,el.1l.2F,W);4L.6H();4L.gm="gG-4l";D ap=4L.hy(0,0,0,W);ap.fs(1,"fr(1V, 1V, 1V, 1)");ap.fs(0,"fr(1V, 1V, 1V, 0.6)");4L.hx=ap;if(hA.hB.3J(\'hw\')!=-1){4L.hv()}P{4L.hu(0,0,el.1l.2F,W)}}}el.1l.6r[2N]=3E;k(ak).1S(3E)}).1J(\'9z\',u(e){el.1l.aG=1b;el.1l.H=el.1l.7E*0.1*el.1l.H/18.3S(el.1l.H);E I}).1J(\'8B\',u(e){el.1l.aG=I;E I});k.aA.7T(el);el.1l.H=el.1l.7E*0.2;el.1l.ht=1X.6V(u(){el.1l.26+=el.1l.H;if(el.1l.26>an)el.1l.26=0;k.aA.7T(el)},20);k(el).1J(\'8B\',u(){el.1l.H=el.1l.7E*0.2*el.1l.H/18.3S(el.1l.H)}).1J(\'3D\',u(e){if(el.1l.aG==I){1s=k.1a.4a(e);fz=el.1l.1N.w-1s.x+el.1l.Y.x;el.1l.H=el.1l.bi*el.1l.7E*(el.1l.1N.w/2-fz)/(el.1l.1N.w/2)}})})},7T:u(el){el.1l.1R.1E(u(2N){b8=el.1l.26+2N*el.1l.2D;x=el.1l.fB*18.5H(b8);y=el.1l.7D*18.83(b8);f9=T(2a*(el.1l.7D+y)/(2*el.1l.7D));fk=(el.1l.7D+y)/(2*el.1l.7D);Z=T((el.1l.2F-el.1l.aD)*fk+el.1l.aD);W=T(Z*el.1l.6q/el.1l.2F);q.14.Q=el.1l.b9+y-W/2+"U";q.14.O=el.1l.ba+x-Z/2+"U";q.14.Z=Z+"U";q.14.W=W+"U";q.14.3I=f9;el.1l.6r[2N].14.Q=T(el.1l.b9+y+W-1-W/2)+"U";el.1l.6r[2N].14.O=T(el.1l.ba+x-Z/2)+"U";el.1l.6r[2N].14.Z=Z+"U";el.1l.6r[2N].14.W=T(W*el.1l.8p)+"U"})}};k.fn.hI=k.aA.2r;k.23({G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W},hK:u(p,n,1W,1H,1m){E 1H*(n/=1m)*n*n+1W},fl:u(p,n,1W,1H,1m){E-1H*((n=n/1m-1)*n*n*n-1)+1W},hm:u(p,n,1W,1H,1m){if((n/=1m/2)<1)E 1H/2*n*n*n*n+1W;E-1H/2*((n-=2)*n*n*n-2)+1W},8l:u(p,n,1W,1H,1m){if((n/=1m)<(1/2.75)){E 1H*(7.aB*n*n)+1W}P if(n<(2/2.75)){E 1H*(7.aB*(n-=(1.5/2.75))*n+.75)+1W}P if(n<(2.5/2.75)){E 1H*(7.aB*(n-=(2.25/2.75))*n+.gY)+1W}P{E 1H*(7.aB*(n-=(2.h2/2.75))*n+.gX)+1W}},cr:u(p,n,1W,1H,1m){if(k.G.8l)E 1H-k.G.8l(p,1m-n,0,1H,1m)+1W;E 1W+1H},gW:u(p,n,1W,1H,1m){if(k.G.cr&&k.G.8l)if(n<1m/2)E k.G.cr(p,n*2,0,1H,1m)*.5+1W;E k.G.8l(p,n*2-1m,0,1H,1m)*.5+1H*.5+1W;E 1W+1H},gQ:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m)==1)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E-(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W},gT:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}E a*18.6b(2,-10*n)*18.83((n*1m-s)*(2*18.2Q)/p)+1H+1W},gV:u(p,n,1W,1H,1m){D a,s;if(n==0)E 1W;if((n/=1m/2)==2)E 1W+1H;a=1H*0.3;p=1m*.3;if(a<18.3S(1H)){a=1H;s=p/4}P{s=p/(2*18.2Q)*18.cb(1H/a)}if(n<1){E-.5*(a*18.6b(2,10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p))+1W}E a*18.6b(2,-10*(n-=1))*18.83((n*1m-s)*(2*18.2Q)/p)*.5+1H+1W}}});k.6n={2r:u(M){E q.1E(u(){D el=q;el.1F={1R:k(M.1R,q),1Z:k(M.1Z,q),1M:k.1a.3w(q),2F:M.2F,ax:M.ax,7Y:M.7Y,ge:M.ge,51:M.51,6x:M.6x};k.6n.aH(el,0);k(1X).1J(\'gU\',u(){el.1F.1M=k.1a.3w(el);k.6n.aH(el,0);k.6n.7T(el)});k.6n.7T(el);el.1F.1R.1J(\'9z\',u(){k(el.1F.ax,q).K(0).14.19=\'2B\'}).1J(\'8B\',u(){k(el.1F.ax,q).K(0).14.19=\'1o\'});k(1h).1J(\'3D\',u(e){D 1s=k.1a.4a(e);D 5s=0;if(el.1F.51&&el.1F.51==\'cv\')D aI=1s.x-el.1F.1M.x-(el.4c-el.1F.2F*el.1F.1R.1N())/2-el.1F.2F/2;P if(el.1F.51&&el.1F.51==\'2L\')D aI=1s.x-el.1F.1M.x-el.4c+el.1F.2F*el.1F.1R.1N();P D aI=1s.x-el.1F.1M.x;D fP=18.6b(1s.y-el.1F.1M.y-el.5W/2,2);el.1F.1R.1E(u(2N){45=18.ez(18.6b(aI-2N*el.1F.2F,2)+fP);45-=el.1F.2F/2;45=45<0?0:45;45=45>el.1F.7Y?el.1F.7Y:45;45=el.1F.7Y-45;bB=el.1F.6x*45/el.1F.7Y;q.14.Z=el.1F.2F+bB+\'U\';q.14.O=el.1F.2F*2N+5s+\'U\';5s+=bB});k.6n.aH(el,5s)})})},aH:u(el,5s){if(el.1F.51)if(el.1F.51==\'cv\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())/2-5s/2+\'U\';P if(el.1F.51==\'O\')el.1F.1Z.K(0).14.O=-5s/el.1F.1R.1N()+\'U\';P if(el.1F.51==\'2L\')el.1F.1Z.K(0).14.O=(el.4c-el.1F.2F*el.1F.1R.1N())-5s/2+\'U\';el.1F.1Z.K(0).14.Z=el.1F.2F*el.1F.1R.1N()+5s+\'U\'},7T:u(el){el.1F.1R.1E(u(2N){q.14.Z=el.1F.2F+\'U\';q.14.O=el.1F.2F*2N+\'U\'})}};k.fn.hi=k.6n.2r;k.N={1c:S,8R:S,3A:S,2I:S,4y:S,cl:S,1d:S,2h:S,1R:S,5o:u(){k.N.8R.5o();if(k.N.3A){k.N.3A.2G()}},4w:u(){k.N.1R=S;k.N.2h=S;k.N.4y=k.N.1d.2y;if(k.N.1c.B(\'19\')==\'2B\'){if(k.N.1d.1f.fx){3m(k.N.1d.1f.fx.1u){1e\'c6\':k.N.1c.7a(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'1z\':k.N.1c.fq(k.N.1d.1f.fx.1m,k.N.5o);1r;1e\'a7\':k.N.1c.g3(k.N.1d.1f.fx.1m,k.N.5o);1r}}P{k.N.1c.2G()}if(k.N.1d.1f.3i)k.N.1d.1f.3i.1D(k.N.1d,[k.N.1c,k.N.3A])}P{k.N.5o()}1X.bH(k.N.2I)},dQ:u(){D 1d=k.N.1d;D 4d=k.N.aY(1d);if(1d&&4d.3o!=k.N.4y&&4d.3o.1g>=1d.1f.aL){k.N.4y=4d.3o;k.N.cl=4d.3o;81={2n:k(1d).1p(\'hj\')||\'2n\',2y:4d.3o};k.hl({1u:\'hk\',81:k.hf(81),he:u(fZ){1d.1f.4e=k(\'3o\',fZ);1N=1d.1f.4e.1N();if(1N>0){D 5p=\'\';1d.1f.4e.1E(u(2N){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'\'});if(1d.1f.aU){D 3M=k(\'2y\',1d.1f.4e.K(0)).3g();1d.2y=4d.3j+3M+1d.1f.3N+4d.66;k.N.6J(1d,4d.3o.1g!=3M.1g?(4d.3j.1g+4d.3o.1g):3M.1g,4d.3o.1g!=3M.1g?(4d.3j.1g+3M.1g):3M.1g)}if(1N>0){k.N.cj(1d,5p)}P{k.N.4w()}}P{k.N.4w()}},5N:1d.1f.aN})}},cj:u(1d,5p){k.N.8R.3x(5p);k.N.1R=k(\'8P\',k.N.8R.K(0));k.N.1R.9z(k.N.di).1J(\'5h\',k.N.dj);D Y=k.1a.3w(1d);D 1N=k.1a.2o(1d);k.N.1c.B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').2R(1d.1f.aM);if(k.N.3A){k.N.3A.B(\'19\',\'2B\').B(\'Q\',Y.y+1N.hb+\'U\').B(\'O\',Y.x+\'U\').B(\'Z\',k.N.1c.B(\'Z\')).B(\'W\',k.N.1c.B(\'W\'))}k.N.2h=0;k.N.1R.K(0).3l=1d.1f.7H;k.N.8Q(1d,1d.1f.4e.K(0),\'7J\');if(k.N.1c.B(\'19\')==\'1o\'){if(1d.1f.bV){D cp=k.1a.aT(1d,1b);D cm=k.1a.6U(1d,1b);k.N.1c.B(\'Z\',1d.4c-(k.dF?(cp.l+cp.r+cm.l+cm.r):0)+\'U\')}if(1d.1f.fx){3m(1d.1f.fx.1u){1e\'c6\':k.N.1c.7f(1d.1f.fx.1m);1r;1e\'1z\':k.N.1c.fo(1d.1f.fx.1m);1r;1e\'a7\':k.N.1c.gb(1d.1f.fx.1m);1r}}P{k.N.1c.1Y()}if(k.N.1d.1f.2Y)k.N.1d.1f.2Y.1D(k.N.1d,[k.N.1c,k.N.3A])}},dO:u(){D 1d=q;if(1d.1f.4e){k.N.4y=1d.2y;k.N.cl=1d.2y;D 5p=\'\';1d.1f.4e.1E(u(2N){2y=k(\'2y\',q).3g().6c();fY=1d.2y.6c();if(2y.3J(fY)==0){5p+=\'<8P 4I="\'+k(\'2y\',q).3g()+\'" 8K="\'+2N+\'" 14="9b: ad;">\'+k(\'3g\',q).3g()+\'\'}});if(5p!=\'\'){k.N.cj(1d,5p);q.1f.9x=1b;E}}1d.1f.4e=S;q.1f.9x=I},6J:u(2n,26,2T){if(2n.b1){D 6t=2n.b1();6t.hp(1b);6t.dI("ck",26);6t.ha("ck",-2T+26);6t.8C()}P if(2n.aF){2n.aF(26,2T)}P{if(2n.5q){2n.5q=26;2n.dN=2T}}2n.6K()},f0:u(2n){if(2n.5q)E 2n.5q;P if(2n.b1){D 6t=1h.6J.dZ();D eX=6t.h9();E 0-eX.dI(\'ck\',-h6)}},aY:u(2n){D 4P={2y:2n.2y,3j:\'\',66:\'\',3o:\'\'};if(2n.1f.aQ){D 8N=I;D 5q=k.N.f0(2n)||0;D 4T=4P.2y.7C(2n.1f.3N);24(D i=0;i<4T.1g;i++){if((4P.3j.1g+4T[i].1g>=5q||5q==0)&&!8N){if(4P.3j.1g<=5q)4P.3o=4T[i];P 4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\');8N=1b}P if(8N){4P.66+=4T[i]+(4T[i]!=\'\'?2n.1f.3N:\'\')}if(!8N){4P.3j+=4T[i]+(4T.1g>1?2n.1f.3N:\'\')}}}P{4P.3o=4P.2y}E 4P},bU:u(e){1X.bH(k.N.2I);D 1d=k.N.aY(q);D 3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40|9/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';P k.N.2h=-1;3m(3K){1e 9:1e 13:if(k.N.2h==-1)k.N.2h=0;D 2h=k.N.1R.K(k.N.2h||0);D 3M=2h.5C(\'4I\');q.2y=1d.3j+3M+q.1f.3N+1d.66;k.N.4y=1d.3o;k.N.6J(q,1d.3j.1g+3M.1g+q.1f.3N.1g,1d.3j.1g+3M.1g+q.1f.3N.1g);k.N.4w();if(q.1f.68){4u=T(2h.5C(\'8K\'))||0;k.N.8Q(q,q.1f.4e.K(4u),\'68\')}if(q.7W)q.7W(I);E 3K!=13;1r;1e 27:q.2y=1d.3j+k.N.4y+q.1f.3N+1d.66;q.1f.4e=S;k.N.4w();if(q.7W)q.7W(I);E I;1r;1e 35:k.N.2h=k.N.1R.1N()-1;1r;1e 36:k.N.2h=0;1r;1e 38:k.N.2h--;if(k.N.2h<0)k.N.2h=k.N.1R.1N()-1;1r;1e 40:k.N.2h++;if(k.N.2h==k.N.1R.1N())k.N.2h=0;1r}k.N.8Q(q,q.1f.4e.K(k.N.2h||0),\'7J\');k.N.1R.K(k.N.2h||0).3l=q.1f.7H;if(k.N.1R.K(k.N.2h||0).7W)k.N.1R.K(k.N.2h||0).7W(I);if(q.1f.aU){D aK=k.N.1R.K(k.N.2h||0).5C(\'4I\');q.2y=1d.3j+aK+q.1f.3N+1d.66;if(k.N.4y.1g!=aK.1g)k.N.6J(q,1d.3j.1g+k.N.4y.1g,1d.3j.1g+aK.1g)}E I}k.N.dO.1D(q);if(q.1f.9x==I){if(1d.3o!=k.N.4y&&1d.3o.1g>=q.1f.aL)k.N.2I=1X.9T(k.N.dQ,q.1f.54);if(k.N.1R){k.N.4w()}}E 1b},8Q:u(2n,3o,1u){if(2n.1f[1u]){D 81={};ar=3o.f3(\'*\');24(i=0;i\');k.N.3A=k(\'#ds\')}k(\'2e\',1h).1S(\'<22 id="dr" 14="Y: 1P; Q: 0; O: 0; z-cZ: h3; 19: 1o;"><9h 14="6w: 0;8F: 0; h1-14: 1o; z-cZ: h0;">&7k;\');k.N.1c=k(\'#dr\');k.N.8R=k(\'9h\',k.N.1c)}E q.1E(u(){if(q.4Y!=\'ch\'&&q.5C(\'1u\')!=\'3g\')E;q.1f={};q.1f.aN=M.aN;q.1f.aL=18.3S(T(M.aL)||1);q.1f.aM=M.aM?M.aM:\'\';q.1f.7H=M.7H?M.7H:\'\';q.1f.68=M.68&&M.68.1K==2A?M.68:S;q.1f.2Y=M.2Y&&M.2Y.1K==2A?M.2Y:S;q.1f.3i=M.3i&&M.3i.1K==2A?M.3i:S;q.1f.7J=M.7J&&M.7J.1K==2A?M.7J:S;q.1f.bV=M.bV||I;q.1f.aQ=M.aQ||I;q.1f.3N=q.1f.aQ?(M.3N||\', \'):\'\';q.1f.aU=M.aU?1b:I;q.1f.54=18.3S(T(M.54)||aC);if(M.fx&&M.fx.1K==7M){if(!M.fx.1u||!/c6|1z|a7/.48(M.fx.1u)){M.fx.1u=\'1z\'}if(M.fx.1u==\'1z\'&&!k.fx.1z)E;if(M.fx.1u==\'a7\'&&!k.fx.61)E;M.fx.1m=18.3S(T(M.fx.1m)||8J);if(M.fx.1m>q.1f.54){M.fx.1m=q.1f.54-2a}q.1f.fx=M.fx}q.1f.4e=S;q.1f.9x=I;k(q).1p(\'bU\',\'eN\').6K(u(){k.N.1d=q;k.N.4y=q.2y}).dH(k.N.eJ).6y(k.N.bU).5B(u(){k.N.2I=1X.9T(k.N.4w,hM)})})}};k.fn.hR=k.N.2r;k.1y={2I:S,4Q:S,29:S,2D:10,26:u(el,4J,2D,eG){k.1y.4Q=el;k.1y.29=4J;k.1y.2D=T(2D)||10;k.1y.2I=1X.6V(k.1y.eF,T(eG)||40)},eF:u(){24(i=0;i0&&k.1y.29[i].2X.y+k.1y.29[i].2X.t>69.y){k.1y.29[i].3d-=k.1y.2D}P if(k.1y.29[i].2X.t<=k.1y.29[i].2X.h&&k.1y.29[i].2X.t+k.1y.29[i].2X.hb<69.y+69.hb){k.1y.29[i].3d+=k.1y.2D}if(k.1y.29[i].2X.l>0&&k.1y.29[i].2X.x+k.1y.29[i].2X.l>69.x){k.1y.29[i].3c-=k.1y.2D}P if(k.1y.29[i].2X.l<=k.1y.29[i].2X.hP&&k.1y.29[i].2X.l+k.1y.29[i].2X.1C<69.x+69.1C){k.1y.29[i].3c+=k.1y.2D}}},8o:u(){1X.5T(k.1y.2I);k.1y.4Q=S;k.1y.29=S;24(i in k.1y.29){k.1y.29[i].2X=S}}};k.11={1c:S,F:S,4U:u(){E q.1E(u(){if(q.9I){q.A.5e.3q(\'5v\',k.11.bN);q.A=S;q.9I=I;if(k.3a.4t){q.bE="eN"}P{q.14.hq=\'\';q.14.e1=\'\';q.14.e7=\'\'}}})},bN:u(e){if(k.11.F!=S){k.11.9A(e);E I}D C=q.3U;k(1h).1J(\'3D\',k.11.bX).1J(\'5P\',k.11.9A);C.A.1s=k.1a.4a(e);C.A.4B=C.A.1s;C.A.7q=I;C.A.ho=q!=q.3U;k.11.F=C;if(C.A.5i&&q!=q.3U){bS=k.1a.3w(C.31);bQ=k.1a.2o(C);bR={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};dx=C.A.4B.x-bS.x-bQ.1C/2-bR.x;dy=C.A.4B.y-bS.y-bQ.hb/2-bR.y;k.3b.5c(C,[dx,dy])}E k.7n||I},ea:u(e){D C=k.11.F;C.A.7q=1b;D 9G=C.14;C.A.7V=k.B(C,\'19\');C.A.4n=k.B(C,\'Y\');if(!C.A.cz)C.A.cz=C.A.4n;C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.9B=0;C.A.ai=0;if(k.3a.4t){D bW=k.1a.6U(C,1b);C.A.9B=bW.l||0;C.A.ai=bW.t||0}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){9G.Y=\'2s\'}k.11.1c.5o();D 5g=C.fI(1b);k(5g).B({19:\'2B\',O:\'2P\',Q:\'2P\'});5g.14.5K=\'0\';5g.14.5z=\'0\';5g.14.5k=\'0\';5g.14.5j=\'0\';k.11.1c.1S(5g);D 3Y=k.11.1c.K(0).14;if(C.A.bD){3Y.Z=\'9F\';3Y.W=\'9F\'}P{3Y.W=C.A.1B.hb+\'U\';3Y.Z=C.A.1B.1C+\'U\'}3Y.19=\'2B\';3Y.5K=\'2P\';3Y.5z=\'2P\';3Y.5k=\'2P\';3Y.5j=\'2P\';k.23(C.A.1B,k.1a.2o(5g));if(C.A.2V){if(C.A.2V.O){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.2V.O;C.A.1B.x=C.A.1s.x-C.A.2V.O}if(C.A.2V.Q){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.2V.Q;C.A.1B.y=C.A.1s.y-C.A.2V.Q}if(C.A.2V.2L){C.A.2c.x+=C.A.1s.x-C.A.1B.x-C.A.1B.hb+C.A.2V.2L;C.A.1B.x=C.A.1s.x-C.A.1B.1C+C.A.2V.2L}if(C.A.2V.4D){C.A.2c.y+=C.A.1s.y-C.A.1B.y-C.A.1B.hb+C.A.2V.4D;C.A.1B.y=C.A.1s.y-C.A.1B.hb+C.A.2V.4D}}C.A.2v=C.A.2c.x;C.A.2q=C.A.2c.y;if(C.A.8s||C.A.2p==\'94\'){8U=k.1a.6U(C.31,1b);C.A.1B.x=C.8t+(k.3a.4t?0:k.3a.7I?-8U.l:8U.l);C.A.1B.y=C.8G+(k.3a.4t?0:k.3a.7I?-8U.t:8U.t);k(C.31).1S(k.11.1c.K(0))}if(C.A.2p){k.11.c5(C);C.A.5t.2p=k.11.ce}if(C.A.5i){k.3b.ct(C)}3Y.O=C.A.1B.x-C.A.9B+\'U\';3Y.Q=C.A.1B.y-C.A.ai+\'U\';3Y.Z=C.A.1B.1C+\'U\';3Y.W=C.A.1B.hb+\'U\';k.11.F.A.9E=I;if(C.A.gx){C.A.5t.6a=k.11.c7}if(C.A.3I!=I){k.11.1c.B(\'3I\',C.A.3I)}if(C.A.1G){k.11.1c.B(\'1G\',C.A.1G);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=\'+C.A.1G*2a+\')\')}}if(C.A.7O){k.11.1c.2R(C.A.7O);k.11.1c.K(0).7c.14.19=\'1o\'}if(C.A.4o)C.A.4o.1D(C,[5g,C.A.2c.x,C.A.2c.y]);if(k.1x&&k.1x.8D>0){k.1x.ed(C)}if(C.A.46==I){9G.19=\'1o\'}E I},c5:u(C){if(C.A.2p.1K==b0){if(C.A.2p==\'94\'){C.A.28=k.23({x:0,y:0},k.1a.2o(C.31));D 8S=k.1a.6U(C.31,1b);C.A.28.w=C.A.28.1C-8S.l-8S.r;C.A.28.h=C.A.28.hb-8S.t-8S.b}P if(C.A.2p==\'1h\'){D bY=k.1a.bm();C.A.28={x:0,y:0,w:bY.w,h:bY.h}}}P if(C.A.2p.1K==7F){C.A.28={x:T(C.A.2p[0])||0,y:T(C.A.2p[1])||0,w:T(C.A.2p[2])||0,h:T(C.A.2p[3])||0}}C.A.28.dx=C.A.28.x-C.A.1B.x;C.A.28.dy=C.A.28.y-C.A.1B.y},9H:u(F){if(F.A.8s||F.A.2p==\'94\'){k(\'2e\',1h).1S(k.11.1c.K(0))}k.11.1c.5o().2G().B(\'1G\',1);if(1X.71){k.11.1c.B(\'5E\',\'8V(1G=2a)\')}},9A:u(e){k(1h).3q(\'3D\',k.11.bX).3q(\'5P\',k.11.9A);if(k.11.F==S){E}D F=k.11.F;k.11.F=S;if(F.A.7q==I){E I}if(F.A.44==1b){k(F).B(\'Y\',F.A.4n)}D 9G=F.14;if(F.5i){k.11.1c.B(\'9b\',\'8j\')}if(F.A.7O){k.11.1c.4i(F.A.7O)}if(F.A.6N==I){if(F.A.fx>0){if(!F.A.1O||F.A.1O==\'4j\'){D x=12 k.fx(F,{1m:F.A.fx},\'O\');x.1L(F.A.2c.x,F.A.8y)}if(!F.A.1O||F.A.1O==\'49\'){D y=12 k.fx(F,{1m:F.A.fx},\'Q\');y.1L(F.A.2c.y,F.A.8v)}}P{if(!F.A.1O||F.A.1O==\'4j\')F.14.O=F.A.8y+\'U\';if(!F.A.1O||F.A.1O==\'49\')F.14.Q=F.A.8v+\'U\'}k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}P if(F.A.fx>0){F.A.9E=1b;D dh=I;if(k.1x&&k.1t&&F.A.44){dh=k.1a.3w(k.1t.1c.K(0))}k.11.1c.5w({O:dh?dh.x:F.A.1B.x,Q:dh?dh.y:F.A.1B.y},F.A.fx,u(){F.A.9E=I;if(F.A.46==I){F.14.19=F.A.7V}k.11.9H(F)})}P{k.11.9H(F);if(F.A.46==I){k(F).B(\'19\',F.A.7V)}}if(k.1x&&k.1x.8D>0){k.1x.eO(F)}if(k.1t&&F.A.44){k.1t.fC(F)}if(F.A.2Z&&(F.A.8y!=F.A.2c.x||F.A.8v!=F.A.2c.y)){F.A.2Z.1D(F,F.A.b3||[0,0,F.A.8y,F.A.8v])}if(F.A.3T)F.A.3T.1D(F);E I},c7:u(x,y,dx,dy){if(dx!=0)dx=T((dx+(q.A.gx*dx/18.3S(dx))/2)/q.A.gx)*q.A.gx;if(dy!=0)dy=T((dy+(q.A.gy*dy/18.3S(dy))/2)/q.A.gy)*q.A.gy;E{dx:dx,dy:dy,x:0,y:0}},ce:u(x,y,dx,dy){dx=18.3L(18.3r(dx,q.A.28.dx),q.A.28.w+q.A.28.dx-q.A.1B.1C);dy=18.3L(18.3r(dy,q.A.28.dy),q.A.28.h+q.A.28.dy-q.A.1B.hb);E{dx:dx,dy:dy,x:0,y:0}},bX:u(e){if(k.11.F==S||k.11.F.A.9E==1b){E}D F=k.11.F;F.A.4B=k.1a.4a(e);if(F.A.7q==I){45=18.ez(18.6b(F.A.1s.x-F.A.4B.x,2)+18.6b(F.A.1s.y-F.A.4B.y,2));if(450){k.1x.al(F)}E I},2r:u(o){if(!k.11.1c){k(\'2e\',1h).1S(\'<22 id="e8">\');k.11.1c=k(\'#e8\');D el=k.11.1c.K(0);D 4J=el.14;4J.Y=\'1P\';4J.19=\'1o\';4J.9b=\'8j\';4J.eu=\'1o\';4J.2U=\'2K\';if(1X.71){el.bE="e4"}P{4J.gi=\'1o\';4J.e7=\'1o\';4J.e1=\'1o\'}}if(!o){o={}}E q.1E(u(){if(q.9I||!k.1a)E;if(1X.71){q.gh=u(){E I};q.gj=u(){E I}}D el=q;D 5e=o.3v?k(q).gf(o.3v):k(q);if(k.3a.4t){5e.1E(u(){q.bE="e4"})}P{5e.B(\'-gI-7R-8C\',\'1o\');5e.B(\'7R-8C\',\'1o\');5e.B(\'-gH-7R-8C\',\'1o\')}q.A={5e:5e,6N:o.6N?1b:I,46:o.46?1b:I,44:o.44?o.44:I,5i:o.5i?o.5i:I,8s:o.8s?o.8s:I,3I:o.3I?T(o.3I)||0:I,1G:o.1G?2m(o.1G):I,fx:T(o.fx)||S,6R:o.6R?o.6R:I,5t:{},1s:{},4o:o.4o&&o.4o.1K==2A?o.4o:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:0,2V:o.2V?o.2V:I,bD:o.bD?1b:I,7O:o.7O||I};if(o.5t&&o.5t.1K==2A)q.A.5t.7R=o.5t;if(o.4m&&o.4m.1K==2A)q.A.4m=o.4m;if(o.2p&&((o.2p.1K==b0&&(o.2p==\'94\'||o.2p==\'1h\'))||(o.2p.1K==7F&&o.2p.1g==4))){q.A.2p=o.2p}if(o.2O){q.A.2O=o.2O}if(o.6a){if(2g o.6a==\'gz\'){q.A.gx=T(o.6a)||1;q.A.gy=T(o.6a)||1}P if(o.6a.1g==2){q.A.gx=T(o.6a[0])||1;q.A.gy=T(o.6a[1])||1}}if(o.3H&&o.3H.1K==2A){q.A.3H=o.3H}q.9I=1b;5e.1E(u(){q.3U=el});5e.1J(\'5v\',k.11.bN)})}};k.fn.23({aS:k.11.4U,7t:k.11.2r});k.1x={du:u(5J,5G,7Q,7S){E 5J<=k.11.F.A.2v&&(5J+7Q)>=(k.11.F.A.2v+k.11.F.A.1B.w)&&5G<=k.11.F.A.2q&&(5G+7S)>=(k.11.F.A.2q+k.11.F.A.1B.h)?1b:I},cV:u(5J,5G,7Q,7S){E!(5J>(k.11.F.A.2v+k.11.F.A.1B.w)||(5J+7Q)(k.11.F.A.2q+k.11.F.A.1B.h)||(5G+7S)k.11.F.A.4B.x&&5Gk.11.F.A.4B.y?1b:I},5r:I,3Q:{},8D:0,3P:{},ed:u(C){if(k.11.F==S){E}D i;k.1x.3Q={};D bJ=I;24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){if(1j.1i.m==I){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));1j.1i.m=1b}if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);1j.1i.ay=k.1t.8x(k.1p(1j,\'id\')).7l;C.14.19=C.A.7V;bJ=1b}if(1j.1i.9i){1j.1i.9i.1D(k.1x.3P[i].K(0),[k.11.F])}}}}if(bJ){k.1t.26()}},dS:u(){k.1x.3Q={};24(i in k.1x.3P){if(k.1x.3P[i]!=S){D 1j=k.1x.3P[i].K(0);if(k(k.11.F).is(\'.\'+1j.1i.a)){1j.1i.p=k.23(k.1a.7G(1j),k.1a.74(1j));if(1j.1i.ac){k.1x.3P[i].2R(1j.1i.ac)}k.1x.3Q[i]=k.1x.3P[i];if(k.1t&&1j.1i.s&&k.11.F.A.44){1j.1i.el=k(\'.\'+1j.1i.a,1j);C.14.19=\'1o\';k.1t.cT(1j);C.14.19=C.A.7V}}}}},al:u(e){if(k.11.F==S){E}k.1x.5r=I;D i;D bK=I;D eQ=0;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(k.1x.5r==I&&k.1x[1j.1i.t](1j.1i.p.x,1j.1i.p.y,1j.1i.p.1C,1j.1i.p.hb)){if(1j.1i.hc&&1j.1i.h==I){k.1x.3Q[i].2R(1j.1i.hc)}if(1j.1i.h==I&&1j.1i.7x){bK=1b}1j.1i.h=1b;k.1x.5r=1j;if(k.1t&&1j.1i.s&&k.11.F.A.44){k.1t.1c.K(0).3l=1j.1i.eV;k.1t.al(1j)}eQ++}P if(1j.1i.h==1b){if(1j.1i.7y){1j.1i.7y.1D(1j,[e,k.11.1c.K(0).7c,1j.1i.fx])}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}1j.1i.h=I}}if(k.1t&&!k.1x.5r&&k.11.F.44){k.1t.1c.K(0).14.19=\'1o\'}if(bK){k.1x.5r.1i.7x.1D(k.1x.5r,[e,k.11.1c.K(0).7c])}},eO:u(e){D i;24(i in k.1x.3Q){D 1j=k.1x.3Q[i].K(0);if(1j.1i.ac){k.1x.3Q[i].4i(1j.1i.ac)}if(1j.1i.hc){k.1x.3Q[i].4i(1j.1i.hc)}if(1j.1i.s){k.1t.7s[k.1t.7s.1g]=i}if(1j.1i.9l&&1j.1i.h==1b){1j.1i.h=I;1j.1i.9l.1D(1j,[e,1j.1i.fx])}1j.1i.m=I;1j.1i.h=I}k.1x.3Q={}},4U:u(){E q.1E(u(){if(q.9j){if(q.1i.s){id=k.1p(q,\'id\');k.1t.5L[id]=S;k(\'.\'+q.1i.a,q).aS()}k.1x.3P[\'d\'+q.c2]=S;q.9j=I;q.f=S}})},2r:u(o){E q.1E(u(){if(q.9j==1b||!o.3C||!k.1a||!k.11){E}q.1i={a:o.3C,ac:o.9J||I,hc:o.a5||I,eV:o.58||I,9l:o.gq||o.9l||I,7x:o.7x||o.dC||I,7y:o.7y||o.fO||I,9i:o.9i||I,t:o.6I&&(o.6I==\'du\'||o.6I==\'cV\')?o.6I:\'1s\',fx:o.fx?o.fx:I,m:I,h:I};if(o.cQ==1b&&k.1t){id=k.1p(q,\'id\');k.1t.5L[id]=q.1i.a;q.1i.s=1b;if(o.2Z){q.1i.2Z=o.2Z;q.1i.ay=k.1t.8x(id).7l}}q.9j=1b;q.c2=T(18.6o()*c9);k.1x.3P[\'d\'+q.c2]=k(q);k.1x.8D++})}};k.fn.23({dR:k.1x.4U,do:k.1x.2r});k.gD=k.1x.dS;k.3B={1c:S,8L:u(){3g=q.2y;if(!3g)E;14={dz:k(q).B(\'dz\')||\'\',4A:k(q).B(\'4A\')||\'\',8Z:k(q).B(\'8Z\')||\'\',dP:k(q).B(\'dP\')||\'\',dT:k(q).B(\'dT\')||\'\',dU:k(q).B(\'dU\')||\'\',c3:k(q).B(\'c3\')||\'\',dY:k(q).B(\'dY\')||\'\'};k.3B.1c.B(14);3x=k.3B.dX(3g);3x=3x.4E(12 bb("\\\\n","g"),"
    ");k.3B.1c.3x(\'gL\');ci=k.3B.1c.K(0).4c;k.3B.1c.3x(3x);Z=k.3B.1c.K(0).4c+ci;if(q.6l.2M&&Z>q.6l.2M[0]){Z=q.6l.2M[0]}q.14.Z=Z+\'U\';if(q.4Y==\'cf\'){W=k.3B.1c.K(0).5W+ci;if(q.6l.2M&&W>q.6l.2M[1]){W=q.6l.2M[1]}q.14.W=W+\'U\'}},dX:u(3g){cg={\'&\':\'&gK;\',\'<\':\'&gJ;\',\'>\':\'>\',\'"\':\'&gs;\'};24(i in cg){3g=3g.4E(12 bb(i,\'g\'),cg[i])}E 3g},2r:u(2M){if(k.3B.1c==S){k(\'2e\',1h).1S(\'<22 id="dE" 14="Y: 1P; Q: 0; O: 0; 3n: 2K;">\');k.3B.1c=k(\'#dE\')}E q.1E(u(){if(/cf|ch/.48(q.4Y)){if(q.4Y==\'ch\'){dB=q.5C(\'1u\');if(!/3g|gr/.48(dB)){E}}if(2M&&(2M.1K==bn||(2M.1K==7F&&2M.1g==2))){if(2M.1K==bn)2M=[2M,2M];P{2M[0]=T(2M[0])||8J;2M[1]=T(2M[1])||8J}q.6l={2M:2M}}k(q).5B(k.3B.8L).6y(k.3B.8L).dH(k.3B.8L);k.3B.8L.1D(q)}})}};k.fn.kc=k.3B.2r;k.4K=u(e){if(/^kd$|^ke$|^ka$|^6L$|^k9$|^k5$|^k4$|^k6$|^k7$|^2e$|^k8$|^kf$|^kg$|^kn$|^ko$|^kp$|^kq$/i.48(e.9N))E I;P E 1b};k.fx.a0=u(e,65){D c=e.7c;D cs=c.14;cs.Y=65.Y;cs.5K=65.3G.t;cs.5j=65.3G.l;cs.5k=65.3G.b;cs.5z=65.3G.r;cs.Q=65.Q+\'U\';cs.O=65.O+\'U\';e.31.ew(c,e);e.31.km(e)};k.fx.9P=u(e){if(!k.4K(e))E I;D t=k(e);D es=e.14;D 73=I;if(t.B(\'19\')==\'1o\'){5Y=t.B(\'3n\');t.B(\'3n\',\'2K\').1Y();73=1b}D V={};V.Y=t.B(\'Y\');V.1q=k.1a.2o(e);V.3G=k.1a.cy(e);D co=e.4Z?e.4Z.ei:t.B(\'hU\');V.Q=T(t.B(\'Q\'))||0;V.O=T(t.B(\'O\'))||0;D eo=\'kl\'+T(18.6o()*c9);D 6u=1h.3F(/^1T$|^br$|^kh$|^hr$|^8C$|^kj$|^8T$|^3A$|^kk$|^k3$|^k2$|^9h$|^dl$|^jM$/i.48(e.9N)?\'22\':e.9N);k.1p(6u,\'id\',eo);D jN=k(6u).2R(\'jO\');D 4h=6u.14;D Q=0;D O=0;if(V.Y==\'2s\'||V.Y==\'1P\'){Q=V.Q;O=V.O}4h.Q=Q+\'U\';4h.O=O+\'U\';4h.Y=V.Y!=\'2s\'&&V.Y!=\'1P\'?\'2s\':V.Y;4h.W=V.1q.hb+\'U\';4h.Z=V.1q.1C+\'U\';4h.5K=V.3G.t;4h.5z=V.3G.r;4h.5k=V.3G.b;4h.5j=V.3G.l;4h.2U=\'2K\';if(k.3a.4t){4h.ei=co}P{4h.jK=co}if(k.3a=="4t"){es.5E="8V(1G="+0.ex*2a+")"}es.1G=0.ex;e.31.ew(6u,e);6u.jF(e);es.5K=\'2P\';es.5z=\'2P\';es.5k=\'2P\';es.5j=\'2P\';es.Y=\'1P\';es.eu=\'1o\';es.Q=\'2P\';es.O=\'2P\';if(73){t.2G();es.3n=5Y}E{V:V,3p:k(6u)}};k.fx.8E={jE:[0,1V,1V],jG:[eD,1V,1V],jH:[e6,e6,jI],jP:[0,0,0],ks:[0,0,1V],jY:[dv,42,42],jZ:[0,1V,1V],k0:[0,0,7w],k1:[0,7w,7w],jX:[cn,cn,cn],jS:[0,2a,0],jR:[jT,jU,eb],jV:[7w,0,7w],kr:[85,eb,47],kP:[1V,eA,0],kN:[kO,50,kx],kF:[7w,0,0],kD:[ku,f8,kt],ky:[kH,0,9C],kL:[1V,0,1V],kM:[1V,kJ,0],kv:[0,6C,0],kA:[75,0,kE],kC:[eD,eB,eA],kG:[kI,kB,eB],kw:[e0,1V,1V],kz:[eL,kK,eL],kQ:[9C,9C,9C],jC:[1V,iy,iz],iA:[1V,1V,e0],iB:[0,1V,0],ix:[1V,0,1V],iv:[6C,0,0],iq:[0,0,6C],ip:[6C,6C,0],ir:[1V,dv,0],it:[1V,ah,iu],iC:[6C,0,6C],iD:[1V,0,0],iK:[ah,ah,ah],iL:[1V,1V,1V],iM:[1V,1V,0]};k.fx.6D=u(4x,dm){if(k.fx.8E[4x])E{r:k.fx.8E[4x][0],g:k.fx.8E[4x][1],b:k.fx.8E[4x][2]};P if(2W=/^6Y\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.a4(4x))E{r:T(2W[1]),g:T(2W[2]),b:T(2W[3])};P if(2W=/6Y\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.a4(4x))E{r:2m(2W[1])*2.55,g:2m(2W[2])*2.55,b:2m(2W[3])*2.55};P if(2W=/^#([a-fA-79-9])([a-fA-79-9])([a-fA-79-9])$/.a4(4x))E{r:T("77"+2W[1]+2W[1]),g:T("77"+2W[2]+2W[2]),b:T("77"+2W[3]+2W[3])};P if(2W=/^#([a-fA-79-9]{2})([a-fA-79-9]{2})([a-fA-79-9]{2})$/.a4(4x))E{r:T("77"+2W[1]),g:T("77"+2W[2]),b:T("77"+2W[3])};P E dm==1b?I:{r:1V,g:1V,b:1V}};k.fx.dD={5Q:1,5b:1,5O:1,4S:1,4D:1,4A:1,W:1,O:1,c3:1,iI:1,5k:1,5j:1,5z:1,5K:1,8b:1,6x:1,8c:1,av:1,1G:1,iE:1,iF:1,5n:1,4X:1,5U:1,5M:1,2L:1,jD:1,Q:1,Z:1,3I:1};k.fx.dA={7i:1,iG:1,iH:1,io:1,im:1,4x:1,i2:1};k.fx.8A=[\'i3\',\'i4\',\'i5\',\'i1\'];k.fx.cc={\'cd\':[\'2E\',\'dK\'],\'a8\':[\'2E\',\'bh\'],\'6w\':[\'6w\',\'\'],\'8F\':[\'8F\',\'\']};k.fn.23({5w:u(5X,H,G,J){E q.1w(u(){D a1=k.H(H,G,J);D e=12 k.dM(q,a1,5X)})},c4:u(H,J){E q.1w(u(){D a1=k.H(H,J);D e=12 k.c4(q,a1)})},8o:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D)})},i0:u(2D){E q.1E(u(){if(q.6d)k.by(q,2D);if(q.1w&&q.1w[\'fx\'])q.1w.fx=[]})}});k.23({c4:u(2f,M){D z=q,3t;z.2D=u(){if(k.fQ(M.21))M.21.1D(2f)};z.2I=6V(u(){z.2D()},M.1m);2f.6d=z},G:{c8:u(p,n,1W,1H,1m){E((-18.5H(p*18.2Q)/2)+0.5)*1H+1W}},dM:u(2f,M,5X){D z=q,3t;D y=2f.14;D fR=k.B(2f,"2U");D 72=k.B(2f,"19");D 2j={};z.9O=(12 7g()).7z();M.G=M.G&&k.G[M.G]?M.G:\'c8\';z.ag=u(2w,43){if(k.fx.dD[2w]){if(43==\'1Y\'||43==\'2G\'||43==\'3R\'){if(!2f.6v)2f.6v={};D r=2m(k.6E(2f,2w));2f.6v[2w]=r&&r>-c9?r:(2m(k.B(2f,2w))||0);43=43==\'3R\'?(72==\'1o\'?\'1Y\':\'2G\'):43;M[43]=1b;2j[2w]=43==\'1Y\'?[0,2f.6v[2w]]:[2f.6v[2w],0];if(2w!=\'1G\')y[2w]=2j[2w][0]+(2w!=\'3I\'&&2w!=\'8Z\'?\'U\':\'\');P k.1p(y,"1G",2j[2w][0])}P{2j[2w]=[2m(k.6E(2f,2w)),2m(43)||0]}}P if(k.fx.dA[2w])2j[2w]=[k.fx.6D(k.6E(2f,2w)),k.fx.6D(43)];P if(/^6w$|8F$|2E$|a8$|cd$/i.48(2w)){D m=43.4E(/\\s+/g,\' \').4E(/6Y\\s*\\(\\s*/g,\'6Y(\').4E(/\\s*,\\s*/g,\',\').4E(/\\s*\\)/g,\')\').d5(/([^\\s]+)/g);3m(2w){1e\'6w\':1e\'8F\':1e\'cd\':1e\'a8\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];24(D i=0;iM.1m+z.9O){5T(z.2I);z.2I=S;24(p in 2j){if(p=="1G")k.1p(y,"1G",2j[p][1]);P if(2g 2j[p][1]==\'8T\')y[p]=\'6Y(\'+2j[p][1].r+\',\'+2j[p][1].g+\',\'+2j[p][1].b+\')\';P y[p]=2j[p][1]+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}if(M.2G||M.1Y)24(D p in 2f.6v)if(p=="1G")k.1p(y,p,2f.6v[p]);P y[p]="";y.19=M.2G?\'1o\':(72!=\'1o\'?72:\'2B\');y.2U=fR;2f.6d=S;if(k.fQ(M.21))M.21.1D(2f)}P{D n=t-q.9O;D 8w=n/M.1m;24(p in 2j){if(2g 2j[p][1]==\'8T\'){y[p]=\'6Y(\'+T(k.G[M.G](8w,n,2j[p][0].r,(2j[p][1].r-2j[p][0].r),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].g,(2j[p][1].g-2j[p][0].g),M.1m))+\',\'+T(k.G[M.G](8w,n,2j[p][0].b,(2j[p][1].b-2j[p][0].b),M.1m))+\')\'}P{D bz=k.G[M.G](8w,n,2j[p][0],(2j[p][1]-2j[p][0]),M.1m);if(p=="1G")k.1p(y,"1G",bz);P y[p]=bz+(p!=\'3I\'&&p!=\'8Z\'?\'U\':\'\')}}}};z.2I=6V(u(){z.2D()},13);2f.6d=z},by:u(2f,2D){if(2D)2f.6d.9O-=iO;P{1X.5T(2f.6d.2I);2f.6d=S;k.2H(2f,"fx")}}});k.bl=u(5Z){D 5f={};if(2g 5Z==\'4V\'){5Z=5Z.6c().7C(\';\');24(D i=0;i<5Z.1g;i++){6X=5Z[i].7C(\':\');if(6X.1g==2){5f[k.g6(6X[0].4E(/\\-(\\w)/g,u(m,c){E c.jo()}))]=k.g6(6X[1])}}}E 5f};k.fn.23({g3:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4F\',G)})},gb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'4r\',G)})},jl:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fJ\',G)})},jk:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'O\',G)})},jg:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'2L\',G)})},jf:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.61(q,H,J,\'fh\',G)})}});k.fx.61=u(e,H,J,2S,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.1N=k.1a.2o(e);z.G=2g J==\'4V\'?J:G||S;if(!e.4s)e.4s=z.el.B(\'19\');if(2S==\'fJ\'){2S=z.el.B(\'19\')==\'1o\'?\'4r\':\'4F\'}P if(2S==\'fh\'){2S=z.el.B(\'19\')==\'1o\'?\'2L\':\'O\'}z.el.1Y();z.H=H;z.J=2g J==\'u\'?J:S;z.fx=k.fx.9P(e);z.2S=2S;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.2S==\'4r\'||z.2S==\'2L\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(z.fx.V.1q.hb,0);1r;1e\'4r\':z.fx.3p.B(\'W\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');63.1L(0,z.fx.V.1q.hb);1r;1e\'O\':63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(z.fx.V.1q.1C,0);1r;1e\'2L\':z.fx.3p.B(\'Z\',\'9R\');z.el.1Y();63=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');63.1L(0,z.fx.V.1q.1C);1r}};k.fn.ji=u(5D,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.f4(q,5D,J);e.bp()})};k.fx.f4=u(e,5D,J){D z=q;z.el=k(e);z.el.1Y();z.J=J;z.5D=T(5D)||40;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.3V=5;z.5y=1;z.bp=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:jj,21:u(){z.e=12 k.fx(z.el.K(0),{1m:80,21:u(){z.5D=T(z.5D/2);if(z.5y<=z.3V)z.bp();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'Q\');z.e.1L(z.V.Q-z.5D,z.V.Q)}},\'Q\');z.e.1L(z.V.Q,z.V.Q-z.5D)}};k.fn.23({jy:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'4l\',G)})},jz:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'in\',G)})},jA:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4r\',\'3R\',G)})},jB:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'4l\',G)})},jx:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'in\',G)})},jw:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'4F\',\'3R\',G)})},js:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'4l\',G)})},jt:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'in\',G)})},ju:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'O\',\'3R\',G)})},jv:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'4l\',G)})},je:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'in\',G)})},jd:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.4f(q,H,J,\'2L\',\'3R\',G)})}});k.fx.4f=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(!e.4s)e.4s=z.el.B(\'19\');if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}z.el.1Y();if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.1u=1u;J=2g J==\'u\'?J:S;8H=1;3m(2S){1e\'4F\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;8H=-1;1r;1e\'4r\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Q\');z.62=2m(z.V.Q)||0;z.9K=z.fG;1r;1e\'2L\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;1r;1e\'O\':z.e=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'O\');z.62=2m(z.V.O)||0;z.9K=z.fy;8H=-1;1r}z.e2=12 k.fx(z.el.K(0),k.H(H,z.G,u(){z.el.B(z.V);if(z.1u==\'4l\'){z.el.B(\'19\',\'1o\')}P z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s);k.2H(z.el.K(0),\'1n\')}),\'1G\');if(1u==\'in\'){z.e.1L(z.62+2a*8H,z.62);z.e2.1L(0,1)}P{z.e.1L(z.62,z.62+2a*8H);z.e2.1L(1,0)}};k.fn.23({j0:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'fp\',G)})},iW:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'9M\',G)})},iV:u(H,W,J,G){E q.1w(\'1n\',u(){12 k.fx.9L(q,H,W,J,\'3R\',G)})}});k.fx.9L=u(e,H,W,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'9M\':\'fp\'}z.H=H;z.W=W&&W.1K==bn?W:20;z.fx=k.fx.9P(e);z.1u=1u;z.21=u(){if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}if(z.1u==\'9M\'){z.el.1Y()}P{z.el.2G()}k.fx.a0(z.fx.3p.K(0),z.fx.V);k.2H(z.el.K(0),\'1n\')};if(z.1u==\'9M\'){z.el.1Y();z.fx.3p.B(\'W\',z.W+\'U\').B(\'Z\',\'9R\');z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'W\');z.ef.1L(z.W,z.fx.V.1q.hb)}),\'Z\');z.ef.1L(0,z.fx.V.1q.1C)}P{z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,u(){z.ef=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G,z.21),\'Z\');z.ef.1L(z.fx.V.1q.1C,0)}),\'W\');z.ef.1L(z.fx.V.1q.hb,z.W)}};k.fn.iR=u(H,4x,J,G){E q.1w(\'fv\',u(){q.6W=k(q).1p("14")||\'\';G=2g J==\'4V\'?J:G||S;J=2g J==\'u\'?J:S;D 9S=k(q).B(\'7i\');D 8I=q.31;7d(9S==\'cu\'&&8I){9S=k(8I).B(\'7i\');8I=8I.31}k(q).B(\'7i\',4x);if(2g q.6W==\'8T\')q.6W=q.6W["9X"];k(q).5w({\'7i\':9S},H,G,u(){k.2H(q,\'fv\');if(2g k(q).1p("14")==\'8T\'){k(q).1p("14")["9X"]="";k(q).1p("14")["9X"]=q.6W}P{k(q).1p("14",q.6W)}if(J)J.1D(q)})})};k.fn.23({iT:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6g\',G)})},iU:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)})},j1:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'4j\',\'6g\',G)}})},j2:u(H,J,G){E q.1w(\'1n\',u(){if(k.B(q,\'19\')==\'1o\'){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)}P{12 k.fx.5m(q,H,J,\'49\',\'6g\',G)}})},j9:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'49\',\'6Z\',G)})},ja:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.5m(q,H,J,\'4j\',\'6Z\',G)})}});k.fx.5m=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;D 73=I;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1u=1u;z.H=H;z.2i=k.1a.2o(e);z.V={};z.V.Y=z.el.B(\'Y\');z.V.19=z.el.B(\'19\');if(z.V.19==\'1o\'){5Y=z.el.B(\'3n\');z.el.1Y();73=1b}z.V.Q=z.el.B(\'Q\');z.V.O=z.el.B(\'O\');if(73){z.el.2G();z.el.B(\'3n\',5Y)}z.V.Z=z.2i.w+\'U\';z.V.W=z.2i.h+\'U\';z.V.2U=z.el.B(\'2U\');z.2i.Q=T(z.V.Q)||0;z.2i.O=T(z.V.O)||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\').B(\'W\',1u==\'6Z\'&&2S==\'49\'?1:z.2i.h+\'U\').B(\'Z\',1u==\'6Z\'&&2S==\'4j\'?1:z.2i.w+\'U\');z.21=u(){z.el.B(z.V);if(z.1u==\'6g\')z.el.2G();P z.el.1Y();k.2H(z.el.K(0),\'1n\')};3m(2S){1e\'49\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'W\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'6g\'){z.eh.1L(z.2i.h,0);z.et.1L(z.2i.Q,z.2i.Q+z.2i.h/2)}P{z.eh.1L(0,z.2i.h);z.et.1L(z.2i.Q+z.2i.h/2,z.2i.Q)}1r;1e\'4j\':z.eh=12 k.fx(z.el.K(0),k.H(H-15,z.G,J),\'Z\');z.et=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'6g\'){z.eh.1L(z.2i.w,0);z.et.1L(z.2i.O,z.2i.O+z.2i.w/2)}P{z.eh.1L(0,z.2i.w);z.et.1L(z.2i.O+z.2i.w/2,z.2i.O)}1r}};k.fn.bg=u(H,3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D fx=12 k.fx.bg(q,H,3V,J);fx.bf()})};k.fx.bg=u(el,H,3V,J){D z=q;z.3V=3V;z.5y=1;z.el=el;z.H=H;z.J=J;k(z.el).1Y();z.bf=u(){z.5y++;z.e=12 k.fx(z.el,k.H(z.H,u(){z.ef=12 k.fx(z.el,k.H(z.H,u(){if(z.5y<=z.3V)z.bf();P{k.2H(z.el,\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el)}}}),\'1G\');z.ef.1L(0,1)}),\'1G\');z.e.1L(1,0)}};k.fn.23({jb:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,1,2a,1b,J,\'fa\',G)})},jc:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,2a,1,1b,J,\'b4\',G)})},j8:u(H,J,G){E q.1w(\'1n\',u(){D G=G||\'fl\';12 k.fx.6G(q,H,2a,f8,1b,J,\'6h\',G)})},6G:u(H,57,30,6H,J,G){E q.1w(\'1n\',u(){12 k.fx.6G(q,H,57,30,6H,J,\'6G\',G)})}});k.fx.6G=u(e,H,57,30,6H,J,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.57=T(57)||2a;z.30=T(30)||2a;z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;z.1m=k.H(H).1m;z.6H=6H||S;z.2i=k.1a.2o(e);z.V={Z:z.el.B(\'Z\'),W:z.el.B(\'W\'),4A:z.el.B(\'4A\')||\'2a%\',Y:z.el.B(\'Y\'),19:z.el.B(\'19\'),Q:z.el.B(\'Q\'),O:z.el.B(\'O\'),2U:z.el.B(\'2U\'),4S:z.el.B(\'4S\'),5O:z.el.B(\'5O\'),5Q:z.el.B(\'5Q\'),5b:z.el.B(\'5b\'),5M:z.el.B(\'5M\'),5U:z.el.B(\'5U\'),5n:z.el.B(\'5n\'),4X:z.el.B(\'4X\')};z.Z=T(z.V.Z)||e.4c||0;z.W=T(z.V.W)||e.5W||0;z.Q=T(z.V.Q)||0;z.O=T(z.V.O)||0;1q=[\'em\',\'U\',\'j7\',\'%\'];24(i in 1q){if(z.V.4A.3J(1q[i])>0){z.fg=1q[i];z.4A=2m(z.V.4A)}if(z.V.4S.3J(1q[i])>0){z.fc=1q[i];z.bw=2m(z.V.4S)||0}if(z.V.5O.3J(1q[i])>0){z.fe=1q[i];z.bc=2m(z.V.5O)||0}if(z.V.5Q.3J(1q[i])>0){z.fL=1q[i];z.bA=2m(z.V.5Q)||0}if(z.V.5b.3J(1q[i])>0){z.g8=1q[i];z.bt=2m(z.V.5b)||0}if(z.V.5M.3J(1q[i])>0){z.g4=1q[i];z.bx=2m(z.V.5M)||0}if(z.V.5U.3J(1q[i])>0){z.g9=1q[i];z.bv=2m(z.V.5U)||0}if(z.V.5n.3J(1q[i])>0){z.gc=1q[i];z.bj=2m(z.V.5n)||0}if(z.V.4X.3J(1q[i])>0){z.fK=1q[i];z.b7=2m(z.V.4X)||0}}if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.el.B(\'2U\',\'2K\');z.1u=1u;3m(z.1u){1e\'fa\':z.4b=z.Q+z.2i.h/2;z.5a=z.Q;z.4k=z.O+z.2i.w/2;z.59=z.O;1r;1e\'b4\':z.5a=z.Q+z.2i.h/2;z.4b=z.Q;z.59=z.O+z.2i.w/2;z.4k=z.O;1r;1e\'6h\':z.5a=z.Q-z.2i.h/4;z.4b=z.Q;z.59=z.O-z.2i.w/4;z.4k=z.O;1r}z.be=I;z.t=(12 7g).7z();z.4w=u(){5T(z.2I);z.2I=S};z.2D=u(){if(z.be==I){z.el.1Y();z.be=1b}D t=(12 7g).7z();D n=t-z.t;D p=n/z.1m;if(t>=z.1m+z.t){9T(u(){o=1;if(z.1u){t=z.5a;l=z.59;if(z.1u==\'6h\')o=0}z.bs(z.30,l,t,1b,o)},13);z.4w()}P{o=1;if(!k.G||!k.G[z.G]){s=((-18.5H(p*18.2Q)/2)+0.5)*(z.30-z.57)+z.57}P{s=k.G[z.G](p,n,z.57,(z.30-z.57),z.1m)}if(z.1u){if(!k.G||!k.G[z.G]){t=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b;l=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k;if(z.1u==\'6h\')o=((-18.5H(p*18.2Q)/2)+0.5)*(-0.9Y)+0.9Y}P{t=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.1m);l=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.1m);if(z.1u==\'6h\')o=k.G[z.G](p,n,0.9Y,-0.9Y,z.1m)}}z.bs(s,l,t,I,o)}};z.2I=6V(u(){z.2D()},13);z.bs=u(4q,O,Q,fM,1G){z.el.B(\'W\',z.W*4q/2a+\'U\').B(\'Z\',z.Z*4q/2a+\'U\').B(\'O\',O+\'U\').B(\'Q\',Q+\'U\').B(\'4A\',z.4A*4q/2a+z.fg);if(z.bw)z.el.B(\'4S\',z.bw*4q/2a+z.fc);if(z.bc)z.el.B(\'5O\',z.bc*4q/2a+z.fe);if(z.bA)z.el.B(\'5Q\',z.bA*4q/2a+z.fL);if(z.bt)z.el.B(\'5b\',z.bt*4q/2a+z.g8);if(z.bx)z.el.B(\'5M\',z.bx*4q/2a+z.g4);if(z.bv)z.el.B(\'5U\',z.bv*4q/2a+z.g9);if(z.bj)z.el.B(\'5n\',z.bj*4q/2a+z.gc);if(z.b7)z.el.B(\'4X\',z.b7*4q/2a+z.fK);if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+1G*2a+")";z.el.K(0).14.1G=1G}if(fM){if(z.6H){z.el.B(z.V)}if(z.1u==\'b4\'||z.1u==\'6h\'){z.el.B(\'19\',\'1o\');if(z.1u==\'6h\'){if(1X.71)z.el.K(0).14.5E="8V(1G="+2a+")";z.el.K(0).14.1G=1}}P z.el.B(\'19\',\'2B\');if(z.J)z.J.1D(z.el.K(0));k.2H(z.el.K(0),\'1n\')}}};k.fn.23({9U:u(H,1O,G){o=k.H(H);E q.1w(\'1n\',u(){12 k.fx.9U(q,o,1O,G)})},j6:u(H,1O,G){E q.1E(u(){k(\'a[@3h*="#"]\',q).5h(u(e){fW=q.3h.7C(\'#\');k(\'#\'+fW[1]).9U(H,1O,G);E I})})}});k.fx.9U=u(e,o,1O,G){D z=q;z.o=o;z.e=e;z.1O=/fT|gd/.48(1O)?1O:I;z.G=G;p=k.1a.3w(e);s=k.1a.6z();z.4w=u(){5T(z.2I);z.2I=S;k.2H(z.e,\'1n\')};z.t=(12 7g).7z();s.h=s.h>s.ih?(s.h-s.ih):s.h;s.w=s.w>s.iw?(s.w-s.iw):s.w;z.5a=p.y>s.h?s.h:p.y;z.59=p.x>s.w?s.w:p.x;z.4b=s.t;z.4k=s.l;z.2D=u(){D t=(12 7g).7z();D n=t-z.t;D p=n/z.o.1m;if(t>=z.o.1m+z.t){z.4w();9T(u(){z.d3(z.5a,z.59)},13)}P{if(!z.1O||z.1O==\'fT\'){if(!k.G||!k.G[z.G]){9V=((-18.5H(p*18.2Q)/2)+0.5)*(z.5a-z.4b)+z.4b}P{9V=k.G[z.G](p,n,z.4b,(z.5a-z.4b),z.o.1m)}}P{9V=z.4b}if(!z.1O||z.1O==\'gd\'){if(!k.G||!k.G[z.G]){9W=((-18.5H(p*18.2Q)/2)+0.5)*(z.59-z.4k)+z.4k}P{9W=k.G[z.G](p,n,z.4k,(z.59-z.4k),z.o.1m)}}P{9W=z.4k}z.d3(9V,9W)}};z.d3=u(t,l){1X.j4(l,t)};z.2I=6V(u(){z.2D()},13)};k.fn.cY=u(3V,J){E q.1w(\'1n\',u(){if(!k.4K(q)){k.2H(q,\'1n\');E I}D e=12 k.fx.cY(q,3V,J);e.cG()})};k.fx.cY=u(e,3V,J){D z=q;z.el=k(e);z.el.1Y();z.3V=T(3V)||3;z.J=J;z.5y=1;z.V={};z.V.Y=z.el.B(\'Y\');z.V.Q=T(z.el.B(\'Q\'))||0;z.V.O=T(z.el.B(\'O\'))||0;if(z.V.Y!=\'2s\'&&z.V.Y!=\'1P\'){z.el.B(\'Y\',\'2s\')}z.cG=u(){z.5y++;z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(z.el.K(0),{1m:60,21:u(){z.e=12 k.fx(e,{1m:60,21:u(){if(z.5y<=z.3V)z.cG();P{z.el.B(\'Y\',z.V.Y).B(\'Q\',z.V.Q+\'U\').B(\'O\',z.V.O+\'U\');k.2H(z.el.K(0),\'1n\');if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}}}},\'O\');z.e.1L(z.V.O-20,z.V.O)}},\'O\');z.e.1L(z.V.O+20,z.V.O-20)}},\'O\');z.e.1L(z.V.O,z.V.O+20)}};k.fn.23({fo:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'in\',G)})},fq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'4l\',G)})},iY:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4F\',\'3R\',G)})},iX:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'in\',G)})},jr:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'4l\',G)})},jq:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'4r\',\'3R\',G)})},jp:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'in\',G)})},jn:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'4l\',G)})},jm:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'O\',\'3R\',G)})},iP:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'in\',G)})},ic:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'4l\',G)})},ib:u(H,J,G){E q.1w(\'1n\',u(){12 k.fx.1z(q,H,J,\'2L\',\'3R\',G)})}});k.fx.1z=u(e,H,J,2S,1u,G){if(!k.4K(e)){k.2H(e,\'1n\');E I}D z=q;z.el=k(e);z.G=2g J==\'4V\'?J:G||S;z.J=2g J==\'u\'?J:S;if(1u==\'3R\'){1u=z.el.B(\'19\')==\'1o\'?\'in\':\'4l\'}if(!e.4s)e.4s=z.el.B(\'19\');z.el.1Y();z.H=H;z.fx=k.fx.9P(e);z.1u=1u;z.2S=2S;z.21=u(){if(z.1u==\'4l\')z.el.B(\'3n\',\'2K\');k.fx.a0(z.fx.3p.K(0),z.fx.V);if(z.1u==\'in\'){z.el.B(\'19\',z.el.K(0).4s==\'1o\'?\'2B\':z.el.K(0).4s)}P{z.el.B(\'19\',\'1o\');z.el.B(\'3n\',\'dd\')}if(z.J&&z.J.1K==2A){z.J.1D(z.el.K(0))}k.2H(z.el.K(0),\'1n\')};3m(z.2S){1e\'4F\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'W\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.hb,0);z.7v.1L(0,z.fx.V.1q.hb)}P{z.ef.1L(0,-z.fx.V.1q.hb);z.7v.1L(z.fx.V.1q.hb,0)}1r;1e\'4r\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'Q\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.hb,0)}P{z.ef.1L(0,z.fx.V.1q.hb)}1r;1e\'O\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');z.7v=12 k.fx(z.fx.3p.K(0),k.H(z.H,z.G),\'Z\');if(z.1u==\'in\'){z.ef.1L(-z.fx.V.1q.1C,0);z.7v.1L(0,z.fx.V.1q.1C)}P{z.ef.1L(0,-z.fx.V.1q.1C);z.7v.1L(z.fx.V.1q.1C,0)}1r;1e\'2L\':z.ef=12 k.fx(z.el.K(0),k.H(z.H,z.G,z.21),\'O\');if(z.1u==\'in\'){z.ef.1L(z.fx.V.1q.1C,0)}P{z.ef.1L(0,z.fx.V.1q.1C)}1r}};k.3f=S;k.fn.ig=u(o){E q.1w(\'1n\',u(){12 k.fx.dG(q,o)})};k.fx.dG=u(e,o){if(k.3f==S){k(\'2e\',1h).1S(\'<22 id="3f">\');k.3f=k(\'#3f\')}k.3f.B(\'19\',\'2B\').B(\'Y\',\'1P\');D z=q;z.el=k(e);if(!o||!o.30){E}if(o.30.1K==b0&&1h.9e(o.30)){o.30=1h.9e(o.30)}P if(!o.30.dq){E}if(!o.1m){o.1m=g5}z.1m=o.1m;z.30=o.30;z.8r=o.3l;z.21=o.21;if(z.8r){k.3f.2R(z.8r)}z.a3=0;z.a2=0;if(k.dF){z.a3=(T(k.3f.B(\'5b\'))||0)+(T(k.3f.B(\'5O\'))||0)+(T(k.3f.B(\'4X\'))||0)+(T(k.3f.B(\'5U\'))||0);z.a2=(T(k.3f.B(\'4S\'))||0)+(T(k.3f.B(\'5Q\'))||0)+(T(k.3f.B(\'5M\'))||0)+(T(k.3f.B(\'5n\'))||0)}z.26=k.23(k.1a.3w(z.el.K(0)),k.1a.2o(z.el.K(0)));z.2T=k.23(k.1a.3w(z.30),k.1a.2o(z.30));z.26.1C-=z.a3;z.26.hb-=z.a2;z.2T.1C-=z.a3;z.2T.hb-=z.a2;z.J=o.21;k.3f.B(\'Z\',z.26.1C+\'U\').B(\'W\',z.26.hb+\'U\').B(\'Q\',z.26.y+\'U\').B(\'O\',z.26.x+\'U\').5w({Q:z.2T.y,O:z.2T.x,Z:z.2T.1C,W:z.2T.hb},z.1m,u(){if(z.8r)k.3f.4i(z.8r);k.3f.B(\'19\',\'1o\');if(z.21&&z.21.1K==2A){z.21.1D(z.el.K(0),[z.30])}k.2H(z.el.K(0),\'1n\')})};k.1v={M:{2E:10,ec:\'1Q/iJ.eZ\',e3:\'<1T 2J="1Q/6g.da" />\',eW:0.8,d8:\'iN a6\',dc:\'57\',3W:8J},jQ:I,jW:I,6j:S,8m:I,8k:I,d1:u(2k){if(!k.1v.8k||k.1v.8m)E;D 3K=2k.7L||2k.7K||-1;3m(3K){1e 35:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jJ\').K(0));1r;1e 36:if(k.1v.6j)k.1v.26(S,k(\'a[@4I=\'+k.1v.6j+\']:jL\').K(0));1r;1e 37:1e 8:1e 33:1e 80:1e kb:D 9p=k(\'#87\');if(9p.K(0).53!=S){9p.K(0).53.1D(9p.K(0))}1r;1e 38:1r;1e 39:1e 34:1e 32:1e gl:1e 78:D 9k=k(\'#88\');if(9k.K(0).53!=S){9k.K(0).53.1D(9k.K(0))}1r;1e 40:1r;1e 27:k.1v.au();1r}},7q:u(M){if(M)k.23(k.1v.M,M);if(1X.2k){k(\'2e\',1h).1J(\'6y\',k.1v.d1)}P{k(1h).1J(\'6y\',k.1v.d1)}k(\'a\').1E(u(){el=k(q);en=el.1p(\'4I\')||\'\';e9=el.1p(\'3h\')||\'\';ev=/\\.da|\\.gw|\\.8X|\\.eZ|\\.gn/g;if(e9.6c().d5(ev)!=S&&en.6c().3J(\'eU\')==0){el.1J(\'5h\',k.1v.26)}});if(k.3a.4t){3A=1h.3F(\'3A\');k(3A).1p({id:\'cN\',2J:\'ek:I;\',ej:\'cD\',ep:\'cD\'}).B({19:\'1o\',Y:\'1P\',Q:\'0\',O:\'0\',5E:\'9n:9w.9y.cC(1G=0)\'});k(\'2e\').1S(3A)}8n=1h.3F(\'22\');k(8n).1p(\'id\',\'cP\').B({Y:\'1P\',19:\'1o\',Q:\'0\',O:\'0\',1G:0}).1S(1h.8M(\' \')).1J(\'5h\',k.1v.au);6A=1h.3F(\'22\');k(6A).1p(\'id\',\'eK\').B({4X:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cE=1h.3F(\'22\');k(cE).1p(\'id\',\'dg\').B({4X:k.1v.M.2E+\'U\',5n:k.1v.M.2E+\'U\'}).1S(1h.8M(\' \'));cF=1h.3F(\'a\');k(cF).1p({id:\'gg\',3h:\'#\'}).B({Y:\'1P\',2L:k.1v.M.2E+\'U\',Q:\'0\'}).1S(k.1v.M.e3).1J(\'5h\',k.1v.au);7m=1h.3F(\'22\');k(7m).1p(\'id\',\'cM\').B({Y:\'2s\',cA:\'O\',6w:\'0 9F\',3I:1}).1S(6A).1S(cE).1S(cF);2b=1h.3F(\'1T\');2b.2J=k.1v.M.ec;k(2b).1p(\'id\',\'eM\').B({Y:\'1P\'});4G=1h.3F(\'a\');k(4G).1p({id:\'87\',3h:\'#\'}).B({Y:\'1P\',19:\'1o\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));4M=1h.3F(\'a\');k(4M).1p({id:\'88\',3h:\'#\'}).B({Y:\'1P\',2U:\'2K\',ey:\'1o\'}).1S(1h.8M(\' \'));1Z=1h.3F(\'22\');k(1Z).1p(\'id\',\'eE\').B({19:\'1o\',Y:\'2s\',2U:\'2K\',cA:\'O\',6w:\'0 9F\',Q:\'0\',O:\'0\',3I:2}).1S([2b,4G,4M]);6F=1h.3F(\'22\');k(6F).1p(\'id\',\'ao\').B({19:\'1o\',Y:\'1P\',2U:\'2K\',Q:\'0\',O:\'0\',cA:\'cv\',7i:\'cu\',hC:\'0\'}).1S([1Z,7m]);k(\'2e\').1S(8n).1S(6F)},26:u(e,C){el=C?k(C):k(q);9t=el.1p(\'4I\');D 6B,4u,4G,4M;if(9t!=\'eU\'){k.1v.6j=9t;8Y=k(\'a[@4I=\'+9t+\']\');6B=8Y.1N();4u=8Y.cZ(C?C:q);4G=8Y.K(4u-1);4M=8Y.K(4u+1)}89=el.1p(\'3h\');6A=el.1p(\'4g\');3O=k.1a.6z();8n=k(\'#cP\');if(!k.1v.8k){k.1v.8k=1b;if(k.3a.4t){k(\'#cN\').B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y()}8n.B(\'W\',18.3r(3O.ih,3O.h)+\'U\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\').1Y().fX(cO,k.1v.M.eW,u(){k.1v.cw(89,6A,3O,6B,4u,4G,4M)});k(\'#ao\').B(\'Z\',18.3r(3O.iw,3O.w)+\'U\')}P{k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.cw(89,6A,3O,6B,4u,4G,4M)}E I},cw:u(89,gP,3O,6B,4u,4G,4M){k(\'#cW\').bk();aX=k(\'#87\');aX.2G();aO=k(\'#88\');aO.2G();2b=k(\'#eM\');1Z=k(\'#eE\');6F=k(\'#ao\');7m=k(\'#cM\').B(\'3n\',\'2K\');k(\'#eK\').3x(6A);k.1v.8m=1b;if(6B)k(\'#dg\').3x(k.1v.M.d8+\' \'+(4u+1)+\' \'+k.1v.M.dc+\' \'+6B);if(4G){aX.K(0).53=u(){q.5B();k.1v.26(S,4G);E I}}if(4M){aO.K(0).53=u(){q.5B();k.1v.26(S,4M);E I}}2b.1Y();82=k.1a.2o(1Z.K(0));56=18.3r(82.1C,2b.K(0).Z+k.1v.M.2E*2);6f=18.3r(82.hb,2b.K(0).W+k.1v.M.2E*2);2b.B({O:(56-2b.K(0).Z)/2+\'U\',Q:(6f-2b.K(0).W)/2+\'U\'});1Z.B({Z:56+\'U\',W:6f+\'U\'}).1Y();dw=k.1a.bm();6F.B(\'Q\',3O.t+(dw.h/15)+\'U\');if(6F.B(\'19\')==\'1o\'){6F.1Y().7f(k.1v.M.3W)}6k=12 9s;k(6k).1p(\'id\',\'cW\').1J(\'hJ\',u(){56=6k.Z+k.1v.M.2E*2;6f=6k.W+k.1v.M.2E*2;2b.2G();1Z.5w({W:6f},82.hb!=6f?k.1v.M.3W:1,u(){1Z.5w({Z:56},82.1C!=56?k.1v.M.3W:1,u(){1Z.bG(6k);k(6k).B({Y:\'1P\',O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\'}).7f(k.1v.M.3W,u(){db=k.1a.2o(7m.K(0));if(4G){aX.B({O:k.1v.M.2E+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}if(4M){aO.B({O:56/2+k.1v.M.2E*2+\'U\',Q:k.1v.M.2E+\'U\',Z:56/2-k.1v.M.2E*3+\'U\',W:6f-k.1v.M.2E*2+\'U\'}).1Y()}7m.B({Z:56+\'U\',Q:-db.hb+\'U\',3n:\'dd\'}).5w({Q:-1},k.1v.M.3W,u(){k.1v.8m=I})})})})});6k.2J=89},au:u(){k(\'#cW\').bk();k(\'#ao\').2G();k(\'#cM\').B(\'3n\',\'2K\');k(\'#cP\').fX(cO,0,u(){k(q).2G();if(k.3a.4t){k(\'#cN\').2G()}});k(\'#87\').K(0).53=S;k(\'#88\').K(0).53=S;k.1v.6j=S;k.1v.8k=I;k.1v.8m=I;E I}};k.R={1A:S,41:S,F:S,1s:S,1q:S,Y:S,9a:u(e){k.R.F=(q.d0)?q.d0:q;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(k.R.F).B(\'Z\'))||0,W:T(k(k.R.F).B(\'W\'))||0};k.R.Y={Q:T(k(k.R.F).B(\'Q\'))||0,O:T(k(k.R.F).B(\'O\'))||0};k(1h).1J(\'3D\',k.R.cR).1J(\'5P\',k.R.cK);if(2g k.R.F.1k.g2===\'u\'){k.R.F.1k.g2.1D(k.R.F)}E I},cK:u(e){k(1h).3q(\'3D\',k.R.cR).3q(\'5P\',k.R.cK);if(2g k.R.F.1k.fN===\'u\'){k.R.F.1k.fN.1D(k.R.F)}k.R.F=S},cR:u(e){if(!k.R.F){E}1s=k.1a.4a(e);7p=k.R.Y.Q-k.R.1s.y+1s.y;7r=k.R.Y.O-k.R.1s.x+1s.x;7p=18.3r(18.3L(7p,k.R.F.1k.8g-k.R.1q.W),k.R.F.1k.7h);7r=18.3r(18.3L(7r,k.R.F.1k.8h-k.R.1q.Z),k.R.F.1k.70);if(2g k.R.F.1k.4m===\'u\'){D 8a=k.R.F.1k.4m.1D(k.R.F,[7r,7p]);if(2g 8a==\'hh\'&&8a.1g==2){7r=8a[0];7p=8a[1]}}k.R.F.14.Q=7p+\'U\';k.R.F.14.O=7r+\'U\';E I},26:u(e){k(1h).1J(\'3D\',k.R.8j).1J(\'5P\',k.R.8o);k.R.1A=q.1A;k.R.41=q.41;k.R.1s=k.1a.4a(e);k.R.1q={Z:T(k(q.1A).B(\'Z\'))||0,W:T(k(q.1A).B(\'W\'))||0};k.R.Y={Q:T(k(q.1A).B(\'Q\'))||0,O:T(k(q.1A).B(\'O\'))||0};if(k.R.1A.1k.4o){k.R.1A.1k.4o.1D(k.R.1A,[q])}E I},8o:u(){k(1h).3q(\'3D\',k.R.8j).3q(\'5P\',k.R.8o);if(k.R.1A.1k.3T){k.R.1A.1k.3T.1D(k.R.1A,[k.R.41])}k.R.1A=S;k.R.41=S},6i:u(dx,az){E 18.3L(18.3r(k.R.1q.Z+dx*az,k.R.1A.1k.av),k.R.1A.1k.6x)},6m:u(dy,az){E 18.3L(18.3r(k.R.1q.W+dy*az,k.R.1A.1k.8c),k.R.1A.1k.8b)},fb:u(W){E 18.3L(18.3r(W,k.R.1A.1k.8c),k.R.1A.1k.8b)},8j:u(e){if(k.R.1A==S){E}1s=k.1a.4a(e);dx=1s.x-k.R.1s.x;dy=1s.y-k.R.1s.y;1I={Z:k.R.1q.Z,W:k.R.1q.W};2z={Q:k.R.Y.Q,O:k.R.Y.O};3m(k.R.41){1e\'e\':1I.Z=k.R.6i(dx,1);1r;1e\'fj\':1I.Z=k.R.6i(dx,1);1I.W=k.R.6m(dy,1);1r;1e\'w\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'5F\':1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1I.W=k.R.6m(dy,1);1r;1e\'76\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,-1);2z.O=k.R.Y.O-1I.Z+k.R.1q.Z;1r;1e\'n\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1r;1e\'at\':1I.W=k.R.6m(dy,-1);2z.Q=k.R.Y.Q-1I.W+k.R.1q.W;1I.Z=k.R.6i(dx,1);1r;1e\'s\':1I.W=k.R.6m(dy,1);1r}if(k.R.1A.1k.4v){if(k.R.41==\'n\'||k.R.41==\'s\')4p=1I.W*k.R.1A.1k.4v;P 4p=1I.Z;4W=k.R.fb(4p*k.R.1A.1k.4v);4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.W=4W;1I.Z=4p}if(2z.Qk.R.1A.1k.8g){1I.W=k.R.1A.1k.8g-2z.Q;if(k.R.1A.1k.4v){1I.Z=1I.W/k.R.1A.1k.4v}}if(2z.O+1I.Z>k.R.1A.1k.8h){1I.Z=k.R.1A.1k.8h-2z.O;if(k.R.1A.1k.4v){1I.W=1I.Z*k.R.1A.1k.4v}}D 6p=I;if(k.R.1A.1k.f7){6p=k.R.1A.1k.f7.1D(k.R.1A,[1I,2z]);if(6p){if(6p.1q){k.23(1I,6p.1q)}if(6p.Y){k.23(2z,6p.Y)}}}8d=k.R.1A.14;8d.O=2z.O+\'U\';8d.Q=2z.Q+\'U\';8d.Z=1I.Z+\'U\';8d.W=1I.W+\'U\';E I},2r:u(M){if(!M||!M.3Z||M.3Z.1K!=7M){E}E q.1E(u(){D el=q;el.1k=M;el.1k.av=M.av||10;el.1k.8c=M.8c||10;el.1k.6x=M.6x||6P;el.1k.8b=M.8b||6P;el.1k.7h=M.7h||-aC;el.1k.70=M.70||-aC;el.1k.8h=M.8h||6P;el.1k.8g=M.8g||6P;d6=k(el).B(\'Y\');if(!(d6==\'2s\'||d6==\'1P\')){el.14.Y=\'2s\'}fS=/n|at|e|fj|s|5F|w|76/g;24(i in el.1k.3Z){if(i.6c().d5(fS)!=S){if(el.1k.3Z[i].1K==b0){3v=k(el.1k.3Z[i]);if(3v.1N()>0){el.1k.3Z[i]=3v.K(0)}}if(el.1k.3Z[i].4Y){el.1k.3Z[i].1A=el;el.1k.3Z[i].41=i;k(el.1k.3Z[i]).1J(\'5v\',k.R.26)}}}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){aV=k(el.1k.5S);if(aV.1N()>0){aV.1E(u(){q.d0=el});aV.1J(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).1J(\'5v\',k.R.9a)}}})},4U:u(){E q.1E(u(){D el=q;24(i in el.1k.3Z){el.1k.3Z[i].1A=S;el.1k.3Z[i].41=S;k(el.1k.3Z[i]).3q(\'5v\',k.R.26)}if(el.1k.5S){if(2g el.1k.5S===\'4V\'){3v=k(el.1k.5S);if(3v.1N()>0){3v.3q(\'5v\',k.R.9a)}}P if(el.1k.5S==1b){k(q).3q(\'5v\',k.R.9a)}}el.1k=S})}};k.fn.23({hz:k.R.2r,hs:k.R.4U});k.2C=S;k.7n=I;k.3k=S;k.7o=[];k.9v=u(e){D 3K=e.7L||e.7K||-1;if(3K==17||3K==16){k.7n=1b}};k.9u=u(e){k.7n=I};k.dL=u(e){q.f.1s=k.1a.4a(e);q.f.1M=k.23(k.1a.3w(q),k.1a.2o(q));q.f.3e=k.1a.6z(q);q.f.1s.x-=q.f.1M.x;q.f.1s.y-=q.f.1M.y;k(q).1S(k.2C.K(0));if(q.f.hc)k.2C.2R(q.f.hc).B(\'19\',\'2B\');k.2C.B({19:\'2B\',Z:\'2P\',W:\'2P\'});if(q.f.o){k.2C.B(\'1G\',q.f.o)}k.3k=q;k.96=I;k.7o=[];q.f.el.1E(u(){q.1M={x:q.8t+(q.4Z&&!k.3a.7I?T(q.4Z.5b)||0:0)+(k.3k.3c||0),y:q.8G+(q.4Z&&!k.3a.7I?T(q.4Z.4S)||0:0)+(k.3k.3d||0),1C:q.4c,hb:q.5W};if(q.s==1b){if(k.7n==I){q.s=I;k(q).4i(k.3k.f.7j)}P{k.96=1b;k.7o[k.7o.1g]=k.1p(q,\'id\')}}});k.am.1D(q,[e]);k(1h).1J(\'3D\',k.am).1J(\'5P\',k.cX);E I};k.am=u(e){if(!k.3k)E;k.fd.1D(k.3k,[e])};k.fd=u(e){if(!k.3k)E;D 1s=k.1a.4a(e);D 3e=k.1a.6z(k.3k);1s.x+=3e.l-q.f.3e.l-q.f.1M.x;1s.y+=3e.t-q.f.3e.t-q.f.1M.y;D 93=18.3L(1s.x,q.f.1s.x);D 5F=18.3L(18.3S(1s.x-q.f.1s.x),18.3S(q.f.3e.w-93));D 99=18.3L(1s.y,q.f.1s.y);D 9g=18.3L(18.3S(1s.y-q.f.1s.y),18.3S(q.f.3e.h-99));if(q.3d>0&&1s.y-20q.3d+q.f.1M.h){D 3X=18.3L(q.f.3e.h-q.3d,10);q.3d+=3X;if(q.3d!=3e.t)9g+=3X}if(q.3c>0&&1s.x-20q.3c+q.f.1M.w){D 3X=18.3L(q.f.3e.w-q.3c,10);q.3c+=3X;if(q.3c!=3e.l)5F+=3X}k.2C.B({O:93+\'U\',Q:99+\'U\',Z:5F+\'U\',W:9g+\'U\'});k.2C.l=93+q.f.3e.l;k.2C.t=99+q.f.3e.t;k.2C.r=k.2C.l+5F;k.2C.b=k.2C.t+9g;k.96=I;q.f.el.1E(u(){aw=k.7o.3J(k.1p(q,\'id\'));if(!(q.1M.x>k.2C.r||(q.1M.x+q.1M.1C)k.2C.b||(q.1M.y+q.1M.hb)0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[o.1g]=k.1p(q,\'id\')}})}E{7l:h,o:o}};k.fn.gZ=u(o){if(!k.2C){k(\'2e\',1h).1S(\'<22 id="2C">\').1J(\'7B\',k.9v).1J(\'6y\',k.9u);k.2C=k(\'#2C\');k.2C.B({Y:\'1P\',19:\'1o\'});if(1X.2k){k(\'2e\',1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}P{k(1h).1J(\'7B\',k.9v).1J(\'6y\',k.9u)}}if(!o){o={}}E q.1E(u(){if(q.eP)E;q.eP=1b;q.f={a:o.3C,o:o.1G?2m(o.1G):I,7j:o.eS?o.eS:I,hc:o.58?o.58:I,98:o.98?o.98:I,9d:o.9d?o.9d:I};q.f.el=k(\'.\'+o.3C);k(q).1J(\'5v\',k.dL).B(\'Y\',\'2s\')})};k.3b={bM:1,eH:u(3t){D 3t=3t;E q.1E(u(){q.4z.6s.1E(u(ab){k.3b.5c(q,3t[ab])})})},K:u(){D 3t=[];q.1E(u(cL){if(q.bI){3t[cL]=[];D C=q;D 1q=k.1a.2o(q);q.4z.6s.1E(u(ab){D x=q.8t;D y=q.8G;92=T(x*2a/(1q.w-q.4c));91=T(y*2a/(1q.h-q.5W));3t[cL][ab]=[92||0,91||0,x||0,y||0]})}});E 3t},ct:u(C){C.A.fu=C.A.28.w-C.A.1B.1C;C.A.fw=C.A.28.h-C.A.1B.hb;if(C.9r.4z.bC){9Z=C.9r.4z.6s.K(C.bF+1);if(9Z){C.A.28.w=(T(k(9Z).B(\'O\'))||0)+C.A.1B.1C;C.A.28.h=(T(k(9Z).B(\'Q\'))||0)+C.A.1B.hb}9Q=C.9r.4z.6s.K(C.bF-1);if(9Q){D cU=T(k(9Q).B(\'O\'))||0;D cH=T(k(9Q).B(\'O\'))||0;C.A.28.x+=cU;C.A.28.y+=cH;C.A.28.w-=cU;C.A.28.h-=cH}}C.A.g7=C.A.28.w-C.A.1B.1C;C.A.eC=C.A.28.h-C.A.1B.hb;if(C.A.2O){C.A.gx=((C.A.28.w-C.A.1B.1C)/C.A.2O)||1;C.A.gy=((C.A.28.h-C.A.1B.hb)/C.A.2O)||1;C.A.fU=C.A.g7/C.A.2O;C.A.fH=C.A.eC/C.A.2O}C.A.28.dx=C.A.28.x-C.A.2c.x;C.A.28.dy=C.A.28.y-C.A.2c.y;k.11.1c.B(\'9b\',\'ad\')},3H:u(C,x,y){if(C.A.2O){fE=T(x/C.A.fU);92=fE*2a/C.A.2O;ft=T(y/C.A.fH);91=ft*2a/C.A.2O}P{92=T(x*2a/C.A.fu);91=T(y*2a/C.A.fw)}C.A.b3=[92||0,91||0,x||0,y||0];if(C.A.3H)C.A.3H.1D(C,C.A.b3)},eI:u(2k){3K=2k.7L||2k.7K||-1;3m(3K){1e 35:k.3b.5c(q.3U,[ae,ae]);1r;1e 36:k.3b.5c(q.3U,[-ae,-ae]);1r;1e 37:k.3b.5c(q.3U,[-q.3U.A.gx||-1,0]);1r;1e 38:k.3b.5c(q.3U,[0,-q.3U.A.gy||-1]);1r;1e 39:k.3b.5c(q.3U,[q.3U.A.gx||1,0]);1r;1e 40:k.11.5c(q.3U,[0,q.3U.A.gy||1]);1r}},5c:u(C,Y){if(!C.A){E}C.A.1B=k.23(k.1a.3w(C),k.1a.2o(C));C.A.2c={x:T(k.B(C,\'O\'))||0,y:T(k.B(C,\'Q\'))||0};C.A.4n=k.B(C,\'Y\');if(C.A.4n!=\'2s\'&&C.A.4n!=\'1P\'){C.14.Y=\'2s\'}k.11.c5(C);k.3b.ct(C);dx=T(Y[0])||0;dy=T(Y[1])||0;2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.2O){3y=k.11.c7.1D(C,[2v,2q,dx,dy]);if(3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy}3y=k.11.ce.1D(C,[2v,2q,dx,dy]);if(3y&&3y.1K==7M){dx=3y.dx;dy=3y.dy}2v=C.A.2c.x+dx;2q=C.A.2c.y+dy;if(C.A.5i&&(C.A.3H||C.A.2Z)){k.3b.3H(C,2v,2q)}2v=!C.A.1O||C.A.1O==\'4j\'?2v:C.A.2c.x||0;2q=!C.A.1O||C.A.1O==\'49\'?2q:C.A.2c.y||0;C.14.O=2v+\'U\';C.14.Q=2q+\'U\'},2r:u(o){E q.1E(u(){if(q.bI==1b||!o.3C||!k.1a||!k.11||!k.1x){E}5x=k(o.3C,q);if(5x.1N()==0){E}D 4N={2p:\'94\',5i:1b,3H:o.3H&&o.3H.1K==2A?o.3H:S,2Z:o.2Z&&o.2Z.1K==2A?o.2Z:S,3v:q,1G:o.1G||I};if(o.2O&&T(o.2O)){4N.2O=T(o.2O)||1;4N.2O=4N.2O>0?4N.2O:1}if(5x.1N()==1)5x.7t(4N);P{k(5x.K(0)).7t(4N);4N.3v=S;5x.7t(4N)}5x.7B(k.3b.eI);5x.1p(\'bM\',k.3b.bM++);q.bI=1b;q.4z={};q.4z.er=4N.er;q.4z.2O=4N.2O;q.4z.6s=5x;q.4z.bC=o.bC?1b:I;bZ=q;bZ.4z.6s.1E(u(2N){q.bF=2N;q.9r=bZ});if(o.3t&&o.3t.1K==7F){24(i=o.3t.1g-1;i>=0;i--){if(o.3t[i].1K==7F&&o.3t[i].1g==2){el=q.4z.6s.K(i);if(el.4Y){k.3b.5c(el,o.3t[i])}}}}})}};k.fn.23({hN:k.3b.2r,hS:k.3b.eH,hG:k.3b.K});k.2u={5I:[],eg:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},dp:u(){q.5B();X=q.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}1z=X.L.3u-1;1Q=k(\'1T\',X.L.5u);if(1z<1){1z=X.L.1Q.1g}X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},2I:u(c){X=1h.9e(c);if(X.L.6o){1z=X.L.3u;7d(1z==X.L.3u){1z=1+T(18.6o()*X.L.1Q.1g)}}P{1z=X.L.3u+1;if(X.L.1Q.1g<1z){1z=1}}1Q=k(\'1T\',X.L.5u);X.L.3u=1z;if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}},go:u(o){D X;if(o&&o.1K==7M){if(o.2b){X=1h.9e(o.2b.X);5N=1X.hn.3h.7C("#");o.2b.6S=S;if(5N.1g==2){1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}P{1z=1}}if(o.90){o.90.5B();X=o.90.31.31;id=k.1p(X,\'id\');if(k.2u.5I[id]!=S){1X.5T(k.2u.5I[id])}5N=o.90.3h.7C("#");1z=T(5N[1]);1Y=5N[1].4E(1z,\'\');if(k.1p(X,\'id\')!=1Y){1z=1}}if(X.L.1Q.1g<1z||1z<1){1z=1}X.L.3u=1z;52=k.1a.2o(X);dt=k.1a.aT(X);d9=k.1a.6U(X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}if(X.L.2b){y=T(dt.t)+T(d9.t);if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}if(!X.L.c1){X.L.df=o.2b?o.2b.W:(T(X.L.2b.B(\'W\'))||0);X.L.c1=o.2b?o.2b.Z:(T(X.L.2b.B(\'Z\'))||0)}X.L.2b.B(\'Q\',y+(52.h-X.L.df)/2+\'U\');X.L.2b.B(\'O\',(52.1C-X.L.c1)/2+\'U\');X.L.2b.B(\'19\',\'2B\')}1Q=k(\'1T\',X.L.5u);if(1Q.1N()>0){1Q.7a(X.L.3W,k.2u.95)}P{aj=k(\'a\',X.L.1U.o).K(1z-1);k(aj).2R(X.L.1U.5R);D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=1z-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[1z-1].6L)}}}},95:u(){X=q.31.31;X.L.5u.B(\'19\',\'1o\');if(X.L.1U.5R){aj=k(\'a\',X.L.1U.o).4i(X.L.1U.5R).K(X.L.3u-1);k(aj).2R(X.L.1U.5R)}D 1T=12 9s();1T.X=k.1p(X,\'id\');1T.1z=X.L.3u-1;1T.2J=X.L.1Q[X.L.3u-1].2J;if(1T.21){1T.6S=S;k.2u.19.1D(1T)}P{1T.6S=k.2u.19}if(X.L.2x){X.L.2x.o.3x(X.L.1Q[X.L.3u-1].6L)}},19:u(){X=1h.9e(q.X);if(X.L.3z){X.L.3z.o.B(\'19\',\'1o\')}if(X.L.3s){X.L.3s.o.B(\'19\',\'1o\')}52=k.1a.2o(X);y=0;if(X.L.1U){if(X.L.1U.5A==\'Q\'){y+=X.L.1U.4C.hb}P{52.h-=X.L.1U.4C.hb}}if(X.L.2x){if(X.L.2x&&X.L.2x.6Q==\'Q\'){y+=X.L.2x.4C.hb}P{52.h-=X.L.2x.4C.hb}}hg=k(\'.ca\',X);y=y+(52.h-q.W)/2;x=(52.1C-q.Z)/2;X.L.5u.B(\'Q\',y+\'U\').B(\'O\',x+\'U\').3x(\'<1T 2J="\'+q.2J+\'" />\');X.L.5u.7f(X.L.3W);3s=X.L.3u+1;if(3s>X.L.1Q.1g){3s=1}3z=X.L.3u-1;if(3z<1){3z=X.L.1Q.1g}X.L.3s.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+2*q.Z/3+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3s-1].6L);X.L.3s.o.K(0).3h=\'#\'+3s+k.1p(X,\'id\');X.L.3z.o.B(\'19\',\'2B\').B(\'Q\',y+\'U\').B(\'O\',x+\'U\').B(\'Z\',q.Z/3+\'U\').B(\'W\',q.W+\'U\').1p(\'4g\',X.L.1Q[3z-1].6L);X.L.3z.o.K(0).3h=\'#\'+3z+k.1p(X,\'id\')},2r:u(o){if(!o||!o.1Z||k.2u.5I[o.1Z])E;D 1Z=k(\'#\'+o.1Z);D el=1Z.K(0);if(el.14.Y!=\'1P\'&&el.14.Y!=\'2s\'){el.14.Y=\'2s\'}el.14.2U=\'2K\';if(1Z.1N()==0)E;el.L={};el.L.1Q=o.1Q?o.1Q:[];el.L.6o=o.6o&&o.6o==1b||I;97=el.f3(\'hL\');24(i=0;i<97.1g;i++){7Z=el.L.1Q.1g;el.L.1Q[7Z]={2J:97[i].2J,6L:97[i].4g||97[i].hD||\'\'}}if(el.L.1Q.1g==0){E}el.L.4n=k.23(k.1a.3w(el),k.1a.2o(el));el.L.b5=k.1a.aT(el);el.L.bu=k.1a.6U(el);t=T(el.L.b5.t)+T(el.L.bu.t);b=T(el.L.b5.b)+T(el.L.bu.b);k(\'1T\',el).bk();el.L.3W=o.3W?o.3W:g5;if(o.5A||o.9f||o.5R){el.L.1U={};1Z.1S(\'<22 6T="g1">\');el.L.1U.o=k(\'.g1\',el);if(o.9f){el.L.1U.9f=o.9f;el.L.1U.o.2R(o.9f)}if(o.5R){el.L.1U.5R=o.5R}el.L.1U.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.5A&&o.5A==\'Q\'){el.L.1U.5A=\'Q\';el.L.1U.o.B(\'Q\',t+\'U\')}P{el.L.1U.5A=\'4D\';el.L.1U.o.B(\'4D\',b+\'U\')}el.L.1U.aE=o.aE?o.aE:\' \';24(D i=0;i\'+7Z+\'\'+(7Z!=el.L.1Q.1g?el.L.1U.aE:\'\'))}k(\'a\',el.L.1U.o).1J(\'5h\',u(){k.2u.go({90:q})});el.L.1U.4C=k.1a.2o(el.L.1U.o.K(0))}if(o.6Q||o.9c){el.L.2x={};1Z.1S(\'<22 6T="dn">&7k;\');el.L.2x.o=k(\'.dn\',el);if(o.9c){el.L.2x.9c=o.9c;el.L.2x.o.2R(o.9c)}el.L.2x.o.B(\'Y\',\'1P\').B(\'Z\',el.L.4n.w+\'U\');if(o.6Q&&o.6Q==\'Q\'){el.L.2x.6Q=\'Q\';el.L.2x.o.B(\'Q\',(el.L.1U&&el.L.1U.5A==\'Q\'?el.L.1U.4C.hb+t:t)+\'U\')}P{el.L.2x.6Q=\'4D\';el.L.2x.o.B(\'4D\',(el.L.1U&&el.L.1U.5A==\'4D\'?el.L.1U.4C.hb+b:b)+\'U\')}el.L.2x.4C=k.1a.2o(el.L.2x.o.K(0))}if(o.9D){el.L.3s={9D:o.9D};1Z.1S(\'&7k;\');el.L.3s.o=k(\'.eY\',el);el.L.3s.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3s.9D);el.L.3s.o.1J(\'5h\',k.2u.eg)}if(o.9o){el.L.3z={9o:o.9o};1Z.1S(\'&7k;\');el.L.3z.o=k(\'.ee\',el);el.L.3z.o.B(\'Y\',\'1P\').B(\'19\',\'1o\').B(\'2U\',\'2K\').B(\'4A\',\'eR\').2R(el.L.3z.9o);el.L.3z.o.1J(\'5h\',k.2u.dp)}1Z.bG(\'<22 6T="ca">\');el.L.5u=k(\'.ca\',el);el.L.5u.B(\'Y\',\'1P\').B(\'Q\',\'2P\').B(\'O\',\'2P\').B(\'19\',\'1o\');if(o.2b){1Z.bG(\'<22 6T="dW" 14="19: 1o;"><1T 2J="\'+o.2b+\'" />\');el.L.2b=k(\'.dW\',el);el.L.2b.B(\'Y\',\'1P\');D 1T=12 9s();1T.X=o.1Z;1T.2J=o.2b;if(1T.21){1T.6S=S;k.2u.go({2b:1T})}P{1T.6S=u(){k.2u.go({2b:q})}}}P{k.2u.go({1Z:el})}if(o.cS){fi=T(o.cS)*aC}k.2u.5I[o.1Z]=o.cS?1X.6V(\'k.2u.2I(\\\'\'+o.1Z+\'\\\')\',fi):S}};k.X=k.2u.2r;k.1t={7s:[],5L:{},1c:I,7u:S,26:u(){if(k.11.F==S){E}D 4O,3G,c,cs;k.1t.1c.K(0).3l=k.11.F.A.6R;4O=k.1t.1c.K(0).14;4O.19=\'2B\';k.1t.1c.1B=k.23(k.1a.3w(k.1t.1c.K(0)),k.1a.2o(k.1t.1c.K(0)));4O.Z=k.11.F.A.1B.1C+\'U\';4O.W=k.11.F.A.1B.hb+\'U\';3G=k.1a.cy(k.11.F);4O.5K=3G.t;4O.5z=3G.r;4O.5k=3G.b;4O.5j=3G.l;if(k.11.F.A.46==1b){c=k.11.F.fI(1b);cs=c.14;cs.5K=\'2P\';cs.5z=\'2P\';cs.5k=\'2P\';cs.5j=\'2P\';cs.19=\'2B\';k.1t.1c.5o().1S(c)}k(k.11.F).f5(k.1t.1c.K(0));k.11.F.14.19=\'1o\'},fC:u(e){if(!e.A.44&&k.1x.5r.cQ){if(e.A.3T)e.A.3T.1D(F);k(e).B(\'Y\',e.A.cz||e.A.4n);k(e).aS();k(k.1x.5r).f6(e)}k.1t.1c.4i(e.A.6R).3x(\'&7k;\');k.1t.7u=S;D 4O=k.1t.1c.K(0).14;4O.19=\'1o\';k.1t.1c.f5(e);if(e.A.fx>0){k(e).7f(e.A.fx)}k(\'2e\').1S(k.1t.1c.K(0));D 86=[];D 8q=I;24(D i=0;i0){8q(86)}},al:u(e,o){if(!k.11.F)E;D 6e=I;D i=0;if(e.1i.el.1N()>0){24(i=e.1i.el.1N();i>0;i--){if(e.1i.el.K(i-1)!=k.11.F){if(!e.5V.b2){if((e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}P{1r}}P{if((e.1i.el.K(i-1).1M.x+e.1i.el.K(i-1).1M.1C/2)>k.11.F.A.2v&&(e.1i.el.K(i-1).1M.y+e.1i.el.K(i-1).1M.hb/2)>k.11.F.A.2q){6e=e.1i.el.K(i-1)}}}}}if(6e&&k.1t.7u!=6e){k.1t.7u=6e;k(6e).h5(k.1t.1c.K(0))}P if(!6e&&(k.1t.7u!=S||k.1t.1c.K(0).31!=e)){k.1t.7u=S;k(e).1S(k.1t.1c.K(0))}k.1t.1c.K(0).14.19=\'2B\'},cT:u(e){if(k.11.F==S){E}e.1i.el.1E(u(){q.1M=k.23(k.1a.74(q),k.1a.7G(q))})},8x:u(s){D i;D h=\'\';D o={};if(s){if(k.1t.5L[s]){o[s]=[];k(\'#\'+s+\' .\'+k.1t.5L[s]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s+\'[]=\'+k.1p(q,\'id\');o[s][o[s].1g]=k.1p(q,\'id\')})}P{24(a in s){if(k.1t.5L[s[a]]){o[s[a]]=[];k(\'#\'+s[a]+\' .\'+k.1t.5L[s[a]]).1E(u(){if(h.1g>0){h+=\'&\'}h+=s[a]+\'[]=\'+k.1p(q,\'id\');o[s[a]][o[s[a]].1g]=k.1p(q,\'id\')})}}}}P{24(i in k.1t.5L){o[i]=[];k(\'#\'+i+\' .\'+k.1t.5L[i]).1E(u(){if(h.1g>0){h+=\'&\'}h+=i+\'[]=\'+k.1p(q,\'id\');o[i][o[i].1g]=k.1p(q,\'id\')})}}E{7l:h,o:o}},fF:u(e){if(!e.dq){E}E q.1E(u(){if(!q.5V||!k(e).is(\'.\'+q.5V.3C))k(e).2R(q.5V.3C);k(e).7t(q.5V.A)})},4U:u(){E q.1E(u(){k(\'.\'+q.5V.3C).aS();k(q).dR();q.5V=S;q.fm=S})},2r:u(o){if(o.3C&&k.1a&&k.11&&k.1x){if(!k.1t.1c){k(\'2e\',1h).1S(\'<22 id="e5">&7k;\');k.1t.1c=k(\'#e5\');k.1t.1c.K(0).14.19=\'1o\'}q.do({3C:o.3C,9J:o.9J?o.9J:I,a5:o.a5?o.a5:I,58:o.58?o.58:I,7x:o.7x||o.dC,7y:o.7y||o.fO,cQ:1b,2Z:o.2Z||o.ia,fx:o.fx?o.fx:I,46:o.46?1b:I,6I:o.6I?o.6I:\'cV\'});E q.1E(u(){D A={6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,4o:o.4o&&o.4o.1K==2A?o.4o:I,4m:o.4m&&o.4m.1K==2A?o.4m:I,3T:o.3T&&o.3T.1K==2A?o.3T:I,1O:/49|4j/.48(o.1O)?o.1O:I,6M:o.6M?T(o.6M)||0:I,2V:o.2V?o.2V:I};k(\'.\'+o.3C,q).7t(A);q.fm=1b;q.5V={3C:o.3C,6N:o.6N?1b:I,ff:6P,1G:o.1G?2m(o.1G):I,6R:o.58?o.58:I,fx:o.fx?o.fx:I,44:1b,46:o.46?1b:I,3v:o.3v?o.3v:S,2p:o.2p?o.2p:S,b2:o.b2?1b:I,A:A}})}}};k.fn.23({j3:k.1t.2r,f6:k.1t.fF,iS:k.1t.4U});k.iZ=k.1t.8x;k.2t={6O:S,7b:I,9m:S,6K:u(e){k.2t.7b=1b;k.2t.1Y(e,q,1b)},cq:u(e){if(k.2t.6O!=q)E;k.2t.7b=I;k.2t.2G(e,q)},1Y:u(e,el,7b){if(k.2t.6O!=S)E;if(!el){el=q}k.2t.6O=el;1M=k.23(k.1a.3w(el),k.1a.2o(el));8u=k(el);4g=8u.1p(\'4g\');3h=8u.1p(\'3h\');if(4g){k.2t.9m=4g;8u.1p(\'4g\',\'\');k(\'#eT\').3x(4g);if(3h)k(\'#bL\').3x(3h.4E(\'jh://\',\'\'));P k(\'#bL\').3x(\'\');1c=k(\'#8z\');if(el.4H.3l){1c.K(0).3l=el.4H.3l}P{1c.K(0).3l=\'\'}bo=k.1a.2o(1c.K(0));ga=7b&&el.4H.Y==\'bO\'?\'4D\':el.4H.Y;3m(ga){1e\'Q\':2q=1M.y-bo.hb;2v=1M.x;1r;1e\'O\':2q=1M.y;2v=1M.x-bo.1C;1r;1e\'2L\':2q=1M.y;2v=1M.x+1M.1C;1r;1e\'bO\':k(\'2e\').1J(\'3D\',k.2t.3D);1s=k.1a.4a(e);2q=1s.y+15;2v=1s.x+15;1r;ad:2q=1M.y+1M.hb;2v=1M.x;1r}1c.B({Q:2q+\'U\',O:2v+\'U\'});if(el.4H.54==I){1c.1Y()}P{1c.7f(el.4H.54)}if(el.4H.2Y)el.4H.2Y.1D(el);8u.1J(\'8B\',k.2t.2G).1J(\'5B\',k.2t.cq)}},3D:u(e){if(k.2t.6O==S){k(\'2e\').3q(\'3D\',k.2t.3D);E}1s=k.1a.4a(e);k(\'#8z\').B({Q:1s.y+15+\'U\',O:1s.x+15+\'U\'})},2G:u(e,el){if(!el){el=q}if(k.2t.7b!=1b&&k.2t.6O==el){k.2t.6O=S;k(\'#8z\').7a(1);k(el).1p(\'4g\',k.2t.9m).3q(\'8B\',k.2t.2G).3q(\'5B\',k.2t.cq);if(el.4H.3i)el.4H.3i.1D(el);k.2t.9m=S}},2r:u(M){if(!k.2t.1c){k(\'2e\').1S(\'<22 id="8z"><22 id="eT"><22 id="bL">\');k(\'#8z\').B({Y:\'1P\',3I:6P,19:\'1o\'});k.2t.1c=1b}E q.1E(u(){if(k.1p(q,\'4g\')){q.4H={Y:/Q|4D|O|2L|bO/.48(M.Y)?M.Y:\'4D\',3l:M.3l?M.3l:I,54:M.54?M.54:I,2Y:M.2Y&&M.2Y.1K==2A?M.2Y:I,3i:M.3i&&M.3i.1K==2A?M.3i:I};D el=k(q);el.1J(\'9z\',k.2t.1Y);el.1J(\'6K\',k.2t.6K)}})}};k.fn.hO=k.2t.2r;k.84={bq:u(e){3K=e.7L||e.7K||-1;if(3K==9){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}if(q.b1){1h.6J.dZ().3g="\\t";q.dV=u(){q.6K();q.dV=S}}P if(q.aF){26=q.5q;2T=q.dN;q.2y=q.2y.hd(0,26)+"\\t"+q.2y.h8(2T);q.aF(26+1,26+1);q.6K()}E I}},4U:u(){E q.1E(u(){if(q.7P&&q.7P==1b){k(q).3q(\'7B\',k.84.bq);q.7P=I}})},2r:u(){E q.1E(u(){if(q.4Y==\'cf\'&&(!q.7P||q.7P==I)){k(q).1J(\'7B\',k.84.bq);q.7P=1b}})}};k.fn.23({j5:k.84.2r,hH:k.84.4U});k.1a={3w:u(e){D x=0;D y=0;D es=e.14;D bP=I;if(k(e).B(\'19\')==\'1o\'){D 5Y=es.3n;D 9q=es.Y;bP=1b;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\'}D el=e;7d(el){x+=el.8t+(el.4Z&&!k.3a.7I?T(el.4Z.5b)||0:0);y+=el.8G+(el.4Z&&!k.3a.7I?T(el.4Z.4S)||0:0);el=el.dJ}el=e;7d(el&&el.4Y&&el.4Y.6c()!=\'2e\'){x-=el.3c||0;y-=el.3d||0;el=el.31}if(bP==1b){es.19=\'1o\';es.Y=9q;es.3n=5Y}E{x:x,y:y}},7G:u(el){D x=0,y=0;7d(el){x+=el.8t||0;y+=el.8G||0;el=el.dJ}E{x:x,y:y}},2o:u(e){D w=k.B(e,\'Z\');D h=k.B(e,\'W\');D 1C=0;D hb=0;D es=e.14;if(k(e).B(\'19\')!=\'1o\'){1C=e.4c;hb=e.5W}P{D 5Y=es.3n;D 9q=es.Y;es.3n=\'2K\';es.19=\'2B\';es.Y=\'1P\';1C=e.4c;hb=e.5W;es.19=\'1o\';es.Y=9q;es.3n=5Y}E{w:w,h:h,1C:1C,hb:hb}},74:u(el){E{1C:el.4c||0,hb:el.5W||0}},bm:u(e){D h,w,de;if(e){w=e.8W;h=e.8O}P{de=1h.5d;w=1X.d4||aa.d4||(de&&de.8W)||1h.2e.8W;h=1X.cB||aa.cB||(de&&de.8O)||1h.2e.8O}E{w:w,h:h}},6z:u(e){D t=0,l=0,w=0,h=0,iw=0,ih=0;if(e&&e.9N.6c()!=\'2e\'){t=e.3d;l=e.3c;w=e.d7;h=e.d2;iw=0;ih=0}P{if(1h.5d){t=1h.5d.3d;l=1h.5d.3c;w=1h.5d.d7;h=1h.5d.d2}P if(1h.2e){t=1h.2e.3d;l=1h.2e.3c;w=1h.2e.d7;h=1h.2e.d2}iw=aa.d4||1h.5d.8W||1h.2e.8W||0;ih=aa.cB||1h.5d.8O||1h.2e.8O||0}E{t:t,l:l,w:w,h:h,iw:iw,ih:ih}},cy:u(e,7N){D el=k(e);D t=el.B(\'5K\')||\'\';D r=el.B(\'5z\')||\'\';D b=el.B(\'5k\')||\'\';D l=el.B(\'5j\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},aT:u(e,7N){D el=k(e);D t=el.B(\'5M\')||\'\';D r=el.B(\'5U\')||\'\';D b=el.B(\'5n\')||\'\';D l=el.B(\'4X\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)};P E{t:t,r:r,b:b,l:l}},6U:u(e,7N){D el=k(e);D t=el.B(\'4S\')||\'\';D r=el.B(\'5O\')||\'\';D b=el.B(\'5Q\')||\'\';D l=el.B(\'5b\')||\'\';if(7N)E{t:T(t)||0,r:T(r)||0,b:T(b)||0,l:T(l)||0};P E{t:t,r:r,b:b,l:l}},4a:u(2k){D x=2k.hT||(2k.gM+(1h.5d.3c||1h.2e.3c))||0;D y=2k.ki||(2k.iQ+(1h.5d.3d||1h.2e.3d))||0;E{x:x,y:y}},cI:u(4R,cx){cx(4R);4R=4R.7c;7d(4R){k.1a.cI(4R,cx);4R=4R.hQ}},h7:u(4R){k.1a.cI(4R,u(el){24(D 1p in el){if(2g el[1p]===\'u\'){el[1p]=S}}})},hV:u(el,1O){D 5l=k.1a.6z();D b6=k.1a.2o(el);if(!1O||1O==\'49\')k(el).B({Q:5l.t+((18.3r(5l.h,5l.ih)-5l.t-b6.hb)/2)+\'U\'});if(!1O||1O==\'4j\')k(el).B({O:5l.l+((18.3r(5l.w,5l.iw)-5l.l-b6.1C)/2)+\'U\'})},hW:u(el,dk){D 1Q=k(\'1T[@2J*="8X"]\',el||1h),8X;1Q.1E(u(){8X=q.2J;q.2J=dk;q.14.5E="9n:9w.9y.hE(2J=\'"+8X+"\')"})}};[].3J||(7F.hF.3J=u(v,n){n=(n==S)?0:n;D m=q.1g;24(D i=n;i 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'; - } - ); - } -}; - +/** + * 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 diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/iautoscroller.js --- a/web/res/metadataplayer/test/interface 1.2/source/iautoscroller.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/iautoscroller.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,112 +1,112 @@ -/** - * Interface Elements for jQuery - * Autoscroller - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Utility object that helps to make custom autoscrollers. - * - * @example - * $('div.dragMe').Draggable( - * { - * onStart : function() - * { - * $.iAutoscroller.start(this, document.getElementsByTagName('body')); - * }, - * onStop : function() - * { - * $.iAutoscroller.stop(); - * } - * } - * ); - * - * @description Utility object that helps to make custom autoscrollers - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - -jQuery.iAutoscroller = { - timer: null, - elToScroll: null, - elsToScroll: null, - step: 10, - /** - * This is called to start autoscrolling - * @param DOMElement el the element used as reference - * @param Array els collection of elements to scroll - * @param Integer step the pixels scroll on each step - * @param Integer interval miliseconds between each step - */ - start: function(el, els, step, interval) - { - jQuery.iAutoscroller.elToScroll = el; - jQuery.iAutoscroller.elsToScroll = els; - jQuery.iAutoscroller.step = parseInt(step)||10; - jQuery.iAutoscroller.timer = window.setInterval(jQuery.iAutoscroller.doScroll, parseInt(interval)||40); - }, - - //private function - doScroll : function() - { - for (i=0;i 0 - && - jQuery.iAutoscroller.elsToScroll[i].parentData.y + jQuery.iAutoscroller.elsToScroll[i].parentData.t > elementData.y) { - jQuery.iAutoscroller.elsToScroll[i].scrollTop -= jQuery.iAutoscroller.step; - } else if (jQuery.iAutoscroller.elsToScroll[i].parentData.t <= jQuery.iAutoscroller.elsToScroll[i].parentData.h && jQuery.iAutoscroller.elsToScroll[i].parentData.t + jQuery.iAutoscroller.elsToScroll[i].parentData.hb < elementData.y + elementData.hb) { - jQuery.iAutoscroller.elsToScroll[i].scrollTop += jQuery.iAutoscroller.step; - } - if (jQuery.iAutoscroller.elsToScroll[i].parentData.l > 0 && jQuery.iAutoscroller.elsToScroll[i].parentData.x + jQuery.iAutoscroller.elsToScroll[i].parentData.l > elementData.x) { - jQuery.iAutoscroller.elsToScroll[i].scrollLeft -= jQuery.iAutoscroller.step; - } else if (jQuery.iAutoscroller.elsToScroll[i].parentData.l <= jQuery.iAutoscroller.elsToScroll[i].parentData.wh && jQuery.iAutoscroller.elsToScroll[i].parentData.l + jQuery.iAutoscroller.elsToScroll[i].parentData.wb < elementData.x + elementData.wb) { - jQuery.iAutoscroller.elsToScroll[i].scrollLeft += jQuery.iAutoscroller.step; - } - } - }, - /** - * This is called to stop autoscrolling - */ - stop: function() - { - window.clearInterval(jQuery.iAutoscroller.timer); - jQuery.iAutoscroller.elToScroll = null; - jQuery.iAutoscroller.elsToScroll = null; - for (i in jQuery.iAutoscroller.elsToScroll) { - jQuery.iAutoscroller.elsToScroll[i].parentData = null; - } - } +/** + * Interface Elements for jQuery + * Autoscroller + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Utility object that helps to make custom autoscrollers. + * + * @example + * $('div.dragMe').Draggable( + * { + * onStart : function() + * { + * $.iAutoscroller.start(this, document.getElementsByTagName('body')); + * }, + * onStop : function() + * { + * $.iAutoscroller.stop(); + * } + * } + * ); + * + * @description Utility object that helps to make custom autoscrollers + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + +jQuery.iAutoscroller = { + timer: null, + elToScroll: null, + elsToScroll: null, + step: 10, + /** + * This is called to start autoscrolling + * @param DOMElement el the element used as reference + * @param Array els collection of elements to scroll + * @param Integer step the pixels scroll on each step + * @param Integer interval miliseconds between each step + */ + start: function(el, els, step, interval) + { + jQuery.iAutoscroller.elToScroll = el; + jQuery.iAutoscroller.elsToScroll = els; + jQuery.iAutoscroller.step = parseInt(step)||10; + jQuery.iAutoscroller.timer = window.setInterval(jQuery.iAutoscroller.doScroll, parseInt(interval)||40); + }, + + //private function + doScroll : function() + { + for (i=0;i 0 + && + jQuery.iAutoscroller.elsToScroll[i].parentData.y + jQuery.iAutoscroller.elsToScroll[i].parentData.t > elementData.y) { + jQuery.iAutoscroller.elsToScroll[i].scrollTop -= jQuery.iAutoscroller.step; + } else if (jQuery.iAutoscroller.elsToScroll[i].parentData.t <= jQuery.iAutoscroller.elsToScroll[i].parentData.h && jQuery.iAutoscroller.elsToScroll[i].parentData.t + jQuery.iAutoscroller.elsToScroll[i].parentData.hb < elementData.y + elementData.hb) { + jQuery.iAutoscroller.elsToScroll[i].scrollTop += jQuery.iAutoscroller.step; + } + if (jQuery.iAutoscroller.elsToScroll[i].parentData.l > 0 && jQuery.iAutoscroller.elsToScroll[i].parentData.x + jQuery.iAutoscroller.elsToScroll[i].parentData.l > elementData.x) { + jQuery.iAutoscroller.elsToScroll[i].scrollLeft -= jQuery.iAutoscroller.step; + } else if (jQuery.iAutoscroller.elsToScroll[i].parentData.l <= jQuery.iAutoscroller.elsToScroll[i].parentData.wh && jQuery.iAutoscroller.elsToScroll[i].parentData.l + jQuery.iAutoscroller.elsToScroll[i].parentData.wb < elementData.x + elementData.wb) { + jQuery.iAutoscroller.elsToScroll[i].scrollLeft += jQuery.iAutoscroller.step; + } + } + }, + /** + * This is called to stop autoscrolling + */ + stop: function() + { + window.clearInterval(jQuery.iAutoscroller.timer); + jQuery.iAutoscroller.elToScroll = null; + jQuery.iAutoscroller.elsToScroll = null; + for (i in jQuery.iAutoscroller.elsToScroll) { + jQuery.iAutoscroller.elsToScroll[i].parentData = null; + } + } }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/idrop.js --- a/web/res/metadataplayer/test/interface 1.2/source/idrop.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/idrop.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,323 +1,323 @@ -/** - * Interface Elements for jQuery - * Droppables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * With the Draggables plugin, Droppable allows you to create drop zones for draggable elements. - * - * @name Droppable - * @cat Plugins/Interface - * @param Hash options A hash of options - * @option String accept The class name for draggables to get accepted by the droppable (mandatory) - * @option String activeclass When an acceptable draggable is moved, the droppable gets this class - * @option String hoverclass When an acceptable draggable is inside the droppable, the droppable gets - * this class - * @option String tolerance Choose from 'pointer', 'intersect', or 'fit'. The pointer options means - * that the pointer must be inside the droppable in order for the draggable - * to be dropped. The intersect option means that the draggable must intersect - * the droppable. The fit option means that the entire draggable must be - * inside the droppable. - * @option Function onDrop When an acceptable draggable is dropped on a droppable, this callback is - * called. It passes the draggable DOMElement as a parameter. - * @option Function onHover When an acceptable draggable is hovered over a droppable, this callback - * is called. It passes the draggable DOMElement as a parameter. - * @option Function onOut When an acceptable draggable leaves a droppable, this callback is called. - * It passes the draggable DOMElement as a parameter. - * @example $('#dropzone1').Droppable( - * { - * accept : 'dropaccept', - * activeclass: 'dropzoneactive', - * hoverclass: 'dropzonehover', - * ondrop: function (drag) { - * alert(this); //the droppable - * alert(drag); //the draggable - * }, - * fit: true - * } - * ) - */ - -jQuery.iDrop = { - fit : function (zonex, zoney, zonew, zoneh) - { - return zonex <= jQuery.iDrag.dragged.dragCfg.nx && - (zonex + zonew) >= (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w) && - zoney <= jQuery.iDrag.dragged.dragCfg.ny && - (zoney + zoneh) >= (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) ? true :false; - }, - intersect : function (zonex, zoney, zonew, zoneh) - { - return ! ( zonex > (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w) - || (zonex + zonew) < jQuery.iDrag.dragged.dragCfg.nx - || zoney > (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) - || (zoney + zoneh) < jQuery.iDrag.dragged.dragCfg.ny - ) ? true :false; - }, - pointer : function (zonex, zoney, zonew, zoneh) - { - return zonex < jQuery.iDrag.dragged.dragCfg.currentPointer.x - && (zonex + zonew) > jQuery.iDrag.dragged.dragCfg.currentPointer.x - && zoney < jQuery.iDrag.dragged.dragCfg.currentPointer.y - && (zoney + zoneh) > jQuery.iDrag.dragged.dragCfg.currentPointer.y - ? true :false; - }, - overzone : false, - highlighted : {}, - count : 0, - zones : {}, - - highlight : function (elm) - { - if (jQuery.iDrag.dragged == null) { - return; - } - var i; - jQuery.iDrop.highlighted = {}; - var oneIsSortable = false; - for (i in jQuery.iDrop.zones) { - if (jQuery.iDrop.zones[i] != null) { - var iEL = jQuery.iDrop.zones[i].get(0); - if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) { - if (iEL.dropCfg.m == false) { - iEL.dropCfg.p = jQuery.extend( - jQuery.iUtil.getPositionLite(iEL), - jQuery.iUtil.getSizeLite(iEL) - );//jQuery.iUtil.getPos(iEL); - iEL.dropCfg.m = true; - } - if (iEL.dropCfg.ac) { - jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac); - } - jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i]; - //if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { - if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { - iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL); - elm.style.display = 'none'; - jQuery.iSort.measure(iEL); - iEL.dropCfg.os = jQuery.iSort.serialize(jQuery.attr(iEL, 'id')).hash; - elm.style.display = elm.dragCfg.oD; - oneIsSortable = true; - } - if (iEL.dropCfg.onActivate) { - iEL.dropCfg.onActivate.apply(jQuery.iDrop.zones[i].get(0), [jQuery.iDrag.dragged]); - } - } - } - } - //if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { - if (oneIsSortable) { - jQuery.iSort.start(); - } - }, - /** - * remeasure the droppable - * - * useful when the positions/dimensions for droppables - * are changed while dragging a element - * - * this works for sortables too but with a greate processor - * penality because remeasures each sort items too - */ - remeasure : function() - { - jQuery.iDrop.highlighted = {}; - for (i in jQuery.iDrop.zones) { - if (jQuery.iDrop.zones[i] != null) { - var iEL = jQuery.iDrop.zones[i].get(0); - if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) { - iEL.dropCfg.p = jQuery.extend( - jQuery.iUtil.getPositionLite(iEL), - jQuery.iUtil.getSizeLite(iEL) - ); - if (iEL.dropCfg.ac) { - jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac); - } - jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i]; - - if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { - iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL); - elm.style.display = 'none'; - jQuery.iSort.measure(iEL); - elm.style.display = elm.dragCfg.oD; - } - } - } - } - }, - - checkhover : function (e) - { - if (jQuery.iDrag.dragged == null) { - return; - } - jQuery.iDrop.overzone = false; - var i; - var applyOnHover = false; - var hlt = 0; - for (i in jQuery.iDrop.highlighted) - { - var iEL = jQuery.iDrop.highlighted[i].get(0); - if ( - jQuery.iDrop.overzone == false - && - jQuery.iDrop[iEL.dropCfg.t]( - iEL.dropCfg.p.x, - iEL.dropCfg.p.y, - iEL.dropCfg.p.wb, - iEL.dropCfg.p.hb - ) - - ) { - if (iEL.dropCfg.hc && iEL.dropCfg.h == false) { - jQuery.iDrop.highlighted[i].addClass(iEL.dropCfg.hc); - } - //chec if onHover function has to be called - if (iEL.dropCfg.h == false &&iEL.dropCfg.onHover) { - applyOnHover = true; - } - iEL.dropCfg.h = true; - jQuery.iDrop.overzone = iEL; - //if(jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { - if(jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { - jQuery.iSort.helper.get(0).className = iEL.dropCfg.shc; - jQuery.iSort.checkhover(iEL); - } - hlt ++; - } else if(iEL.dropCfg.h == true) { - //onOut function - if (iEL.dropCfg.onOut) { - iEL.dropCfg.onOut.apply(iEL, [e, jQuery.iDrag.helper.get(0).firstChild, iEL.dropCfg.fx]); - } - if (iEL.dropCfg.hc) { - jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc); - } - iEL.dropCfg.h = false; - } - } - if (jQuery.iSort && !jQuery.iDrop.overzone && jQuery.iDrag.dragged.so) { - jQuery.iSort.helper.get(0).style.display = 'none'; - //jQuery('body').append(jQuery.iSort.helper.get(0)); - } - //call onhover - if(applyOnHover) { - jQuery.iDrop.overzone.dropCfg.onHover.apply(jQuery.iDrop.overzone, [e, jQuery.iDrag.helper.get(0).firstChild]); - } - }, - checkdrop : function (e) - { - var i; - for (i in jQuery.iDrop.highlighted) { - var iEL = jQuery.iDrop.highlighted[i].get(0); - if (iEL.dropCfg.ac) { - jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.ac); - } - if (iEL.dropCfg.hc) { - jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc); - } - if(iEL.dropCfg.s) { - jQuery.iSort.changed[jQuery.iSort.changed.length] = i; - } - if (iEL.dropCfg.onDrop && iEL.dropCfg.h == true) { - iEL.dropCfg.h = false; - iEL.dropCfg.onDrop.apply(iEL, [e, iEL.dropCfg.fx]); - } - iEL.dropCfg.m = false; - iEL.dropCfg.h = false; - } - jQuery.iDrop.highlighted = {}; - }, - destroy : function() - { - return this.each( - function() - { - if (this.isDroppable) { - if (this.dropCfg.s) { - id = jQuery.attr(this,'id'); - jQuery.iSort.collected[id] = null; - jQuery('.' + this.dropCfg.a, this).DraggableDestroy(); - } - jQuery.iDrop.zones['d' + this.idsa] = null; - this.isDroppable = false; - this.f = null; - } - } - ); - }, - build : function (o) - { - return this.each( - function() - { - if (this.isDroppable == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag){ - return; - } - this.dropCfg = { - a : o.accept, - ac: o.activeclass||false, - hc: o.hoverclass||false, - shc: o.helperclass||false, - onDrop: o.ondrop||o.onDrop||false, - onHover: o.onHover||o.onhover||false, - onOut: o.onOut||o.onout||false, - onActivate: o.onActivate||false, - t: o.tolerance && ( o.tolerance == 'fit' || o.tolerance == 'intersect') ? o.tolerance : 'pointer', - fx: o.fx ? o.fx : false, - m: false, - h: false - }; - if (o.sortable == true && jQuery.iSort) { - id = jQuery.attr(this,'id'); - jQuery.iSort.collected[id] = this.dropCfg.a; - this.dropCfg.s = true; - if(o.onChange) { - this.dropCfg.onChange = o.onChange; - this.dropCfg.os = jQuery.iSort.serialize(id).hash; - } - } - this.isDroppable = true; - this.idsa = parseInt(Math.random() * 10000); - jQuery.iDrop.zones['d' + this.idsa] = jQuery(this); - jQuery.iDrop.count ++; - } - ); - } -}; - -/** - * Destroy an existing droppable on a collection of elements - * - * @name DroppableDestroy - * @descr Destroy a droppable - * @type jQuery - * @cat Plugins/Interface - * @example $('#drag2').DroppableDestroy(); - */ - -jQuery.fn.extend( - { - DroppableDestroy : jQuery.iDrop.destroy, - Droppable : jQuery.iDrop.build - } -); - - -/** - * Recalculate all Droppables - * - * @name $.recallDroppables - * @type jQuery - * @cat Plugins/Interface - * @example $.recallDroppable(); - */ - +/** + * Interface Elements for jQuery + * Droppables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * With the Draggables plugin, Droppable allows you to create drop zones for draggable elements. + * + * @name Droppable + * @cat Plugins/Interface + * @param Hash options A hash of options + * @option String accept The class name for draggables to get accepted by the droppable (mandatory) + * @option String activeclass When an acceptable draggable is moved, the droppable gets this class + * @option String hoverclass When an acceptable draggable is inside the droppable, the droppable gets + * this class + * @option String tolerance Choose from 'pointer', 'intersect', or 'fit'. The pointer options means + * that the pointer must be inside the droppable in order for the draggable + * to be dropped. The intersect option means that the draggable must intersect + * the droppable. The fit option means that the entire draggable must be + * inside the droppable. + * @option Function onDrop When an acceptable draggable is dropped on a droppable, this callback is + * called. It passes the draggable DOMElement as a parameter. + * @option Function onHover When an acceptable draggable is hovered over a droppable, this callback + * is called. It passes the draggable DOMElement as a parameter. + * @option Function onOut When an acceptable draggable leaves a droppable, this callback is called. + * It passes the draggable DOMElement as a parameter. + * @example $('#dropzone1').Droppable( + * { + * accept : 'dropaccept', + * activeclass: 'dropzoneactive', + * hoverclass: 'dropzonehover', + * ondrop: function (drag) { + * alert(this); //the droppable + * alert(drag); //the draggable + * }, + * fit: true + * } + * ) + */ + +jQuery.iDrop = { + fit : function (zonex, zoney, zonew, zoneh) + { + return zonex <= jQuery.iDrag.dragged.dragCfg.nx && + (zonex + zonew) >= (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w) && + zoney <= jQuery.iDrag.dragged.dragCfg.ny && + (zoney + zoneh) >= (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) ? true :false; + }, + intersect : function (zonex, zoney, zonew, zoneh) + { + return ! ( zonex > (jQuery.iDrag.dragged.dragCfg.nx + jQuery.iDrag.dragged.dragCfg.oC.w) + || (zonex + zonew) < jQuery.iDrag.dragged.dragCfg.nx + || zoney > (jQuery.iDrag.dragged.dragCfg.ny + jQuery.iDrag.dragged.dragCfg.oC.h) + || (zoney + zoneh) < jQuery.iDrag.dragged.dragCfg.ny + ) ? true :false; + }, + pointer : function (zonex, zoney, zonew, zoneh) + { + return zonex < jQuery.iDrag.dragged.dragCfg.currentPointer.x + && (zonex + zonew) > jQuery.iDrag.dragged.dragCfg.currentPointer.x + && zoney < jQuery.iDrag.dragged.dragCfg.currentPointer.y + && (zoney + zoneh) > jQuery.iDrag.dragged.dragCfg.currentPointer.y + ? true :false; + }, + overzone : false, + highlighted : {}, + count : 0, + zones : {}, + + highlight : function (elm) + { + if (jQuery.iDrag.dragged == null) { + return; + } + var i; + jQuery.iDrop.highlighted = {}; + var oneIsSortable = false; + for (i in jQuery.iDrop.zones) { + if (jQuery.iDrop.zones[i] != null) { + var iEL = jQuery.iDrop.zones[i].get(0); + if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) { + if (iEL.dropCfg.m == false) { + iEL.dropCfg.p = jQuery.extend( + jQuery.iUtil.getPositionLite(iEL), + jQuery.iUtil.getSizeLite(iEL) + );//jQuery.iUtil.getPos(iEL); + iEL.dropCfg.m = true; + } + if (iEL.dropCfg.ac) { + jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac); + } + jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i]; + //if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { + if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { + iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL); + elm.style.display = 'none'; + jQuery.iSort.measure(iEL); + iEL.dropCfg.os = jQuery.iSort.serialize(jQuery.attr(iEL, 'id')).hash; + elm.style.display = elm.dragCfg.oD; + oneIsSortable = true; + } + if (iEL.dropCfg.onActivate) { + iEL.dropCfg.onActivate.apply(jQuery.iDrop.zones[i].get(0), [jQuery.iDrag.dragged]); + } + } + } + } + //if (jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { + if (oneIsSortable) { + jQuery.iSort.start(); + } + }, + /** + * remeasure the droppable + * + * useful when the positions/dimensions for droppables + * are changed while dragging a element + * + * this works for sortables too but with a greate processor + * penality because remeasures each sort items too + */ + remeasure : function() + { + jQuery.iDrop.highlighted = {}; + for (i in jQuery.iDrop.zones) { + if (jQuery.iDrop.zones[i] != null) { + var iEL = jQuery.iDrop.zones[i].get(0); + if (jQuery(jQuery.iDrag.dragged).is('.' + iEL.dropCfg.a)) { + iEL.dropCfg.p = jQuery.extend( + jQuery.iUtil.getPositionLite(iEL), + jQuery.iUtil.getSizeLite(iEL) + ); + if (iEL.dropCfg.ac) { + jQuery.iDrop.zones[i].addClass(iEL.dropCfg.ac); + } + jQuery.iDrop.highlighted[i] = jQuery.iDrop.zones[i]; + + if (jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { + iEL.dropCfg.el = jQuery('.' + iEL.dropCfg.a, iEL); + elm.style.display = 'none'; + jQuery.iSort.measure(iEL); + elm.style.display = elm.dragCfg.oD; + } + } + } + } + }, + + checkhover : function (e) + { + if (jQuery.iDrag.dragged == null) { + return; + } + jQuery.iDrop.overzone = false; + var i; + var applyOnHover = false; + var hlt = 0; + for (i in jQuery.iDrop.highlighted) + { + var iEL = jQuery.iDrop.highlighted[i].get(0); + if ( + jQuery.iDrop.overzone == false + && + jQuery.iDrop[iEL.dropCfg.t]( + iEL.dropCfg.p.x, + iEL.dropCfg.p.y, + iEL.dropCfg.p.wb, + iEL.dropCfg.p.hb + ) + + ) { + if (iEL.dropCfg.hc && iEL.dropCfg.h == false) { + jQuery.iDrop.highlighted[i].addClass(iEL.dropCfg.hc); + } + //chec if onHover function has to be called + if (iEL.dropCfg.h == false &&iEL.dropCfg.onHover) { + applyOnHover = true; + } + iEL.dropCfg.h = true; + jQuery.iDrop.overzone = iEL; + //if(jQuery.iSort && jQuery.iDrag.dragged.dragCfg.so) { + if(jQuery.iSort && iEL.dropCfg.s && jQuery.iDrag.dragged.dragCfg.so) { + jQuery.iSort.helper.get(0).className = iEL.dropCfg.shc; + jQuery.iSort.checkhover(iEL); + } + hlt ++; + } else if(iEL.dropCfg.h == true) { + //onOut function + if (iEL.dropCfg.onOut) { + iEL.dropCfg.onOut.apply(iEL, [e, jQuery.iDrag.helper.get(0).firstChild, iEL.dropCfg.fx]); + } + if (iEL.dropCfg.hc) { + jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc); + } + iEL.dropCfg.h = false; + } + } + if (jQuery.iSort && !jQuery.iDrop.overzone && jQuery.iDrag.dragged.so) { + jQuery.iSort.helper.get(0).style.display = 'none'; + //jQuery('body').append(jQuery.iSort.helper.get(0)); + } + //call onhover + if(applyOnHover) { + jQuery.iDrop.overzone.dropCfg.onHover.apply(jQuery.iDrop.overzone, [e, jQuery.iDrag.helper.get(0).firstChild]); + } + }, + checkdrop : function (e) + { + var i; + for (i in jQuery.iDrop.highlighted) { + var iEL = jQuery.iDrop.highlighted[i].get(0); + if (iEL.dropCfg.ac) { + jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.ac); + } + if (iEL.dropCfg.hc) { + jQuery.iDrop.highlighted[i].removeClass(iEL.dropCfg.hc); + } + if(iEL.dropCfg.s) { + jQuery.iSort.changed[jQuery.iSort.changed.length] = i; + } + if (iEL.dropCfg.onDrop && iEL.dropCfg.h == true) { + iEL.dropCfg.h = false; + iEL.dropCfg.onDrop.apply(iEL, [e, iEL.dropCfg.fx]); + } + iEL.dropCfg.m = false; + iEL.dropCfg.h = false; + } + jQuery.iDrop.highlighted = {}; + }, + destroy : function() + { + return this.each( + function() + { + if (this.isDroppable) { + if (this.dropCfg.s) { + id = jQuery.attr(this,'id'); + jQuery.iSort.collected[id] = null; + jQuery('.' + this.dropCfg.a, this).DraggableDestroy(); + } + jQuery.iDrop.zones['d' + this.idsa] = null; + this.isDroppable = false; + this.f = null; + } + } + ); + }, + build : function (o) + { + return this.each( + function() + { + if (this.isDroppable == true || !o.accept || !jQuery.iUtil || !jQuery.iDrag){ + return; + } + this.dropCfg = { + a : o.accept, + ac: o.activeclass||false, + hc: o.hoverclass||false, + shc: o.helperclass||false, + onDrop: o.ondrop||o.onDrop||false, + onHover: o.onHover||o.onhover||false, + onOut: o.onOut||o.onout||false, + onActivate: o.onActivate||false, + t: o.tolerance && ( o.tolerance == 'fit' || o.tolerance == 'intersect') ? o.tolerance : 'pointer', + fx: o.fx ? o.fx : false, + m: false, + h: false + }; + if (o.sortable == true && jQuery.iSort) { + id = jQuery.attr(this,'id'); + jQuery.iSort.collected[id] = this.dropCfg.a; + this.dropCfg.s = true; + if(o.onChange) { + this.dropCfg.onChange = o.onChange; + this.dropCfg.os = jQuery.iSort.serialize(id).hash; + } + } + this.isDroppable = true; + this.idsa = parseInt(Math.random() * 10000); + jQuery.iDrop.zones['d' + this.idsa] = jQuery(this); + jQuery.iDrop.count ++; + } + ); + } +}; + +/** + * Destroy an existing droppable on a collection of elements + * + * @name DroppableDestroy + * @descr Destroy a droppable + * @type jQuery + * @cat Plugins/Interface + * @example $('#drag2').DroppableDestroy(); + */ + +jQuery.fn.extend( + { + DroppableDestroy : jQuery.iDrop.destroy, + Droppable : jQuery.iDrop.build + } +); + + +/** + * Recalculate all Droppables + * + * @name $.recallDroppables + * @type jQuery + * @cat Plugins/Interface + * @example $.recallDroppable(); + */ + jQuery.recallDroppables = jQuery.iDrop.remeasure; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/iexpander.js --- a/web/res/metadataplayer/test/interface 1.2/source/iexpander.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/iexpander.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,114 +1,114 @@ -/** - * Interface Elements for jQuery - * Expander - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Expands text and textarea elements while new characters are typed to the a miximum width - * - * @name Expander - * @description Expands text and textarea elements while new characters are typed to the a miximum width - * @param Mixed limit integer if only expands in width, array if expands in width and height - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - -jQuery.iExpander = -{ - helper : null, - expand : function() - { - - text = this.value; - if (!text) - return; - style = { - fontFamily: jQuery(this).css('fontFamily')||'', - fontSize: jQuery(this).css('fontSize')||'', - fontWeight: jQuery(this).css('fontWeight')||'', - fontStyle: jQuery(this).css('fontStyle')||'', - fontStretch: jQuery(this).css('fontStretch')||'', - fontVariant: jQuery(this).css('fontVariant')||'', - letterSpacing: jQuery(this).css('letterSpacing')||'', - wordSpacing: jQuery(this).css('wordSpacing')||'' - }; - jQuery.iExpander.helper.css(style); - html = jQuery.iExpander.htmlEntities(text); - html = html.replace(new RegExp( "\\n", "g" ), "
    "); - jQuery.iExpander.helper.html('pW'); - spacer = jQuery.iExpander.helper.get(0).offsetWidth; - jQuery.iExpander.helper.html(html); - width = jQuery.iExpander.helper.get(0).offsetWidth + spacer; - if (this.Expander.limit && width > this.Expander.limit[0]) { - width = this.Expander.limit[0]; - } - this.style.width = width + 'px'; - if (this.tagName == 'TEXTAREA') { - height = jQuery.iExpander.helper.get(0).offsetHeight + spacer; - if (this.Expander.limit && height > this.Expander.limit[1]) { - height = this.Expander.limit[1]; - } - this.style.height = height + 'px'; - } - }, - htmlEntities : function(text) - { - entities = { - '&':'&', - '<':'<', - '>':'>', - '"':'"' - }; - for(i in entities) { - text = text.replace(new RegExp(i,'g'),entities[i]); - } - return text; - }, - build : function(limit) - { - if (jQuery.iExpander.helper == null) { - jQuery('body', document).append(''); - jQuery.iExpander.helper = jQuery('#expanderHelper'); - } - return this.each( - function() - { - if (/TEXTAREA|INPUT/.test(this.tagName)) { - if (this.tagName == 'INPUT') { - elType = this.getAttribute('type'); - if (!/text|password/.test(elType)) { - return; - } - } - if (limit && (limit.constructor == Number || (limit.constructor == Array && limit.length == 2))) { - if (limit.constructor == Number) - limit = [limit, limit]; - else { - limit[0] = parseInt(limit[0])||400; - limit[1] = parseInt(limit[1])||400; - } - this.Expander = { - limit : limit - }; - } - jQuery(this) - .blur(jQuery.iExpander.expand) - .keyup(jQuery.iExpander.expand) - .keypress(jQuery.iExpander.expand); - jQuery.iExpander.expand.apply(this); - } - } - ); - } -}; - +/** + * Interface Elements for jQuery + * Expander + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Expands text and textarea elements while new characters are typed to the a miximum width + * + * @name Expander + * @description Expands text and textarea elements while new characters are typed to the a miximum width + * @param Mixed limit integer if only expands in width, array if expands in width and height + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + +jQuery.iExpander = +{ + helper : null, + expand : function() + { + + text = this.value; + if (!text) + return; + style = { + fontFamily: jQuery(this).css('fontFamily')||'', + fontSize: jQuery(this).css('fontSize')||'', + fontWeight: jQuery(this).css('fontWeight')||'', + fontStyle: jQuery(this).css('fontStyle')||'', + fontStretch: jQuery(this).css('fontStretch')||'', + fontVariant: jQuery(this).css('fontVariant')||'', + letterSpacing: jQuery(this).css('letterSpacing')||'', + wordSpacing: jQuery(this).css('wordSpacing')||'' + }; + jQuery.iExpander.helper.css(style); + html = jQuery.iExpander.htmlEntities(text); + html = html.replace(new RegExp( "\\n", "g" ), "
    "); + jQuery.iExpander.helper.html('pW'); + spacer = jQuery.iExpander.helper.get(0).offsetWidth; + jQuery.iExpander.helper.html(html); + width = jQuery.iExpander.helper.get(0).offsetWidth + spacer; + if (this.Expander.limit && width > this.Expander.limit[0]) { + width = this.Expander.limit[0]; + } + this.style.width = width + 'px'; + if (this.tagName == 'TEXTAREA') { + height = jQuery.iExpander.helper.get(0).offsetHeight + spacer; + if (this.Expander.limit && height > this.Expander.limit[1]) { + height = this.Expander.limit[1]; + } + this.style.height = height + 'px'; + } + }, + htmlEntities : function(text) + { + entities = { + '&':'&', + '<':'<', + '>':'>', + '"':'"' + }; + for(i in entities) { + text = text.replace(new RegExp(i,'g'),entities[i]); + } + return text; + }, + build : function(limit) + { + if (jQuery.iExpander.helper == null) { + jQuery('body', document).append(''); + jQuery.iExpander.helper = jQuery('#expanderHelper'); + } + return this.each( + function() + { + if (/TEXTAREA|INPUT/.test(this.tagName)) { + if (this.tagName == 'INPUT') { + elType = this.getAttribute('type'); + if (!/text|password/.test(elType)) { + return; + } + } + if (limit && (limit.constructor == Number || (limit.constructor == Array && limit.length == 2))) { + if (limit.constructor == Number) + limit = [limit, limit]; + else { + limit[0] = parseInt(limit[0])||400; + limit[1] = parseInt(limit[1])||400; + } + this.Expander = { + limit : limit + }; + } + jQuery(this) + .blur(jQuery.iExpander.expand) + .keyup(jQuery.iExpander.expand) + .keypress(jQuery.iExpander.expand); + jQuery.iExpander.expand.apply(this); + } + } + ); + } +}; + jQuery.fn.Autoexpand = jQuery.iExpander.build; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifx.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifx.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifx.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,490 +1,490 @@ -/** - * Interface Elements for jQuery - * FX - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Validates elements that can be animated - */ -jQuery.fxCheckTag = function(e) -{ - if (/^tr$|^td$|^tbody$|^caption$|^thead$|^tfoot$|^col$|^colgroup$|^th$|^body$|^header$|^script$|^frame$|^frameset$|^option$|^optgroup$|^meta$/i.test(e.nodeName) ) - return false; - else - return true; -}; - -/** - * Destroy the wrapper used for some animations - */ -jQuery.fx.destroyWrapper = function(e, old) -{ - var c = e.firstChild; - var cs = c.style; - cs.position = old.position; - cs.marginTop = old.margins.t; - cs.marginLeft = old.margins.l; - cs.marginBottom = old.margins.b; - cs.marginRight = old.margins.r; - cs.top = old.top + 'px'; - cs.left = old.left + 'px'; - e.parentNode.insertBefore(c, e); - e.parentNode.removeChild(e); -}; - -/** - * Builds a wrapper used for some animations - */ -jQuery.fx.buildWrapper = function(e) -{ - if (!jQuery.fxCheckTag(e)) - return false; - var t = jQuery(e); - var es = e.style; - var restoreStyle = false; - - if (t.css('display') == 'none') { - oldVisibility = t.css('visibility'); - t.css('visibility', 'hidden').show(); - restoreStyle = true; - } - var oldStyle = {}; - oldStyle.position = t.css('position'); - oldStyle.sizes = jQuery.iUtil.getSize(e); - oldStyle.margins = jQuery.iUtil.getMargins(e); - - var oldFloat = e.currentStyle ? e.currentStyle.styleFloat : t.css('float'); - oldStyle.top = parseInt(t.css('top'))||0; - oldStyle.left = parseInt(t.css('left'))||0; - var wid = 'w_' + parseInt(Math.random() * 10000); - var wr = document.createElement(/^img$|^br$|^input$|^hr$|^select$|^textarea$|^object$|^iframe$|^button$|^form$|^table$|^ul$|^dl$|^ol$/i.test(e.nodeName) ? 'div' : e.nodeName); - jQuery.attr(wr,'id', wid); - var wrapEl = jQuery(wr).addClass('fxWrapper'); - var wrs = wr.style; - var top = 0; - var left = 0; - if (oldStyle.position == 'relative' || oldStyle.position == 'absolute'){ - top = oldStyle.top; - left = oldStyle.left; - } - - wrs.top = top + 'px'; - wrs.left = left + 'px'; - wrs.position = oldStyle.position != 'relative' && oldStyle.position != 'absolute' ? 'relative' : oldStyle.position; - wrs.height = oldStyle.sizes.hb + 'px'; - wrs.width = oldStyle.sizes.wb + 'px'; - wrs.marginTop = oldStyle.margins.t; - wrs.marginRight = oldStyle.margins.r; - wrs.marginBottom = oldStyle.margins.b; - wrs.marginLeft = oldStyle.margins.l; - wrs.overflow = 'hidden'; - if (jQuery.browser.msie) { - wrs.styleFloat = oldFloat; - } else { - wrs.cssFloat = oldFloat; - } - if (jQuery.browser == "msie") { - es.filter = "alpha(opacity=" + 0.999*100 + ")"; - } - es.opacity = 0.999; - //t.wrap(wr); - e.parentNode.insertBefore(wr, e); - wr.appendChild(e); - es.marginTop = '0px'; - es.marginRight = '0px'; - es.marginBottom = '0px'; - es.marginLeft = '0px'; - es.position = 'absolute'; - es.listStyle = 'none'; - es.top = '0px'; - es.left = '0px'; - if (restoreStyle) { - t.hide(); - es.visibility = oldVisibility; - } - return {oldStyle:oldStyle, wrapper:jQuery(wr)}; -}; - -/** - * named colors - */ -jQuery.fx.namedColors = { - aqua:[0,255,255], - azure:[240,255,255], - beige:[245,245,220], - black:[0,0,0], - blue:[0,0,255], - brown:[165,42,42], - cyan:[0,255,255], - darkblue:[0,0,139], - darkcyan:[0,139,139], - darkgrey:[169,169,169], - darkgreen:[0,100,0], - darkkhaki:[189,183,107], - darkmagenta:[139,0,139], - darkolivegreen:[85,107,47], - darkorange:[255,140,0], - darkorchid:[153,50,204], - darkred:[139,0,0], - darksalmon:[233,150,122], - darkviolet:[148,0,211], - fuchsia:[255,0,255], - gold:[255,215,0], - green:[0,128,0], - indigo:[75,0,130], - khaki:[240,230,140], - lightblue:[173,216,230], - lightcyan:[224,255,255], - lightgreen:[144,238,144], - lightgrey:[211,211,211], - lightpink:[255,182,193], - lightyellow:[255,255,224], - lime:[0,255,0], - magenta:[255,0,255], - maroon:[128,0,0], - navy:[0,0,128], - olive:[128,128,0], - orange:[255,165,0], - pink:[255,192,203], - purple:[128,0,128], - red:[255,0,0], - silver:[192,192,192], - white:[255,255,255], - yellow:[255,255,0] -}; - -/** - * parses a color to an object for reg, green and blue - */ -jQuery.fx.parseColor = function(color, notColor) -{ - if (jQuery.fx.namedColors[color]) - return { - r: jQuery.fx.namedColors[color][0], - g: jQuery.fx.namedColors[color][1], - b: jQuery.fx.namedColors[color][2] - }; - else if (result = /^rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)$/.exec(color)) - return { - r: parseInt(result[1]), - g: parseInt(result[2]), - b: parseInt(result[3]) - }; - else if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)$/.exec(color)) - return { - r: parseFloat(result[1])*2.55, - g: parseFloat(result[2])*2.55, - b: parseFloat(result[3])*2.55 - }; - else if (result = /^#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/.exec(color)) - return { - r: parseInt("0x"+ result[1] + result[1]), - g: parseInt("0x" + result[2] + result[2]), - b: parseInt("0x" + result[3] + result[3]) - }; - else if (result = /^#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/.exec(color)) - return { - r: parseInt("0x" + result[1]), - g: parseInt("0x" + result[2]), - b: parseInt("0x" + result[3]) - }; - else - return notColor == true ? false : {r: 255, g: 255, b: 255}; -}; -/** - * CSS rules that can be animated - */ -jQuery.fx.cssProps = { - borderBottomWidth:1, - borderLeftWidth:1, - borderRightWidth:1, - borderTopWidth:1, - bottom:1, - fontSize:1, - height:1, - left:1, - letterSpacing:1, - lineHeight:1, - marginBottom:1, - marginLeft:1, - marginRight:1, - marginTop:1, - maxHeight:1, - maxWidth:1, - minHeight:1, - minWidth:1, - opacity:1, - outlineOffset:1, - outlineWidth:1, - paddingBottom:1, - paddingLeft:1, - paddingRight:1, - paddingTop:1, - right:1, - textIndent:1, - top:1, - width:1, - zIndex:1 -}; -/** - * CSS color rules that can be animated - */ -jQuery.fx.colorCssProps = { - backgroundColor:1, - borderBottomColor:1, - borderLeftColor:1, - borderRightColor:1, - borderTopColor:1, - color:1, - outlineColor:1 -}; - -jQuery.fx.cssSides = ['Top', 'Right', 'Bottom', 'Left']; -jQuery.fx.cssSidesEnd = { - 'borderWidth': ['border', 'Width'], - 'borderColor': ['border', 'Color'], - 'margin': ['margin', ''], - 'padding': ['padding', ''] -}; - -/** - * Overwrite animation to use new FX function - */ -jQuery.fn.extend({ - - animate: function( prop, speed, easing, callback ) { - return this.queue(function(){ - var opt = jQuery.speed(speed, easing, callback); - var e = new jQuery.fxe( this, opt, prop ); - - }); - }, - pause: function(speed, callback) { - return this.queue(function(){ - var opt = jQuery.speed(speed, callback); - var e = new jQuery.pause( this, opt ); - }); - }, - stop : function(step) { - return this.each(function(){ - if (this.animationHandler) - jQuery.stopAnim(this, step); - - }); - }, - stopAll : function(step) { - return this.each(function(){ - if (this.animationHandler) - jQuery.stopAnim(this, step); - if ( this.queue && this.queue['fx'] ) - this.queue.fx = []; - }); - } -}); -/** - * Improved FXC function that aniamtes collection of properties per timer. Accepts inline styles and class names to animate - */ -jQuery.extend({ - pause: function(elem, options) - { - var z = this, values; - z.step = function() - { - if ( jQuery.isFunction( options.complete ) ) - options.complete.apply( elem ); - }; - z.timer=setInterval(function(){z.step();},options.duration); - elem.animationHandler = z; - }, - easing : { - linear: function(p, n, firstNum, delta, duration) { - return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; - } - }, - fxe: function( elem, options, prop ){ - var z = this, values; - - // The styles - var y = elem.style; - var oldOverflow = jQuery.css(elem, "overflow"); - var oldDisplay= jQuery.css(elem, "display"); - var props = {}; - z.startTime = (new Date()).getTime(); - options.easing = options.easing && jQuery.easing[options.easing] ? options.easing : 'linear'; - - z.getValues = function(tp, vp) - { - if (jQuery.fx.cssProps[tp]) { - if (vp == 'show' || vp == 'hide' || vp == 'toggle') { - if ( !elem.orig ) elem.orig = {}; - var r = parseFloat( jQuery.curCSS(elem, tp) ); - elem.orig[tp] = r && r > -10000 ? r : (parseFloat( jQuery.css(elem,tp) )||0); - vp = vp == 'toggle' ? ( oldDisplay == 'none' ? 'show' : 'hide') : vp; - options[vp] = true; - props[tp] = vp == 'show' ? [0, elem.orig[tp]] : [elem.orig[tp], 0]; - if (tp != 'opacity') - y[tp] = props[tp][0] + (tp != 'zIndex' && tp != 'fontWeight' ? 'px':''); - else - jQuery.attr(y, "opacity", props[tp][0]); - } else { - props[tp] = [parseFloat( jQuery.curCSS(elem, tp) ), parseFloat(vp)||0]; - } - } else if (jQuery.fx.colorCssProps[tp]) - props[tp] = [jQuery.fx.parseColor(jQuery.curCSS(elem, tp)), jQuery.fx.parseColor(vp)]; - else if(/^margin$|padding$|border$|borderColor$|borderWidth$/i.test(tp)) { - var m = vp.replace(/\s+/g, ' ').replace(/rgb\s*\(\s*/g,'rgb(').replace(/\s*,\s*/g,',').replace(/\s*\)/g,')').match(/([^\s]+)/g); - switch(tp){ - case 'margin': - case 'padding': - case 'borderWidth': - case 'borderColor': - m[3] = m[3]||m[1]||m[0]; - m[2] = m[2]||m[0]; - m[1] = m[1]||m[0]; - for(var i = 0; i < jQuery.fx.cssSides.length; i++) { - var nmp = jQuery.fx.cssSidesEnd[tp][0] + jQuery.fx.cssSides[i] + jQuery.fx.cssSidesEnd[tp][1]; - props[nmp] = tp == 'borderColor' ? - [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] - : [parseFloat( jQuery.curCSS(elem, nmp) ), parseFloat(m[i])]; - } - break; - case 'border': - for(var i = 0; i< m.length; i++) { - var floatVal = parseFloat(m[i]); - var sideEnd = !isNaN(floatVal) ? 'Width' : (!/transparent|none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset/i.test(m[i]) ? 'Color' : false); - if (sideEnd) { - for(var j = 0; j < jQuery.fx.cssSides.length; j++) { - nmp = 'border' + jQuery.fx.cssSides[j] + sideEnd; - props[nmp] = sideEnd == 'Color' ? - [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] - : [parseFloat( jQuery.curCSS(elem, nmp) ), floatVal]; - } - } else { - y['borderStyle'] = m[i]; - } - } - break; - } - } else { - y[tp] = vp; - } - return false; - }; - - for(p in prop) { - if (p == 'style') { - var newStyles = jQuery.parseStyle(prop[p]); - for (np in newStyles) { - this.getValues(np, newStyles[np]); - } - } else if (p == 'className') { - if (document.styleSheets) - for (var i=0; i options.duration + z.startTime) { - clearInterval(z.timer); - z.timer = null; - for (p in props) { - if ( p == "opacity" ) - jQuery.attr(y, "opacity", props[p][1]); - else if (typeof props[p][1] == 'object') - y[p] = 'rgb(' + props[p][1].r +',' + props[p][1].g +',' + props[p][1].b +')'; - else - y[p] = props[p][1] + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); - } - if ( options.hide || options.show ) - for ( var p in elem.orig ) - if (p == "opacity") - jQuery.attr(y, p, elem.orig[p]); - else - y[p] = ""; - y.display = options.hide ? 'none' : (oldDisplay !='none' ? oldDisplay : 'block'); - y.overflow = oldOverflow; - elem.animationHandler = null; - if ( jQuery.isFunction( options.complete ) ) - options.complete.apply( elem ); - } else { - var n = t - this.startTime; - var pr = n / options.duration; - for (p in props) { - if (typeof props[p][1] == 'object') { - y[p] = 'rgb(' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].r, (props[p][1].r-props[p][0].r), options.duration)) - + ',' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].g, (props[p][1].g-props[p][0].g), options.duration)) - + ',' - + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].b, (props[p][1].b-props[p][0].b), options.duration)) - +')'; - } else { - var pValue = jQuery.easing[options.easing](pr, n, props[p][0], (props[p][1]-props[p][0]), options.duration); - if ( p == "opacity" ) - jQuery.attr(y, "opacity", pValue); - else - y[p] = pValue + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); - } - } - - } - }; - z.timer=setInterval(function(){z.step();},13); - elem.animationHandler = z; - }, - stopAnim: function(elem, step) - { - if (step) - elem.animationHandler.startTime -= 100000000; - else { - window.clearInterval(elem.animationHandler.timer); - elem.animationHandler = null; - jQuery.dequeue(elem, "fx"); - } - } -} -); - -jQuery.parseStyle = function(styles) { - var newStyles = {}; - if (typeof styles == 'string') { - styles = styles.toLowerCase().split(';'); - for(var i=0; i< styles.length; i++){ - rule = styles[i].split(':'); - if (rule.length == 2) { - newStyles[jQuery.trim(rule[0].replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}))] = jQuery.trim(rule[1]); - } - } - } - return newStyles; +/** + * Interface Elements for jQuery + * FX + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Validates elements that can be animated + */ +jQuery.fxCheckTag = function(e) +{ + if (/^tr$|^td$|^tbody$|^caption$|^thead$|^tfoot$|^col$|^colgroup$|^th$|^body$|^header$|^script$|^frame$|^frameset$|^option$|^optgroup$|^meta$/i.test(e.nodeName) ) + return false; + else + return true; +}; + +/** + * Destroy the wrapper used for some animations + */ +jQuery.fx.destroyWrapper = function(e, old) +{ + var c = e.firstChild; + var cs = c.style; + cs.position = old.position; + cs.marginTop = old.margins.t; + cs.marginLeft = old.margins.l; + cs.marginBottom = old.margins.b; + cs.marginRight = old.margins.r; + cs.top = old.top + 'px'; + cs.left = old.left + 'px'; + e.parentNode.insertBefore(c, e); + e.parentNode.removeChild(e); +}; + +/** + * Builds a wrapper used for some animations + */ +jQuery.fx.buildWrapper = function(e) +{ + if (!jQuery.fxCheckTag(e)) + return false; + var t = jQuery(e); + var es = e.style; + var restoreStyle = false; + + if (t.css('display') == 'none') { + oldVisibility = t.css('visibility'); + t.css('visibility', 'hidden').show(); + restoreStyle = true; + } + var oldStyle = {}; + oldStyle.position = t.css('position'); + oldStyle.sizes = jQuery.iUtil.getSize(e); + oldStyle.margins = jQuery.iUtil.getMargins(e); + + var oldFloat = e.currentStyle ? e.currentStyle.styleFloat : t.css('float'); + oldStyle.top = parseInt(t.css('top'))||0; + oldStyle.left = parseInt(t.css('left'))||0; + var wid = 'w_' + parseInt(Math.random() * 10000); + var wr = document.createElement(/^img$|^br$|^input$|^hr$|^select$|^textarea$|^object$|^iframe$|^button$|^form$|^table$|^ul$|^dl$|^ol$/i.test(e.nodeName) ? 'div' : e.nodeName); + jQuery.attr(wr,'id', wid); + var wrapEl = jQuery(wr).addClass('fxWrapper'); + var wrs = wr.style; + var top = 0; + var left = 0; + if (oldStyle.position == 'relative' || oldStyle.position == 'absolute'){ + top = oldStyle.top; + left = oldStyle.left; + } + + wrs.top = top + 'px'; + wrs.left = left + 'px'; + wrs.position = oldStyle.position != 'relative' && oldStyle.position != 'absolute' ? 'relative' : oldStyle.position; + wrs.height = oldStyle.sizes.hb + 'px'; + wrs.width = oldStyle.sizes.wb + 'px'; + wrs.marginTop = oldStyle.margins.t; + wrs.marginRight = oldStyle.margins.r; + wrs.marginBottom = oldStyle.margins.b; + wrs.marginLeft = oldStyle.margins.l; + wrs.overflow = 'hidden'; + if (jQuery.browser.msie) { + wrs.styleFloat = oldFloat; + } else { + wrs.cssFloat = oldFloat; + } + if (jQuery.browser == "msie") { + es.filter = "alpha(opacity=" + 0.999*100 + ")"; + } + es.opacity = 0.999; + //t.wrap(wr); + e.parentNode.insertBefore(wr, e); + wr.appendChild(e); + es.marginTop = '0px'; + es.marginRight = '0px'; + es.marginBottom = '0px'; + es.marginLeft = '0px'; + es.position = 'absolute'; + es.listStyle = 'none'; + es.top = '0px'; + es.left = '0px'; + if (restoreStyle) { + t.hide(); + es.visibility = oldVisibility; + } + return {oldStyle:oldStyle, wrapper:jQuery(wr)}; +}; + +/** + * named colors + */ +jQuery.fx.namedColors = { + aqua:[0,255,255], + azure:[240,255,255], + beige:[245,245,220], + black:[0,0,0], + blue:[0,0,255], + brown:[165,42,42], + cyan:[0,255,255], + darkblue:[0,0,139], + darkcyan:[0,139,139], + darkgrey:[169,169,169], + darkgreen:[0,100,0], + darkkhaki:[189,183,107], + darkmagenta:[139,0,139], + darkolivegreen:[85,107,47], + darkorange:[255,140,0], + darkorchid:[153,50,204], + darkred:[139,0,0], + darksalmon:[233,150,122], + darkviolet:[148,0,211], + fuchsia:[255,0,255], + gold:[255,215,0], + green:[0,128,0], + indigo:[75,0,130], + khaki:[240,230,140], + lightblue:[173,216,230], + lightcyan:[224,255,255], + lightgreen:[144,238,144], + lightgrey:[211,211,211], + lightpink:[255,182,193], + lightyellow:[255,255,224], + lime:[0,255,0], + magenta:[255,0,255], + maroon:[128,0,0], + navy:[0,0,128], + olive:[128,128,0], + orange:[255,165,0], + pink:[255,192,203], + purple:[128,0,128], + red:[255,0,0], + silver:[192,192,192], + white:[255,255,255], + yellow:[255,255,0] +}; + +/** + * parses a color to an object for reg, green and blue + */ +jQuery.fx.parseColor = function(color, notColor) +{ + if (jQuery.fx.namedColors[color]) + return { + r: jQuery.fx.namedColors[color][0], + g: jQuery.fx.namedColors[color][1], + b: jQuery.fx.namedColors[color][2] + }; + else if (result = /^rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)$/.exec(color)) + return { + r: parseInt(result[1]), + g: parseInt(result[2]), + b: parseInt(result[3]) + }; + else if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)$/.exec(color)) + return { + r: parseFloat(result[1])*2.55, + g: parseFloat(result[2])*2.55, + b: parseFloat(result[3])*2.55 + }; + else if (result = /^#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/.exec(color)) + return { + r: parseInt("0x"+ result[1] + result[1]), + g: parseInt("0x" + result[2] + result[2]), + b: parseInt("0x" + result[3] + result[3]) + }; + else if (result = /^#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/.exec(color)) + return { + r: parseInt("0x" + result[1]), + g: parseInt("0x" + result[2]), + b: parseInt("0x" + result[3]) + }; + else + return notColor == true ? false : {r: 255, g: 255, b: 255}; +}; +/** + * CSS rules that can be animated + */ +jQuery.fx.cssProps = { + borderBottomWidth:1, + borderLeftWidth:1, + borderRightWidth:1, + borderTopWidth:1, + bottom:1, + fontSize:1, + height:1, + left:1, + letterSpacing:1, + lineHeight:1, + marginBottom:1, + marginLeft:1, + marginRight:1, + marginTop:1, + maxHeight:1, + maxWidth:1, + minHeight:1, + minWidth:1, + opacity:1, + outlineOffset:1, + outlineWidth:1, + paddingBottom:1, + paddingLeft:1, + paddingRight:1, + paddingTop:1, + right:1, + textIndent:1, + top:1, + width:1, + zIndex:1 +}; +/** + * CSS color rules that can be animated + */ +jQuery.fx.colorCssProps = { + backgroundColor:1, + borderBottomColor:1, + borderLeftColor:1, + borderRightColor:1, + borderTopColor:1, + color:1, + outlineColor:1 +}; + +jQuery.fx.cssSides = ['Top', 'Right', 'Bottom', 'Left']; +jQuery.fx.cssSidesEnd = { + 'borderWidth': ['border', 'Width'], + 'borderColor': ['border', 'Color'], + 'margin': ['margin', ''], + 'padding': ['padding', ''] +}; + +/** + * Overwrite animation to use new FX function + */ +jQuery.fn.extend({ + + animate: function( prop, speed, easing, callback ) { + return this.queue(function(){ + var opt = jQuery.speed(speed, easing, callback); + var e = new jQuery.fxe( this, opt, prop ); + + }); + }, + pause: function(speed, callback) { + return this.queue(function(){ + var opt = jQuery.speed(speed, callback); + var e = new jQuery.pause( this, opt ); + }); + }, + stop : function(step) { + return this.each(function(){ + if (this.animationHandler) + jQuery.stopAnim(this, step); + + }); + }, + stopAll : function(step) { + return this.each(function(){ + if (this.animationHandler) + jQuery.stopAnim(this, step); + if ( this.queue && this.queue['fx'] ) + this.queue.fx = []; + }); + } +}); +/** + * Improved FXC function that aniamtes collection of properties per timer. Accepts inline styles and class names to animate + */ +jQuery.extend({ + pause: function(elem, options) + { + var z = this, values; + z.step = function() + { + if ( jQuery.isFunction( options.complete ) ) + options.complete.apply( elem ); + }; + z.timer=setInterval(function(){z.step();},options.duration); + elem.animationHandler = z; + }, + easing : { + linear: function(p, n, firstNum, delta, duration) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum; + } + }, + fxe: function( elem, options, prop ){ + var z = this, values; + + // The styles + var y = elem.style; + var oldOverflow = jQuery.css(elem, "overflow"); + var oldDisplay= jQuery.css(elem, "display"); + var props = {}; + z.startTime = (new Date()).getTime(); + options.easing = options.easing && jQuery.easing[options.easing] ? options.easing : 'linear'; + + z.getValues = function(tp, vp) + { + if (jQuery.fx.cssProps[tp]) { + if (vp == 'show' || vp == 'hide' || vp == 'toggle') { + if ( !elem.orig ) elem.orig = {}; + var r = parseFloat( jQuery.curCSS(elem, tp) ); + elem.orig[tp] = r && r > -10000 ? r : (parseFloat( jQuery.css(elem,tp) )||0); + vp = vp == 'toggle' ? ( oldDisplay == 'none' ? 'show' : 'hide') : vp; + options[vp] = true; + props[tp] = vp == 'show' ? [0, elem.orig[tp]] : [elem.orig[tp], 0]; + if (tp != 'opacity') + y[tp] = props[tp][0] + (tp != 'zIndex' && tp != 'fontWeight' ? 'px':''); + else + jQuery.attr(y, "opacity", props[tp][0]); + } else { + props[tp] = [parseFloat( jQuery.curCSS(elem, tp) ), parseFloat(vp)||0]; + } + } else if (jQuery.fx.colorCssProps[tp]) + props[tp] = [jQuery.fx.parseColor(jQuery.curCSS(elem, tp)), jQuery.fx.parseColor(vp)]; + else if(/^margin$|padding$|border$|borderColor$|borderWidth$/i.test(tp)) { + var m = vp.replace(/\s+/g, ' ').replace(/rgb\s*\(\s*/g,'rgb(').replace(/\s*,\s*/g,',').replace(/\s*\)/g,')').match(/([^\s]+)/g); + switch(tp){ + case 'margin': + case 'padding': + case 'borderWidth': + case 'borderColor': + m[3] = m[3]||m[1]||m[0]; + m[2] = m[2]||m[0]; + m[1] = m[1]||m[0]; + for(var i = 0; i < jQuery.fx.cssSides.length; i++) { + var nmp = jQuery.fx.cssSidesEnd[tp][0] + jQuery.fx.cssSides[i] + jQuery.fx.cssSidesEnd[tp][1]; + props[nmp] = tp == 'borderColor' ? + [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] + : [parseFloat( jQuery.curCSS(elem, nmp) ), parseFloat(m[i])]; + } + break; + case 'border': + for(var i = 0; i< m.length; i++) { + var floatVal = parseFloat(m[i]); + var sideEnd = !isNaN(floatVal) ? 'Width' : (!/transparent|none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset/i.test(m[i]) ? 'Color' : false); + if (sideEnd) { + for(var j = 0; j < jQuery.fx.cssSides.length; j++) { + nmp = 'border' + jQuery.fx.cssSides[j] + sideEnd; + props[nmp] = sideEnd == 'Color' ? + [jQuery.fx.parseColor(jQuery.curCSS(elem, nmp)), jQuery.fx.parseColor(m[i])] + : [parseFloat( jQuery.curCSS(elem, nmp) ), floatVal]; + } + } else { + y['borderStyle'] = m[i]; + } + } + break; + } + } else { + y[tp] = vp; + } + return false; + }; + + for(p in prop) { + if (p == 'style') { + var newStyles = jQuery.parseStyle(prop[p]); + for (np in newStyles) { + this.getValues(np, newStyles[np]); + } + } else if (p == 'className') { + if (document.styleSheets) + for (var i=0; i options.duration + z.startTime) { + clearInterval(z.timer); + z.timer = null; + for (p in props) { + if ( p == "opacity" ) + jQuery.attr(y, "opacity", props[p][1]); + else if (typeof props[p][1] == 'object') + y[p] = 'rgb(' + props[p][1].r +',' + props[p][1].g +',' + props[p][1].b +')'; + else + y[p] = props[p][1] + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); + } + if ( options.hide || options.show ) + for ( var p in elem.orig ) + if (p == "opacity") + jQuery.attr(y, p, elem.orig[p]); + else + y[p] = ""; + y.display = options.hide ? 'none' : (oldDisplay !='none' ? oldDisplay : 'block'); + y.overflow = oldOverflow; + elem.animationHandler = null; + if ( jQuery.isFunction( options.complete ) ) + options.complete.apply( elem ); + } else { + var n = t - this.startTime; + var pr = n / options.duration; + for (p in props) { + if (typeof props[p][1] == 'object') { + y[p] = 'rgb(' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].r, (props[p][1].r-props[p][0].r), options.duration)) + + ',' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].g, (props[p][1].g-props[p][0].g), options.duration)) + + ',' + + parseInt(jQuery.easing[options.easing](pr, n, props[p][0].b, (props[p][1].b-props[p][0].b), options.duration)) + +')'; + } else { + var pValue = jQuery.easing[options.easing](pr, n, props[p][0], (props[p][1]-props[p][0]), options.duration); + if ( p == "opacity" ) + jQuery.attr(y, "opacity", pValue); + else + y[p] = pValue + (p != 'zIndex' && p != 'fontWeight' ? 'px':''); + } + } + + } + }; + z.timer=setInterval(function(){z.step();},13); + elem.animationHandler = z; + }, + stopAnim: function(elem, step) + { + if (step) + elem.animationHandler.startTime -= 100000000; + else { + window.clearInterval(elem.animationHandler.timer); + elem.animationHandler = null; + jQuery.dequeue(elem, "fx"); + } + } +} +); + +jQuery.parseStyle = function(styles) { + var newStyles = {}; + if (typeof styles == 'string') { + styles = styles.toLowerCase().split(';'); + for(var i=0; i< styles.length; i++){ + rule = styles[i].split(':'); + if (rule.length == 2) { + newStyles[jQuery.trim(rule[0].replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}))] = jQuery.trim(rule[1]); + } + } + } + return newStyles; }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxblind.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxblind.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxblind.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,212 +1,212 @@ -/** - * Interface Elements for jQuery - * FX - blind - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Applies a blinding animation to element - */ -jQuery.fn.extend( - { - /** - * @name BlindUp - * @description blinds the element up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindUp : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'up', easing); - }); - }, - - /** - * @name BlindDown - * @description blinds the element down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindDown : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'down', easing); - }); - }, - - /** - * @name BlindToggleVertically - * @description blinds the element up or down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindToggleVertically : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'togglever', easing); - }); - }, - - /** - * @name BlindLeft - * @description blinds the element left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindLeft : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'left', easing); - }); - }, - - /** - * @name BlindRight - * @description blinds the element right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindRight : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'right', easing); - }); - }, - - /** - * @name BlindToggleHorizontally - * @description blinds the element left and right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - BlindToggleHorizontally : function (speed, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.BlindDirection(this, speed, callback, 'togglehor', easing); - }); - } - } -); - -jQuery.fx.BlindDirection = function (e, speed, callback, direction, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - z.el = jQuery(e); - z.size = jQuery.iUtil.getSize(e); - z.easing = typeof callback == 'string' ? callback : easing||null; - if (!e.ifxFirstDisplay) - e.ifxFirstDisplay = z.el.css('display'); - if ( direction == 'togglever') { - direction = z.el.css('display') == 'none' ? 'down' : 'up'; - } else if (direction == 'togglehor') { - direction = z.el.css('display') == 'none' ? 'right' : 'left'; - } - z.el.show(); - z.speed = speed; - z.callback = typeof callback == 'function' ? callback : null; - z.fx = jQuery.fx.buildWrapper(e); - z.direction = direction; - z.complete = function() - { - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el.get(0)); - } - if(z.direction == 'down' || z.direction == 'right'){ - z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); - } else { - z.el.hide(); - } - jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - }; - switch (z.direction) { - case 'up': - fxh = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'height' - ); - fxh.custom(z.fx.oldStyle.sizes.hb, 0); - break; - case 'down': - z.fx.wrapper.css('height', '1px'); - z.el.show(); - fxh = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'height' - ); - fxh.custom(0, z.fx.oldStyle.sizes.hb); - break; - case 'left': - fxh = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'width' - ); - fxh.custom(z.fx.oldStyle.sizes.wb, 0); - break; - case 'right': - z.fx.wrapper.css('width', '1px'); - z.el.show(); - fxh = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'width' - ); - fxh.custom(0, z.fx.oldStyle.sizes.wb); - break; - } +/** + * Interface Elements for jQuery + * FX - blind + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Applies a blinding animation to element + */ +jQuery.fn.extend( + { + /** + * @name BlindUp + * @description blinds the element up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindUp : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'up', easing); + }); + }, + + /** + * @name BlindDown + * @description blinds the element down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindDown : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'down', easing); + }); + }, + + /** + * @name BlindToggleVertically + * @description blinds the element up or down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindToggleVertically : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'togglever', easing); + }); + }, + + /** + * @name BlindLeft + * @description blinds the element left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindLeft : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'left', easing); + }); + }, + + /** + * @name BlindRight + * @description blinds the element right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindRight : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'right', easing); + }); + }, + + /** + * @name BlindToggleHorizontally + * @description blinds the element left and right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + BlindToggleHorizontally : function (speed, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.BlindDirection(this, speed, callback, 'togglehor', easing); + }); + } + } +); + +jQuery.fx.BlindDirection = function (e, speed, callback, direction, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + z.el = jQuery(e); + z.size = jQuery.iUtil.getSize(e); + z.easing = typeof callback == 'string' ? callback : easing||null; + if (!e.ifxFirstDisplay) + e.ifxFirstDisplay = z.el.css('display'); + if ( direction == 'togglever') { + direction = z.el.css('display') == 'none' ? 'down' : 'up'; + } else if (direction == 'togglehor') { + direction = z.el.css('display') == 'none' ? 'right' : 'left'; + } + z.el.show(); + z.speed = speed; + z.callback = typeof callback == 'function' ? callback : null; + z.fx = jQuery.fx.buildWrapper(e); + z.direction = direction; + z.complete = function() + { + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el.get(0)); + } + if(z.direction == 'down' || z.direction == 'right'){ + z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); + } else { + z.el.hide(); + } + jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + }; + switch (z.direction) { + case 'up': + fxh = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'height' + ); + fxh.custom(z.fx.oldStyle.sizes.hb, 0); + break; + case 'down': + z.fx.wrapper.css('height', '1px'); + z.el.show(); + fxh = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'height' + ); + fxh.custom(0, z.fx.oldStyle.sizes.hb); + break; + case 'left': + fxh = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'width' + ); + fxh.custom(z.fx.oldStyle.sizes.wb, 0); + break; + case 'right': + z.fx.wrapper.css('width', '1px'); + z.el.show(); + fxh = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'width' + ); + fxh.custom(0, z.fx.oldStyle.sizes.wb); + break; + } }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxbounce.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxbounce.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxbounce.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,89 +1,89 @@ -/** - * Interface Elements for jQuery - * FX - bounce - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * @name Bounce - * @description makes the element to bounce - * @param Integer hight the hight in pxels for element to jumps to - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.fn.Bounce = function (hight, callback) { - return this.queue('interfaceFX', function(){ - if (!jQuery.fxCheckTag(this)) { - jQuery.dequeue(this, 'interfaceFX'); - return false; - } - var e = new jQuery.fx.iBounce(this, hight, callback); - e.bounce(); - }); -}; -jQuery.fx.iBounce = function (e, hight, callback) -{ - var z = this; - z.el = jQuery(e); - z.el.show(); - z.callback = callback; - z.hight = parseInt(hight)||40; - z.oldStyle = {}; - z.oldStyle.position = z.el.css('position'); - z.oldStyle.top = parseInt(z.el.css('top'))||0; - z.oldStyle.left = parseInt(z.el.css('left'))||0; - - if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { - z.el.css('position', 'relative'); - } - - z.times = 5; - z.cnt = 1; - - z.bounce = function () - { - z.cnt ++; - z.e = new jQuery.fx( - z.el.get(0), - { - duration: 120, - complete : function () - { - z.e = new jQuery.fx( - z.el.get(0), - { - duration: 80, - complete : function () - { - z.hight = parseInt(z.hight/2); - if (z.cnt <= z.times) - z.bounce(); - else { - z.el.css('position', z.oldStyle.position).css('top', z.oldStyle.top + 'px').css('left', z.oldStyle.left + 'px'); - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el.get(0)); - } - } - } - }, - 'top' - ); - z.e.custom (z.oldStyle.top-z.hight, z.oldStyle.top); - } - }, - 'top' - ); - z.e.custom (z.oldStyle.top, z.oldStyle.top-z.hight); - }; - +/** + * Interface Elements for jQuery + * FX - bounce + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * @name Bounce + * @description makes the element to bounce + * @param Integer hight the hight in pxels for element to jumps to + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.fn.Bounce = function (hight, callback) { + return this.queue('interfaceFX', function(){ + if (!jQuery.fxCheckTag(this)) { + jQuery.dequeue(this, 'interfaceFX'); + return false; + } + var e = new jQuery.fx.iBounce(this, hight, callback); + e.bounce(); + }); +}; +jQuery.fx.iBounce = function (e, hight, callback) +{ + var z = this; + z.el = jQuery(e); + z.el.show(); + z.callback = callback; + z.hight = parseInt(hight)||40; + z.oldStyle = {}; + z.oldStyle.position = z.el.css('position'); + z.oldStyle.top = parseInt(z.el.css('top'))||0; + z.oldStyle.left = parseInt(z.el.css('left'))||0; + + if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { + z.el.css('position', 'relative'); + } + + z.times = 5; + z.cnt = 1; + + z.bounce = function () + { + z.cnt ++; + z.e = new jQuery.fx( + z.el.get(0), + { + duration: 120, + complete : function () + { + z.e = new jQuery.fx( + z.el.get(0), + { + duration: 80, + complete : function () + { + z.hight = parseInt(z.hight/2); + if (z.cnt <= z.times) + z.bounce(); + else { + z.el.css('position', z.oldStyle.position).css('top', z.oldStyle.top + 'px').css('left', z.oldStyle.left + 'px'); + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el.get(0)); + } + } + } + }, + 'top' + ); + z.e.custom (z.oldStyle.top-z.hight, z.oldStyle.top); + } + }, + 'top' + ); + z.e.custom (z.oldStyle.top, z.oldStyle.top-z.hight); + }; + }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxdrop.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxdrop.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxdrop.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,300 +1,300 @@ -/** - * Interface Elements for jQuery - * FX - drop - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Applies a dropping effect to element - */ -jQuery.fn.extend( - { - /** - * @name DropOutDown - * @description drops the element out down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropOutDown : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'out', easing); - }); - }, - - /** - * @name DropInDown - * @description drops the element in down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropInDown : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'in', easing); - }); - }, - - /** - * @name DropToggleDown - * @description drops the element in/out down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropToggleDown : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'toggle', easing); - }); - }, - - /** - * @name DropOutUp - * @description drops the element out up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropOutUp : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'out', easing); - }); - }, - - /** - * @name DropInUp - * @description drops the element in up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropInUp : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'in', easing); - }); - }, - - /** - * @name DropToggleUp - * @description drops the element in/out up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropToggleUp : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'toggle', easing); - }); - }, - - /** - * @name DropOutLeft - * @description drops the element out left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropOutLeft : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'out', easing); - }); - }, - - /** - * @name DropInLeft - * @description drops the element in left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropInLeft : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'in', easing); - }); - }, - - /** - * @name DropToggleLeft - * @description drops the element in/out left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropToggleLeft : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'toggle', easing); - }); - }, - - /** - * @name DropOutRight - * @description drops the element out right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropOutRight : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'out', easing); - }); - }, - - /** - * @name DropInRight - * @description drops the element in right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropInRight : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'in', easing); - }); - }, - - /** - * @name DropToggleRight - * @description drops the element in/out right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DropToggleRight : function (speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'toggle', easing); - }); - } - } -); - -jQuery.fx.DropOutDirectiont = function (e, speed, callback, direction, type, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - z.el = jQuery(e); - z.easing = typeof callback == 'string' ? callback : easing||null; - z.oldStyle = {}; - z.oldStyle.position = z.el.css('position'); - z.oldStyle.top = z.el.css('top'); - z.oldStyle.left = z.el.css('left'); - if (!e.ifxFirstDisplay) - e.ifxFirstDisplay = z.el.css('display'); - if ( type == 'toggle') { - type = z.el.css('display') == 'none' ? 'in' : 'out'; - } - z.el.show(); - - if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { - z.el.css('position', 'relative'); - } - z.type = type; - callback = typeof callback == 'function' ? callback : null; - /*sizes = ['em','px','pt','%']; - for(i in sizes) { - if (z.oldStyle.top.indexOf(sizes[i])>0) { - z.topUnit = sizes[1]; - z.topSize = parseFloat(z.oldStyle.top)||0; - } - if (z.oldStyle.left.indexOf(sizes[i])>0) { - z.leftUnit = sizes[1]; - z.leftSize = parseFloat(z.oldStyle.left)||0; - } - }*/ - - directionIncrement = 1; - switch (direction){ - case 'up': - z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'top'); - z.point = parseFloat(z.oldStyle.top)||0; - z.unit = z.topUnit; - directionIncrement = -1; - break; - case 'down': - z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'top'); - z.point = parseFloat(z.oldStyle.top)||0; - z.unit = z.topUnit; - break; - case 'right': - z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'left'); - z.point = parseFloat(z.oldStyle.left)||0; - z.unit = z.leftUnit; - break; - case 'left': - z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'left'); - z.point = parseFloat(z.oldStyle.left)||0; - z.unit = z.leftUnit; - directionIncrement = -1; - break; - } - z.e2 = new jQuery.fx( - z.el.get(0), - jQuery.speed - ( - speed, z.easing, - function() - { - z.el.css(z.oldStyle); - if (z.type == 'out') { - z.el.css('display', 'none'); - } else - z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); - - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - } - ), - 'opacity' - ); - if (type == 'in') { - z.e.custom(z.point+ 100*directionIncrement, z.point); - z.e2.custom(0,1); - } else { - z.e.custom(z.point, z.point + 100*directionIncrement); - z.e2.custom(1,0); - } +/** + * Interface Elements for jQuery + * FX - drop + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Applies a dropping effect to element + */ +jQuery.fn.extend( + { + /** + * @name DropOutDown + * @description drops the element out down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropOutDown : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'out', easing); + }); + }, + + /** + * @name DropInDown + * @description drops the element in down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropInDown : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'in', easing); + }); + }, + + /** + * @name DropToggleDown + * @description drops the element in/out down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropToggleDown : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'down', 'toggle', easing); + }); + }, + + /** + * @name DropOutUp + * @description drops the element out up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropOutUp : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'out', easing); + }); + }, + + /** + * @name DropInUp + * @description drops the element in up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropInUp : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'in', easing); + }); + }, + + /** + * @name DropToggleUp + * @description drops the element in/out up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropToggleUp : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'up', 'toggle', easing); + }); + }, + + /** + * @name DropOutLeft + * @description drops the element out left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropOutLeft : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'out', easing); + }); + }, + + /** + * @name DropInLeft + * @description drops the element in left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropInLeft : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'in', easing); + }); + }, + + /** + * @name DropToggleLeft + * @description drops the element in/out left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropToggleLeft : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'left', 'toggle', easing); + }); + }, + + /** + * @name DropOutRight + * @description drops the element out right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropOutRight : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'out', easing); + }); + }, + + /** + * @name DropInRight + * @description drops the element in right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropInRight : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'in', easing); + }); + }, + + /** + * @name DropToggleRight + * @description drops the element in/out right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DropToggleRight : function (speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DropOutDirectiont(this, speed, callback, 'right', 'toggle', easing); + }); + } + } +); + +jQuery.fx.DropOutDirectiont = function (e, speed, callback, direction, type, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + z.el = jQuery(e); + z.easing = typeof callback == 'string' ? callback : easing||null; + z.oldStyle = {}; + z.oldStyle.position = z.el.css('position'); + z.oldStyle.top = z.el.css('top'); + z.oldStyle.left = z.el.css('left'); + if (!e.ifxFirstDisplay) + e.ifxFirstDisplay = z.el.css('display'); + if ( type == 'toggle') { + type = z.el.css('display') == 'none' ? 'in' : 'out'; + } + z.el.show(); + + if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { + z.el.css('position', 'relative'); + } + z.type = type; + callback = typeof callback == 'function' ? callback : null; + /*sizes = ['em','px','pt','%']; + for(i in sizes) { + if (z.oldStyle.top.indexOf(sizes[i])>0) { + z.topUnit = sizes[1]; + z.topSize = parseFloat(z.oldStyle.top)||0; + } + if (z.oldStyle.left.indexOf(sizes[i])>0) { + z.leftUnit = sizes[1]; + z.leftSize = parseFloat(z.oldStyle.left)||0; + } + }*/ + + directionIncrement = 1; + switch (direction){ + case 'up': + z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'top'); + z.point = parseFloat(z.oldStyle.top)||0; + z.unit = z.topUnit; + directionIncrement = -1; + break; + case 'down': + z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'top'); + z.point = parseFloat(z.oldStyle.top)||0; + z.unit = z.topUnit; + break; + case 'right': + z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'left'); + z.point = parseFloat(z.oldStyle.left)||0; + z.unit = z.leftUnit; + break; + case 'left': + z.e = new jQuery.fx(z.el.get(0), jQuery.speed(speed - 15, z.easing,callback), 'left'); + z.point = parseFloat(z.oldStyle.left)||0; + z.unit = z.leftUnit; + directionIncrement = -1; + break; + } + z.e2 = new jQuery.fx( + z.el.get(0), + jQuery.speed + ( + speed, z.easing, + function() + { + z.el.css(z.oldStyle); + if (z.type == 'out') { + z.el.css('display', 'none'); + } else + z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); + + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + } + ), + 'opacity' + ); + if (type == 'in') { + z.e.custom(z.point+ 100*directionIncrement, z.point); + z.e2.custom(0,1); + } else { + z.e.custom(z.point, z.point + 100*directionIncrement); + z.e2.custom(1,0); + } }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxfold.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxfold.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxfold.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,157 +1,157 @@ -/** - * Interface Elements for jQuery - * FX - fold - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Applies a folding animation to element - */ -jQuery.fn.extend( - { - /** - * @name Fold - * @description folds the element - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Integer height the height in pixels to fold element to - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - Fold : function (speed, height, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DoFold(this, speed, height, callback, 'fold', easing); - }); - }, - - /** - * @name UnFold - * @description unfolds the element - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Integer height the height in pixels to unfold element to - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - UnFold : function (speed, height, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DoFold(this, speed, height, callback, 'unfold', easing); - }); - }, - - /** - * @name FoldToggle - * @description folds/unfolds the element - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Integer height the height in pixels to folds/unfolds element to - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - FoldToggle : function (speed, height, callback, easing) - { - return this.queue('interfaceFX',function(){ - new jQuery.fx.DoFold(this, speed, height, callback, 'toggle', easing); - }); - } - } -); - -jQuery.fx.DoFold = function (e, speed, height, callback, type, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - z.el = jQuery(e); - z.easing = typeof callback == 'string' ? callback : easing||null; - z.callback = typeof callback == 'function' ? callback : null; - if ( type == 'toggle') { - type = z.el.css('display') == 'none' ? 'unfold' : 'fold'; - } - //z.el.show(); - z.speed = speed; - z.height = height && height.constructor == Number ? height : 20; - z.fx = jQuery.fx.buildWrapper(e); - z.type = type; - z.complete = function() - { - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el.get(0)); - } - if(z.type == 'unfold'){ - z.el.show(); - } else { - z.el.hide(); - } - jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - }; - if ( z.type == 'unfold') { - z.el.show(); - z.fx.wrapper.css('height', z.height + 'px').css('width', '1px'); - - z.ef = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed ( - z.speed, - z.easing, - function() - { - z.ef = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'height' - ); - z.ef.custom(z.height, z.fx.oldStyle.sizes.hb); - } - ), - 'width' - ); - z.ef.custom(0, z.fx.oldStyle.sizes.wb); - } else { - z.ef = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - function() - { - z.ef = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'width' - ); - z.ef.custom(z.fx.oldStyle.sizes.wb, 0); - } - ), - 'height' - ); - z.ef.custom(z.fx.oldStyle.sizes.hb, z.height); - } -}; - +/** + * Interface Elements for jQuery + * FX - fold + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Applies a folding animation to element + */ +jQuery.fn.extend( + { + /** + * @name Fold + * @description folds the element + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Integer height the height in pixels to fold element to + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + Fold : function (speed, height, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DoFold(this, speed, height, callback, 'fold', easing); + }); + }, + + /** + * @name UnFold + * @description unfolds the element + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Integer height the height in pixels to unfold element to + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + UnFold : function (speed, height, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DoFold(this, speed, height, callback, 'unfold', easing); + }); + }, + + /** + * @name FoldToggle + * @description folds/unfolds the element + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Integer height the height in pixels to folds/unfolds element to + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + FoldToggle : function (speed, height, callback, easing) + { + return this.queue('interfaceFX',function(){ + new jQuery.fx.DoFold(this, speed, height, callback, 'toggle', easing); + }); + } + } +); + +jQuery.fx.DoFold = function (e, speed, height, callback, type, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + z.el = jQuery(e); + z.easing = typeof callback == 'string' ? callback : easing||null; + z.callback = typeof callback == 'function' ? callback : null; + if ( type == 'toggle') { + type = z.el.css('display') == 'none' ? 'unfold' : 'fold'; + } + //z.el.show(); + z.speed = speed; + z.height = height && height.constructor == Number ? height : 20; + z.fx = jQuery.fx.buildWrapper(e); + z.type = type; + z.complete = function() + { + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el.get(0)); + } + if(z.type == 'unfold'){ + z.el.show(); + } else { + z.el.hide(); + } + jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + }; + if ( z.type == 'unfold') { + z.el.show(); + z.fx.wrapper.css('height', z.height + 'px').css('width', '1px'); + + z.ef = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed ( + z.speed, + z.easing, + function() + { + z.ef = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'height' + ); + z.ef.custom(z.height, z.fx.oldStyle.sizes.hb); + } + ), + 'width' + ); + z.ef.custom(0, z.fx.oldStyle.sizes.wb); + } else { + z.ef = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + function() + { + z.ef = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'width' + ); + z.ef.custom(z.fx.oldStyle.sizes.wb, 0); + } + ), + 'height' + ); + z.ef.custom(z.fx.oldStyle.sizes.hb, z.height); + } +}; + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxopenclose.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxopenclose.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxopenclose.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,227 +1,227 @@ -/** - * Interface Elements for jQuery - * FX - open/close/switch - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Applies an open/close animation to element - */ -jQuery.fn.extend( - { - /** - * @name CloseVertically - * @description closes the element vertically - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - CloseVertically : function (speed, callback, easing) { - return this.queue('interfaceFX', function(){ - new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'close', easing); - }); - }, - - /** - * @name CloseHorizontally - * @description closes the element horizontally - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - CloseHorizontally : function (speed, callback, easing) { - return this.queue('interfaceFX', function(){ - new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'close', easing); - }); - }, - - /** - * @name SwitchHorizontally - * @description opens/closes the element horizontally - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SwitchHorizontally : function (speed, callback, easing) - { - return this.queue('interfaceFX', function(){ - if (jQuery.css(this, 'display') == 'none') { - new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'open', easing); - } else { - new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'close', easing); - } - }); - }, - - /** - * @name SwitchVertically - * @description opens/closes the element vertically - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SwitchVertically : function (speed, callback, easing) - { - return this.queue('interfaceFX', function(){ - if (jQuery.css(this, 'display') == 'none') { - new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'open', easing); - } else { - new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'close', easing); - } - }); - }, - - /** - * @name OpenVertically - * @description opens the element vertically - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - OpenVertically : function (speed, callback, easing) { - return this.queue('interfaceFX', function(){ - new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'open', easing); - }); - }, - - /** - * @name OpenHorizontally - * @description opens the element horizontally - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - OpenHorizontally : function (speed, callback, easing) { - return this.queue('interfaceFX', function(){ - new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'open', easing); - }); - } - } -); - -jQuery.fx.OpenClose = function (e, speed, callback, direction, type, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - var restoreStyle = false; - z.el = jQuery(e); - z.easing = typeof callback == 'string' ? callback : easing||null; - z.callback = typeof callback == 'function' ? callback : null; - z.type = type; - z.speed = speed; - z.oldP = jQuery.iUtil.getSize(e); - z.oldStyle = {}; - z.oldStyle.position = z.el.css('position'); - z.oldStyle.display = z.el.css('display'); - if (z.oldStyle.display == 'none') { - oldVisibility = z.el.css('visibility'); - z.el.show(); - restoreStyle = true; - } - z.oldStyle.top = z.el.css('top'); - z.oldStyle.left = z.el.css('left'); - if (restoreStyle) { - z.el.hide(); - z.el.css('visibility', oldVisibility); - } - z.oldStyle.width = z.oldP.w + 'px'; - z.oldStyle.height = z.oldP.h + 'px'; - z.oldStyle.overflow = z.el.css('overflow'); - z.oldP.top = parseInt(z.oldStyle.top)||0; - z.oldP.left = parseInt(z.oldStyle.left)||0; - //z.el.show(); - - if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { - z.el.css('position', 'relative'); - } - z.el.css('overflow', 'hidden') - .css('height', type == 'open' && direction == 'vertically' ? 1 : z.oldP.h + 'px') - .css('width', type == 'open' && direction == 'horizontally' ? 1 : z.oldP.w + 'px'); - - z.complete = function() - { - z.el.css(z.oldStyle); - if (z.type == 'close') - z.el.hide(); - else - z.el.show(); - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - }; - - switch (direction) { - case 'vertically': - z.eh = new jQuery.fx( - z.el.get(0), - jQuery.speed(speed-15, z.easing, callback), - 'height' - ); - z.et = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'top' - ); - if (z.type == 'close') { - z.eh.custom(z.oldP.h,0); - z.et.custom(z.oldP.top, z.oldP.top + z.oldP.h/2); - } else { - z.eh.custom(0, z.oldP.h); - z.et.custom(z.oldP.top + z.oldP.h/2, z.oldP.top); - } - break; - case 'horizontally': - z.eh = new jQuery.fx( - z.el.get(0), - jQuery.speed(speed-15, z.easing, callback), - 'width' - ); - z.et = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'left' - ); - if (z.type == 'close') { - z.eh.custom(z.oldP.w,0); - z.et.custom(z.oldP.left, z.oldP.left + z.oldP.w/2); - } else { - z.eh.custom(0, z.oldP.w); - z.et.custom(z.oldP.left + z.oldP.w/2, z.oldP.left); - } - break; - } +/** + * Interface Elements for jQuery + * FX - open/close/switch + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Applies an open/close animation to element + */ +jQuery.fn.extend( + { + /** + * @name CloseVertically + * @description closes the element vertically + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + CloseVertically : function (speed, callback, easing) { + return this.queue('interfaceFX', function(){ + new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'close', easing); + }); + }, + + /** + * @name CloseHorizontally + * @description closes the element horizontally + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + CloseHorizontally : function (speed, callback, easing) { + return this.queue('interfaceFX', function(){ + new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'close', easing); + }); + }, + + /** + * @name SwitchHorizontally + * @description opens/closes the element horizontally + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SwitchHorizontally : function (speed, callback, easing) + { + return this.queue('interfaceFX', function(){ + if (jQuery.css(this, 'display') == 'none') { + new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'open', easing); + } else { + new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'close', easing); + } + }); + }, + + /** + * @name SwitchVertically + * @description opens/closes the element vertically + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SwitchVertically : function (speed, callback, easing) + { + return this.queue('interfaceFX', function(){ + if (jQuery.css(this, 'display') == 'none') { + new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'open', easing); + } else { + new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'close', easing); + } + }); + }, + + /** + * @name OpenVertically + * @description opens the element vertically + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + OpenVertically : function (speed, callback, easing) { + return this.queue('interfaceFX', function(){ + new jQuery.fx.OpenClose(this, speed, callback, 'vertically', 'open', easing); + }); + }, + + /** + * @name OpenHorizontally + * @description opens the element horizontally + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + OpenHorizontally : function (speed, callback, easing) { + return this.queue('interfaceFX', function(){ + new jQuery.fx.OpenClose(this, speed, callback, 'horizontally', 'open', easing); + }); + } + } +); + +jQuery.fx.OpenClose = function (e, speed, callback, direction, type, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + var restoreStyle = false; + z.el = jQuery(e); + z.easing = typeof callback == 'string' ? callback : easing||null; + z.callback = typeof callback == 'function' ? callback : null; + z.type = type; + z.speed = speed; + z.oldP = jQuery.iUtil.getSize(e); + z.oldStyle = {}; + z.oldStyle.position = z.el.css('position'); + z.oldStyle.display = z.el.css('display'); + if (z.oldStyle.display == 'none') { + oldVisibility = z.el.css('visibility'); + z.el.show(); + restoreStyle = true; + } + z.oldStyle.top = z.el.css('top'); + z.oldStyle.left = z.el.css('left'); + if (restoreStyle) { + z.el.hide(); + z.el.css('visibility', oldVisibility); + } + z.oldStyle.width = z.oldP.w + 'px'; + z.oldStyle.height = z.oldP.h + 'px'; + z.oldStyle.overflow = z.el.css('overflow'); + z.oldP.top = parseInt(z.oldStyle.top)||0; + z.oldP.left = parseInt(z.oldStyle.left)||0; + //z.el.show(); + + if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { + z.el.css('position', 'relative'); + } + z.el.css('overflow', 'hidden') + .css('height', type == 'open' && direction == 'vertically' ? 1 : z.oldP.h + 'px') + .css('width', type == 'open' && direction == 'horizontally' ? 1 : z.oldP.w + 'px'); + + z.complete = function() + { + z.el.css(z.oldStyle); + if (z.type == 'close') + z.el.hide(); + else + z.el.show(); + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + }; + + switch (direction) { + case 'vertically': + z.eh = new jQuery.fx( + z.el.get(0), + jQuery.speed(speed-15, z.easing, callback), + 'height' + ); + z.et = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'top' + ); + if (z.type == 'close') { + z.eh.custom(z.oldP.h,0); + z.et.custom(z.oldP.top, z.oldP.top + z.oldP.h/2); + } else { + z.eh.custom(0, z.oldP.h); + z.et.custom(z.oldP.top + z.oldP.h/2, z.oldP.top); + } + break; + case 'horizontally': + z.eh = new jQuery.fx( + z.el.get(0), + jQuery.speed(speed-15, z.easing, callback), + 'width' + ); + z.et = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'left' + ); + if (z.type == 'close') { + z.eh.custom(z.oldP.w,0); + z.et.custom(z.oldP.left, z.oldP.left + z.oldP.w/2); + } else { + z.eh.custom(0, z.oldP.w); + z.et.custom(z.oldP.left + z.oldP.w/2, z.oldP.left); + } + break; + } }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxpulsate.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxpulsate.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxpulsate.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,77 +1,77 @@ -/** - * Interface Elements for jQuery - * FX - pulsate - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * @name Bounce - * @description makes the element to pulsate - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Integer times how many times to pulsate - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.fn.Pulsate = function(speed, times, callback) { - return this.queue('interfaceFX',function(){ - if (!jQuery.fxCheckTag(this)) { - jQuery.dequeue(this, 'interfaceFX'); - return false; - } - var fx = new jQuery.fx.Pulsate(this, speed, times, callback); - fx.pulse(); - }); -}; - -jQuery.fx.Pulsate = function (el, speed, times, callback) -{ - var z = this; - z.times = times; - z.cnt = 1; - z.el = el; - z.speed = speed; - z.callback = callback; - jQuery(z.el).show(); - z.pulse = function() - { - z.cnt ++; - z.e = new jQuery.fx( - z.el, - jQuery.speed( - z.speed, - function(){ - z.ef = new jQuery.fx( - z.el, - jQuery.speed( - z.speed, - function() - { - if (z.cnt <= z.times) - z.pulse(); - else { - jQuery.dequeue(z.el, 'interfaceFX'); - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el); - } - } - } - ), - 'opacity' - ); - z.ef.custom(0,1); - } - ), - 'opacity' - ); - z.e.custom(1,0); - }; -}; +/** + * Interface Elements for jQuery + * FX - pulsate + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * @name Bounce + * @description makes the element to pulsate + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Integer times how many times to pulsate + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.fn.Pulsate = function(speed, times, callback) { + return this.queue('interfaceFX',function(){ + if (!jQuery.fxCheckTag(this)) { + jQuery.dequeue(this, 'interfaceFX'); + return false; + } + var fx = new jQuery.fx.Pulsate(this, speed, times, callback); + fx.pulse(); + }); +}; + +jQuery.fx.Pulsate = function (el, speed, times, callback) +{ + var z = this; + z.times = times; + z.cnt = 1; + z.el = el; + z.speed = speed; + z.callback = callback; + jQuery(z.el).show(); + z.pulse = function() + { + z.cnt ++; + z.e = new jQuery.fx( + z.el, + jQuery.speed( + z.speed, + function(){ + z.ef = new jQuery.fx( + z.el, + jQuery.speed( + z.speed, + function() + { + if (z.cnt <= z.times) + z.pulse(); + else { + jQuery.dequeue(z.el, 'interfaceFX'); + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el); + } + } + } + ), + 'opacity' + ); + z.ef.custom(0,1); + } + ), + 'opacity' + ); + z.e.custom(1,0); + }; +}; diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxscale.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxscale.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxscale.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,290 +1,290 @@ -/** - * Interface Elements for jQuery - * FX - scale/grow/shrink/puff - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ -/** - * Applies a scallign animation to element - */ -jQuery.fn.extend( - { - /** - * @name Grow - * @description scales the element from 0 to intitial size - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - Grow : function(speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.Scale(this, speed, 1, 100, true, callback, 'grow', easing); - }); - }, - - /** - * @name Shrink - * @description scales the element from intitial size to 0 - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - Shrink : function(speed, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.Scale(this, speed, 100, 1, true, callback, 'shrink', easing); - }); - }, - - /** - * @name Puff - * @description makes element to dispear by scalling to 150% and fading it out - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - Puff : function(speed, callback, easing) { - return this.queue('interfaceFX',function(){ - var easing = easing || 'easeout'; - new jQuery.fx.Scale(this, speed, 100, 150, true, callback, 'puff', easing); - }); - }, - - /** - * @name Scale - * @description scales the element - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Integer from initial scalling procentage - * @param Integer to final scalling procentage - * @param Boolean reastore whatever to restore the initital scalling procentage when animation ends - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - Scale : function(speed, from, to, restore, callback, easing) { - return this.queue('interfaceFX',function(){ - new jQuery.fx.Scale(this, speed, from, to, restore, callback, 'Scale', easing); - }); - } - } -); - -jQuery.fx.Scale = function (e, speed, from, to, restore, callback, type, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - z.el = jQuery(e); - z.from = parseInt(from) || 100; - z.to = parseInt(to) || 100; - z.easing = typeof callback == 'string' ? callback : easing||null; - z.callback = typeof callback == 'function' ? callback : null; - z.duration = jQuery.speed(speed).duration; - z.restore = restore|| null; - z.oldP = jQuery.iUtil.getSize(e); - z.oldStyle = { - width: z.el.css('width'), - height: z.el.css('height'), - fontSize: z.el.css('fontSize')||'100%', - position : z.el.css('position'), - display : z.el.css('display'), - top : z.el.css('top'), - left : z.el.css('left'), - overflow : z.el.css('overflow'), - borderTopWidth : z.el.css('borderTopWidth'), - borderRightWidth : z.el.css('borderRightWidth'), - borderBottomWidth : z.el.css('borderBottomWidth'), - borderLeftWidth : z.el.css('borderLeftWidth'), - paddingTop : z.el.css('paddingTop'), - paddingRight : z.el.css('paddingRight'), - paddingBottom : z.el.css('paddingBottom'), - paddingLeft : z.el.css('paddingLeft') - }; - z.width = parseInt(z.oldStyle.width)||e.offsetWidth||0; - z.height = parseInt(z.oldStyle.height)||e.offsetHeight||0; - z.top = parseInt(z.oldStyle.top)||0; - z.left = parseInt(z.oldStyle.left)||0; - sizes = ['em','px','pt','%']; - for(i in sizes) { - if (z.oldStyle.fontSize.indexOf(sizes[i])>0) { - z.fontUnit = sizes[i]; - z.fontSize = parseFloat(z.oldStyle.fontSize); - } - if (z.oldStyle.borderTopWidth.indexOf(sizes[i])>0) { - z.borderTopUnit = sizes[i]; - z.borderTopSize = parseFloat(z.oldStyle.borderTopWidth)||0; - } - if (z.oldStyle.borderRightWidth.indexOf(sizes[i])>0) { - z.borderRightUnit = sizes[i]; - z.borderRightSize = parseFloat(z.oldStyle.borderRightWidth)||0; - } - if (z.oldStyle.borderBottomWidth.indexOf(sizes[i])>0) { - z.borderBottomUnit = sizes[i]; - z.borderBottomSize = parseFloat(z.oldStyle.borderBottomWidth)||0; - } - if (z.oldStyle.borderLeftWidth.indexOf(sizes[i])>0) { - z.borderLeftUnit = sizes[i]; - z.borderLeftSize = parseFloat(z.oldStyle.borderLeftWidth)||0; - } - if (z.oldStyle.paddingTop.indexOf(sizes[i])>0) { - z.paddingTopUnit = sizes[i]; - z.paddingTopSize = parseFloat(z.oldStyle.paddingTop)||0; - } - if (z.oldStyle.paddingRight.indexOf(sizes[i])>0) { - z.paddingRightUnit = sizes[i]; - z.paddingRightSize = parseFloat(z.oldStyle.paddingRight)||0; - } - if (z.oldStyle.paddingBottom.indexOf(sizes[i])>0) { - z.paddingBottomUnit = sizes[i]; - z.paddingBottomSize = parseFloat(z.oldStyle.paddingBottom)||0; - } - if (z.oldStyle.paddingLeft.indexOf(sizes[i])>0) { - z.paddingLeftUnit = sizes[i]; - z.paddingLeftSize = parseFloat(z.oldStyle.paddingLeft)||0; - } - } - - - if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { - z.el.css('position', 'relative'); - } - z.el.css('overflow', 'hidden'); - z.type = type; - switch(z.type) - { - case 'grow': - z.startTop = z.top + z.oldP.h/2; - z.endTop = z.top; - z.startLeft = z.left + z.oldP.w/2; - z.endLeft = z.left; - break; - case 'shrink': - z.endTop = z.top + z.oldP.h/2; - z.startTop = z.top; - z.endLeft = z.left + z.oldP.w/2; - z.startLeft = z.left; - break; - case 'puff': - z.endTop = z.top - z.oldP.h/4; - z.startTop = z.top; - z.endLeft = z.left - z.oldP.w/4; - z.startLeft = z.left; - break; - } - z.firstStep = false; - z.t=(new Date).getTime(); - z.clear = function(){clearInterval(z.timer);z.timer=null;}; - z.step = function(){ - if (z.firstStep == false) { - z.el.show(); - z.firstStep = true; - } - var t = (new Date).getTime(); - var n = t - z.t; - var p = n / z.duration; - if (t >= z.duration+z.t) { - setTimeout( - function(){ - o = 1; - if (z.type) { - t = z.endTop; - l = z.endLeft; - if (z.type == 'puff') - o = 0; - } - z.zoom(z.to, l, t, true, o); - }, - 13 - ); - z.clear(); - } else { - o = 1; - if (!jQuery.easing || !jQuery.easing[z.easing]) { - s = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.to-z.from) + z.from; - } else { - s = jQuery.easing[z.easing](p, n, z.from, (z.to-z.from), z.duration); - } - if (z.type) { - if (!jQuery.easing || !jQuery.easing[z.easing]) { - t = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.endTop-z.startTop) + z.startTop; - l = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.endLeft-z.startLeft) + z.startLeft; - if (z.type == 'puff') - o = ((-Math.cos(p*Math.PI)/2) + 0.5) * (-0.9999) + 0.9999; - } else { - t = jQuery.easing[z.easing](p, n, z.startTop, (z.endTop-z.startTop), z.duration); - l = jQuery.easing[z.easing](p, n, z.startLeft, (z.endLeft-z.startLeft), z.duration); - if (z.type == 'puff') - o = jQuery.easing[z.easing](p, n, 0.9999, -0.9999, z.duration); - } - } - z.zoom(s, l, t, false, o); - } - }; - z.timer=setInterval(function(){z.step();},13); - z.zoom = function(percent, left, top, finish, opacity) - { - z.el - .css('height', z.height * percent/100 + 'px') - .css('width', z.width * percent/100 + 'px') - .css('left', left + 'px') - .css('top', top + 'px') - .css('fontSize', z.fontSize * percent /100 + z.fontUnit); - if (z.borderTopSize) - z.el.css('borderTopWidth', z.borderTopSize * percent /100 + z.borderTopUnit); - if (z.borderRightSize) - z.el.css('borderRightWidth', z.borderRightSize * percent /100 + z.borderRightUnit); - if (z.borderBottomSize) - z.el.css('borderBottomWidth', z.borderBottomSize * percent /100 + z.borderBottomUnit); - if (z.borderLeftSize) - z.el.css('borderLeftWidth', z.borderLeftSize * percent /100 + z.borderLeftUnit); - if (z.paddingTopSize) - z.el.css('paddingTop', z.paddingTopSize * percent /100 + z.paddingTopUnit); - if (z.paddingRightSize) - z.el.css('paddingRight', z.paddingRightSize * percent /100 + z.paddingRightUnit); - if (z.paddingBottomSize) - z.el.css('paddingBottom', z.paddingBottomSize * percent /100 + z.paddingBottomUnit); - if (z.paddingLeftSize) - z.el.css('paddingLeft', z.paddingLeftSize * percent /100 + z.paddingLeftUnit); - if (z.type == 'puff') { - if (window.ActiveXObject) - z.el.get(0).style.filter = "alpha(opacity=" + opacity*100 + ")"; - z.el.get(0).style.opacity = opacity; - } - if (finish){ - if (z.restore){ - z.el.css(z.oldStyle); - } - if (z.type == 'shrink' || z.type == 'puff'){ - z.el.css('display', 'none'); - if (z.type == 'puff') { - if (window.ActiveXObject) - z.el.get(0).style.filter = "alpha(opacity=" + 100 + ")"; - z.el.get(0).style.opacity = 1; - } - }else - z.el.css('display', 'block'); - if (z.callback) - z.callback.apply(z.el.get(0)); - - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - } - }; +/** + * Interface Elements for jQuery + * FX - scale/grow/shrink/puff + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ +/** + * Applies a scallign animation to element + */ +jQuery.fn.extend( + { + /** + * @name Grow + * @description scales the element from 0 to intitial size + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + Grow : function(speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.Scale(this, speed, 1, 100, true, callback, 'grow', easing); + }); + }, + + /** + * @name Shrink + * @description scales the element from intitial size to 0 + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + Shrink : function(speed, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.Scale(this, speed, 100, 1, true, callback, 'shrink', easing); + }); + }, + + /** + * @name Puff + * @description makes element to dispear by scalling to 150% and fading it out + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + Puff : function(speed, callback, easing) { + return this.queue('interfaceFX',function(){ + var easing = easing || 'easeout'; + new jQuery.fx.Scale(this, speed, 100, 150, true, callback, 'puff', easing); + }); + }, + + /** + * @name Scale + * @description scales the element + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Integer from initial scalling procentage + * @param Integer to final scalling procentage + * @param Boolean reastore whatever to restore the initital scalling procentage when animation ends + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + Scale : function(speed, from, to, restore, callback, easing) { + return this.queue('interfaceFX',function(){ + new jQuery.fx.Scale(this, speed, from, to, restore, callback, 'Scale', easing); + }); + } + } +); + +jQuery.fx.Scale = function (e, speed, from, to, restore, callback, type, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + z.el = jQuery(e); + z.from = parseInt(from) || 100; + z.to = parseInt(to) || 100; + z.easing = typeof callback == 'string' ? callback : easing||null; + z.callback = typeof callback == 'function' ? callback : null; + z.duration = jQuery.speed(speed).duration; + z.restore = restore|| null; + z.oldP = jQuery.iUtil.getSize(e); + z.oldStyle = { + width: z.el.css('width'), + height: z.el.css('height'), + fontSize: z.el.css('fontSize')||'100%', + position : z.el.css('position'), + display : z.el.css('display'), + top : z.el.css('top'), + left : z.el.css('left'), + overflow : z.el.css('overflow'), + borderTopWidth : z.el.css('borderTopWidth'), + borderRightWidth : z.el.css('borderRightWidth'), + borderBottomWidth : z.el.css('borderBottomWidth'), + borderLeftWidth : z.el.css('borderLeftWidth'), + paddingTop : z.el.css('paddingTop'), + paddingRight : z.el.css('paddingRight'), + paddingBottom : z.el.css('paddingBottom'), + paddingLeft : z.el.css('paddingLeft') + }; + z.width = parseInt(z.oldStyle.width)||e.offsetWidth||0; + z.height = parseInt(z.oldStyle.height)||e.offsetHeight||0; + z.top = parseInt(z.oldStyle.top)||0; + z.left = parseInt(z.oldStyle.left)||0; + sizes = ['em','px','pt','%']; + for(i in sizes) { + if (z.oldStyle.fontSize.indexOf(sizes[i])>0) { + z.fontUnit = sizes[i]; + z.fontSize = parseFloat(z.oldStyle.fontSize); + } + if (z.oldStyle.borderTopWidth.indexOf(sizes[i])>0) { + z.borderTopUnit = sizes[i]; + z.borderTopSize = parseFloat(z.oldStyle.borderTopWidth)||0; + } + if (z.oldStyle.borderRightWidth.indexOf(sizes[i])>0) { + z.borderRightUnit = sizes[i]; + z.borderRightSize = parseFloat(z.oldStyle.borderRightWidth)||0; + } + if (z.oldStyle.borderBottomWidth.indexOf(sizes[i])>0) { + z.borderBottomUnit = sizes[i]; + z.borderBottomSize = parseFloat(z.oldStyle.borderBottomWidth)||0; + } + if (z.oldStyle.borderLeftWidth.indexOf(sizes[i])>0) { + z.borderLeftUnit = sizes[i]; + z.borderLeftSize = parseFloat(z.oldStyle.borderLeftWidth)||0; + } + if (z.oldStyle.paddingTop.indexOf(sizes[i])>0) { + z.paddingTopUnit = sizes[i]; + z.paddingTopSize = parseFloat(z.oldStyle.paddingTop)||0; + } + if (z.oldStyle.paddingRight.indexOf(sizes[i])>0) { + z.paddingRightUnit = sizes[i]; + z.paddingRightSize = parseFloat(z.oldStyle.paddingRight)||0; + } + if (z.oldStyle.paddingBottom.indexOf(sizes[i])>0) { + z.paddingBottomUnit = sizes[i]; + z.paddingBottomSize = parseFloat(z.oldStyle.paddingBottom)||0; + } + if (z.oldStyle.paddingLeft.indexOf(sizes[i])>0) { + z.paddingLeftUnit = sizes[i]; + z.paddingLeftSize = parseFloat(z.oldStyle.paddingLeft)||0; + } + } + + + if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { + z.el.css('position', 'relative'); + } + z.el.css('overflow', 'hidden'); + z.type = type; + switch(z.type) + { + case 'grow': + z.startTop = z.top + z.oldP.h/2; + z.endTop = z.top; + z.startLeft = z.left + z.oldP.w/2; + z.endLeft = z.left; + break; + case 'shrink': + z.endTop = z.top + z.oldP.h/2; + z.startTop = z.top; + z.endLeft = z.left + z.oldP.w/2; + z.startLeft = z.left; + break; + case 'puff': + z.endTop = z.top - z.oldP.h/4; + z.startTop = z.top; + z.endLeft = z.left - z.oldP.w/4; + z.startLeft = z.left; + break; + } + z.firstStep = false; + z.t=(new Date).getTime(); + z.clear = function(){clearInterval(z.timer);z.timer=null;}; + z.step = function(){ + if (z.firstStep == false) { + z.el.show(); + z.firstStep = true; + } + var t = (new Date).getTime(); + var n = t - z.t; + var p = n / z.duration; + if (t >= z.duration+z.t) { + setTimeout( + function(){ + o = 1; + if (z.type) { + t = z.endTop; + l = z.endLeft; + if (z.type == 'puff') + o = 0; + } + z.zoom(z.to, l, t, true, o); + }, + 13 + ); + z.clear(); + } else { + o = 1; + if (!jQuery.easing || !jQuery.easing[z.easing]) { + s = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.to-z.from) + z.from; + } else { + s = jQuery.easing[z.easing](p, n, z.from, (z.to-z.from), z.duration); + } + if (z.type) { + if (!jQuery.easing || !jQuery.easing[z.easing]) { + t = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.endTop-z.startTop) + z.startTop; + l = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.endLeft-z.startLeft) + z.startLeft; + if (z.type == 'puff') + o = ((-Math.cos(p*Math.PI)/2) + 0.5) * (-0.9999) + 0.9999; + } else { + t = jQuery.easing[z.easing](p, n, z.startTop, (z.endTop-z.startTop), z.duration); + l = jQuery.easing[z.easing](p, n, z.startLeft, (z.endLeft-z.startLeft), z.duration); + if (z.type == 'puff') + o = jQuery.easing[z.easing](p, n, 0.9999, -0.9999, z.duration); + } + } + z.zoom(s, l, t, false, o); + } + }; + z.timer=setInterval(function(){z.step();},13); + z.zoom = function(percent, left, top, finish, opacity) + { + z.el + .css('height', z.height * percent/100 + 'px') + .css('width', z.width * percent/100 + 'px') + .css('left', left + 'px') + .css('top', top + 'px') + .css('fontSize', z.fontSize * percent /100 + z.fontUnit); + if (z.borderTopSize) + z.el.css('borderTopWidth', z.borderTopSize * percent /100 + z.borderTopUnit); + if (z.borderRightSize) + z.el.css('borderRightWidth', z.borderRightSize * percent /100 + z.borderRightUnit); + if (z.borderBottomSize) + z.el.css('borderBottomWidth', z.borderBottomSize * percent /100 + z.borderBottomUnit); + if (z.borderLeftSize) + z.el.css('borderLeftWidth', z.borderLeftSize * percent /100 + z.borderLeftUnit); + if (z.paddingTopSize) + z.el.css('paddingTop', z.paddingTopSize * percent /100 + z.paddingTopUnit); + if (z.paddingRightSize) + z.el.css('paddingRight', z.paddingRightSize * percent /100 + z.paddingRightUnit); + if (z.paddingBottomSize) + z.el.css('paddingBottom', z.paddingBottomSize * percent /100 + z.paddingBottomUnit); + if (z.paddingLeftSize) + z.el.css('paddingLeft', z.paddingLeftSize * percent /100 + z.paddingLeftUnit); + if (z.type == 'puff') { + if (window.ActiveXObject) + z.el.get(0).style.filter = "alpha(opacity=" + opacity*100 + ")"; + z.el.get(0).style.opacity = opacity; + } + if (finish){ + if (z.restore){ + z.el.css(z.oldStyle); + } + if (z.type == 'shrink' || z.type == 'puff'){ + z.el.css('display', 'none'); + if (z.type == 'puff') { + if (window.ActiveXObject) + z.el.get(0).style.filter = "alpha(opacity=" + 100 + ")"; + z.el.get(0).style.opacity = 1; + } + }else + z.el.css('display', 'block'); + if (z.callback) + z.callback.apply(z.el.get(0)); + + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + } + }; }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxshake.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxshake.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxshake.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,97 +1,97 @@ -/** - * Interface Elements for jQuery - * FX - shake - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * @name Shake - * @description makes the element to shake - * @param Integer times how many tomes to shake the element - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.fn.Shake = function (times, callback) { - return this.queue('interfaceFX',function(){ - if (!jQuery.fxCheckTag(this)) { - jQuery.dequeue(this, 'interfaceFX'); - return false; - } - var e = new jQuery.fx.Shake(this, times, callback); - e.shake(); - }); -}; -jQuery.fx.Shake = function (e, times, callback) -{ - var z = this; - z.el = jQuery(e); - z.el.show(); - z.times = parseInt(times)||3; - z.callback = callback; - z.cnt = 1; - z.oldStyle = {}; - z.oldStyle.position = z.el.css('position'); - z.oldStyle.top = parseInt(z.el.css('top'))||0; - z.oldStyle.left = parseInt(z.el.css('left'))||0; - - if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { - z.el.css('position', 'relative'); - } - - z.shake = function () - { - z.cnt ++; - - z.e = new jQuery.fx( - z.el.get(0), - { - duration: 60, - complete : function () - { - z.e = new jQuery.fx( - z.el.get(0), - { - duration: 60, - complete : function () - { - z.e = new jQuery.fx( - e, - { - duration: 60, - complete: function(){ - if (z.cnt <= z.times) - z.shake(); - else { - z.el.css('position', z.oldStyle.position).css('top', z.oldStyle.top + 'px').css('left', z.oldStyle.left + 'px'); - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el.get(0)); - } - } - } - }, - 'left' - ); - z.e.custom (z.oldStyle.left-20, z.oldStyle.left); - } - }, - 'left' - ); - z.e.custom (z.oldStyle.left+20, z.oldStyle.left-20); - } - }, - 'left' - ); - z.e.custom (z.oldStyle.left, z.oldStyle.left+20); - }; - +/** + * Interface Elements for jQuery + * FX - shake + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * @name Shake + * @description makes the element to shake + * @param Integer times how many tomes to shake the element + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.fn.Shake = function (times, callback) { + return this.queue('interfaceFX',function(){ + if (!jQuery.fxCheckTag(this)) { + jQuery.dequeue(this, 'interfaceFX'); + return false; + } + var e = new jQuery.fx.Shake(this, times, callback); + e.shake(); + }); +}; +jQuery.fx.Shake = function (e, times, callback) +{ + var z = this; + z.el = jQuery(e); + z.el.show(); + z.times = parseInt(times)||3; + z.callback = callback; + z.cnt = 1; + z.oldStyle = {}; + z.oldStyle.position = z.el.css('position'); + z.oldStyle.top = parseInt(z.el.css('top'))||0; + z.oldStyle.left = parseInt(z.el.css('left'))||0; + + if (z.oldStyle.position != 'relative' && z.oldStyle.position != 'absolute') { + z.el.css('position', 'relative'); + } + + z.shake = function () + { + z.cnt ++; + + z.e = new jQuery.fx( + z.el.get(0), + { + duration: 60, + complete : function () + { + z.e = new jQuery.fx( + z.el.get(0), + { + duration: 60, + complete : function () + { + z.e = new jQuery.fx( + e, + { + duration: 60, + complete: function(){ + if (z.cnt <= z.times) + z.shake(); + else { + z.el.css('position', z.oldStyle.position).css('top', z.oldStyle.top + 'px').css('left', z.oldStyle.left + 'px'); + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el.get(0)); + } + } + } + }, + 'left' + ); + z.e.custom (z.oldStyle.left-20, z.oldStyle.left); + } + }, + 'left' + ); + z.e.custom (z.oldStyle.left+20, z.oldStyle.left-20); + } + }, + 'left' + ); + z.e.custom (z.oldStyle.left, z.oldStyle.left+20); + }; + }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxslide.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxslide.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxslide.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,349 +1,349 @@ -/** - * Interface Elements for jQuery - * FX - slide - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Slides the element - */ -jQuery.fn.extend( - { - /** - * @name SlideInUp - * @description slides the element in up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideInUp : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'up', 'in', easing); - }); - }, - - /** - * @name SlideOutUp - * @description slides the element out up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideOutUp : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'up', 'out', easing); - }); - }, - - /** - * @name SlideToggleUp - * @description slides the element in/out up - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideToggleUp : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'up', 'toggle', easing); - }); - }, - - /** - * @name SlideInDown - * @description slides the element in down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideInDown : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'down', 'in', easing); - }); - }, - - /** - * @name SlideOutDown - * @description slides the element out down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideOutDown : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'down', 'out', easing); - }); - }, - - /** - * @name SlideToggleDown - * @description slides the element in/out down - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideToggleDown : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'down', 'toggle', easing); - }); - }, - - /** - * @name SlideInLeft - * @description slides the element in left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideInLeft : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'left', 'in', easing); - }); - }, - - /** - * @name SlideOutLeft - * @description slides the element out left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideOutLeft : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'left', 'out', easing); - }); - }, - - /** - * @name SlideToggleLeft - * @description slides the element in/out left - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideToggleLeft : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'left', 'toggle', easing); - }); - }, - - /** - * @name SlideInRight - * @description slides the element in right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideInRight : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'right', 'in', easing); - }); - }, - - /** - * @name SlideOutRight - * @description slides the element out right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideOutRight : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'right', 'out', easing); - }); - }, - - /** - * @name SlideToggleRight - * @description slides the element in/out right - * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @param Function callback (optional) A function to be executed whenever the animation completes. - * @param String easing (optional) The name of the easing effect that you want to use. - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - SlideToggleRight : function (speed,callback, easing) - { - return this.queue('interfaceFX', function(){ - new jQuery.fx.slide(this, speed, callback, 'right', 'toggle', easing); - }); - } - } -); - -jQuery.fx.slide = function(e, speed, callback, direction, type, easing) -{ - if (!jQuery.fxCheckTag(e)) { - jQuery.dequeue(e, 'interfaceFX'); - return false; - } - var z = this; - z.el = jQuery(e); - z.easing = typeof callback == 'string' ? callback : easing||null; - z.callback = typeof callback == 'function' ? callback : null; - if ( type == 'toggle') { - type = z.el.css('display') == 'none' ? 'in' : 'out'; - } - if (!e.ifxFirstDisplay) - e.ifxFirstDisplay = z.el.css('display'); - z.el.show(); - - z.speed = speed; - z.fx = jQuery.fx.buildWrapper(e); - - z.type = type; - z.direction = direction; - z.complete = function() - { - if(z.type == 'out') - z.el.css('visibility', 'hidden'); - jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); - if(z.type == 'in'){ - z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); - } else { - z.el.css('display', 'none'); - z.el.css('visibility', 'visible'); - } - if (z.callback && z.callback.constructor == Function) { - z.callback.apply(z.el.get(0)); - } - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - }; - switch (z.direction) { - case 'up': - z.ef = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'top' - ); - z.efx = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing - ), - 'height' - ); - if (z.type == 'in') { - z.ef.custom (-z.fx.oldStyle.sizes.hb, 0); - z.efx.custom(0, z.fx.oldStyle.sizes.hb); - } else { - z.ef.custom (0, -z.fx.oldStyle.sizes.hb); - z.efx.custom (z.fx.oldStyle.sizes.hb, 0); - } - break; - case 'down': - z.ef = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'top' - ); - if (z.type == 'in') { - z.ef.custom (z.fx.oldStyle.sizes.hb, 0); - } else { - z.ef.custom (0, z.fx.oldStyle.sizes.hb); - } - break; - case 'left': - z.ef = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'left' - ); - z.efx = new jQuery.fx( - z.fx.wrapper.get(0), - jQuery.speed( - z.speed, - z.easing - ), - 'width' - ); - if (z.type == 'in') { - z.ef.custom (-z.fx.oldStyle.sizes.wb, 0); - z.efx.custom (0, z.fx.oldStyle.sizes.wb); - } else { - z.ef.custom (0, -z.fx.oldStyle.sizes.wb); - z.efx.custom (z.fx.oldStyle.sizes.wb, 0); - } - break; - case 'right': - z.ef = new jQuery.fx( - z.el.get(0), - jQuery.speed( - z.speed, - z.easing, - z.complete - ), - 'left' - ); - if (z.type == 'in') { - z.ef.custom (z.fx.oldStyle.sizes.wb, 0); - } else { - z.ef.custom (0, z.fx.oldStyle.sizes.wb); - } - break; - } -}; +/** + * Interface Elements for jQuery + * FX - slide + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Slides the element + */ +jQuery.fn.extend( + { + /** + * @name SlideInUp + * @description slides the element in up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideInUp : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'up', 'in', easing); + }); + }, + + /** + * @name SlideOutUp + * @description slides the element out up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideOutUp : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'up', 'out', easing); + }); + }, + + /** + * @name SlideToggleUp + * @description slides the element in/out up + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideToggleUp : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'up', 'toggle', easing); + }); + }, + + /** + * @name SlideInDown + * @description slides the element in down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideInDown : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'down', 'in', easing); + }); + }, + + /** + * @name SlideOutDown + * @description slides the element out down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideOutDown : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'down', 'out', easing); + }); + }, + + /** + * @name SlideToggleDown + * @description slides the element in/out down + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideToggleDown : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'down', 'toggle', easing); + }); + }, + + /** + * @name SlideInLeft + * @description slides the element in left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideInLeft : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'left', 'in', easing); + }); + }, + + /** + * @name SlideOutLeft + * @description slides the element out left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideOutLeft : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'left', 'out', easing); + }); + }, + + /** + * @name SlideToggleLeft + * @description slides the element in/out left + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideToggleLeft : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'left', 'toggle', easing); + }); + }, + + /** + * @name SlideInRight + * @description slides the element in right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideInRight : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'right', 'in', easing); + }); + }, + + /** + * @name SlideOutRight + * @description slides the element out right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideOutRight : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'right', 'out', easing); + }); + }, + + /** + * @name SlideToggleRight + * @description slides the element in/out right + * @param Mixed speed animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @param Function callback (optional) A function to be executed whenever the animation completes. + * @param String easing (optional) The name of the easing effect that you want to use. + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + SlideToggleRight : function (speed,callback, easing) + { + return this.queue('interfaceFX', function(){ + new jQuery.fx.slide(this, speed, callback, 'right', 'toggle', easing); + }); + } + } +); + +jQuery.fx.slide = function(e, speed, callback, direction, type, easing) +{ + if (!jQuery.fxCheckTag(e)) { + jQuery.dequeue(e, 'interfaceFX'); + return false; + } + var z = this; + z.el = jQuery(e); + z.easing = typeof callback == 'string' ? callback : easing||null; + z.callback = typeof callback == 'function' ? callback : null; + if ( type == 'toggle') { + type = z.el.css('display') == 'none' ? 'in' : 'out'; + } + if (!e.ifxFirstDisplay) + e.ifxFirstDisplay = z.el.css('display'); + z.el.show(); + + z.speed = speed; + z.fx = jQuery.fx.buildWrapper(e); + + z.type = type; + z.direction = direction; + z.complete = function() + { + if(z.type == 'out') + z.el.css('visibility', 'hidden'); + jQuery.fx.destroyWrapper(z.fx.wrapper.get(0), z.fx.oldStyle); + if(z.type == 'in'){ + z.el.css('display', z.el.get(0).ifxFirstDisplay == 'none' ? 'block' : z.el.get(0).ifxFirstDisplay); + } else { + z.el.css('display', 'none'); + z.el.css('visibility', 'visible'); + } + if (z.callback && z.callback.constructor == Function) { + z.callback.apply(z.el.get(0)); + } + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + }; + switch (z.direction) { + case 'up': + z.ef = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'top' + ); + z.efx = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing + ), + 'height' + ); + if (z.type == 'in') { + z.ef.custom (-z.fx.oldStyle.sizes.hb, 0); + z.efx.custom(0, z.fx.oldStyle.sizes.hb); + } else { + z.ef.custom (0, -z.fx.oldStyle.sizes.hb); + z.efx.custom (z.fx.oldStyle.sizes.hb, 0); + } + break; + case 'down': + z.ef = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'top' + ); + if (z.type == 'in') { + z.ef.custom (z.fx.oldStyle.sizes.hb, 0); + } else { + z.ef.custom (0, z.fx.oldStyle.sizes.hb); + } + break; + case 'left': + z.ef = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'left' + ); + z.efx = new jQuery.fx( + z.fx.wrapper.get(0), + jQuery.speed( + z.speed, + z.easing + ), + 'width' + ); + if (z.type == 'in') { + z.ef.custom (-z.fx.oldStyle.sizes.wb, 0); + z.efx.custom (0, z.fx.oldStyle.sizes.wb); + } else { + z.ef.custom (0, -z.fx.oldStyle.sizes.wb); + z.efx.custom (z.fx.oldStyle.sizes.wb, 0); + } + break; + case 'right': + z.ef = new jQuery.fx( + z.el.get(0), + jQuery.speed( + z.speed, + z.easing, + z.complete + ), + 'left' + ); + if (z.type == 'in') { + z.ef.custom (z.fx.oldStyle.sizes.wb, 0); + } else { + z.ef.custom (0, z.fx.oldStyle.sizes.wb); + } + break; + } +}; diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ifxtransfer.js --- a/web/res/metadataplayer/test/interface 1.2/source/ifxtransfer.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ifxtransfer.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,123 +1,123 @@ -/** - * Interface Elements for jQuery - * FX - transfer - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -jQuery.transferHelper = null; -/** - * - * @name TransferTo - * @description Animates an new build element to simulate a transfer action from one element to other - * @param Hash hash A hash of parameters - * @option Mixed to DOMElement or element ID to transfer to - * @option String className CSS class to apply to transfer element - * @option String duration animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] - * @option Function callback (optional) A function to be executed whenever the animation completes. - * - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.fn.TransferTo = function(o) -{ - return this.queue('interfaceFX', function(){ - new jQuery.fx.itransferTo(this, o); - }); -}; -jQuery.fx.itransferTo = function(e, o) -{ - - if(jQuery.transferHelper == null) - { - jQuery('body', document).append('
    '); - jQuery.transferHelper = jQuery('#transferHelper'); - } - jQuery.transferHelper.css('display', 'block').css('position', 'absolute'); - - var z = this; - z.el = jQuery(e); - if(!o || !o.to) { - return; - } - - if (o.to.constructor == String && document.getElementById(o.to)) { - o.to = document.getElementById(o.to); - } else if ( !o.to.childNodes ) { - return; - } - - if (!o.duration) { - o.duration = 500; - } - z.duration = o.duration; - z.to = o.to; - z.classname = o.className; - z.complete = o.complete; - if (z.classname) { - jQuery.transferHelper.addClass(z.classname); - } - z.diffWidth = 0; - z.diffHeight = 0; - - if(jQuery.boxModel) { - z.diffWidth = (parseInt(jQuery.transferHelper.css('borderLeftWidth')) || 0 ) - + (parseInt(jQuery.transferHelper.css('borderRightWidth')) || 0) - + (parseInt(jQuery.transferHelper.css('paddingLeft')) || 0) - + (parseInt(jQuery.transferHelper.css('paddingRight')) || 0); - z.diffHeight = (parseInt(jQuery.transferHelper.css('borderTopWidth')) || 0 ) - + (parseInt(jQuery.transferHelper.css('borderBottomWidth')) || 0) - + (parseInt(jQuery.transferHelper.css('paddingTop')) || 0) - + (parseInt(jQuery.transferHelper.css('paddingBottom')) || 0); - } - z.start = jQuery.extend( - jQuery.iUtil.getPosition(z.el.get(0)), - jQuery.iUtil.getSize(z.el.get(0)) - ); - z.end = jQuery.extend( - jQuery.iUtil.getPosition(z.to), - jQuery.iUtil.getSize(z.to) - ); - z.start.wb -= z.diffWidth; - z.start.hb -= z.diffHeight; - z.end.wb -= z.diffWidth; - z.end.hb -= z.diffHeight; - z.callback = o.complete; - - // Execute the transfer - jQuery.transferHelper - .css('width', z.start.wb + 'px') - .css('height', z.start.hb + 'px') - .css('top', z.start.y + 'px') - .css('left', z.start.x + 'px') - .animate( - { - top: z.end.y, - left: z.end.x, - width: z.end.wb, - height: z.end.hb - }, - z.duration, - function() - { - // Set correct classname - if(z.classname) - jQuery.transferHelper.removeClass(z.classname); - jQuery.transferHelper.css('display', 'none'); - - // Callback - if (z.complete && z.complete.constructor == Function) { - z.complete.apply(z.el.get(0), [z.to]); - } - // Done - jQuery.dequeue(z.el.get(0), 'interfaceFX'); - } - ); +/** + * Interface Elements for jQuery + * FX - transfer + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +jQuery.transferHelper = null; +/** + * + * @name TransferTo + * @description Animates an new build element to simulate a transfer action from one element to other + * @param Hash hash A hash of parameters + * @option Mixed to DOMElement or element ID to transfer to + * @option String className CSS class to apply to transfer element + * @option String duration animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast'] + * @option Function callback (optional) A function to be executed whenever the animation completes. + * + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.fn.TransferTo = function(o) +{ + return this.queue('interfaceFX', function(){ + new jQuery.fx.itransferTo(this, o); + }); +}; +jQuery.fx.itransferTo = function(e, o) +{ + + if(jQuery.transferHelper == null) + { + jQuery('body', document).append('
    '); + jQuery.transferHelper = jQuery('#transferHelper'); + } + jQuery.transferHelper.css('display', 'block').css('position', 'absolute'); + + var z = this; + z.el = jQuery(e); + if(!o || !o.to) { + return; + } + + if (o.to.constructor == String && document.getElementById(o.to)) { + o.to = document.getElementById(o.to); + } else if ( !o.to.childNodes ) { + return; + } + + if (!o.duration) { + o.duration = 500; + } + z.duration = o.duration; + z.to = o.to; + z.classname = o.className; + z.complete = o.complete; + if (z.classname) { + jQuery.transferHelper.addClass(z.classname); + } + z.diffWidth = 0; + z.diffHeight = 0; + + if(jQuery.boxModel) { + z.diffWidth = (parseInt(jQuery.transferHelper.css('borderLeftWidth')) || 0 ) + + (parseInt(jQuery.transferHelper.css('borderRightWidth')) || 0) + + (parseInt(jQuery.transferHelper.css('paddingLeft')) || 0) + + (parseInt(jQuery.transferHelper.css('paddingRight')) || 0); + z.diffHeight = (parseInt(jQuery.transferHelper.css('borderTopWidth')) || 0 ) + + (parseInt(jQuery.transferHelper.css('borderBottomWidth')) || 0) + + (parseInt(jQuery.transferHelper.css('paddingTop')) || 0) + + (parseInt(jQuery.transferHelper.css('paddingBottom')) || 0); + } + z.start = jQuery.extend( + jQuery.iUtil.getPosition(z.el.get(0)), + jQuery.iUtil.getSize(z.el.get(0)) + ); + z.end = jQuery.extend( + jQuery.iUtil.getPosition(z.to), + jQuery.iUtil.getSize(z.to) + ); + z.start.wb -= z.diffWidth; + z.start.hb -= z.diffHeight; + z.end.wb -= z.diffWidth; + z.end.hb -= z.diffHeight; + z.callback = o.complete; + + // Execute the transfer + jQuery.transferHelper + .css('width', z.start.wb + 'px') + .css('height', z.start.hb + 'px') + .css('top', z.start.y + 'px') + .css('left', z.start.x + 'px') + .animate( + { + top: z.end.y, + left: z.end.x, + width: z.end.wb, + height: z.end.hb + }, + z.duration, + function() + { + // Set correct classname + if(z.classname) + jQuery.transferHelper.removeClass(z.classname); + jQuery.transferHelper.css('display', 'none'); + + // Callback + if (z.complete && z.complete.constructor == Function) { + z.complete.apply(z.el.get(0), [z.to]); + } + // Done + jQuery.dequeue(z.el.get(0), 'interfaceFX'); + } + ); }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/iselect.js --- a/web/res/metadataplayer/test/interface 1.2/source/iselect.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/iselect.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,275 +1,275 @@ -/** - * Interface Elements for jQuery - * Selectables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -jQuery.selectHelper = null; -jQuery.selectKeyHelper = false; -jQuery.selectdrug = null; -jQuery.selectCurrent = []; // For current selection -jQuery.selectKeyDown = function(e) { - var pressedKey = e.charCode || e.keyCode || -1; - if (pressedKey == 17 || pressedKey == 16) { - jQuery.selectKeyHelper = true; - } -}; -jQuery.selectKeyUp = function(e) { - jQuery.selectKeyHelper = false; -}; -jQuery.selectstart = function(e) { - this.f.pointer = jQuery.iUtil.getPointer(e); - this.f.pos = jQuery.extend( - jQuery.iUtil.getPosition(this), - jQuery.iUtil.getSize(this) - ); - - this.f.scr = jQuery.iUtil.getScroll(this); - this.f.pointer.x -= this.f.pos.x; - this.f.pointer.y -= this.f.pos.y; - jQuery(this).append(jQuery.selectHelper.get(0)); - if (this.f.hc) - jQuery.selectHelper.addClass(this.f.hc).css('display','block'); - jQuery.selectHelper.css( - { - display: 'block', - width: '0px', - height: '0px' - } - ); - if (this.f.o) { - jQuery.selectHelper.css('opacity', this.f.o); - } - - jQuery.selectdrug = this; - jQuery.selectedone = false; - jQuery.selectCurrent = []; // For current selection state - this.f.el.each( - function () - { - this.pos = { - x: this.offsetLeft + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderLeftWidth)||0:0) + (jQuery.selectdrug.scrollLeft||0), - y: this.offsetTop + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderTopWidth)||0:0) + (jQuery.selectdrug.scrollTop||0), - wb: this.offsetWidth, - hb: this.offsetHeight - }; - if (this.s == true) { - if (jQuery.selectKeyHelper == false) { - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } else { - jQuery.selectedone = true; - - // Save current state - jQuery.selectCurrent[jQuery.selectCurrent.length] = jQuery.attr(this,'id'); - } - } - } - ); - jQuery.selectcheck.apply(this, [e]); - jQuery(document) - .bind('mousemove', jQuery.selectcheck) - .bind('mouseup', jQuery.selectstop); - return false; -}; -jQuery.selectcheck = function(e) -{ - if(!jQuery.selectdrug) - return; - jQuery.selectcheckApply.apply(jQuery.selectdrug, [e]); -}; -jQuery.selectcheckApply = function(e) -{ - if(!jQuery.selectdrug) - return; - var pointer = jQuery.iUtil.getPointer(e); - - var scr = jQuery.iUtil.getScroll(jQuery.selectdrug); - pointer.x += scr.l - this.f.scr.l - this.f.pos.x; - pointer.y += scr.t - this.f.scr.t - this.f.pos.y; - - var sx = Math.min(pointer.x, this.f.pointer.x); - var sw = Math.min(Math.abs(pointer.x - this.f.pointer.x), Math.abs(this.f.scr.w - sx)); - var sy = Math.min(pointer.y, this.f.pointer.y); - var sh = Math.min(Math.abs(pointer.y - this.f.pointer.y), Math.abs(this.f.scr.h - sy)); - if (this.scrollTop > 0 && pointer.y - 20 < this.scrollTop) { - var diff = Math.min(scr.t, 10); - sy -= diff; - sh += diff; - this.scrollTop -= diff; - } else if (this.scrollTop+ this.f.pos.h < this.f.scr.h && pointer.y + 20 > this.scrollTop + this.f.pos.h) { - var diff = Math.min(this.f.scr.h - this.scrollTop, 10); - this.scrollTop += diff; - if (this.scrollTop != scr.t) - sh += diff; - } - if (this.scrollLeft > 0 && pointer.x - 20 < this.scrollLeft) { - var diff = Math.min(scr.l, 10); - sx -= diff; - sw += diff; - this.scrollLeft -= diff; - } else if (this.scrollLeft+ this.f.pos.w < this.f.scr.w && pointer.x + 20 > this.scrollLeft + this.f.pos.w) { - var diff = Math.min(this.f.scr.w - this.scrollLeft, 10); - this.scrollLeft += diff; - if (this.scrollLeft != scr.l) - sw += diff; - } - jQuery.selectHelper.css( - { - left: sx + 'px', - top: sy + 'px', - width: sw + 'px', - height: sh + 'px' - } - ); - jQuery.selectHelper.l = sx + this.f.scr.l; - jQuery.selectHelper.t = sy + this.f.scr.t; - jQuery.selectHelper.r = jQuery.selectHelper.l + sw; - jQuery.selectHelper.b = jQuery.selectHelper.t + sh; - jQuery.selectedone = false; - this.f.el.each( - function () { - // Locate the current element in the current selection - iIndex = jQuery.selectCurrent.indexOf(jQuery.attr(this, 'id')); - // In case we are currently OVER an item - if ( - ! ( this.pos.x > jQuery.selectHelper.r - || (this.pos.x + this.pos.wb) < jQuery.selectHelper.l - || this.pos.y > jQuery.selectHelper.b - || (this.pos.y + this.pos.hb) < jQuery.selectHelper.t - ) - ) - { - jQuery.selectedone = true; - if (this.s != true) { - this.s = true; - jQuery(this).addClass(jQuery.selectdrug.f.sc); - } - - // Check to see if this item was previously selected, if so, unselect it - if (iIndex != -1) { - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } - } else if ( - (this.s == true) && - (iIndex == -1) - ) { - // If the item was marked as selected, but it was not selected when you started dragging unselect it. - this.s = false; - jQuery(this).removeClass(jQuery.selectdrug.f.sc); - } else if ( - (!this.s) && - (jQuery.selectKeyHelper == true) && - (iIndex != -1) - ) { - // Reselect the item if: - // - we ARE multiselecting, - // - dragged over an allready selected object (so it got unselected) - // - But then dragged the selection out of it again. - this.s = true; - jQuery(this).addClass(jQuery.selectdrug.f.sc); - } - } - ); - return false; -}; -jQuery.selectstop = function(e) -{ - if(!jQuery.selectdrug) - return; - jQuery.selectstopApply.apply(jQuery.selectdrug, [e]); -}; -jQuery.selectstopApply = function(e) -{ - jQuery(document) - .unbind('mousemove', jQuery.selectcheck) - .unbind('mouseup', jQuery.selectstop); - if(!jQuery.selectdrug) - return; - jQuery.selectHelper.css('display','none'); - if (this.f.hc) - jQuery.selectHelper.removeClass(this.f.hc); - jQuery.selectdrug = false; - jQuery('body').append(jQuery.selectHelper.get(0)); - // - // In case we have selected some new items.. - if (jQuery.selectedone == true) { - if (this.f.onselect) - this.f.onselect(jQuery.Selectserialize(jQuery.attr(this,'id'))); - } else { - if (this.f.onselectstop) - this.f.onselectstop(jQuery.Selectserialize(jQuery.attr(this,'id'))); - } - // Reset current selection - jQuery.selectCurrent = []; -}; - -jQuery.Selectserialize = function(s) -{ - var h = ''; - var o = []; - if (a = jQuery('#' + s)) { - a.get(0).f.el.each( - function () - { - if (this.s == true) { - if (h.length > 0) { - h += '&'; - } - h += s + '[]=' + jQuery.attr(this,'id'); - o[o.length] = jQuery.attr(this,'id'); - } - } - ); - } - return {hash:h, o:o}; -}; -jQuery.fn.Selectable = function(o) -{ - if (!jQuery.selectHelper) { - jQuery('body',document).append('
    ').bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - jQuery.selectHelper = jQuery('#selectHelper'); - jQuery.selectHelper.css( - { - position: 'absolute', - display: 'none' - } - ); - - if (window.event) { - jQuery('body',document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - } else { - jQuery(document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); - } - } - - if (!o) { - o = {}; - } - return this.each( - function() - { - if (this.isSelectable) - return; - this.isSelectable = true; - this.f = { - a : o.accept, - o : o.opacity ? parseFloat(o.opacity) : false, - sc : o.selectedclass ? o.selectedclass : false, - hc : o.helperclass ? o.helperclass : false, - onselect : o.onselect ? o.onselect : false, - onselectstop : o.onselectstop ? o.onselectstop : false - }; - this.f.el = jQuery('.' + o.accept); - jQuery(this).bind('mousedown', jQuery.selectstart).css('position', 'relative'); - } - ); +/** + * Interface Elements for jQuery + * Selectables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +jQuery.selectHelper = null; +jQuery.selectKeyHelper = false; +jQuery.selectdrug = null; +jQuery.selectCurrent = []; // For current selection +jQuery.selectKeyDown = function(e) { + var pressedKey = e.charCode || e.keyCode || -1; + if (pressedKey == 17 || pressedKey == 16) { + jQuery.selectKeyHelper = true; + } +}; +jQuery.selectKeyUp = function(e) { + jQuery.selectKeyHelper = false; +}; +jQuery.selectstart = function(e) { + this.f.pointer = jQuery.iUtil.getPointer(e); + this.f.pos = jQuery.extend( + jQuery.iUtil.getPosition(this), + jQuery.iUtil.getSize(this) + ); + + this.f.scr = jQuery.iUtil.getScroll(this); + this.f.pointer.x -= this.f.pos.x; + this.f.pointer.y -= this.f.pos.y; + jQuery(this).append(jQuery.selectHelper.get(0)); + if (this.f.hc) + jQuery.selectHelper.addClass(this.f.hc).css('display','block'); + jQuery.selectHelper.css( + { + display: 'block', + width: '0px', + height: '0px' + } + ); + if (this.f.o) { + jQuery.selectHelper.css('opacity', this.f.o); + } + + jQuery.selectdrug = this; + jQuery.selectedone = false; + jQuery.selectCurrent = []; // For current selection state + this.f.el.each( + function () + { + this.pos = { + x: this.offsetLeft + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderLeftWidth)||0:0) + (jQuery.selectdrug.scrollLeft||0), + y: this.offsetTop + (this.currentStyle && !jQuery.browser.opera ?parseInt(this.currentStyle.borderTopWidth)||0:0) + (jQuery.selectdrug.scrollTop||0), + wb: this.offsetWidth, + hb: this.offsetHeight + }; + if (this.s == true) { + if (jQuery.selectKeyHelper == false) { + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } else { + jQuery.selectedone = true; + + // Save current state + jQuery.selectCurrent[jQuery.selectCurrent.length] = jQuery.attr(this,'id'); + } + } + } + ); + jQuery.selectcheck.apply(this, [e]); + jQuery(document) + .bind('mousemove', jQuery.selectcheck) + .bind('mouseup', jQuery.selectstop); + return false; +}; +jQuery.selectcheck = function(e) +{ + if(!jQuery.selectdrug) + return; + jQuery.selectcheckApply.apply(jQuery.selectdrug, [e]); +}; +jQuery.selectcheckApply = function(e) +{ + if(!jQuery.selectdrug) + return; + var pointer = jQuery.iUtil.getPointer(e); + + var scr = jQuery.iUtil.getScroll(jQuery.selectdrug); + pointer.x += scr.l - this.f.scr.l - this.f.pos.x; + pointer.y += scr.t - this.f.scr.t - this.f.pos.y; + + var sx = Math.min(pointer.x, this.f.pointer.x); + var sw = Math.min(Math.abs(pointer.x - this.f.pointer.x), Math.abs(this.f.scr.w - sx)); + var sy = Math.min(pointer.y, this.f.pointer.y); + var sh = Math.min(Math.abs(pointer.y - this.f.pointer.y), Math.abs(this.f.scr.h - sy)); + if (this.scrollTop > 0 && pointer.y - 20 < this.scrollTop) { + var diff = Math.min(scr.t, 10); + sy -= diff; + sh += diff; + this.scrollTop -= diff; + } else if (this.scrollTop+ this.f.pos.h < this.f.scr.h && pointer.y + 20 > this.scrollTop + this.f.pos.h) { + var diff = Math.min(this.f.scr.h - this.scrollTop, 10); + this.scrollTop += diff; + if (this.scrollTop != scr.t) + sh += diff; + } + if (this.scrollLeft > 0 && pointer.x - 20 < this.scrollLeft) { + var diff = Math.min(scr.l, 10); + sx -= diff; + sw += diff; + this.scrollLeft -= diff; + } else if (this.scrollLeft+ this.f.pos.w < this.f.scr.w && pointer.x + 20 > this.scrollLeft + this.f.pos.w) { + var diff = Math.min(this.f.scr.w - this.scrollLeft, 10); + this.scrollLeft += diff; + if (this.scrollLeft != scr.l) + sw += diff; + } + jQuery.selectHelper.css( + { + left: sx + 'px', + top: sy + 'px', + width: sw + 'px', + height: sh + 'px' + } + ); + jQuery.selectHelper.l = sx + this.f.scr.l; + jQuery.selectHelper.t = sy + this.f.scr.t; + jQuery.selectHelper.r = jQuery.selectHelper.l + sw; + jQuery.selectHelper.b = jQuery.selectHelper.t + sh; + jQuery.selectedone = false; + this.f.el.each( + function () { + // Locate the current element in the current selection + iIndex = jQuery.selectCurrent.indexOf(jQuery.attr(this, 'id')); + // In case we are currently OVER an item + if ( + ! ( this.pos.x > jQuery.selectHelper.r + || (this.pos.x + this.pos.wb) < jQuery.selectHelper.l + || this.pos.y > jQuery.selectHelper.b + || (this.pos.y + this.pos.hb) < jQuery.selectHelper.t + ) + ) + { + jQuery.selectedone = true; + if (this.s != true) { + this.s = true; + jQuery(this).addClass(jQuery.selectdrug.f.sc); + } + + // Check to see if this item was previously selected, if so, unselect it + if (iIndex != -1) { + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } + } else if ( + (this.s == true) && + (iIndex == -1) + ) { + // If the item was marked as selected, but it was not selected when you started dragging unselect it. + this.s = false; + jQuery(this).removeClass(jQuery.selectdrug.f.sc); + } else if ( + (!this.s) && + (jQuery.selectKeyHelper == true) && + (iIndex != -1) + ) { + // Reselect the item if: + // - we ARE multiselecting, + // - dragged over an allready selected object (so it got unselected) + // - But then dragged the selection out of it again. + this.s = true; + jQuery(this).addClass(jQuery.selectdrug.f.sc); + } + } + ); + return false; +}; +jQuery.selectstop = function(e) +{ + if(!jQuery.selectdrug) + return; + jQuery.selectstopApply.apply(jQuery.selectdrug, [e]); +}; +jQuery.selectstopApply = function(e) +{ + jQuery(document) + .unbind('mousemove', jQuery.selectcheck) + .unbind('mouseup', jQuery.selectstop); + if(!jQuery.selectdrug) + return; + jQuery.selectHelper.css('display','none'); + if (this.f.hc) + jQuery.selectHelper.removeClass(this.f.hc); + jQuery.selectdrug = false; + jQuery('body').append(jQuery.selectHelper.get(0)); + // + // In case we have selected some new items.. + if (jQuery.selectedone == true) { + if (this.f.onselect) + this.f.onselect(jQuery.Selectserialize(jQuery.attr(this,'id'))); + } else { + if (this.f.onselectstop) + this.f.onselectstop(jQuery.Selectserialize(jQuery.attr(this,'id'))); + } + // Reset current selection + jQuery.selectCurrent = []; +}; + +jQuery.Selectserialize = function(s) +{ + var h = ''; + var o = []; + if (a = jQuery('#' + s)) { + a.get(0).f.el.each( + function () + { + if (this.s == true) { + if (h.length > 0) { + h += '&'; + } + h += s + '[]=' + jQuery.attr(this,'id'); + o[o.length] = jQuery.attr(this,'id'); + } + } + ); + } + return {hash:h, o:o}; +}; +jQuery.fn.Selectable = function(o) +{ + if (!jQuery.selectHelper) { + jQuery('body',document).append('
    ').bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + jQuery.selectHelper = jQuery('#selectHelper'); + jQuery.selectHelper.css( + { + position: 'absolute', + display: 'none' + } + ); + + if (window.event) { + jQuery('body',document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + } else { + jQuery(document).bind('keydown', jQuery.selectKeyDown).bind('keyup', jQuery.selectKeyUp); + } + } + + if (!o) { + o = {}; + } + return this.each( + function() + { + if (this.isSelectable) + return; + this.isSelectable = true; + this.f = { + a : o.accept, + o : o.opacity ? parseFloat(o.opacity) : false, + sc : o.selectedclass ? o.selectedclass : false, + hc : o.helperclass ? o.helperclass : false, + onselect : o.onselect ? o.onselect : false, + onselectstop : o.onselectstop ? o.onselectstop : false + }; + this.f.el = jQuery('.' + o.accept); + jQuery(this).bind('mousedown', jQuery.selectstart).css('position', 'relative'); + } + ); }; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/islider.js --- 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 diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/islideshow.js --- a/web/res/metadataplayer/test/interface 1.2/source/islideshow.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/islideshow.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,422 +1,422 @@ -/** - * Interface Elements for jQuery - * Slideshow - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - */ - - -/** - * Creates an image slideshow. The slideshow can autoplay slides, each image can have caption, navigation links: next, prev, each slide. A page may have more then one slideshow, eachone working independently. Each slide can be bookmarked. The source images can be defined by JavaScript in slideshow options or by HTML placing images inside container. - * - * - * - * @name Slideshow - * @description Creates an image slideshow. The slideshow can autoplay slides, each image can have caption, navigation links: next, prev, each slide. A page may have more then one slideshow, eachone working independently. Each slide can be bookmarked. The source images can be defined by JavaScript in slideshow options or by HTML placing images inside container. - * @param Hash hash A hash of parameters - * @option String container container ID - * @option String loader path to loading indicator image - * @option String linksPosition (optional) images links position ['top'|'bottom'|null] - * @option String linksClass (optional) images links cssClass - * @option String linksSeparator (optional) images links separator - * @option Integer fadeDuration fade animation duration in miliseconds - * @option String activeLinkClass (optional) active image link CSS class - * @option String nextslideClass (optional) next image CSS class - * @option String prevslideClass (optional) previous image CSS class - * @option String captionPosition (optional) image caption position ['top'|'bottom'|null] - * @option String captionClass (optional) image caption CSS class - * @option String autoplay (optional) seconds to wait untill next images is displayed. This option will make the slideshow to autoplay. - * @option String random (optional) if slideshow autoplayes the images can be randomized - * @option Array images (optional) array of hash with keys 'src' (path to image) and 'cation' (image caption) for images - * - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.islideshow = { - slideshows: [], - gonext : function() - { - this.blur(); - slideshow = this.parentNode; - id = jQuery.attr(slideshow, 'id'); - if (jQuery.islideshow.slideshows[id] != null) { - window.clearInterval(jQuery.islideshow.slideshows[id]); - } - slide = slideshow.ss.currentslide + 1; - if (slideshow.ss.images.length < slide) { - slide = 1; - } - images = jQuery('img', slideshow.ss.holder); - slideshow.ss.currentslide = slide; - if (images.size() > 0) { - images.fadeOut( - slideshow.ss.fadeDuration, - jQuery.islideshow.showImage - ); - } - }, - goprev : function() - { - this.blur(); - slideshow = this.parentNode; - id = jQuery.attr(slideshow, 'id'); - if (jQuery.islideshow.slideshows[id] != null) { - window.clearInterval(jQuery.islideshow.slideshows[id]); - } - slide = slideshow.ss.currentslide - 1; - images = jQuery('img', slideshow.ss.holder); - if (slide < 1) { - slide = slideshow.ss.images.length ; - } - slideshow.ss.currentslide = slide; - if (images.size() > 0) { - images.fadeOut( - slideshow.ss.fadeDuration, - jQuery.islideshow.showImage - ); - } - }, - timer : function (c) - { - slideshow = document.getElementById(c); - if (slideshow.ss.random) { - slide = slideshow.ss.currentslide; - while(slide == slideshow.ss.currentslide) { - slide = 1 + parseInt(Math.random() * slideshow.ss.images.length); - } - } else { - slide = slideshow.ss.currentslide + 1; - if (slideshow.ss.images.length < slide) { - slide = 1; - } - } - images = jQuery('img', slideshow.ss.holder); - slideshow.ss.currentslide = slide; - if (images.size() > 0) { - images.fadeOut( - slideshow.ss.fadeDuration, - jQuery.islideshow.showImage - ); - } - }, - go : function(o) - { - var slideshow; - if (o && o.constructor == Object) { - if (o.loader) { - slideshow = document.getElementById(o.loader.slideshow); - url = window.location.href.split("#"); - o.loader.onload = null; - if (url.length == 2) { - slide = parseInt(url[1]); - show = url[1].replace(slide,''); - if (jQuery.attr(slideshow,'id') != show) { - slide = 1; - } - } else { - slide = 1; - } - } - if(o.link) { - o.link.blur(); - slideshow = o.link.parentNode.parentNode; - id = jQuery.attr(slideshow, 'id'); - if (jQuery.islideshow.slideshows[id] != null) { - window.clearInterval(jQuery.islideshow.slideshows[id]); - } - url = o.link.href.split("#"); - slide = parseInt(url[1]); - show = url[1].replace(slide,''); - if (jQuery.attr(slideshow,'id') != show) { - slide = 1; - } - } - if (slideshow.ss.images.length < slide || slide < 1) { - slide = 1; - } - slideshow.ss.currentslide = slide; - slidePos = jQuery.iUtil.getSize(slideshow); - slidePad = jQuery.iUtil.getPadding(slideshow); - slideBor = jQuery.iUtil.getBorder(slideshow); - if (slideshow.ss.prevslide) { - slideshow.ss.prevslide.o.css('display', 'none'); - } - if (slideshow.ss.nextslide) { - slideshow.ss.nextslide.o.css('display', 'none'); - } - - //center loader - if (slideshow.ss.loader) { - y = parseInt(slidePad.t) + parseInt(slideBor.t); - if (slideshow.ss.slideslinks) { - if (slideshow.ss.slideslinks.linksPosition == 'top') { - y += slideshow.ss.slideslinks.dimm.hb; - } else { - slidePos.h -= slideshow.ss.slideslinks.dimm.hb; - } - } - if (slideshow.ss.slideCaption) { - if (slideshow.ss.slideCaption && slideshow.ss.slideCaption.captionPosition == 'top') { - y += slideshow.ss.slideCaption.dimm.hb; - } else { - slidePos.h -= slideshow.ss.slideCaption.dimm.hb; - } - } - if (!slideshow.ss.loaderWidth) { - slideshow.ss.loaderHeight = o.loader ? o.loader.height : (parseInt(slideshow.ss.loader.css('height'))||0); - slideshow.ss.loaderWidth = o.loader ? o.loader.width : (parseInt(slideshow.ss.loader.css('width'))||0); - } - - slideshow.ss.loader.css('top', y + (slidePos.h - slideshow.ss.loaderHeight)/2 + 'px'); - slideshow.ss.loader.css('left', (slidePos.wb - slideshow.ss.loaderWidth)/2 + 'px'); - slideshow.ss.loader.css('display', 'block'); - } - - //getimage - images = jQuery('img', slideshow.ss.holder); - if (images.size() > 0) { - images.fadeOut( - slideshow.ss.fadeDuration, - jQuery.islideshow.showImage - ); - } else { - lnk = jQuery('a', slideshow.ss.slideslinks.o).get(slide-1); - jQuery(lnk).addClass(slideshow.ss.slideslinks.activeLinkClass); - var img = new Image(); - img.slideshow = jQuery.attr(slideshow,'id'); - img.slide = slide-1; - img.src = slideshow.ss.images[slideshow.ss.currentslide-1].src ; - if (img.complete) { - img.onload = null; - jQuery.islideshow.display.apply(img); - } else { - img.onload = jQuery.islideshow.display; - } - //slideshow.ss.holder.html(''); - if (slideshow.ss.slideCaption) { - slideshow.ss.slideCaption.o.html(slideshow.ss.images[slide-1].caption); - } - //jQuery('img', slideshow.ss.holder).bind('load',jQuery.slideshowDisplay); - } - } - }, - showImage : function() - { - slideshow = this.parentNode.parentNode; - slideshow.ss.holder.css('display','none'); - if (slideshow.ss.slideslinks.activeLinkClass) { - lnk = jQuery('a', slideshow.ss.slideslinks.o).removeClass(slideshow.ss.slideslinks.activeLinkClass).get(slideshow.ss.currentslide - 1); - jQuery(lnk).addClass(slideshow.ss.slideslinks.activeLinkClass); - } - //slideshow.ss.holder.html(''); - - var img = new Image(); - img.slideshow = jQuery.attr(slideshow,'id'); - img.slide = slideshow.ss.currentslide - 1; - img.src = slideshow.ss.images[slideshow.ss.currentslide - 1].src ; - if (img.complete) { - img.onload = null; - jQuery.islideshow.display.apply(img); - } else { - img.onload = jQuery.islideshow.display; - } - if (slideshow.ss.slideCaption) { - slideshow.ss.slideCaption.o.html(slideshow.ss.images[slideshow.ss.currentslide-1].caption); - } - //jQuery('img', slideshow.ss.holder).bind('load',jQuery.slideshowDisplay); - }, - display : function () - { - slideshow = document.getElementById(this.slideshow); - if (slideshow.ss.prevslide) { - slideshow.ss.prevslide.o.css('display', 'none'); - } - if (slideshow.ss.nextslide) { - slideshow.ss.nextslide.o.css('display', 'none'); - } - slidePos = jQuery.iUtil.getSize(slideshow); - y = 0; - if (slideshow.ss.slideslinks) { - if (slideshow.ss.slideslinks.linksPosition == 'top') { - y += slideshow.ss.slideslinks.dimm.hb; - } else { - slidePos.h -= slideshow.ss.slideslinks.dimm.hb; - } - } - if (slideshow.ss.slideCaption) { - if (slideshow.ss.slideCaption && slideshow.ss.slideCaption.captionPosition == 'top') { - y += slideshow.ss.slideCaption.dimm.hb; - } else { - slidePos.h -= slideshow.ss.slideCaption.dimm.hb; - } - } - par = jQuery('.slideshowHolder', slideshow); - y = y + (slidePos.h - this.height)/2 ; - x = (slidePos.wb - this.width)/2; - slideshow.ss.holder.css('top', y + 'px').css('left', x + 'px').html(''); - slideshow.ss.holder.fadeIn(slideshow.ss.fadeDuration); - nextslide = slideshow.ss.currentslide + 1; - if (nextslide > slideshow.ss.images.length) { - nextslide = 1; - } - prevslide = slideshow.ss.currentslide - 1; - if (prevslide < 1) { - prevslide = slideshow.ss.images.length; - } - slideshow.ss.nextslide.o - .css('display','block') - .css('top', y + 'px') - .css('left', x + 2 * this.width/3 + 'px') - .css('width', this.width/3 + 'px') - .css('height', this.height + 'px') - .attr('title', slideshow.ss.images[nextslide-1].caption); - slideshow.ss.nextslide.o.get(0).href = '#' + nextslide + jQuery.attr(slideshow, 'id'); - slideshow.ss.prevslide.o - .css('display','block') - .css('top', y + 'px') - .css('left', x + 'px') - .css('width', this.width/3 + 'px') - .css('height', this.height + 'px') - .attr('title', slideshow.ss.images[prevslide-1].caption); - slideshow.ss.prevslide.o.get(0).href = '#' + prevslide + jQuery.attr(slideshow, 'id'); - }, - build : function(o) - { - if (!o || !o.container || jQuery.islideshow.slideshows[o.container]) - return; - var container = jQuery('#' + o.container); - var el = container.get(0); - - if (el.style.position != 'absolute' && el.style.position != 'relative') { - el.style.position = 'relative'; - } - el.style.overflow = 'hidden'; - if (container.size() == 0) - return; - el.ss = {}; - - el.ss.images = o.images ? o.images : []; - el.ss.random = o.random && o.random == true || false; - imgs = el.getElementsByTagName('IMG'); - for(i = 0; i< imgs.length; i++) { - indic = el.ss.images.length; - el.ss.images[indic] = {src:imgs[i].src, caption:imgs[i].title||imgs[i].alt||''}; - } - - if (el.ss.images.length == 0) { - return; - } - - el.ss.oP = jQuery.extend( - jQuery.iUtil.getPosition(el), - jQuery.iUtil.getSize(el) - ); - el.ss.oPad = jQuery.iUtil.getPadding(el); - el.ss.oBor = jQuery.iUtil.getBorder(el); - t = parseInt(el.ss.oPad.t) + parseInt(el.ss.oBor.t); - b = parseInt(el.ss.oPad.b) + parseInt(el.ss.oBor.b); - jQuery('img', el).remove(); - el.ss.fadeDuration = o.fadeDuration ? o.fadeDuration : 500; - if (o.linksPosition || o.linksClass || o.activeLinkClass) { - el.ss.slideslinks = {}; - container.append(''); - el.ss.slideslinks.o = jQuery('.slideshowLinks', el); - if (o.linksClass) { - el.ss.slideslinks.linksClass = o.linksClass; - el.ss.slideslinks.o.addClass(o.linksClass); - } - if (o.activeLinkClass) { - el.ss.slideslinks.activeLinkClass = o.activeLinkClass; - } - el.ss.slideslinks.o.css('position','absolute').css('width', el.ss.oP.w + 'px'); - if (o.linksPosition && o.linksPosition == 'top') { - el.ss.slideslinks.linksPosition = 'top'; - el.ss.slideslinks.o.css('top',t + 'px'); - } else { - el.ss.slideslinks.linksPosition = 'bottom'; - el.ss.slideslinks.o.css('bottom',b + 'px'); - } - el.ss.slideslinks.linksSeparator = o.linksSeparator ? o.linksSeparator : ' '; - for (var i=0; i' + indic + '' + (indic != el.ss.images.length ? el.ss.slideslinks.linksSeparator : '')); - } - jQuery('a', el.ss.slideslinks.o).bind( - 'click', - function() - { - jQuery.islideshow.go({link:this}) - } - ); - el.ss.slideslinks.dimm = jQuery.iUtil.getSize(el.ss.slideslinks.o.get(0)); - } - if (o.captionPosition || o.captionClass) { - el.ss.slideCaption = {}; - container.append('
     
    '); - el.ss.slideCaption.o = jQuery('.slideshowCaption', el); - if (o.captionClass) { - el.ss.slideCaption.captionClass = o.captionClass; - el.ss.slideCaption.o.addClass(o.captionClass); - } - el.ss.slideCaption.o.css('position','absolute').css('width', el.ss.oP.w + 'px'); - if (o.captionPosition&& o.captionPosition == 'top') { - el.ss.slideCaption.captionPosition = 'top'; - el.ss.slideCaption.o.css('top', (el.ss.slideslinks && el.ss.slideslinks.linksPosition == 'top' ? el.ss.slideslinks.dimm.hb + t : t) + 'px'); - } else { - el.ss.slideCaption.captionPosition = 'bottom'; - el.ss.slideCaption.o.css('bottom', (el.ss.slideslinks && el.ss.slideslinks.linksPosition == 'bottom' ? el.ss.slideslinks.dimm.hb + b : b) + 'px'); - } - el.ss.slideCaption.dimm = jQuery.iUtil.getSize(el.ss.slideCaption.o.get(0)); - } - - if (o.nextslideClass) { - el.ss.nextslide = {nextslideClass:o.nextslideClass}; - container.append(' '); - el.ss.nextslide.o = jQuery('.slideshowNextSlide', el); - el.ss.nextslide.o.css('position', 'absolute').css('display', 'none').css('overflow','hidden').css('fontSize', '30px').addClass(el.ss.nextslide.nextslideClass); - el.ss.nextslide.o.bind('click', jQuery.islideshow.gonext); - } - if (o.prevslideClass) { - el.ss.prevslide= {prevslideClass:o.prevslideClass}; - container.append(' '); - el.ss.prevslide.o = jQuery('.slideshowPrevslide', el); - el.ss.prevslide.o.css('position', 'absolute').css('display', 'none').css('overflow','hidden').css('fontSize', '30px').addClass(el.ss.prevslide.prevslideClass); - el.ss.prevslide.o.bind('click', jQuery.islideshow.goprev); - } - - container.prepend('
    '); - el.ss.holder = jQuery('.slideshowHolder', el); - el.ss.holder.css('position','absolute').css('top','0px').css('left','0px').css('display', 'none'); - if (o.loader) { - container.prepend(''); - el.ss.loader = jQuery('.slideshowLoader', el); - el.ss.loader.css('position', 'absolute'); - var img = new Image(); - img.slideshow = o.container; - img.src = o.loader; - if (img.complete) { - img.onload = null; - jQuery.islideshow.go({loader:img}); - } else { - img.onload = function() - { - jQuery.islideshow.go({loader:this}); - }; - } - } else { - jQuery.islideshow.go({container:el}); - } - - if(o.autoplay) { - time = parseInt(o.autoplay) * 1000; - } - jQuery.islideshow.slideshows[o.container] = o.autoplay ? window.setInterval('jQuery.islideshow.timer(\'' + o.container + '\')', time) : null; - } -}; +/** + * Interface Elements for jQuery + * Slideshow + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + */ + + +/** + * Creates an image slideshow. The slideshow can autoplay slides, each image can have caption, navigation links: next, prev, each slide. A page may have more then one slideshow, eachone working independently. Each slide can be bookmarked. The source images can be defined by JavaScript in slideshow options or by HTML placing images inside container. + * + * + * + * @name Slideshow + * @description Creates an image slideshow. The slideshow can autoplay slides, each image can have caption, navigation links: next, prev, each slide. A page may have more then one slideshow, eachone working independently. Each slide can be bookmarked. The source images can be defined by JavaScript in slideshow options or by HTML placing images inside container. + * @param Hash hash A hash of parameters + * @option String container container ID + * @option String loader path to loading indicator image + * @option String linksPosition (optional) images links position ['top'|'bottom'|null] + * @option String linksClass (optional) images links cssClass + * @option String linksSeparator (optional) images links separator + * @option Integer fadeDuration fade animation duration in miliseconds + * @option String activeLinkClass (optional) active image link CSS class + * @option String nextslideClass (optional) next image CSS class + * @option String prevslideClass (optional) previous image CSS class + * @option String captionPosition (optional) image caption position ['top'|'bottom'|null] + * @option String captionClass (optional) image caption CSS class + * @option String autoplay (optional) seconds to wait untill next images is displayed. This option will make the slideshow to autoplay. + * @option String random (optional) if slideshow autoplayes the images can be randomized + * @option Array images (optional) array of hash with keys 'src' (path to image) and 'cation' (image caption) for images + * + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.islideshow = { + slideshows: [], + gonext : function() + { + this.blur(); + slideshow = this.parentNode; + id = jQuery.attr(slideshow, 'id'); + if (jQuery.islideshow.slideshows[id] != null) { + window.clearInterval(jQuery.islideshow.slideshows[id]); + } + slide = slideshow.ss.currentslide + 1; + if (slideshow.ss.images.length < slide) { + slide = 1; + } + images = jQuery('img', slideshow.ss.holder); + slideshow.ss.currentslide = slide; + if (images.size() > 0) { + images.fadeOut( + slideshow.ss.fadeDuration, + jQuery.islideshow.showImage + ); + } + }, + goprev : function() + { + this.blur(); + slideshow = this.parentNode; + id = jQuery.attr(slideshow, 'id'); + if (jQuery.islideshow.slideshows[id] != null) { + window.clearInterval(jQuery.islideshow.slideshows[id]); + } + slide = slideshow.ss.currentslide - 1; + images = jQuery('img', slideshow.ss.holder); + if (slide < 1) { + slide = slideshow.ss.images.length ; + } + slideshow.ss.currentslide = slide; + if (images.size() > 0) { + images.fadeOut( + slideshow.ss.fadeDuration, + jQuery.islideshow.showImage + ); + } + }, + timer : function (c) + { + slideshow = document.getElementById(c); + if (slideshow.ss.random) { + slide = slideshow.ss.currentslide; + while(slide == slideshow.ss.currentslide) { + slide = 1 + parseInt(Math.random() * slideshow.ss.images.length); + } + } else { + slide = slideshow.ss.currentslide + 1; + if (slideshow.ss.images.length < slide) { + slide = 1; + } + } + images = jQuery('img', slideshow.ss.holder); + slideshow.ss.currentslide = slide; + if (images.size() > 0) { + images.fadeOut( + slideshow.ss.fadeDuration, + jQuery.islideshow.showImage + ); + } + }, + go : function(o) + { + var slideshow; + if (o && o.constructor == Object) { + if (o.loader) { + slideshow = document.getElementById(o.loader.slideshow); + url = window.location.href.split("#"); + o.loader.onload = null; + if (url.length == 2) { + slide = parseInt(url[1]); + show = url[1].replace(slide,''); + if (jQuery.attr(slideshow,'id') != show) { + slide = 1; + } + } else { + slide = 1; + } + } + if(o.link) { + o.link.blur(); + slideshow = o.link.parentNode.parentNode; + id = jQuery.attr(slideshow, 'id'); + if (jQuery.islideshow.slideshows[id] != null) { + window.clearInterval(jQuery.islideshow.slideshows[id]); + } + url = o.link.href.split("#"); + slide = parseInt(url[1]); + show = url[1].replace(slide,''); + if (jQuery.attr(slideshow,'id') != show) { + slide = 1; + } + } + if (slideshow.ss.images.length < slide || slide < 1) { + slide = 1; + } + slideshow.ss.currentslide = slide; + slidePos = jQuery.iUtil.getSize(slideshow); + slidePad = jQuery.iUtil.getPadding(slideshow); + slideBor = jQuery.iUtil.getBorder(slideshow); + if (slideshow.ss.prevslide) { + slideshow.ss.prevslide.o.css('display', 'none'); + } + if (slideshow.ss.nextslide) { + slideshow.ss.nextslide.o.css('display', 'none'); + } + + //center loader + if (slideshow.ss.loader) { + y = parseInt(slidePad.t) + parseInt(slideBor.t); + if (slideshow.ss.slideslinks) { + if (slideshow.ss.slideslinks.linksPosition == 'top') { + y += slideshow.ss.slideslinks.dimm.hb; + } else { + slidePos.h -= slideshow.ss.slideslinks.dimm.hb; + } + } + if (slideshow.ss.slideCaption) { + if (slideshow.ss.slideCaption && slideshow.ss.slideCaption.captionPosition == 'top') { + y += slideshow.ss.slideCaption.dimm.hb; + } else { + slidePos.h -= slideshow.ss.slideCaption.dimm.hb; + } + } + if (!slideshow.ss.loaderWidth) { + slideshow.ss.loaderHeight = o.loader ? o.loader.height : (parseInt(slideshow.ss.loader.css('height'))||0); + slideshow.ss.loaderWidth = o.loader ? o.loader.width : (parseInt(slideshow.ss.loader.css('width'))||0); + } + + slideshow.ss.loader.css('top', y + (slidePos.h - slideshow.ss.loaderHeight)/2 + 'px'); + slideshow.ss.loader.css('left', (slidePos.wb - slideshow.ss.loaderWidth)/2 + 'px'); + slideshow.ss.loader.css('display', 'block'); + } + + //getimage + images = jQuery('img', slideshow.ss.holder); + if (images.size() > 0) { + images.fadeOut( + slideshow.ss.fadeDuration, + jQuery.islideshow.showImage + ); + } else { + lnk = jQuery('a', slideshow.ss.slideslinks.o).get(slide-1); + jQuery(lnk).addClass(slideshow.ss.slideslinks.activeLinkClass); + var img = new Image(); + img.slideshow = jQuery.attr(slideshow,'id'); + img.slide = slide-1; + img.src = slideshow.ss.images[slideshow.ss.currentslide-1].src ; + if (img.complete) { + img.onload = null; + jQuery.islideshow.display.apply(img); + } else { + img.onload = jQuery.islideshow.display; + } + //slideshow.ss.holder.html(''); + if (slideshow.ss.slideCaption) { + slideshow.ss.slideCaption.o.html(slideshow.ss.images[slide-1].caption); + } + //jQuery('img', slideshow.ss.holder).bind('load',jQuery.slideshowDisplay); + } + } + }, + showImage : function() + { + slideshow = this.parentNode.parentNode; + slideshow.ss.holder.css('display','none'); + if (slideshow.ss.slideslinks.activeLinkClass) { + lnk = jQuery('a', slideshow.ss.slideslinks.o).removeClass(slideshow.ss.slideslinks.activeLinkClass).get(slideshow.ss.currentslide - 1); + jQuery(lnk).addClass(slideshow.ss.slideslinks.activeLinkClass); + } + //slideshow.ss.holder.html(''); + + var img = new Image(); + img.slideshow = jQuery.attr(slideshow,'id'); + img.slide = slideshow.ss.currentslide - 1; + img.src = slideshow.ss.images[slideshow.ss.currentslide - 1].src ; + if (img.complete) { + img.onload = null; + jQuery.islideshow.display.apply(img); + } else { + img.onload = jQuery.islideshow.display; + } + if (slideshow.ss.slideCaption) { + slideshow.ss.slideCaption.o.html(slideshow.ss.images[slideshow.ss.currentslide-1].caption); + } + //jQuery('img', slideshow.ss.holder).bind('load',jQuery.slideshowDisplay); + }, + display : function () + { + slideshow = document.getElementById(this.slideshow); + if (slideshow.ss.prevslide) { + slideshow.ss.prevslide.o.css('display', 'none'); + } + if (slideshow.ss.nextslide) { + slideshow.ss.nextslide.o.css('display', 'none'); + } + slidePos = jQuery.iUtil.getSize(slideshow); + y = 0; + if (slideshow.ss.slideslinks) { + if (slideshow.ss.slideslinks.linksPosition == 'top') { + y += slideshow.ss.slideslinks.dimm.hb; + } else { + slidePos.h -= slideshow.ss.slideslinks.dimm.hb; + } + } + if (slideshow.ss.slideCaption) { + if (slideshow.ss.slideCaption && slideshow.ss.slideCaption.captionPosition == 'top') { + y += slideshow.ss.slideCaption.dimm.hb; + } else { + slidePos.h -= slideshow.ss.slideCaption.dimm.hb; + } + } + par = jQuery('.slideshowHolder', slideshow); + y = y + (slidePos.h - this.height)/2 ; + x = (slidePos.wb - this.width)/2; + slideshow.ss.holder.css('top', y + 'px').css('left', x + 'px').html(''); + slideshow.ss.holder.fadeIn(slideshow.ss.fadeDuration); + nextslide = slideshow.ss.currentslide + 1; + if (nextslide > slideshow.ss.images.length) { + nextslide = 1; + } + prevslide = slideshow.ss.currentslide - 1; + if (prevslide < 1) { + prevslide = slideshow.ss.images.length; + } + slideshow.ss.nextslide.o + .css('display','block') + .css('top', y + 'px') + .css('left', x + 2 * this.width/3 + 'px') + .css('width', this.width/3 + 'px') + .css('height', this.height + 'px') + .attr('title', slideshow.ss.images[nextslide-1].caption); + slideshow.ss.nextslide.o.get(0).href = '#' + nextslide + jQuery.attr(slideshow, 'id'); + slideshow.ss.prevslide.o + .css('display','block') + .css('top', y + 'px') + .css('left', x + 'px') + .css('width', this.width/3 + 'px') + .css('height', this.height + 'px') + .attr('title', slideshow.ss.images[prevslide-1].caption); + slideshow.ss.prevslide.o.get(0).href = '#' + prevslide + jQuery.attr(slideshow, 'id'); + }, + build : function(o) + { + if (!o || !o.container || jQuery.islideshow.slideshows[o.container]) + return; + var container = jQuery('#' + o.container); + var el = container.get(0); + + if (el.style.position != 'absolute' && el.style.position != 'relative') { + el.style.position = 'relative'; + } + el.style.overflow = 'hidden'; + if (container.size() == 0) + return; + el.ss = {}; + + el.ss.images = o.images ? o.images : []; + el.ss.random = o.random && o.random == true || false; + imgs = el.getElementsByTagName('IMG'); + for(i = 0; i< imgs.length; i++) { + indic = el.ss.images.length; + el.ss.images[indic] = {src:imgs[i].src, caption:imgs[i].title||imgs[i].alt||''}; + } + + if (el.ss.images.length == 0) { + return; + } + + el.ss.oP = jQuery.extend( + jQuery.iUtil.getPosition(el), + jQuery.iUtil.getSize(el) + ); + el.ss.oPad = jQuery.iUtil.getPadding(el); + el.ss.oBor = jQuery.iUtil.getBorder(el); + t = parseInt(el.ss.oPad.t) + parseInt(el.ss.oBor.t); + b = parseInt(el.ss.oPad.b) + parseInt(el.ss.oBor.b); + jQuery('img', el).remove(); + el.ss.fadeDuration = o.fadeDuration ? o.fadeDuration : 500; + if (o.linksPosition || o.linksClass || o.activeLinkClass) { + el.ss.slideslinks = {}; + container.append(''); + el.ss.slideslinks.o = jQuery('.slideshowLinks', el); + if (o.linksClass) { + el.ss.slideslinks.linksClass = o.linksClass; + el.ss.slideslinks.o.addClass(o.linksClass); + } + if (o.activeLinkClass) { + el.ss.slideslinks.activeLinkClass = o.activeLinkClass; + } + el.ss.slideslinks.o.css('position','absolute').css('width', el.ss.oP.w + 'px'); + if (o.linksPosition && o.linksPosition == 'top') { + el.ss.slideslinks.linksPosition = 'top'; + el.ss.slideslinks.o.css('top',t + 'px'); + } else { + el.ss.slideslinks.linksPosition = 'bottom'; + el.ss.slideslinks.o.css('bottom',b + 'px'); + } + el.ss.slideslinks.linksSeparator = o.linksSeparator ? o.linksSeparator : ' '; + for (var i=0; i' + indic + '' + (indic != el.ss.images.length ? el.ss.slideslinks.linksSeparator : '')); + } + jQuery('a', el.ss.slideslinks.o).bind( + 'click', + function() + { + jQuery.islideshow.go({link:this}) + } + ); + el.ss.slideslinks.dimm = jQuery.iUtil.getSize(el.ss.slideslinks.o.get(0)); + } + if (o.captionPosition || o.captionClass) { + el.ss.slideCaption = {}; + container.append('
     
    '); + el.ss.slideCaption.o = jQuery('.slideshowCaption', el); + if (o.captionClass) { + el.ss.slideCaption.captionClass = o.captionClass; + el.ss.slideCaption.o.addClass(o.captionClass); + } + el.ss.slideCaption.o.css('position','absolute').css('width', el.ss.oP.w + 'px'); + if (o.captionPosition&& o.captionPosition == 'top') { + el.ss.slideCaption.captionPosition = 'top'; + el.ss.slideCaption.o.css('top', (el.ss.slideslinks && el.ss.slideslinks.linksPosition == 'top' ? el.ss.slideslinks.dimm.hb + t : t) + 'px'); + } else { + el.ss.slideCaption.captionPosition = 'bottom'; + el.ss.slideCaption.o.css('bottom', (el.ss.slideslinks && el.ss.slideslinks.linksPosition == 'bottom' ? el.ss.slideslinks.dimm.hb + b : b) + 'px'); + } + el.ss.slideCaption.dimm = jQuery.iUtil.getSize(el.ss.slideCaption.o.get(0)); + } + + if (o.nextslideClass) { + el.ss.nextslide = {nextslideClass:o.nextslideClass}; + container.append(' '); + el.ss.nextslide.o = jQuery('.slideshowNextSlide', el); + el.ss.nextslide.o.css('position', 'absolute').css('display', 'none').css('overflow','hidden').css('fontSize', '30px').addClass(el.ss.nextslide.nextslideClass); + el.ss.nextslide.o.bind('click', jQuery.islideshow.gonext); + } + if (o.prevslideClass) { + el.ss.prevslide= {prevslideClass:o.prevslideClass}; + container.append(' '); + el.ss.prevslide.o = jQuery('.slideshowPrevslide', el); + el.ss.prevslide.o.css('position', 'absolute').css('display', 'none').css('overflow','hidden').css('fontSize', '30px').addClass(el.ss.prevslide.prevslideClass); + el.ss.prevslide.o.bind('click', jQuery.islideshow.goprev); + } + + container.prepend('
    '); + el.ss.holder = jQuery('.slideshowHolder', el); + el.ss.holder.css('position','absolute').css('top','0px').css('left','0px').css('display', 'none'); + if (o.loader) { + container.prepend(''); + el.ss.loader = jQuery('.slideshowLoader', el); + el.ss.loader.css('position', 'absolute'); + var img = new Image(); + img.slideshow = o.container; + img.src = o.loader; + if (img.complete) { + img.onload = null; + jQuery.islideshow.go({loader:img}); + } else { + img.onload = function() + { + jQuery.islideshow.go({loader:this}); + }; + } + } else { + jQuery.islideshow.go({container:el}); + } + + if(o.autoplay) { + time = parseInt(o.autoplay) * 1000; + } + jQuery.islideshow.slideshows[o.container] = o.autoplay ? window.setInterval('jQuery.islideshow.timer(\'' + o.container + '\')', time) : null; + } +}; jQuery.slideshow = jQuery.islideshow.build; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/isortables.js --- a/web/res/metadataplayer/test/interface 1.2/source/isortables.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/isortables.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,392 +1,392 @@ -/** - * Interface Elements for jQuery - * Sortables - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Allows you to resort elements within a container by dragging and dropping. Requires - * the Draggables and Droppables plugins. The container and each item inside the container - * must have an ID. Sortables are especially useful for lists. - * - * @see Plugins/Interface/Draggable - * @see Plugins/Interface/Droppable - * @author Stefan Petre - * @name Sortable - * @cat Plugins/Interface - * @param Hash options A hash of options - * @option String accept The class name for items inside the container (mandatory) - * @option String activeclass The class for the container when one of its items has started to move - * @option String hoverclass The class for the container when an acceptable item is inside it - * @option String helperclass The helper is used to point to the place where the item will be - * moved. This is the class for the helper. - * @option Float opacity Opacity (between 0 and 1) of the item while being dragged - * @option Boolean ghosting When true, the sortable is ghosted when dragged - * @option String tolerance Either 'pointer', 'intersect', or 'fit'. See Droppable for more details - * @option Boolean fit When true, sortable must be inside the container in order to drop - * @option Integer fx Duration for the effect applied to the sortable - * @option Function onchange Callback that gets called when the sortable list changed. It takes - * an array of serialized elements - * @option Boolean floats True if the sorted elements are floated - * @option String containment Use 'parent' to constrain the drag to the container - * @option String axis Use 'horizontally' or 'vertically' to constrain dragging to an axis - * @option String handle The jQuery selector that indicates the draggable handle - * @option DOMElement handle The node that indicates the draggable handle - * @option Function onHover Callback that is called when an acceptable item is dragged over the - * container. Gets the hovering DOMElement as a parameter - * @option Function onOut Callback that is called when an acceptable item leaves the container. - * Gets the leaving DOMElement as a parameter - * @option Object cursorAt The mouse cursor will be moved to the offset on the dragged item - * indicated by the object, which takes "top", "bottom", "left", and - * "right" keys - * @option Function onStart Callback function triggered when the dragging starts - * @option Function onStop Callback function triggered when the dragging stops - * @example $('ul').Sortable( - * { - * accept : 'sortableitem', - * activeclass : 'sortableactive', - * hoverclass : 'sortablehover', - * helperclass : 'sorthelper', - * opacity: 0.5, - * fit : false - * } - * ) - */ - -jQuery.iSort = { - changed : [], - collected : {}, - helper : false, - inFrontOf: null, - - start : function () - { - if (jQuery.iDrag.dragged == null) { - return; - } - var shs, margins,c, cs; - - jQuery.iSort.helper.get(0).className = jQuery.iDrag.dragged.dragCfg.hpc; - shs = jQuery.iSort.helper.get(0).style; - shs.display = 'block'; - jQuery.iSort.helper.oC = jQuery.extend( - jQuery.iUtil.getPosition(jQuery.iSort.helper.get(0)), - jQuery.iUtil.getSize(jQuery.iSort.helper.get(0)) - ); - - shs.width = jQuery.iDrag.dragged.dragCfg.oC.wb + 'px'; - shs.height = jQuery.iDrag.dragged.dragCfg.oC.hb + 'px'; - //shs.cssFloat = jQuery.iDrag.dragged.dragCfg.oF; - margins = jQuery.iUtil.getMargins(jQuery.iDrag.dragged); - shs.marginTop = margins.t; - shs.marginRight = margins.r; - shs.marginBottom = margins.b; - shs.marginLeft = margins.l; - if (jQuery.iDrag.dragged.dragCfg.ghosting == true) { - c = jQuery.iDrag.dragged.cloneNode(true); - cs = c.style; - cs.marginTop = '0px'; - cs.marginRight = '0px'; - cs.marginBottom = '0px'; - cs.marginLeft = '0px'; - cs.display = 'block'; - jQuery.iSort.helper.empty().append(c); - } - jQuery(jQuery.iDrag.dragged).after(jQuery.iSort.helper.get(0)); - jQuery.iDrag.dragged.style.display = 'none'; - }, - - check : function (e) - { - if (!e.dragCfg.so && jQuery.iDrop.overzone.sortable) { - if (e.dragCfg.onStop) - e.dragCfg.onStop.apply(dragged); - jQuery(e).css('position', e.dragCfg.initialPosition || e.dragCfg.oP); - jQuery(e).DraggableDestroy(); - jQuery(jQuery.iDrop.overzone).SortableAddItem(e); - } - jQuery.iSort.helper.removeClass(e.dragCfg.hpc).html(' '); - jQuery.iSort.inFrontOf = null; - var shs = jQuery.iSort.helper.get(0).style; - shs.display = 'none'; - jQuery.iSort.helper.after(e); - if (e.dragCfg.fx > 0) { - jQuery(e).fadeIn(e.dragCfg.fx); - } - jQuery('body').append(jQuery.iSort.helper.get(0)); - var ts = []; - var fnc = false; - for(var i=0; i 0) { - fnc(ts); - } - }, - - checkhover : function(e,o) - { - if (!jQuery.iDrag.dragged) - return; - var cur = false; - var i = 0; - if ( e.dropCfg.el.size() > 0) { - for (i = e.dropCfg.el.size(); i >0; i--) { - if (e.dropCfg.el.get(i-1) != jQuery.iDrag.dragged) { - if (!e.sortCfg.floats) { - if ( - (e.dropCfg.el.get(i-1).pos.y + e.dropCfg.el.get(i-1).pos.hb/2) > jQuery.iDrag.dragged.dragCfg.ny - ) { - cur = e.dropCfg.el.get(i-1); - } else { - break; - } - } else { - if ( - (e.dropCfg.el.get(i-1).pos.x + e.dropCfg.el.get(i-1).pos.wb/2) > jQuery.iDrag.dragged.dragCfg.nx && - (e.dropCfg.el.get(i-1).pos.y + e.dropCfg.el.get(i-1).pos.hb/2) > jQuery.iDrag.dragged.dragCfg.ny - ) { - cur = e.dropCfg.el.get(i-1); - } - } - } - } - } - //helpos = jQuery.iUtil.getPos(jQuery.iSort.helper.get(0)); - if (cur && jQuery.iSort.inFrontOf != cur) { - jQuery.iSort.inFrontOf = cur; - jQuery(cur).before(jQuery.iSort.helper.get(0)); - } else if(!cur && (jQuery.iSort.inFrontOf != null || jQuery.iSort.helper.get(0).parentNode != e) ) { - jQuery.iSort.inFrontOf = null; - jQuery(e).append(jQuery.iSort.helper.get(0)); - } - jQuery.iSort.helper.get(0).style.display = 'block'; - }, - - measure : function (e) - { - if (jQuery.iDrag.dragged == null) { - return; - } - e.dropCfg.el.each ( - function () - { - this.pos = jQuery.extend( - jQuery.iUtil.getSizeLite(this), - jQuery.iUtil.getPositionLite(this) - ); - } - ); - }, - - serialize : function(s) - { - var i; - var h = ''; - var o = {}; - if (s) { - if (jQuery.iSort.collected[s] ) { - o[s] = []; - jQuery('#' + s + ' .' + jQuery.iSort.collected[s]).each( - function () - { - if (h.length > 0) { - h += '&'; - } - h += s + '[]=' + jQuery.attr(this,'id'); - o[s][o[s].length] = jQuery.attr(this,'id'); - } - ); - } else { - for ( a in s) { - if (jQuery.iSort.collected[s[a]] ) { - o[s[a]] = []; - jQuery('#' + s[a] + ' .' + jQuery.iSort.collected[s[a]]).each( - function () - { - if (h.length > 0) { - h += '&'; - } - h += s[a] + '[]=' + jQuery.attr(this,'id'); - o[s[a]][o[s[a]].length] = jQuery.attr(this,'id'); - } - ); - } - } - } - } else { - for ( i in jQuery.iSort.collected){ - o[i] = []; - jQuery('#' + i + ' .' + jQuery.iSort.collected[i]).each( - function () - { - if (h.length > 0) { - h += '&'; - } - h += i + '[]=' + jQuery.attr(this,'id'); - o[i][o[i].length] = jQuery.attr(this,'id'); - } - ); - } - } - return {hash:h, o:o}; - }, - - addItem : function (e) - { - if ( !e.childNodes ) { - return; - } - return this.each( - function () - { - if(!this.sortCfg || !jQuery(e).is('.' + this.sortCfg.accept)) - jQuery(e).addClass(this.sortCfg.accept); - jQuery(e).Draggable(this.sortCfg.dragCfg); - } - ); - }, - - destroy: function() - { - return this.each( - function() - { - jQuery('.' + this.sortCfg.accept).DraggableDestroy(); - jQuery(this).DroppableDestroy(); - this.sortCfg = null; - this.isSortable = null; - } - ); - }, - - build : function (o) - { - if (o.accept && jQuery.iUtil && jQuery.iDrag && jQuery.iDrop) { - if (!jQuery.iSort.helper) { - jQuery('body',document).append('
     
    '); - jQuery.iSort.helper = jQuery('#sortHelper'); - jQuery.iSort.helper.get(0).style.display = 'none'; - } - this.Droppable( - { - accept : o.accept, - activeclass : o.activeclass ? o.activeclass : false, - hoverclass : o.hoverclass ? o.hoverclass : false, - helperclass : o.helperclass ? o.helperclass : false, - /*onDrop: function (drag, fx) - { - jQuery.iSort.helper.after(drag); - if (fx > 0) { - jQuery(drag).fadeIn(fx); - } - },*/ - onHover: o.onHover||o.onhover, - onOut: o.onOut||o.onout, - sortable : true, - onChange : o.onChange||o.onchange, - fx : o.fx ? o.fx : false, - ghosting : o.ghosting ? true : false, - tolerance: o.tolerance ? o.tolerance : 'intersect' - } - ); - - return this.each( - function() - { - var dragCfg = { - revert : o.revert? true : false, - zindex : 3000, - opacity : o.opacity ? parseFloat(o.opacity) : false, - hpc : o.helperclass ? o.helperclass : false, - fx : o.fx ? o.fx : false, - so : true, - ghosting : o.ghosting ? true : false, - handle: o.handle ? o.handle : null, - containment: o.containment ? o.containment : null, - onStart : o.onStart && o.onStart.constructor == Function ? o.onStart : false, - onDrag : o.onDrag && o.onDrag.constructor == Function ? o.onDrag : false, - onStop : o.onStop && o.onStop.constructor == Function ? o.onStop : false, - axis : /vertically|horizontally/.test(o.axis) ? o.axis : false, - snapDistance : o.snapDistance ? parseInt(o.snapDistance)||0 : false, - cursorAt: o.cursorAt ? o.cursorAt : false - }; - jQuery('.' + o.accept, this).Draggable(dragCfg); - this.isSortable = true; - this.sortCfg = { - accept : o.accept, - revert : o.revert? true : false, - zindex : 3000, - opacity : o.opacity ? parseFloat(o.opacity) : false, - hpc : o.helperclass ? o.helperclass : false, - fx : o.fx ? o.fx : false, - so : true, - ghosting : o.ghosting ? true : false, - handle: o.handle ? o.handle : null, - containment: o.containment ? o.containment : null, - floats: o.floats ? true : false, - dragCfg : dragCfg - } - } - ); - } - } -}; - -jQuery.fn.extend( - { - Sortable : jQuery.iSort.build, - /** - * A new item can be added to a sortable by adding it to the DOM and then adding it via - * SortableAddItem. - * - * @name SortableAddItem - * @param DOMElement elem A DOM Element to add to the sortable list - * @example $('#sortable1').append('
  • new item
  • ') - * .SortableAddItem($("#new_item")[0]) - * @type jQuery - * @cat Plugins/Interface - */ - SortableAddItem : jQuery.iSort.addItem, - /** - * Destroy a sortable - * - * @name SortableDestroy - * @example $('#sortable1').SortableDestroy(); - * @type jQuery - * @cat Plugins/Interface - */ - SortableDestroy: jQuery.iSort.destroy - } -); - -/** - * This function returns the hash and an object (can be used as arguments for $.post) for every - * sortable in the page or specific sortables. The hash is based on the 'id' attributes of - * container and items. - * - * @params String sortable The id of the sortable to serialize - * @name $.SortSerialize - * @type String - * @cat Plugins/Interface - */ - +/** + * Interface Elements for jQuery + * Sortables + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Allows you to resort elements within a container by dragging and dropping. Requires + * the Draggables and Droppables plugins. The container and each item inside the container + * must have an ID. Sortables are especially useful for lists. + * + * @see Plugins/Interface/Draggable + * @see Plugins/Interface/Droppable + * @author Stefan Petre + * @name Sortable + * @cat Plugins/Interface + * @param Hash options A hash of options + * @option String accept The class name for items inside the container (mandatory) + * @option String activeclass The class for the container when one of its items has started to move + * @option String hoverclass The class for the container when an acceptable item is inside it + * @option String helperclass The helper is used to point to the place where the item will be + * moved. This is the class for the helper. + * @option Float opacity Opacity (between 0 and 1) of the item while being dragged + * @option Boolean ghosting When true, the sortable is ghosted when dragged + * @option String tolerance Either 'pointer', 'intersect', or 'fit'. See Droppable for more details + * @option Boolean fit When true, sortable must be inside the container in order to drop + * @option Integer fx Duration for the effect applied to the sortable + * @option Function onchange Callback that gets called when the sortable list changed. It takes + * an array of serialized elements + * @option Boolean floats True if the sorted elements are floated + * @option String containment Use 'parent' to constrain the drag to the container + * @option String axis Use 'horizontally' or 'vertically' to constrain dragging to an axis + * @option String handle The jQuery selector that indicates the draggable handle + * @option DOMElement handle The node that indicates the draggable handle + * @option Function onHover Callback that is called when an acceptable item is dragged over the + * container. Gets the hovering DOMElement as a parameter + * @option Function onOut Callback that is called when an acceptable item leaves the container. + * Gets the leaving DOMElement as a parameter + * @option Object cursorAt The mouse cursor will be moved to the offset on the dragged item + * indicated by the object, which takes "top", "bottom", "left", and + * "right" keys + * @option Function onStart Callback function triggered when the dragging starts + * @option Function onStop Callback function triggered when the dragging stops + * @example $('ul').Sortable( + * { + * accept : 'sortableitem', + * activeclass : 'sortableactive', + * hoverclass : 'sortablehover', + * helperclass : 'sorthelper', + * opacity: 0.5, + * fit : false + * } + * ) + */ + +jQuery.iSort = { + changed : [], + collected : {}, + helper : false, + inFrontOf: null, + + start : function () + { + if (jQuery.iDrag.dragged == null) { + return; + } + var shs, margins,c, cs; + + jQuery.iSort.helper.get(0).className = jQuery.iDrag.dragged.dragCfg.hpc; + shs = jQuery.iSort.helper.get(0).style; + shs.display = 'block'; + jQuery.iSort.helper.oC = jQuery.extend( + jQuery.iUtil.getPosition(jQuery.iSort.helper.get(0)), + jQuery.iUtil.getSize(jQuery.iSort.helper.get(0)) + ); + + shs.width = jQuery.iDrag.dragged.dragCfg.oC.wb + 'px'; + shs.height = jQuery.iDrag.dragged.dragCfg.oC.hb + 'px'; + //shs.cssFloat = jQuery.iDrag.dragged.dragCfg.oF; + margins = jQuery.iUtil.getMargins(jQuery.iDrag.dragged); + shs.marginTop = margins.t; + shs.marginRight = margins.r; + shs.marginBottom = margins.b; + shs.marginLeft = margins.l; + if (jQuery.iDrag.dragged.dragCfg.ghosting == true) { + c = jQuery.iDrag.dragged.cloneNode(true); + cs = c.style; + cs.marginTop = '0px'; + cs.marginRight = '0px'; + cs.marginBottom = '0px'; + cs.marginLeft = '0px'; + cs.display = 'block'; + jQuery.iSort.helper.empty().append(c); + } + jQuery(jQuery.iDrag.dragged).after(jQuery.iSort.helper.get(0)); + jQuery.iDrag.dragged.style.display = 'none'; + }, + + check : function (e) + { + if (!e.dragCfg.so && jQuery.iDrop.overzone.sortable) { + if (e.dragCfg.onStop) + e.dragCfg.onStop.apply(dragged); + jQuery(e).css('position', e.dragCfg.initialPosition || e.dragCfg.oP); + jQuery(e).DraggableDestroy(); + jQuery(jQuery.iDrop.overzone).SortableAddItem(e); + } + jQuery.iSort.helper.removeClass(e.dragCfg.hpc).html(' '); + jQuery.iSort.inFrontOf = null; + var shs = jQuery.iSort.helper.get(0).style; + shs.display = 'none'; + jQuery.iSort.helper.after(e); + if (e.dragCfg.fx > 0) { + jQuery(e).fadeIn(e.dragCfg.fx); + } + jQuery('body').append(jQuery.iSort.helper.get(0)); + var ts = []; + var fnc = false; + for(var i=0; i 0) { + fnc(ts); + } + }, + + checkhover : function(e,o) + { + if (!jQuery.iDrag.dragged) + return; + var cur = false; + var i = 0; + if ( e.dropCfg.el.size() > 0) { + for (i = e.dropCfg.el.size(); i >0; i--) { + if (e.dropCfg.el.get(i-1) != jQuery.iDrag.dragged) { + if (!e.sortCfg.floats) { + if ( + (e.dropCfg.el.get(i-1).pos.y + e.dropCfg.el.get(i-1).pos.hb/2) > jQuery.iDrag.dragged.dragCfg.ny + ) { + cur = e.dropCfg.el.get(i-1); + } else { + break; + } + } else { + if ( + (e.dropCfg.el.get(i-1).pos.x + e.dropCfg.el.get(i-1).pos.wb/2) > jQuery.iDrag.dragged.dragCfg.nx && + (e.dropCfg.el.get(i-1).pos.y + e.dropCfg.el.get(i-1).pos.hb/2) > jQuery.iDrag.dragged.dragCfg.ny + ) { + cur = e.dropCfg.el.get(i-1); + } + } + } + } + } + //helpos = jQuery.iUtil.getPos(jQuery.iSort.helper.get(0)); + if (cur && jQuery.iSort.inFrontOf != cur) { + jQuery.iSort.inFrontOf = cur; + jQuery(cur).before(jQuery.iSort.helper.get(0)); + } else if(!cur && (jQuery.iSort.inFrontOf != null || jQuery.iSort.helper.get(0).parentNode != e) ) { + jQuery.iSort.inFrontOf = null; + jQuery(e).append(jQuery.iSort.helper.get(0)); + } + jQuery.iSort.helper.get(0).style.display = 'block'; + }, + + measure : function (e) + { + if (jQuery.iDrag.dragged == null) { + return; + } + e.dropCfg.el.each ( + function () + { + this.pos = jQuery.extend( + jQuery.iUtil.getSizeLite(this), + jQuery.iUtil.getPositionLite(this) + ); + } + ); + }, + + serialize : function(s) + { + var i; + var h = ''; + var o = {}; + if (s) { + if (jQuery.iSort.collected[s] ) { + o[s] = []; + jQuery('#' + s + ' .' + jQuery.iSort.collected[s]).each( + function () + { + if (h.length > 0) { + h += '&'; + } + h += s + '[]=' + jQuery.attr(this,'id'); + o[s][o[s].length] = jQuery.attr(this,'id'); + } + ); + } else { + for ( a in s) { + if (jQuery.iSort.collected[s[a]] ) { + o[s[a]] = []; + jQuery('#' + s[a] + ' .' + jQuery.iSort.collected[s[a]]).each( + function () + { + if (h.length > 0) { + h += '&'; + } + h += s[a] + '[]=' + jQuery.attr(this,'id'); + o[s[a]][o[s[a]].length] = jQuery.attr(this,'id'); + } + ); + } + } + } + } else { + for ( i in jQuery.iSort.collected){ + o[i] = []; + jQuery('#' + i + ' .' + jQuery.iSort.collected[i]).each( + function () + { + if (h.length > 0) { + h += '&'; + } + h += i + '[]=' + jQuery.attr(this,'id'); + o[i][o[i].length] = jQuery.attr(this,'id'); + } + ); + } + } + return {hash:h, o:o}; + }, + + addItem : function (e) + { + if ( !e.childNodes ) { + return; + } + return this.each( + function () + { + if(!this.sortCfg || !jQuery(e).is('.' + this.sortCfg.accept)) + jQuery(e).addClass(this.sortCfg.accept); + jQuery(e).Draggable(this.sortCfg.dragCfg); + } + ); + }, + + destroy: function() + { + return this.each( + function() + { + jQuery('.' + this.sortCfg.accept).DraggableDestroy(); + jQuery(this).DroppableDestroy(); + this.sortCfg = null; + this.isSortable = null; + } + ); + }, + + build : function (o) + { + if (o.accept && jQuery.iUtil && jQuery.iDrag && jQuery.iDrop) { + if (!jQuery.iSort.helper) { + jQuery('body',document).append('
     
    '); + jQuery.iSort.helper = jQuery('#sortHelper'); + jQuery.iSort.helper.get(0).style.display = 'none'; + } + this.Droppable( + { + accept : o.accept, + activeclass : o.activeclass ? o.activeclass : false, + hoverclass : o.hoverclass ? o.hoverclass : false, + helperclass : o.helperclass ? o.helperclass : false, + /*onDrop: function (drag, fx) + { + jQuery.iSort.helper.after(drag); + if (fx > 0) { + jQuery(drag).fadeIn(fx); + } + },*/ + onHover: o.onHover||o.onhover, + onOut: o.onOut||o.onout, + sortable : true, + onChange : o.onChange||o.onchange, + fx : o.fx ? o.fx : false, + ghosting : o.ghosting ? true : false, + tolerance: o.tolerance ? o.tolerance : 'intersect' + } + ); + + return this.each( + function() + { + var dragCfg = { + revert : o.revert? true : false, + zindex : 3000, + opacity : o.opacity ? parseFloat(o.opacity) : false, + hpc : o.helperclass ? o.helperclass : false, + fx : o.fx ? o.fx : false, + so : true, + ghosting : o.ghosting ? true : false, + handle: o.handle ? o.handle : null, + containment: o.containment ? o.containment : null, + onStart : o.onStart && o.onStart.constructor == Function ? o.onStart : false, + onDrag : o.onDrag && o.onDrag.constructor == Function ? o.onDrag : false, + onStop : o.onStop && o.onStop.constructor == Function ? o.onStop : false, + axis : /vertically|horizontally/.test(o.axis) ? o.axis : false, + snapDistance : o.snapDistance ? parseInt(o.snapDistance)||0 : false, + cursorAt: o.cursorAt ? o.cursorAt : false + }; + jQuery('.' + o.accept, this).Draggable(dragCfg); + this.isSortable = true; + this.sortCfg = { + accept : o.accept, + revert : o.revert? true : false, + zindex : 3000, + opacity : o.opacity ? parseFloat(o.opacity) : false, + hpc : o.helperclass ? o.helperclass : false, + fx : o.fx ? o.fx : false, + so : true, + ghosting : o.ghosting ? true : false, + handle: o.handle ? o.handle : null, + containment: o.containment ? o.containment : null, + floats: o.floats ? true : false, + dragCfg : dragCfg + } + } + ); + } + } +}; + +jQuery.fn.extend( + { + Sortable : jQuery.iSort.build, + /** + * A new item can be added to a sortable by adding it to the DOM and then adding it via + * SortableAddItem. + * + * @name SortableAddItem + * @param DOMElement elem A DOM Element to add to the sortable list + * @example $('#sortable1').append('
  • new item
  • ') + * .SortableAddItem($("#new_item")[0]) + * @type jQuery + * @cat Plugins/Interface + */ + SortableAddItem : jQuery.iSort.addItem, + /** + * Destroy a sortable + * + * @name SortableDestroy + * @example $('#sortable1').SortableDestroy(); + * @type jQuery + * @cat Plugins/Interface + */ + SortableDestroy: jQuery.iSort.destroy + } +); + +/** + * This function returns the hash and an object (can be used as arguments for $.post) for every + * sortable in the page or specific sortables. The hash is based on the 'id' attributes of + * container and items. + * + * @params String sortable The id of the sortable to serialize + * @name $.SortSerialize + * @type String + * @cat Plugins/Interface + */ + jQuery.SortSerialize = jQuery.iSort.serialize; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/itooltip.js --- a/web/res/metadataplayer/test/interface 1.2/source/itooltip.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/itooltip.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,184 +1,184 @@ -/** - * Interface Elements for jQuery - * Tooltip - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - */ - -/** - * Creates tooltips using title attribute - * - * - * - * @name ToolTip - * @description Creates tooltips using title attribute - * @param Hash hash A hash of parameters - * @option String position tooltip's position ['top'|'left'|'right'|'bottom'|'mouse'] - * @options Function onShow (optional) A function to be executed whenever the tooltip is displayed - * @options Function onHide (optional) A function to be executed whenever the tooltip is hidden - * - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ -jQuery.iTooltip = { - current : null, - focused : false, - oldTitle : null, - focus : function(e) - { - jQuery.iTooltip.focused = true; - jQuery.iTooltip.show(e, this, true); - }, - hidefocused : function(e) - { - if (jQuery.iTooltip.current != this) - return ; - jQuery.iTooltip.focused = false; - jQuery.iTooltip.hide(e, this); - }, - show : function(e, el, focused) - { - if (jQuery.iTooltip.current != null) - return ; - if (!el) { - el = this; - } - - jQuery.iTooltip.current = el; - pos = jQuery.extend( - jQuery.iUtil.getPosition(el), - jQuery.iUtil.getSize(el) - ); - jEl = jQuery(el); - title = jEl.attr('title'); - href = jEl.attr('href'); - if (title) { - jQuery.iTooltip.oldTitle = title; - jEl.attr('title',''); - jQuery('#tooltipTitle').html(title); - if (href) - jQuery('#tooltipURL').html(href.replace('http://', '')); - else - jQuery('#tooltipURL').html(''); - helper = jQuery('#tooltipHelper'); - if(el.tooltipCFG.className){ - helper.get(0).className = el.tooltipCFG.className; - } else { - helper.get(0).className = ''; - } - helperSize = jQuery.iUtil.getSize(helper.get(0)); - filteredPosition = focused && el.tooltipCFG.position == 'mouse' ? 'bottom' : el.tooltipCFG.position; - - switch (filteredPosition) { - case 'top': - ny = pos.y - helperSize.hb; - nx = pos.x; - break; - case 'left' : - ny = pos.y; - nx = pos.x - helperSize.wb; - break; - case 'right' : - ny = pos.y; - nx = pos.x + pos.wb; - break; - case 'mouse' : - jQuery('body').bind('mousemove', jQuery.iTooltip.mousemove); - pointer = jQuery.iUtil.getPointer(e); - ny = pointer.y + 15; - nx = pointer.x + 15; - break; - default : - ny = pos.y + pos.hb; - nx = pos.x; - break; - } - helper.css( - { - top : ny + 'px', - left : nx + 'px' - } - ); - if (el.tooltipCFG.delay == false) { - helper.show(); - } else { - helper.fadeIn(el.tooltipCFG.delay); - } - if (el.tooltipCFG.onShow) - el.tooltipCFG.onShow.apply(el); - jEl.bind('mouseout',jQuery.iTooltip.hide) - .bind('blur',jQuery.iTooltip.hidefocused); - } - }, - mousemove : function(e) - { - if (jQuery.iTooltip.current == null) { - jQuery('body').unbind('mousemove', jQuery.iTooltip.mousemove); - return; - } - pointer = jQuery.iUtil.getPointer(e); - jQuery('#tooltipHelper').css( - { - top : pointer.y + 15 + 'px', - left : pointer.x + 15 + 'px' - } - ); - }, - hide : function(e, el) - { - if (!el) { - el = this; - } - if (jQuery.iTooltip.focused != true && jQuery.iTooltip.current == el) { - jQuery.iTooltip.current = null; - jQuery('#tooltipHelper').fadeOut(1); - jQuery(el) - .attr('title',jQuery.iTooltip.oldTitle) - .unbind('mouseout', jQuery.iTooltip.hide) - .unbind('blur', jQuery.iTooltip.hidefocused); - if (el.tooltipCFG.onHide) - el.tooltipCFG.onHide.apply(el); - jQuery.iTooltip.oldTitle = null; - } - }, - build : function(options) - { - if (!jQuery.iTooltip.helper) - { - jQuery('body').append('
    '); - jQuery('#tooltipHelper').css( - { - position: 'absolute', - zIndex: 3000, - display: 'none' - } - ); - jQuery.iTooltip.helper = true; - } - return this.each( - function(){ - if(jQuery.attr(this,'title')) { - this.tooltipCFG = { - position : /top|bottom|left|right|mouse/.test(options.position) ? options.position : 'bottom', - className : options.className ? options.className : false, - delay : options.delay ? options.delay : false, - onShow : options.onShow && options.onShow.constructor == Function ? options.onShow : false, - onHide : options.onHide && options.onHide.constructor == Function ? options.onHide : false - }; - var el = jQuery(this); - el.bind('mouseover',jQuery.iTooltip.show); - el.bind('focus',jQuery.iTooltip.focus); - } - } - ); - } -}; - +/** + * Interface Elements for jQuery + * Tooltip + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + */ + +/** + * Creates tooltips using title attribute + * + * + * + * @name ToolTip + * @description Creates tooltips using title attribute + * @param Hash hash A hash of parameters + * @option String position tooltip's position ['top'|'left'|'right'|'bottom'|'mouse'] + * @options Function onShow (optional) A function to be executed whenever the tooltip is displayed + * @options Function onHide (optional) A function to be executed whenever the tooltip is hidden + * + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ +jQuery.iTooltip = { + current : null, + focused : false, + oldTitle : null, + focus : function(e) + { + jQuery.iTooltip.focused = true; + jQuery.iTooltip.show(e, this, true); + }, + hidefocused : function(e) + { + if (jQuery.iTooltip.current != this) + return ; + jQuery.iTooltip.focused = false; + jQuery.iTooltip.hide(e, this); + }, + show : function(e, el, focused) + { + if (jQuery.iTooltip.current != null) + return ; + if (!el) { + el = this; + } + + jQuery.iTooltip.current = el; + pos = jQuery.extend( + jQuery.iUtil.getPosition(el), + jQuery.iUtil.getSize(el) + ); + jEl = jQuery(el); + title = jEl.attr('title'); + href = jEl.attr('href'); + if (title) { + jQuery.iTooltip.oldTitle = title; + jEl.attr('title',''); + jQuery('#tooltipTitle').html(title); + if (href) + jQuery('#tooltipURL').html(href.replace('http://', '')); + else + jQuery('#tooltipURL').html(''); + helper = jQuery('#tooltipHelper'); + if(el.tooltipCFG.className){ + helper.get(0).className = el.tooltipCFG.className; + } else { + helper.get(0).className = ''; + } + helperSize = jQuery.iUtil.getSize(helper.get(0)); + filteredPosition = focused && el.tooltipCFG.position == 'mouse' ? 'bottom' : el.tooltipCFG.position; + + switch (filteredPosition) { + case 'top': + ny = pos.y - helperSize.hb; + nx = pos.x; + break; + case 'left' : + ny = pos.y; + nx = pos.x - helperSize.wb; + break; + case 'right' : + ny = pos.y; + nx = pos.x + pos.wb; + break; + case 'mouse' : + jQuery('body').bind('mousemove', jQuery.iTooltip.mousemove); + pointer = jQuery.iUtil.getPointer(e); + ny = pointer.y + 15; + nx = pointer.x + 15; + break; + default : + ny = pos.y + pos.hb; + nx = pos.x; + break; + } + helper.css( + { + top : ny + 'px', + left : nx + 'px' + } + ); + if (el.tooltipCFG.delay == false) { + helper.show(); + } else { + helper.fadeIn(el.tooltipCFG.delay); + } + if (el.tooltipCFG.onShow) + el.tooltipCFG.onShow.apply(el); + jEl.bind('mouseout',jQuery.iTooltip.hide) + .bind('blur',jQuery.iTooltip.hidefocused); + } + }, + mousemove : function(e) + { + if (jQuery.iTooltip.current == null) { + jQuery('body').unbind('mousemove', jQuery.iTooltip.mousemove); + return; + } + pointer = jQuery.iUtil.getPointer(e); + jQuery('#tooltipHelper').css( + { + top : pointer.y + 15 + 'px', + left : pointer.x + 15 + 'px' + } + ); + }, + hide : function(e, el) + { + if (!el) { + el = this; + } + if (jQuery.iTooltip.focused != true && jQuery.iTooltip.current == el) { + jQuery.iTooltip.current = null; + jQuery('#tooltipHelper').fadeOut(1); + jQuery(el) + .attr('title',jQuery.iTooltip.oldTitle) + .unbind('mouseout', jQuery.iTooltip.hide) + .unbind('blur', jQuery.iTooltip.hidefocused); + if (el.tooltipCFG.onHide) + el.tooltipCFG.onHide.apply(el); + jQuery.iTooltip.oldTitle = null; + } + }, + build : function(options) + { + if (!jQuery.iTooltip.helper) + { + jQuery('body').append('
    '); + jQuery('#tooltipHelper').css( + { + position: 'absolute', + zIndex: 3000, + display: 'none' + } + ); + jQuery.iTooltip.helper = true; + } + return this.each( + function(){ + if(jQuery.attr(this,'title')) { + this.tooltipCFG = { + position : /top|bottom|left|right|mouse/.test(options.position) ? options.position : 'bottom', + className : options.className ? options.className : false, + delay : options.delay ? options.delay : false, + onShow : options.onShow && options.onShow.constructor == Function ? options.onShow : false, + onHide : options.onHide && options.onHide.constructor == Function ? options.onHide : false + }; + var el = jQuery(this); + el.bind('mouseover',jQuery.iTooltip.show); + el.bind('focus',jQuery.iTooltip.focus); + } + } + ); + } +}; + jQuery.fn.ToolTip = jQuery.iTooltip.build; \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/interface 1.2/source/ittabs.js --- a/web/res/metadataplayer/test/interface 1.2/source/ittabs.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/interface 1.2/source/ittabs.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,92 +1,92 @@ -/** - * Interface Elements for jQuery - * TTabs - * - * http://interface.eyecon.ro - * - * Copyright (c) 2006 Stefan Petre - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * - * - */ - -jQuery.iTTabs = -{ - doTab : function(e) - { - pressedKey = e.charCode || e.keyCode || -1; - if (pressedKey == 9) { - if (window.event) { - window.event.cancelBubble = true; - window.event.returnValue = false; - } else { - e.preventDefault(); - e.stopPropagation(); - } - if (this.createTextRange) { - document.selection.createRange().text="\t"; - this.onblur = function() { this.focus(); this.onblur = null; }; - } else if (this.setSelectionRange) { - start = this.selectionStart; - end = this.selectionEnd; - this.value = this.value.substring(0, start) + "\t" + this.value.substr(end); - this.setSelectionRange(start + 1, start + 1); - this.focus(); - } - return false; - } - }, - destroy : function() - { - return this.each( - function() - { - if (this.hasTabsEnabled && this.hasTabsEnabled == true) { - jQuery(this).unbind('keydown', jQuery.iTTabs.doTab); - this.hasTabsEnabled = false; - } - } - ); - }, - build : function() - { - return this.each( - function() - { - if (this.tagName == 'TEXTAREA' && (!this.hasTabsEnabled || this.hasTabsEnabled == false)) { - jQuery(this).bind('keydown', jQuery.iTTabs.doTab); - this.hasTabsEnabled = true; - } - } - ); - } -}; - -jQuery.fn.extend ( - { - /** - * Enable tabs in textareas - * - * @name EnableTabs - * @description Enable tabs in textareas - * - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - EnableTabs : jQuery.iTTabs.build, - /** - * Disable tabs in textareas - * - * @name DisableTabs - * @description Disable tabs in textareas - * - * @type jQuery - * @cat Plugins/Interface - * @author Stefan Petre - */ - DisableTabs : jQuery.iTTabs.destroy - } +/** + * Interface Elements for jQuery + * TTabs + * + * http://interface.eyecon.ro + * + * Copyright (c) 2006 Stefan Petre + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * + * + */ + +jQuery.iTTabs = +{ + doTab : function(e) + { + pressedKey = e.charCode || e.keyCode || -1; + if (pressedKey == 9) { + if (window.event) { + window.event.cancelBubble = true; + window.event.returnValue = false; + } else { + e.preventDefault(); + e.stopPropagation(); + } + if (this.createTextRange) { + document.selection.createRange().text="\t"; + this.onblur = function() { this.focus(); this.onblur = null; }; + } else if (this.setSelectionRange) { + start = this.selectionStart; + end = this.selectionEnd; + this.value = this.value.substring(0, start) + "\t" + this.value.substr(end); + this.setSelectionRange(start + 1, start + 1); + this.focus(); + } + return false; + } + }, + destroy : function() + { + return this.each( + function() + { + if (this.hasTabsEnabled && this.hasTabsEnabled == true) { + jQuery(this).unbind('keydown', jQuery.iTTabs.doTab); + this.hasTabsEnabled = false; + } + } + ); + }, + build : function() + { + return this.each( + function() + { + if (this.tagName == 'TEXTAREA' && (!this.hasTabsEnabled || this.hasTabsEnabled == false)) { + jQuery(this).bind('keydown', jQuery.iTTabs.doTab); + this.hasTabsEnabled = true; + } + } + ); + } +}; + +jQuery.fn.extend ( + { + /** + * Enable tabs in textareas + * + * @name EnableTabs + * @description Enable tabs in textareas + * + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + EnableTabs : jQuery.iTTabs.build, + /** + * Disable tabs in textareas + * + * @name DisableTabs + * @description Disable tabs in textareas + * + * @type jQuery + * @cat Plugins/Interface + * @author Stefan Petre + */ + DisableTabs : jQuery.iTTabs.destroy + } ); \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/mouse_interaction_overlay.html --- a/web/res/metadataplayer/test/mouse_interaction_overlay.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/mouse_interaction_overlay.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,39 +1,39 @@ - - - -Example raphael - - - - -test - - - - - -test - - - + + + +Example raphael + + + + +test + + + + + +test + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/player_nomal.html --- a/web/res/metadataplayer/test/player_nomal.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/player_nomal.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,40 +1,40 @@ - - - -Example raphael - - - - - -
    - - - -
    - -
    - -
    - - - - + + + +Example raphael + + + + + +
    + + + +
    + +
    + +
    + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/raphael-min.js --- a/web/res/metadataplayer/test/raphael-min.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/raphael-min.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,7 +1,7 @@ -/* - * Raphael 1.5.2 - JavaScript Vector Library - * - * Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com) - * Licensed under the MIT (http://raphaeljs.com/license.html) license. - */ +/* + * Raphael 1.5.2 - JavaScript Vector Library + * + * Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com) + * Licensed under the MIT (http://raphaeljs.com/license.html) license. + */ (function(){function a(){if(a.is(arguments[0],G)){var b=arguments[0],d=bV[m](a,b.splice(0,3+a.is(b[0],E))),e=d.set();for(var g=0,h=b[w];g";bg=bf.firstChild;bg.style.behavior="url(#default#VML)";if(!(bg&&typeof bg.adj=="object"))return a.type=null;bf=null}a.svg=!(a.vml=a.type=="VML");j[e]=a[e];k=j[e];a._id=0;a._oid=0;a.fn={};a.is=function(a,b){b=x.call(b);if(b=="finite")return!O[f](+a);return b=="null"&&a===null||b==typeof a||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||J.call(a).slice(8,-1).toLowerCase()==b};a.angle=function(b,c,d,e,f,g){{if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return((h<0)*180+y.atan(-i/-h)*180/D+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)}};a.rad=function(a){return a%360*D/180};a.deg=function(a){return a*180/D%360};a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,G)){var e=b.length;while(e--)if(B(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};function bh(){var a=[],b=0;for(;b<32;b++)a[b]=(~(~(y.random()*16)))[H](16);a[12]=4;a[16]=(a[16]&3|8)[H](16);return"r-"+a[v]("")}a.setWindow=function(a){h=a;g=h.document};var bi=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write("");e.close();d=e.body}catch(a){d=createPopup().document.body}var f=d.createTextRange();bi=bm(function(a){try{d.style.color=r(a)[Y](c,p);var b=f.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b[H](16)).slice(-6)}catch(a){return"none"}})}else{var h=g.createElement("i");h.title="Raphaël Colour Picker";h.style.display="none";g.body[l](h);bi=bm(function(a){h.style.color=a;return g.defaultView.getComputedStyle(h,p).getPropertyValue("color")})}return bi(b)},bj=function(){return"hsb("+[this.h,this.s,this.b]+")"},bk=function(){return"hsl("+[this.h,this.s,this.l]+")"},bl=function(){return this.hex};a.hsb2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b){d=b.b;c=b.s;b=b.h;e=b.o}return a.hsl2rgb(b,c,d/2,e)};a.hsl2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b){d=b.l;c=b.s;b=b.h}if(b>1||c>1||d>1){b/=360;c/=100;d/=100}var f={},g=["r","g","b"],h,i,j,k,l,m;if(c){d<0.5?h=d*(1+c):h=d+c-d*c;i=2*d-h;for(var n=0;n<3;n++){j=b+1/3*-(n-1);j<0&&j++;j>1&&j--;j*6<1?f[g[n]]=i+(h-i)*6*j:j*2<1?f[g[n]]=h:j*3<2?f[g[n]]=i+(h-i)*(2/3-j)*6:f[g[n]]=i}}else f={r:d,g:d,b:d};f.r*=255;f.g*=255;f.b*=255;f.hex="#"+(16777216|f.b|f.g<<8|f.r<<16).toString(16).slice(1);a.is(e,"finite")&&(f.opacity=e);f.toString=bl;return f};a.rgb2hsb=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=f;{if(g==f)return{h:0,s:0,b:f,toString:bj};var k=f-g;i=k/f;b==f?h=(c-d)/k:c==f?h=2+(d-b)/k:h=4+(b-c)/k;h/=6;h<0&&h++;h>1&&h--}return{h:h,s:i,b:j,toString:bj}};a.rgb2hsl=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=(f+g)/2,k;if(g==f)k={h:0,s:0,l:j};else{var l=f-g;i=j<0.5?l/(f+g):l/(2-f-g);b==f?h=(c-d)/l:c==f?h=2+(d-b)/l:h=4+(b-c)/l;h/=6;h<0&&h++;h>1&&h--;k={h:h,s:i,l:j}}k.toString=bk;return k};a._path2string=function(){return this.join(",")[Y](ba,"$1")};function bm(a,b,c){function d(){var g=Array[e].slice.call(arguments,0),h=g[v]("►"),i=d.cache=d.cache||{},j=d.count=d.count||[];if(i[f](h))return c?c(i[h]):i[h];j[w]>=1000&&delete i[j.shift()];j[L](h);i[h]=a[m](b,g);return c?c(i[h]):i[h]}return d}a.getRGB=bm(function(b){if(!b||!(!((b=r(b)).indexOf("-")+1)))return{r:-1,g:-1,b:-1,hex:"none",error:1};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none"};!(_[f](b.toLowerCase().substring(0,2))||b.charAt()=="#")&&(b=bi(b));var c,d,e,g,h,i,j,k=b.match(N);if(k){if(k[2]){g=T(k[2].substring(5),16);e=T(k[2].substring(3,5),16);d=T(k[2].substring(1,3),16)}if(k[3]){g=T((i=k[3].charAt(3))+i,16);e=T((i=k[3].charAt(2))+i,16);d=T((i=k[3].charAt(1))+i,16)}if(k[4]){j=k[4][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);k[1].toLowerCase().slice(0,4)=="rgba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100)}if(k[5]){j=k[5][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,g,h)}if(k[6]){j=k[6][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsla"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,g,h)}k={r:d,g:e,b:g};k.hex="#"+(16777216|g|e<<8|d<<16).toString(16).slice(1);a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1}},a);a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=0.075;if(b.h>1){b.h=0;b.s-=0.2;b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})}return c.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=bm(function(b){if(!b)return null;var c={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},d=[];a.is(b,G)&&a.is(b[0],G)&&(d=bo(b));d[w]||r(b)[Y](bb,function(a,b,e){var f=[],g=x.call(b);e[Y](bc,function(a,b){b&&f[L](+b)});if(g=="m"&&f[w]>2){d[L]([b][n](f.splice(0,2)));g="l";b=b=="m"?"l":"L"}while(f[w]>=c[g]){d[L]([b][n](f.splice(0,c[g])));if(!c[g])break}});d[H]=a._path2string;return d});a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,l=C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h,m=a+2*i*(c-a)+i*i*(e-2*c+a),n=b+2*i*(d-b)+i*i*(f-2*d+b),o=c+2*i*(e-c)+i*i*(g-2*e+c),p=d+2*i*(f-d)+i*i*(h-2*f+d),q=(1-i)*a+i*c,r=(1-i)*b+i*d,s=(1-i)*e+i*g,t=(1-i)*f+i*h,u=90-y.atan((m-o)/(n-p))*180/D;(m>o||n1){x=y.sqrt(x);c=x*c;d=x*d}var z=c*c,A=d*d,C=(f==g?-1:1)*y.sqrt(B((z*A-z*u*u-A*t*t)/(z*u*u+A*t*t))),E=C*c*u/d+(a+h)/2,F=C*-d*t/c+(b+i)/2,G=y.asin(((b-F)/d).toFixed(9)),H=y.asin(((i-F)/d).toFixed(9));G=aH&&(G=G-D*2);!g&&H>G&&(H=H-D*2)}var I=H-G;if(B(I)>k){var J=H,K=h,L=i;H=G+k*(g&&H>G?1:-1);h=E+c*y.cos(H);i=F+d*y.sin(H);m=bt(h,i,c,d,e,0,g,K,L,[H,J,E,F])}I=H-G;var M=y.cos(G),N=y.sin(G),O=y.cos(H),P=y.sin(H),Q=y.tan(I/4),R=4/3*c*Q,S=4/3*d*Q,T=[a,b],U=[a+R*N,b-S*M],V=[h+R*P,i-S*O],W=[h,i];U[0]=2*T[0]-U[0];U[1]=2*T[1]-U[1];{if(j)return[U,V,W][n](m);m=[U,V,W][n](m)[v]()[s](",");var X=[];for(var Y=0,Z=m[w];Y"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}i=f-2*d+b-(h-2*f+d);j=2*(d-b)-2*(f-d);k=b-d;l=(-j+y.sqrt(j*j-4*i*k))/2/i;n=(-j-y.sqrt(j*j-4*i*k))/2/i;B(l)>"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}return{min:{x:A[m](0,p),y:A[m](0,o)},max:{x:z[m](0,p),y:z[m](0,o)}}}),bw=bm(function(a,b){var c=bq(a),d=b&&bq(b),e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1];b.Y=a[2];break;case"A":a=["C"][n](bt[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x));d=b.y+(b.y-(b.by||b.y));a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x));b.qy=b.y+(b.y-(b.qy||b.y));a=["C"][n](bs(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1];b.qy=a[2];a=["C"][n](bs(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](br(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](br(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](br(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](br(b.x,b.y,b.X,b.Y));break}return a},h=function(a,b){if(a[b][w]>7){a[b].shift();var e=a[b];while(e[w])a.splice(b++,0,["C"][n](e.splice(0,6)));a.splice(b,1);k=z(c[w],d&&d[w]||0)}},i=function(a,b,e,f,g){if(a&&b&&a[g][0]=="M"&&b[g][0]!="M"){b.splice(g,0,["M",f.x,f.y]);e.bx=0;e.by=0;e.x=a[g][1];e.y=a[g][2];k=z(c[w],d&&d[w]||0)}};for(var j=0,k=z(c[w],d&&d[w]||0);j0.5)*2-1;C(e-0.5,2)+C(f-0.5,2)>0.25&&(f=y.sqrt(0.25-C(e-0.5,2))*g+0.5)&&f!=0.5&&(f=f.toFixed(5)-0.00001*g)}return p});b=b[s](/\s*\-\s*/);if(d=="linear"){var i=b.shift();i=-S(i);if(isNaN(i))return null;var j=[0,0,y.cos(i*D/180),y.sin(i*D/180)],k=1/(z(B(j[2]),B(j[3]))||1);j[2]*=k;j[3]*=k;if(j[2]<0){j[0]=-j[2];j[2]=0}if(j[3]<0){j[1]=-j[3];j[3]=0}}var m=bx(b);if(!m)return null;var n=a.getAttribute(I);n=n.match(/^url\(#(.*)\)$/);n&&c.defs.removeChild(g.getElementById(n[1]));var o=bG(d+"Gradient");o.id=bh();bG(o,d=="radial"?{fx:e,fy:f}:{x1:j[0],y1:j[1],x2:j[2],y2:j[3]});c.defs[l](o);for(var q=0,t=m[w];q1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(o);h[R](n,G.hex);n=="stroke"&&G[f]("opacity")&&bG(h,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity});break;case"gradient":(({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper);break;case"opacity":i.gradient&&!i[f]("stroke-opacity")&&bG(h,{"stroke-opacity":o>1?o/100:o});case"fill-opacity":if(i.gradient){var H=g.getElementById(h.getAttribute(I)[Y](/^url\(#|\)$/g,p));if(H){var J=H.getElementsByTagName("stop");J[J[w]-1][R]("stop-opacity",o)}break}default:n=="font-size"&&(o=T(o,10)+"px");var K=n[Y](/(\-.)/g,function(a){return V.call(a.substring(1))});h.style[K]=o;h[R](n,o);break}}}bM(c,d);m?c.rotate(m.join(q)):S(j)&&c.rotate(j,true)},bL=1.2,bM=function(b,c){if(b.type!="text"||!(c[f]("text")||c[f]("font")||c[f]("font-size")||c[f]("x")||c[f]("y")))return;var d=b.attrs,e=b.node,h=e.firstChild?T(g.defaultView.getComputedStyle(e.firstChild,p).getPropertyValue("font-size"),10):10;if(c[f]("text")){d.text=c.text;while(e.firstChild)e.removeChild(e.firstChild);var i=r(c.text)[s]("\n");for(var j=0,k=i[w];jb.height&&(b.height=e.y+e.height-b.y);e.x+e.width-b.x>b.width&&(b.width=e.x+e.width-b.x)}}a&&this.hide();return b};bN[e].attr=function(b,c){if(this.removed)return this;if(b==null){var d={};for(var e in this.attrs)this.attrs[f](e)&&(d[e]=this.attrs[e]);this._.rt.deg&&(d.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(d.scale=this.scale());d.gradient&&d.fill=="none"&&(d.fill=d.gradient)&&delete d.gradient;return d}if(c==null&&a.is(b,F)){if(b=="translation")return cz.call(this);if(b=="rotation")return this.rotate();if(b=="scale")return this.scale();if(b==I&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;return this.attrs[b]}if(c==null&&a.is(b,G)){var g={};for(var h=0,i=b.length;h"));m.W=h.w=m.paper.span.offsetWidth;m.H=h.h=m.paper.span.offsetHeight;m.X=h.x;m.Y=h.y+Q(m.H/2);switch(h["text-anchor"]){case"start":m.node.style["v-text-align"]="left";m.bbx=Q(m.W/2);break;case"end":m.node.style["v-text-align"]="right";m.bbx=-Q(m.W/2);break;default:m.node.style["v-text-align"]="center";break}}};bI=function(a,b){a.attrs=a.attrs||{};var c=a.attrs,d,e="linear",f=".5 .5";a.attrs.gradient=b;b=r(b)[Y](bd,function(a,b,c){e="radial";if(b&&c){b=S(b);c=S(c);C(b-0.5,2)+C(c-0.5,2)>0.25&&(c=y.sqrt(0.25-C(b-0.5,2))*((c>0.5)*2-1)+0.5);f=b+q+c}return p});b=b[s](/\s*\-\s*/);if(e=="linear"){var g=b.shift();g=-S(g);if(isNaN(g))return null}var h=bx(b);if(!h)return null;a=a.shape||a.node;d=a.getElementsByTagName(I)[0]||cd(I);!d.parentNode&&a.appendChild(d);if(h[w]){d.on=true;d.method="none";d.color=h[0].color;d.color2=h[h[w]-1].color;var i=[];for(var j=0,k=h[w];j")}}catch(a){cd=function(a){return g.createElement("<"+a+" xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">")}}bV=function(){var b=by[m](0,arguments),c=b.container,d=b.height,e,f=b.width,h=b.x,i=b.y;if(!c)throw new Error("VML container not found.");var k=new j,n=k.canvas=g.createElement("div"),o=n.style;h=h||0;i=i||0;f=f||512;d=d||342;f==+f&&(f+="px");d==+d&&(d+="px");k.width=1000;k.height=1000;k.coordsize=b_*1000+q+b_*1000;k.coordorigin="0 0";k.span=g.createElement("span");k.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";n[l](k.span);o.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d);if(c==1){g.body[l](n);o.left=h+"px";o.top=i+"px";o.position="absolute"}else c.firstChild?c.insertBefore(n,c.firstChild):c[l](n);bz.call(k,k,a.fn);return k};k.clear=function(){this.canvas.innerHTML=p;this.span=g.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas[l](this.span);this.bottom=this.top=null};k.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a);return true}}var ce=navigator.userAgent.match(/Version\\x2f(.*?)\s/);navigator.vendor=="Apple Computer, Inc."&&(ce&&ce[1]<4||navigator.platform.slice(0,2)=="iP")?k.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});h.setTimeout(function(){a.remove()})}:k.safari=function(){};var cf=function(){this.returnValue=false},cg=function(){return this.originalEvent.preventDefault()},ch=function(){this.cancelBubble=true},ci=function(){return this.originalEvent.stopPropagation()},cj=(function(){{if(g.addEventListener)return function(a,b,c,d){var e=o&&u[b]?u[b]:b,g=function(e){if(o&&u[f](b))for(var g=0,h=e.targetTouches&&e.targetTouches.length;g1&&(a=Array[e].splice.call(arguments,0,arguments[w]));return new cC(a)};k.setSize=bU;k.top=k.bottom=null;k.raphael=a;function co(){return this.x+q+this.y}bO.resetScale=function(){if(this.removed)return this;this._.sx=1;this._.sy=1;this.attrs.scale="1 1"};bO.scale=function(a,b,c,d){if(this.removed)return this;if(a==null&&b==null)return{x:this._.sx,y:this._.sy,toString:co};b=b||a;!(+b)&&(b=a);var e,f,g,h,i=this.attrs;if(a!=0){var j=this.getBBox(),k=j.x+j.width/2,l=j.y+j.height/2,m=B(a/this._.sx),o=B(b/this._.sy);c=+c||c==0?c:k;d=+d||d==0?d:l;var r=this._.sx>0,s=this._.sy>0,t=~(~(a/B(a))),u=~(~(b/B(b))),x=m*t,y=o*u,z=this.node.style,A=c+B(k-c)*x*(k>c==r?1:-1),C=d+B(l-d)*y*(l>d==s?1:-1),D=a*t>b*u?o:m;switch(this.type){case"rect":case"image":var E=i.width*m,F=i.height*o;this.attr({height:F,r:i.r*D,width:E,x:A-E/2,y:C-F/2});break;case"circle":case"ellipse":this.attr({rx:i.rx*m,ry:i.ry*o,r:i.r*D,cx:A,cy:C});break;case"text":this.attr({x:A,y:C});break;case"path":var G=bp(i.path),H=true,I=r?x:m,J=s?y:o;for(var K=0,L=G[w];Kr)p=n.data[r*l];else{p=a.findDotsAtSegment(b,c,d,e,f,g,h,i,r/l);n.data[r]=p}r&&(k+=C(C(o.x-p.x,2)+C(o.y-p.y,2),0.5));if(j!=null&&k>=j)return p;o=p}if(j==null)return k},cr=function(b,c){return function(d,e,f){d=bw(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;oe){if(c&&!l.start){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);k+=["C",m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k;k=["M",m.x,m.y+"C",m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]][v]();n+=j;g=+i[5];h=+i[6];continue}if(!b&&!c){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j;g=+i[5];h=+i[6]}k+=i}l.end=k;m=b?n:c?l:a.findDotsAtSegment(g,h,i[1],i[2],i[3],i[4],i[5],i[6],1);m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cs=cr(1),ct=cr(),cu=cr(0,1);bO.getTotalLength=function(){if(this.type!="path")return;if(this.node.getTotalLength)return this.node.getTotalLength();return cs(this.attrs.path)};bO.getPointAtLength=function(a){if(this.type!="path")return;return ct(this.attrs.path,a)};bO.getSubpath=function(a,b){if(this.type!="path")return;if(B(this.getTotalLength()-b)<"1e-6")return cu(this.attrs.path,a).end;var c=cu(this.attrs.path,b,1);return a?cu(c,a).end:c};a.easing_formulas={linear:function(a){return a},"<":function(a){return C(a,3)},">":function(a){return C(a-1,3)+1},"<>":function(a){a=a*2;if(a<1)return C(a,3)/2;a-=2;return(C(a,3)+2)/2},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==0||a==1)return a;var b=0.3,c=b/4;return C(2,-10*a)*y.sin((a-c)*(2*D)/b)+1},bounce:function(a){var b=7.5625,c=2.75,d;if(a<1/c)d=b*a*a;else if(a<2/c){a-=1.5/c;d=b*a*a+0.75}else if(a<2.5/c){a-=2.25/c;d=b*a*a+0.9375}else{a-=2.625/c;d=b*a*a+0.984375}return d}};var cv=[],cw=function(){var b=+(new Date);for(var c=0;cd)return d;while(cf?c=e:d=e;e=(d-c)/2+c}return e}return n(a,1/(200*f))}bO.onAnimation=function(a){this._run=a||0;return this};bO.animate=function(c,d,e,g){var h=this;h.timeouts=h.timeouts||[];if(a.is(e,"function")||!e)g=e||null;if(h.removed){g&&g.call(h);return h}var i={},j={},k=false,l={};for(var m in c)if(c[f](m)){if(X[f](m)||h.paper.customAttributes[f](m)){k=true;i[m]=h.attr(m);i[m]==null&&(i[m]=W[m]);j[m]=c[m];switch(X[m]){case"along":var n=cs(c[m]),o=ct(c[m],n*!(!c.back)),p=h.getBBox();l[m]=n/d;l.tx=p.x;l.ty=p.y;l.sx=o.x;l.sy=o.y;j.rot=c.rot;j.back=c.back;j.len=n;c.rot&&(l.r=S(h.rotate())||0);break;case E:l[m]=(j[m]-i[m])/d;break;case"colour":i[m]=a.getRGB(i[m]);var q=a.getRGB(j[m]);l[m]={r:(q.r-i[m].r)/d,g:(q.g-i[m].g)/d,b:(q.b-i[m].b)/d};break;case"path":var t=bw(i[m],j[m]);i[m]=t[0];var u=t[1];l[m]=[];for(var v=0,x=i[m][w];v - - -Example raphael - - - - -test - - - - - -test - - - + + + +Example raphael + + + + +test + + + + + +test + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/raphael2.html --- a/web/res/metadataplayer/test/raphael2.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/raphael2.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,17 +1,17 @@ - - - - - - - - - + + + + + + + + + \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/metadataplayer/test/raphael_timeline.html --- a/web/res/metadataplayer/test/raphael_timeline.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/metadataplayer/test/raphael_timeline.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,265 +1,265 @@ - - - -Example raphael - - - - - -
    - - - -
    - - -
    ici
    - - - - + + + +Example raphael + + + + + +
    + + + +
    + + +
    ici
    + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/res/niceforms/niceforms-custom.css --- a/web/res/niceforms/niceforms-custom.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/niceforms/niceforms-custom.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,79 +1,79 @@ - - -/*########################################## -Script: Niceforms 2.0 -Theme: StandardBlue -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/ -##########################################*/ - -/*Text inputs*/ -.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} -.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} -.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} -.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} -.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} -/*Radio*/ -.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} -/*Checkbox*/ -.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} -/*Buttons*/ -.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} -.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} -.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} -.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} -/*Textareas*/ -.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} -.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} -.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} -.NFTextareaLeft, .NFTextareaLeftH {width:5px;} -.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} -.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} -/*Files*/ -.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} -.NFFile {position:relative; margin-bottom:5px;} -.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} -.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} -/*Selects*/ -.NFSelect {height:21px; position:absolute; border:1px solid transparent;} -.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} -.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} -.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} -.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} -.NFSelectOptions li {padding-bottom:1px;} -.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} -.NFSelectOptions a.NFOptionActive {background:#464646;} -.NFSelectOptions a:hover {background:#333;} -/*Multiple Selects*/ -.NFMultiSelect {border:0; background:none; margin:0;} -.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} -.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} -.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} -.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} -.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} - -/*Focused*/ -.NFfocused {border:1px dotted #666;} -/*Hovered*/ -.NFh {background-position:0 100%;} -.NFhr {background-position:100% 100%;} -/*Hidden*/ -.NFhidden {opacity:0; z-index:-1; position:relative;} -/*Safari*/ + + +/*########################################## +Script: Niceforms 2.0 +Theme: StandardBlue +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/ +##########################################*/ + +/*Text inputs*/ +.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} +.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} +.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} +.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} +.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} +/*Radio*/ +.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} +/*Checkbox*/ +.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} +/*Buttons*/ +.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} +.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} +.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} +.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} +/*Textareas*/ +.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} +.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} +.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} +.NFTextareaLeft, .NFTextareaLeftH {width:5px;} +.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} +.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} +/*Files*/ +.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} +.NFFile {position:relative; margin-bottom:5px;} +.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} +.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} +/*Selects*/ +.NFSelect {height:21px; position:absolute; border:1px solid transparent;} +.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} +.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} +.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} +.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} +.NFSelectOptions li {padding-bottom:1px;} +.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} +.NFSelectOptions a.NFOptionActive {background:#464646;} +.NFSelectOptions a:hover {background:#333;} +/*Multiple Selects*/ +.NFMultiSelect {border:0; background:none; margin:0;} +.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} +.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} +.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} +.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} +.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} + +/*Focused*/ +.NFfocused {border:1px dotted #666;} +/*Hovered*/ +.NFh {background-position:0 100%;} +.NFhr {background-position:100% 100%;} +/*Hidden*/ +.NFhidden {opacity:0; z-index:-1; position:relative;} +/*Safari*/ select, input, textarea, button {outline:none; resize:none;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/niceforms/niceforms-default.css --- a/web/res/niceforms/niceforms-default.css Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/niceforms/niceforms-default.css Wed Apr 27 18:54:31 2011 +0200 @@ -1,92 +1,92 @@ -/*Defaults Styling*/ -body {font:12px/17px Arial, Helvetica, sans-serif; color:#333; background:#ccc; padding:40px 20px 20px 20px;} -fieldset {background:#f2f2e6; padding:10px; border:1px solid #fff; border-color:#fff #666661 #666661 #fff; margin-bottom:36px; width:600px;} -input, textarea, select {font:12px/12px Arial, Helvetica, sans-serif; padding:0;} -fieldset.action {background:#9da2a6; border-color:#e5e5e5 #797c80 #797c80 #e5e5e5; margin-top:-20px;} -legend {background:#bfbf30; color:#fff; font:17px/21px Calibri, Arial, Helvetica, sans-serif; padding:0 10px; margin:-26px 0 0 -11px; font-weight:bold; border:1px solid #fff; border-color:#e5e5c3 #505014 #505014 #e5e5c3;} -label {font-size:11px; font-weight:bold; color:#666;} -label.opt {font-weight:normal;} -dl {clear:both;} -dt {float:left; text-align:right; width:90px; line-height:25px; margin:0 10px 10px 0;} -dd {float:left; width:475px; line-height:25px; margin:0 0 10px 0;} -#footer {font-size:11px;} - -#container {width:700px; margin:0 auto;} - -/*########################################## -Script: Niceforms 2.0 -Theme: StandardBlue -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/ -##########################################*/ - -/*Text inputs*/ -.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} -.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} -.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} -.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} -.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} -/*Radio*/ -.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} -/*Checkbox*/ -.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} -/*Buttons*/ -.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} -.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} -.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} -.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} -/*Textareas*/ -.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} -.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} -.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} -.NFTextareaLeft, .NFTextareaLeftH {width:5px;} -.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} -.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} -/*Files*/ -.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} -.NFFile {position:relative; margin-bottom:5px;} -.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} -.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} -/*Selects*/ -.NFSelect {height:21px; position:absolute; border:1px solid transparent;} -.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} -.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} -.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} -.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} -.NFSelectOptions li {padding-bottom:1px;} -.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} -.NFSelectOptions a.NFOptionActive {background:#464646;} -.NFSelectOptions a:hover {background:#333;} -/*Multiple Selects*/ -.NFMultiSelect {border:0; background:none; margin:0;} -.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} -.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} -.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} -.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} -.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} -.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} -.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} -.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} -.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} -.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} -.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} -.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} -.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} - -/*Focused*/ -.NFfocused {border:1px dotted #666;} -/*Hovered*/ -.NFh {background-position:0 100%;} -.NFhr {background-position:100% 100%;} -/*Hidden*/ -.NFhidden {opacity:0; z-index:-1; position:relative;} -/*Safari*/ +/*Defaults Styling*/ +body {font:12px/17px Arial, Helvetica, sans-serif; color:#333; background:#ccc; padding:40px 20px 20px 20px;} +fieldset {background:#f2f2e6; padding:10px; border:1px solid #fff; border-color:#fff #666661 #666661 #fff; margin-bottom:36px; width:600px;} +input, textarea, select {font:12px/12px Arial, Helvetica, sans-serif; padding:0;} +fieldset.action {background:#9da2a6; border-color:#e5e5e5 #797c80 #797c80 #e5e5e5; margin-top:-20px;} +legend {background:#bfbf30; color:#fff; font:17px/21px Calibri, Arial, Helvetica, sans-serif; padding:0 10px; margin:-26px 0 0 -11px; font-weight:bold; border:1px solid #fff; border-color:#e5e5c3 #505014 #505014 #e5e5c3;} +label {font-size:11px; font-weight:bold; color:#666;} +label.opt {font-weight:normal;} +dl {clear:both;} +dt {float:left; text-align:right; width:90px; line-height:25px; margin:0 10px 10px 0;} +dd {float:left; width:475px; line-height:25px; margin:0 0 10px 0;} +#footer {font-size:11px;} + +#container {width:700px; margin:0 auto;} + +/*########################################## +Script: Niceforms 2.0 +Theme: StandardBlue +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/ +##########################################*/ + +/*Text inputs*/ +.NFText {border:none; vertical-align:middle; font:12px/15px Arial, Helvetica, sans-serif; background:none;} +.NFTextCenter {height:15px; background:url(img/input.png) repeat-x 0 0; padding:3px 0; margin:0; float:left; line-height:15px;} +.NFTextLeft, .NFTextRight {width:7px; height:21px; vertical-align:middle; float:left;} +.NFTextLeft {background:url(img/input-left.png) no-repeat 0 0;} +.NFTextRight {background:url(img/input-right.png) no-repeat 0 0;} +/*Radio*/ +.NFRadio {cursor:pointer; position:absolute; display:block; width:13px; height:13px; border:1px solid transparent; background:url(img/radio.png) no-repeat 0 0; z-index:2;} +/*Checkbox*/ +.NFCheck {cursor:pointer; position:absolute; width:12px; height:12px; border:1px solid transparent; background:url(img/checkbox.png) no-repeat 0 0; z-index:2;} +/*Buttons*/ +.NFButton {width:auto; height:26px; color:#fff; padding:0 2px; background:url(img/button.png) repeat-x 0 0; cursor:pointer; border:none; font:10px/26px Tahoma, Arial, Helvetica, sans-serif; font-weight:bold; text-transform:uppercase; letter-spacing:1px; vertical-align:middle;} +.NFButtonLeft, .NFButtonRight {width:6px; height:26px; vertical-align:middle;} +.NFButtonLeft {background:url(img/button-left.png) no-repeat 0 0;} +.NFButtonRight {background:url(img/button-right.png) no-repeat 0 0;} +/*Textareas*/ +.NFTextarea {border:none; background:none; font:12px/12px Arial, Helvetica, sans-serif; margin:0;} +.NFTextareaTop, .NFTextareaBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFTextareaTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFTextareaBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFTextareaTopLeft, .NFTextareaBottomLeft {width:5px; height:5px;} +.NFTextareaTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFTextareaBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFTextareaLeft, .NFTextareaRight, .NFTextareaLeftH, .NFTextareaRightH {float:left; padding-bottom:5px;} +.NFTextareaLeft, .NFTextareaLeftH {width:5px;} +.NFTextareaLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFTextareaLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFTextareaRight, .NFTextareaRightH {padding-right:5px; padding-bottom:0;} +.NFTextareaRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFTextareaRightH {background:url(img/textarea-r-over.png) repeat-y 100% 100%;} +/*Files*/ +.NFFileButton {padding-bottom:0; vertical-align:bottom; cursor:pointer; background:url(img/file.png) no-repeat 0 0; width:60px; height:21px;} +.NFFile {position:relative; margin-bottom:5px;} +.NFFile input.NFhidden {position:relative; filter:alpha(opacity=0); opacity:0; z-index:2; cursor:pointer; text-align:left;} +.NFFileNew {position:absolute; top:0px; left:0px; z-index:1;} +/*Selects*/ +.NFSelect {height:21px; position:absolute; border:1px solid transparent;} +.NFSelectLeft {float:left; width:3px; height:21px; background:url(img/select-left.png) no-repeat 0 0; vertical-align:middle;} +.NFSelectRight {height:21px; width:auto; background:url(img/select-right.png) no-repeat 100% 0; cursor:pointer; font:12px/21px Arial, Helvetica, sans-serif; color:#fff; padding-left:3px; margin-left:3px;} +.NFSelectTarget {position:absolute; background:none; margin-left:-13px; margin-top:18px; z-index:3; left:0; top:0; padding-bottom:13px;} +.NFSelectOptions {position:relative; background:#707175; margin-left:16px; margin-top:0; list-style:none; padding:4px 0; color:#fff; font:11px/13px Arial, Helvetica, sans-serif; z-index:4; max-height:200px; overflow-y:auto; overflow-x:hidden; left:0; top:0;} +.NFSelectOptions li {padding-bottom:1px;} +.NFSelectOptions a {display:block; text-decoration:none; color:#fff; padding:2px 3px; background:none;} +.NFSelectOptions a.NFOptionActive {background:#464646;} +.NFSelectOptions a:hover {background:#333;} +/*Multiple Selects*/ +.NFMultiSelect {border:0; background:none; margin:0;} +.NFMultiSelectTop, .NFMultiSelectBottom {height:5px; clear:both; float:none; padding-right:10px;} +.NFMultiSelectTop {background:url(img/textarea-tr.png) no-repeat 100% 0;} +.NFMultiSelectBottom {background:url(img/textarea-br.png) no-repeat 100% 0; margin-bottom:5px;} +.NFMultiSelectTopLeft, .NFMultiSelectBottomLeft {width:5px; height:5px;} +.NFMultiSelectTopLeft {background:#f2f2e6 url(img/textarea-tl.png) no-repeat 0 0;} +.NFMultiSelectBottomLeft {background:#f2f2e6 url(img/textarea-bl.png) no-repeat 0 0;} +.NFMultiSelectLeft, .NFMultiSelectRight, .NFMultiSelectLeftH, .NFMultiSelectRightH {float:left; padding-bottom:5px;} +.NFMultiSelectLeft, .NFMultiSelectLeftH {width:5px;} +.NFMultiSelectLeft {background:url(img/textarea-l-off.png) repeat-y 0 0;} +.NFMultiSelectLeftH {background:url(img/textarea-l-over.png) repeat-y 0 0;} +.NFMultiSelectRight, .NFMultiSelectRightH {padding-right:5px; padding-bottom:0;} +.NFMultiSelectRight {background:url(img/textarea-r-off.png) repeat-y 100% 0;} +.NFMultiSelectRightH {background:url(img/textarea-r-over.png) repeat-y 100% 0;} + +/*Focused*/ +.NFfocused {border:1px dotted #666;} +/*Hovered*/ +.NFh {background-position:0 100%;} +.NFhr {background-position:100% 100%;} +/*Hidden*/ +.NFhidden {opacity:0; z-index:-1; position:relative;} +/*Safari*/ select, input, textarea, button {outline:none; resize:none;} \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/niceforms/niceforms.html --- a/web/res/niceforms/niceforms.html Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/niceforms/niceforms.html Wed Apr 27 18:54:31 2011 +0200 @@ -1,201 +1,201 @@ - - - -Niceforms - - - - - -
    -
    -
    - Personal Info -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    -
    - - - -
    -
    -
    -
    - Preferences -
    -
    -
    - - - -
    -
    -
    -
    -
    - - - - - -
    -
    -
    -
    -
    - -
    -
    -
    -
    - Comments -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - -
    - + + + +Niceforms + + + + + +
    +
    +
    + Personal Info +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    + Preferences +
    +
    +
    + + + +
    +
    +
    +
    +
    + + + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + Comments +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    + diff -r c84f8401d36e -r 9578d3ddce17 web/res/niceforms/niceforms.js --- a/web/res/niceforms/niceforms.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/niceforms/niceforms.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,576 +1,576 @@ -/*############################################################# -Name: Niceforms -Version: 2.0 -Author: Lucian Slatineanu -URL: http://www.emblematiq.com/projects/niceforms/ - -Feel free to use and modify but please keep this copyright intact. -#################################################################*/ - -//Theme Variables - edit these to match your theme -var imagesPath = "img/"; -var selectRightWidthSimple = 19; -var selectRightWidthScroll = 2; -var selectMaxHeight = 200; -var textareaTopPadding = 10; -var textareaSidePadding = 10; - -//Global Variables -var NF = new Array(); -var isIE = false; -var resizeTest = 1; - -//Initialization function -function NFInit() { - try { - document.execCommand('BackgroundImageCache', false, true); - } catch(e) {} - if(!document.getElementById) {return false;} - //alert("click me first"); - NFDo('start'); -} -function NFDo(what) { - var niceforms = document.getElementsByTagName('form'); - var identifier = new RegExp('(^| )'+'niceform'+'( |$)'); - if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { - var ieversion=new Number(RegExp.$1); - if(ieversion < 7) {return false;} //exit script if IE6 - isIE = true; - } - for(var q = 0; q < niceforms.length; q++) {if(identifier.test(niceforms[q].className)) { - if(what == "start") { //Load Niceforms - NF[q] = new niceform(niceforms[q]); - niceforms[q].start(); - } - else { //Unload Niceforms - niceforms[q].unload(); - NF[q] = ""; - } - }} -} -function NFFix() { - NFDo('stop'); - NFDo('start'); -} -function niceform(nf) { - nf._inputText = new Array(); nf._inputRadio = new Array(); nf._inputCheck = new Array(); nf._inputSubmit = new Array(); nf._inputFile = new Array(); nf._textarea = new Array(); nf._select = new Array(); nf._multiselect = new Array(); - nf.add_inputText = function(obj) {this._inputText[this._inputText.length] = obj; inputText(obj);} - nf.add_inputRadio = function(obj) {this._inputRadio[this._inputRadio.length] = obj; inputRadio(obj);} - nf.add_inputCheck = function(obj) {this._inputCheck[this._inputCheck.length] = obj; inputCheck(obj);} - nf.add_inputSubmit = function(obj) {this._inputSubmit[this._inputSubmit.length] = obj; inputSubmit(obj);} - nf.add_inputFile = function(obj) {this._inputFile[this._inputFile.length] = obj; inputFile(obj);} - nf.add_textarea = function(obj) {this._textarea[this._textarea.length] = obj; textarea(obj);} - nf.add_select = function(obj) {this._select[this._select.length] = obj; selects(obj);} - nf.add_multiselect = function(obj) {this._multiselect[this._multiselect.length] = obj; multiSelects(obj);} - nf.start = function() { - //Separate and assign elements - var allInputs = this.getElementsByTagName('input'); - for(var w = 0; w < allInputs.length; w++) { - switch(allInputs[w].type) { - case "text": case "password": {this.add_inputText(allInputs[w]); break;} - case "radio": {this.add_inputRadio(allInputs[w]); break;} - case "checkbox": {this.add_inputCheck(allInputs[w]); break;} - case "submit": case "reset": case "button": {this.add_inputSubmit(allInputs[w]); break;} - case "file": {this.add_inputFile(allInputs[w]); break;} - } - } - var allButtons = this.getElementsByTagName('button'); - for(var w = 0; w < allButtons.length; w++) { - this.add_inputSubmit(allButtons[w]); - } - var allTextareas = this.getElementsByTagName('textarea'); - for(var w = 0; w < allTextareas.length; w++) { - this.add_textarea(allTextareas[w]); - } - var allSelects = this.getElementsByTagName('select'); - for(var w = 0; w < allSelects.length; w++) { - if(allSelects[w].size == "1") {this.add_select(allSelects[w]);} - else {this.add_multiselect(allSelects[w]);} - } - //Start - for(w = 0; w < this._inputText.length; w++) {this._inputText[w].init();} - for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].init();} - for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].init();} - for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].init();} - for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].init();} - for(w = 0; w < this._textarea.length; w++) {this._textarea[w].init();} - for(w = 0; w < this._select.length; w++) {this._select[w].init(w);} - for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].init(w);} - } - nf.unload = function() { - //Stop - for(w = 0; w < this._inputText.length; w++) {this._inputText[w].unload();} - for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].unload();} - for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].unload();} - for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].unload();} - for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].unload();} - for(w = 0; w < this._textarea.length; w++) {this._textarea[w].unload();} - for(w = 0; w < this._select.length; w++) {this._select[w].unload();} - for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].unload();} - } -} -function inputText(el) { //extent Text inputs - el.oldClassName = el.className; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFTextLeft"; - el.right = document.createElement('img'); - el.right.src = imagesPath + "0.png"; - el.right.className = "NFTextRight"; - el.dummy = document.createElement('div'); - el.dummy.className = "NFTextCenter"; - el.onfocus = function() { - this.dummy.className = "NFTextCenter NFh"; - this.left.className = "NFTextLeft NFh"; - this.right.className = "NFTextRight NFh"; - } - el.onblur = function() { - this.dummy.className = "NFTextCenter"; - this.left.className = "NFTextLeft"; - this.right.className = "NFTextRight"; - } - el.init = function() { - this.parentNode.insertBefore(this.left, this); - this.parentNode.insertBefore(this.right, this.nextSibling); - this.dummy.appendChild(this); - this.right.parentNode.insertBefore(this.dummy, this.right); - this.className = "NFText"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.left); - this.parentNode.removeChild(this.right); - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputRadio(el) { //extent Radio buttons - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - if(el.checked) {el.dummy.className = "NFRadio NFh";} - else {el.dummy.className = "NFRadio";} - el.dummy.ref = el; - if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} - else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} - el.dummy.onclick = function() { - if(!this.ref.checked) { - var siblings = getInputsByName(this.ref.name); - for(var q = 0; q < siblings.length; q++) { - siblings[q].checked = false; - siblings[q].dummy.className = "NFRadio"; - } - this.ref.checked = true; - this.className = "NFRadio NFh"; - } - } - el.onclick = function() { - if(this.checked) { - var siblings = getInputsByName(this.name); - for(var q = 0; q < siblings.length; q++) { - siblings[q].dummy.className = "NFRadio"; - } - this.dummy.className = "NFRadio NFh"; - } - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.init = function() { - this.parentNode.insertBefore(this.dummy, this); - el.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputCheck(el) { //extend Checkboxes - el.oldClassName = el.className; - el.dummy = document.createElement('img'); - el.dummy.src = imagesPath + "0.png"; - if(el.checked) {el.dummy.className = "NFCheck NFh";} - else {el.dummy.className = "NFCheck";} - el.dummy.ref = el; - if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} - else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} - el.dummy.onclick = function() { - if(!this.ref.checked) { - this.ref.checked = true; - this.className = "NFCheck NFh"; - } - else { - this.ref.checked = false; - this.className = "NFCheck"; - } - } - el.onclick = function() { - if(this.checked) {this.dummy.className = "NFCheck NFh";} - else {this.dummy.className = "NFCheck";} - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.init = function() { - this.parentNode.insertBefore(this.dummy, this); - el.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } -} -function inputSubmit(el) { //extend Buttons - el.oldClassName = el.className; - el.left = document.createElement('img'); - el.left.className = "NFButtonLeft"; - el.left.src = imagesPath + "0.png"; - el.right = document.createElement('img'); - el.right.src = imagesPath + "0.png"; - el.right.className = "NFButtonRight"; - el.onmouseover = function() { - this.className = "NFButton NFh"; - this.left.className = "NFButtonLeft NFh"; - this.right.className = "NFButtonRight NFh"; - } - el.onmouseout = function() { - this.className = "NFButton"; - this.left.className = "NFButtonLeft"; - this.right.className = "NFButtonRight"; - } - el.init = function() { - this.parentNode.insertBefore(this.left, this); - this.parentNode.insertBefore(this.right, this.nextSibling); - this.className = "NFButton"; - } - el.unload = function() { - this.parentNode.removeChild(this.left); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - } -} -function inputFile(el) { //extend File inputs - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - el.dummy.className = "NFFile"; - el.file = document.createElement('div'); - el.file.className = "NFFileNew"; - el.center = document.createElement('div'); - el.center.className = "NFTextCenter"; - el.clone = document.createElement('input'); - el.clone.type = "text"; - el.clone.className = "NFText"; - el.clone.ref = el; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFTextLeft"; - el.button = document.createElement('img'); - el.button.src = imagesPath + "0.png"; - el.button.className = "NFFileButton"; - el.button.ref = el; - el.button.onclick = function() {this.ref.click();} - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(this.dummy, where); - this.dummy.appendChild(this); - this.center.appendChild(this.clone); - this.file.appendChild(this.center); - this.file.insertBefore(this.left, this.center); - this.file.appendChild(this.button); - this.dummy.appendChild(this.file); - this.className = "NFhidden"; - this.relatedElement = this.clone; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } - el.onchange = el.onmouseout = function() {this.relatedElement.value = this.value;} - el.onfocus = function() { - this.left.className = "NFTextLeft NFh"; - this.center.className = "NFTextCenter NFh"; - this.button.className = "NFFileButton NFh"; - } - el.onblur = function() { - this.left.className = "NFTextLeft"; - this.center.className = "NFTextCenter"; - this.button.className = "NFFileButton"; - } - el.onselect = function() { - this.relatedElement.select(); - this.value = ''; - } -} -function textarea(el) { //extend Textareas - el.oldClassName = el.className; - el.height = el.offsetHeight - textareaTopPadding; - el.width = el.offsetWidth - textareaSidePadding; - el.topLeft = document.createElement('img'); - el.topLeft.src = imagesPath + "0.png"; - el.topLeft.className = "NFTextareaTopLeft"; - el.topRight = document.createElement('div'); - el.topRight.className = "NFTextareaTop"; - el.bottomLeft = document.createElement('img'); - el.bottomLeft.src = imagesPath + "0.png"; - el.bottomLeft.className = "NFTextareaBottomLeft"; - el.bottomRight = document.createElement('div'); - el.bottomRight.className = "NFTextareaBottom"; - el.left = document.createElement('div'); - el.left.className = "NFTextareaLeft"; - el.right = document.createElement('div'); - el.right.className = "NFTextareaRight"; - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(el.topRight, where); - top.insertBefore(el.right, where); - top.insertBefore(el.bottomRight, where); - this.topRight.appendChild(this.topLeft); - this.right.appendChild(this.left); - this.right.appendChild(this); - this.bottomRight.appendChild(this.bottomLeft); - el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; - el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; - this.className = "NFTextarea"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.topRight); - this.parentNode.removeChild(this.bottomRight); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - this.style.width = this.style.height = ""; - } - el.onfocus = function() { - this.topLeft.className = "NFTextareaTopLeft NFh"; - this.topRight.className = "NFTextareaTop NFhr"; - this.left.className = "NFTextareaLeftH"; - this.right.className = "NFTextareaRightH"; - this.bottomLeft.className = "NFTextareaBottomLeft NFh"; - this.bottomRight.className = "NFTextareaBottom NFhr"; - } - el.onblur = function() { - this.topLeft.className = "NFTextareaTopLeft"; - this.topRight.className = "NFTextareaTop"; - this.left.className = "NFTextareaLeft"; - this.right.className = "NFTextareaRight"; - this.bottomLeft.className = "NFTextareaBottomLeft"; - this.bottomRight.className = "NFTextareaBottom"; - } -} -function selects(el) { //extend Selects - el.oldClassName = el.className; - el.dummy = document.createElement('div'); - el.dummy.className = "NFSelect"; - el.dummy.style.width = el.offsetWidth + 'px'; - el.dummy.ref = el; - el.left = document.createElement('img'); - el.left.src = imagesPath + "0.png"; - el.left.className = "NFSelectLeft"; - el.right = document.createElement('div'); - el.right.className = "NFSelectRight"; - el.txt = document.createTextNode(el.options[0].text); - el.bg = document.createElement('div'); - el.bg.className = "NFSelectTarget"; - el.bg.style.display = "none"; - el.opt = document.createElement('ul'); - el.opt.className = "NFSelectOptions"; - el.dummy.style.left = findPosX(el) + 'px'; - el.dummy.style.top = findPosY(el) + 'px'; - el.opts = new Array(el.options.length); - el.init = function(pos) { - this.dummy.appendChild(this.left); - this.right.appendChild(this.txt); - this.dummy.appendChild(this.right); - this.bg.appendChild(this.opt); - this.dummy.appendChild(this.bg); - for(var q = 0; q < this.options.length; q++) { - this.opts[q] = new option(this.options[q], q); - this.opt.appendChild(this.options[q].li); - this.options[q].lnk.onclick = function() { - this._onclick(); - this.ref.dummy.getElementsByTagName('div')[0].innerHTML = this.ref.options[this.pos].text; - this.ref.options[this.pos].selected = "selected"; - for(var w = 0; w < this.ref.options.length; w++) {this.ref.options[w].lnk.className = "";} - this.ref.options[this.pos].lnk.className = "NFOptionActive"; - } - } - if(this.options.selectedIndex) { - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[this.options.selectedIndex].text; - this.options[this.options.selectedIndex].lnk.className = "NFOptionActive"; - } - this.dummy.style.zIndex = 999 - pos; - this.parentNode.insertBefore(this.dummy, this); - this.className = "NFhidden"; - } - el.unload = function() { - this.parentNode.removeChild(this.dummy); - this.className = this.oldClassName; - } - el.dummy.onclick = function() { - var allDivs = document.getElementsByTagName('div'); for(var q = 0; q < allDivs.length; q++) {if((allDivs[q].className == "NFSelectTarget") && (allDivs[q] != this.ref.bg)) {allDivs[q].style.display = "none";}} - if(this.ref.bg.style.display == "none") {this.ref.bg.style.display = "block";} - else {this.ref.bg.style.display = "none";} - if(this.ref.opt.offsetHeight > selectMaxHeight) { - this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthScroll + 33 + 'px'; - this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthScroll + 'px'; - } - else { - this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthSimple + 33 + 'px'; - this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthSimple + 'px'; - } - } - el.bg.onmouseout = function(e) { - if (!e) var e = window.event; - e.cancelBubble = true; - if (e.stopPropagation) e.stopPropagation(); - var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; - if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; - if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; - else{this.style.display = "none";} - } - el.dummy.onmouseout = function(e) { - if (!e) var e = window.event; - e.cancelBubble = true; - if (e.stopPropagation) e.stopPropagation(); - var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; - if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; - if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; - else{this.ref.bg.style.display = "none";} - } - el.onfocus = function() {this.dummy.className += " NFfocused";} - el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} - el.onkeydown = function(e) { - if (!e) var e = window.event; - var thecode = e.keyCode; - var active = this.selectedIndex; - switch(thecode){ - case 40: //down - if(active < this.options.length - 1) { - for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} - var newOne = active + 1; - this.options[newOne].selected = "selected"; - this.options[newOne].lnk.className = "NFOptionActive"; - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; - } - return false; - break; - case 38: //up - if(active > 0) { - for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} - var newOne = active - 1; - this.options[newOne].selected = "selected"; - this.options[newOne].lnk.className = "NFOptionActive"; - this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; - } - return false; - break; - default: - break; - } - } -} -function multiSelects(el) { //extend Multiple Selects - el.oldClassName = el.className; - el.height = el.offsetHeight; - el.width = el.offsetWidth; - el.topLeft = document.createElement('img'); - el.topLeft.src = imagesPath + "0.png"; - el.topLeft.className = "NFMultiSelectTopLeft"; - el.topRight = document.createElement('div'); - el.topRight.className = "NFMultiSelectTop"; - el.bottomLeft = document.createElement('img'); - el.bottomLeft.src = imagesPath + "0.png"; - el.bottomLeft.className = "NFMultiSelectBottomLeft"; - el.bottomRight = document.createElement('div'); - el.bottomRight.className = "NFMultiSelectBottom"; - el.left = document.createElement('div'); - el.left.className = "NFMultiSelectLeft"; - el.right = document.createElement('div'); - el.right.className = "NFMultiSelectRight"; - el.init = function() { - var top = this.parentNode; - if(this.previousSibling) {var where = this.previousSibling;} - else {var where = top.childNodes[0];} - top.insertBefore(el.topRight, where); - top.insertBefore(el.right, where); - top.insertBefore(el.bottomRight, where); - this.topRight.appendChild(this.topLeft); - this.right.appendChild(this.left); - this.right.appendChild(this); - this.bottomRight.appendChild(this.bottomLeft); - el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; - el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; - el.className = "NFMultiSelect"; - } - el.unload = function() { - this.parentNode.parentNode.appendChild(this); - this.parentNode.removeChild(this.topRight); - this.parentNode.removeChild(this.bottomRight); - this.parentNode.removeChild(this.right); - this.className = this.oldClassName; - this.style.width = this.style.height = ""; - } - el.onfocus = function() { - this.topLeft.className = "NFMultiSelectTopLeft NFh"; - this.topRight.className = "NFMultiSelectTop NFhr"; - this.left.className = "NFMultiSelectLeftH"; - this.right.className = "NFMultiSelectRightH"; - this.bottomLeft.className = "NFMultiSelectBottomLeft NFh"; - this.bottomRight.className = "NFMultiSelectBottom NFhr"; - } - el.onblur = function() { - this.topLeft.className = "NFMultiSelectTopLeft"; - this.topRight.className = "NFMultiSelectTop"; - this.left.className = "NFMultiSelectLeft"; - this.right.className = "NFMultiSelectRight"; - this.bottomLeft.className = "NFMultiSelectBottomLeft"; - this.bottomRight.className = "NFMultiSelectBottom"; - } -} -function option(el, no) { //extend Options - el.li = document.createElement('li'); - el.lnk = document.createElement('a'); - el.lnk.href = "javascript:;"; - el.lnk.ref = el.parentNode; - el.lnk.pos = no; - el.lnk._onclick = el.onclick || function () {}; - el.txt = document.createTextNode(el.text); - el.lnk.appendChild(el.txt); - el.li.appendChild(el.lnk); -} - -//Get Position -function findPosY(obj) { - var posTop = 0; - do {posTop += obj.offsetTop;} while (obj = obj.offsetParent); - return posTop; -} -function findPosX(obj) { - var posLeft = 0; - do {posLeft += obj.offsetLeft;} while (obj = obj.offsetParent); - return posLeft; -} -//Get Siblings -function getInputsByName(name) { - var inputs = document.getElementsByTagName("input"); - var w = 0; var results = new Array(); - for(var q = 0; q < inputs.length; q++) {if(inputs[q].name == name) {results[w] = inputs[q]; ++w;}} - return results; -} - -//Add events -var existingLoadEvent = window.onload || function () {}; -var existingResizeEvent = window.onresize || function() {}; -window.onload = function () { - existingLoadEvent(); - NFInit(); -} -window.onresize = function() { - if(resizeTest != document.documentElement.clientHeight) { - existingResizeEvent(); - NFFix(); - } - resizeTest = document.documentElement.clientHeight; +/*############################################################# +Name: Niceforms +Version: 2.0 +Author: Lucian Slatineanu +URL: http://www.emblematiq.com/projects/niceforms/ + +Feel free to use and modify but please keep this copyright intact. +#################################################################*/ + +//Theme Variables - edit these to match your theme +var imagesPath = "img/"; +var selectRightWidthSimple = 19; +var selectRightWidthScroll = 2; +var selectMaxHeight = 200; +var textareaTopPadding = 10; +var textareaSidePadding = 10; + +//Global Variables +var NF = new Array(); +var isIE = false; +var resizeTest = 1; + +//Initialization function +function NFInit() { + try { + document.execCommand('BackgroundImageCache', false, true); + } catch(e) {} + if(!document.getElementById) {return false;} + //alert("click me first"); + NFDo('start'); +} +function NFDo(what) { + var niceforms = document.getElementsByTagName('form'); + var identifier = new RegExp('(^| )'+'niceform'+'( |$)'); + if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { + var ieversion=new Number(RegExp.$1); + if(ieversion < 7) {return false;} //exit script if IE6 + isIE = true; + } + for(var q = 0; q < niceforms.length; q++) {if(identifier.test(niceforms[q].className)) { + if(what == "start") { //Load Niceforms + NF[q] = new niceform(niceforms[q]); + niceforms[q].start(); + } + else { //Unload Niceforms + niceforms[q].unload(); + NF[q] = ""; + } + }} +} +function NFFix() { + NFDo('stop'); + NFDo('start'); +} +function niceform(nf) { + nf._inputText = new Array(); nf._inputRadio = new Array(); nf._inputCheck = new Array(); nf._inputSubmit = new Array(); nf._inputFile = new Array(); nf._textarea = new Array(); nf._select = new Array(); nf._multiselect = new Array(); + nf.add_inputText = function(obj) {this._inputText[this._inputText.length] = obj; inputText(obj);} + nf.add_inputRadio = function(obj) {this._inputRadio[this._inputRadio.length] = obj; inputRadio(obj);} + nf.add_inputCheck = function(obj) {this._inputCheck[this._inputCheck.length] = obj; inputCheck(obj);} + nf.add_inputSubmit = function(obj) {this._inputSubmit[this._inputSubmit.length] = obj; inputSubmit(obj);} + nf.add_inputFile = function(obj) {this._inputFile[this._inputFile.length] = obj; inputFile(obj);} + nf.add_textarea = function(obj) {this._textarea[this._textarea.length] = obj; textarea(obj);} + nf.add_select = function(obj) {this._select[this._select.length] = obj; selects(obj);} + nf.add_multiselect = function(obj) {this._multiselect[this._multiselect.length] = obj; multiSelects(obj);} + nf.start = function() { + //Separate and assign elements + var allInputs = this.getElementsByTagName('input'); + for(var w = 0; w < allInputs.length; w++) { + switch(allInputs[w].type) { + case "text": case "password": {this.add_inputText(allInputs[w]); break;} + case "radio": {this.add_inputRadio(allInputs[w]); break;} + case "checkbox": {this.add_inputCheck(allInputs[w]); break;} + case "submit": case "reset": case "button": {this.add_inputSubmit(allInputs[w]); break;} + case "file": {this.add_inputFile(allInputs[w]); break;} + } + } + var allButtons = this.getElementsByTagName('button'); + for(var w = 0; w < allButtons.length; w++) { + this.add_inputSubmit(allButtons[w]); + } + var allTextareas = this.getElementsByTagName('textarea'); + for(var w = 0; w < allTextareas.length; w++) { + this.add_textarea(allTextareas[w]); + } + var allSelects = this.getElementsByTagName('select'); + for(var w = 0; w < allSelects.length; w++) { + if(allSelects[w].size == "1") {this.add_select(allSelects[w]);} + else {this.add_multiselect(allSelects[w]);} + } + //Start + for(w = 0; w < this._inputText.length; w++) {this._inputText[w].init();} + for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].init();} + for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].init();} + for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].init();} + for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].init();} + for(w = 0; w < this._textarea.length; w++) {this._textarea[w].init();} + for(w = 0; w < this._select.length; w++) {this._select[w].init(w);} + for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].init(w);} + } + nf.unload = function() { + //Stop + for(w = 0; w < this._inputText.length; w++) {this._inputText[w].unload();} + for(w = 0; w < this._inputRadio.length; w++) {this._inputRadio[w].unload();} + for(w = 0; w < this._inputCheck.length; w++) {this._inputCheck[w].unload();} + for(w = 0; w < this._inputSubmit.length; w++) {this._inputSubmit[w].unload();} + for(w = 0; w < this._inputFile.length; w++) {this._inputFile[w].unload();} + for(w = 0; w < this._textarea.length; w++) {this._textarea[w].unload();} + for(w = 0; w < this._select.length; w++) {this._select[w].unload();} + for(w = 0; w < this._multiselect.length; w++) {this._multiselect[w].unload();} + } +} +function inputText(el) { //extent Text inputs + el.oldClassName = el.className; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFTextLeft"; + el.right = document.createElement('img'); + el.right.src = imagesPath + "0.png"; + el.right.className = "NFTextRight"; + el.dummy = document.createElement('div'); + el.dummy.className = "NFTextCenter"; + el.onfocus = function() { + this.dummy.className = "NFTextCenter NFh"; + this.left.className = "NFTextLeft NFh"; + this.right.className = "NFTextRight NFh"; + } + el.onblur = function() { + this.dummy.className = "NFTextCenter"; + this.left.className = "NFTextLeft"; + this.right.className = "NFTextRight"; + } + el.init = function() { + this.parentNode.insertBefore(this.left, this); + this.parentNode.insertBefore(this.right, this.nextSibling); + this.dummy.appendChild(this); + this.right.parentNode.insertBefore(this.dummy, this.right); + this.className = "NFText"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.left); + this.parentNode.removeChild(this.right); + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputRadio(el) { //extent Radio buttons + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + if(el.checked) {el.dummy.className = "NFRadio NFh";} + else {el.dummy.className = "NFRadio";} + el.dummy.ref = el; + if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} + else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} + el.dummy.onclick = function() { + if(!this.ref.checked) { + var siblings = getInputsByName(this.ref.name); + for(var q = 0; q < siblings.length; q++) { + siblings[q].checked = false; + siblings[q].dummy.className = "NFRadio"; + } + this.ref.checked = true; + this.className = "NFRadio NFh"; + } + } + el.onclick = function() { + if(this.checked) { + var siblings = getInputsByName(this.name); + for(var q = 0; q < siblings.length; q++) { + siblings[q].dummy.className = "NFRadio"; + } + this.dummy.className = "NFRadio NFh"; + } + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.init = function() { + this.parentNode.insertBefore(this.dummy, this); + el.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputCheck(el) { //extend Checkboxes + el.oldClassName = el.className; + el.dummy = document.createElement('img'); + el.dummy.src = imagesPath + "0.png"; + if(el.checked) {el.dummy.className = "NFCheck NFh";} + else {el.dummy.className = "NFCheck";} + el.dummy.ref = el; + if(isIE == false) {el.dummy.style.left = findPosX(el) + 'px'; el.dummy.style.top = findPosY(el) + 'px';} + else {el.dummy.style.left = findPosX(el) + 4 + 'px'; el.dummy.style.top = findPosY(el) + 4 + 'px';} + el.dummy.onclick = function() { + if(!this.ref.checked) { + this.ref.checked = true; + this.className = "NFCheck NFh"; + } + else { + this.ref.checked = false; + this.className = "NFCheck"; + } + } + el.onclick = function() { + if(this.checked) {this.dummy.className = "NFCheck NFh";} + else {this.dummy.className = "NFCheck";} + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.init = function() { + this.parentNode.insertBefore(this.dummy, this); + el.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } +} +function inputSubmit(el) { //extend Buttons + el.oldClassName = el.className; + el.left = document.createElement('img'); + el.left.className = "NFButtonLeft"; + el.left.src = imagesPath + "0.png"; + el.right = document.createElement('img'); + el.right.src = imagesPath + "0.png"; + el.right.className = "NFButtonRight"; + el.onmouseover = function() { + this.className = "NFButton NFh"; + this.left.className = "NFButtonLeft NFh"; + this.right.className = "NFButtonRight NFh"; + } + el.onmouseout = function() { + this.className = "NFButton"; + this.left.className = "NFButtonLeft"; + this.right.className = "NFButtonRight"; + } + el.init = function() { + this.parentNode.insertBefore(this.left, this); + this.parentNode.insertBefore(this.right, this.nextSibling); + this.className = "NFButton"; + } + el.unload = function() { + this.parentNode.removeChild(this.left); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + } +} +function inputFile(el) { //extend File inputs + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + el.dummy.className = "NFFile"; + el.file = document.createElement('div'); + el.file.className = "NFFileNew"; + el.center = document.createElement('div'); + el.center.className = "NFTextCenter"; + el.clone = document.createElement('input'); + el.clone.type = "text"; + el.clone.className = "NFText"; + el.clone.ref = el; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFTextLeft"; + el.button = document.createElement('img'); + el.button.src = imagesPath + "0.png"; + el.button.className = "NFFileButton"; + el.button.ref = el; + el.button.onclick = function() {this.ref.click();} + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(this.dummy, where); + this.dummy.appendChild(this); + this.center.appendChild(this.clone); + this.file.appendChild(this.center); + this.file.insertBefore(this.left, this.center); + this.file.appendChild(this.button); + this.dummy.appendChild(this.file); + this.className = "NFhidden"; + this.relatedElement = this.clone; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } + el.onchange = el.onmouseout = function() {this.relatedElement.value = this.value;} + el.onfocus = function() { + this.left.className = "NFTextLeft NFh"; + this.center.className = "NFTextCenter NFh"; + this.button.className = "NFFileButton NFh"; + } + el.onblur = function() { + this.left.className = "NFTextLeft"; + this.center.className = "NFTextCenter"; + this.button.className = "NFFileButton"; + } + el.onselect = function() { + this.relatedElement.select(); + this.value = ''; + } +} +function textarea(el) { //extend Textareas + el.oldClassName = el.className; + el.height = el.offsetHeight - textareaTopPadding; + el.width = el.offsetWidth - textareaSidePadding; + el.topLeft = document.createElement('img'); + el.topLeft.src = imagesPath + "0.png"; + el.topLeft.className = "NFTextareaTopLeft"; + el.topRight = document.createElement('div'); + el.topRight.className = "NFTextareaTop"; + el.bottomLeft = document.createElement('img'); + el.bottomLeft.src = imagesPath + "0.png"; + el.bottomLeft.className = "NFTextareaBottomLeft"; + el.bottomRight = document.createElement('div'); + el.bottomRight.className = "NFTextareaBottom"; + el.left = document.createElement('div'); + el.left.className = "NFTextareaLeft"; + el.right = document.createElement('div'); + el.right.className = "NFTextareaRight"; + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(el.topRight, where); + top.insertBefore(el.right, where); + top.insertBefore(el.bottomRight, where); + this.topRight.appendChild(this.topLeft); + this.right.appendChild(this.left); + this.right.appendChild(this); + this.bottomRight.appendChild(this.bottomLeft); + el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; + el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; + this.className = "NFTextarea"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.topRight); + this.parentNode.removeChild(this.bottomRight); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + this.style.width = this.style.height = ""; + } + el.onfocus = function() { + this.topLeft.className = "NFTextareaTopLeft NFh"; + this.topRight.className = "NFTextareaTop NFhr"; + this.left.className = "NFTextareaLeftH"; + this.right.className = "NFTextareaRightH"; + this.bottomLeft.className = "NFTextareaBottomLeft NFh"; + this.bottomRight.className = "NFTextareaBottom NFhr"; + } + el.onblur = function() { + this.topLeft.className = "NFTextareaTopLeft"; + this.topRight.className = "NFTextareaTop"; + this.left.className = "NFTextareaLeft"; + this.right.className = "NFTextareaRight"; + this.bottomLeft.className = "NFTextareaBottomLeft"; + this.bottomRight.className = "NFTextareaBottom"; + } +} +function selects(el) { //extend Selects + el.oldClassName = el.className; + el.dummy = document.createElement('div'); + el.dummy.className = "NFSelect"; + el.dummy.style.width = el.offsetWidth + 'px'; + el.dummy.ref = el; + el.left = document.createElement('img'); + el.left.src = imagesPath + "0.png"; + el.left.className = "NFSelectLeft"; + el.right = document.createElement('div'); + el.right.className = "NFSelectRight"; + el.txt = document.createTextNode(el.options[0].text); + el.bg = document.createElement('div'); + el.bg.className = "NFSelectTarget"; + el.bg.style.display = "none"; + el.opt = document.createElement('ul'); + el.opt.className = "NFSelectOptions"; + el.dummy.style.left = findPosX(el) + 'px'; + el.dummy.style.top = findPosY(el) + 'px'; + el.opts = new Array(el.options.length); + el.init = function(pos) { + this.dummy.appendChild(this.left); + this.right.appendChild(this.txt); + this.dummy.appendChild(this.right); + this.bg.appendChild(this.opt); + this.dummy.appendChild(this.bg); + for(var q = 0; q < this.options.length; q++) { + this.opts[q] = new option(this.options[q], q); + this.opt.appendChild(this.options[q].li); + this.options[q].lnk.onclick = function() { + this._onclick(); + this.ref.dummy.getElementsByTagName('div')[0].innerHTML = this.ref.options[this.pos].text; + this.ref.options[this.pos].selected = "selected"; + for(var w = 0; w < this.ref.options.length; w++) {this.ref.options[w].lnk.className = "";} + this.ref.options[this.pos].lnk.className = "NFOptionActive"; + } + } + if(this.options.selectedIndex) { + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[this.options.selectedIndex].text; + this.options[this.options.selectedIndex].lnk.className = "NFOptionActive"; + } + this.dummy.style.zIndex = 999 - pos; + this.parentNode.insertBefore(this.dummy, this); + this.className = "NFhidden"; + } + el.unload = function() { + this.parentNode.removeChild(this.dummy); + this.className = this.oldClassName; + } + el.dummy.onclick = function() { + var allDivs = document.getElementsByTagName('div'); for(var q = 0; q < allDivs.length; q++) {if((allDivs[q].className == "NFSelectTarget") && (allDivs[q] != this.ref.bg)) {allDivs[q].style.display = "none";}} + if(this.ref.bg.style.display == "none") {this.ref.bg.style.display = "block";} + else {this.ref.bg.style.display = "none";} + if(this.ref.opt.offsetHeight > selectMaxHeight) { + this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthScroll + 33 + 'px'; + this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthScroll + 'px'; + } + else { + this.ref.bg.style.width = this.ref.offsetWidth - selectRightWidthSimple + 33 + 'px'; + this.ref.opt.style.width = this.ref.offsetWidth - selectRightWidthSimple + 'px'; + } + } + el.bg.onmouseout = function(e) { + if (!e) var e = window.event; + e.cancelBubble = true; + if (e.stopPropagation) e.stopPropagation(); + var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; + if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; + if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; + else{this.style.display = "none";} + } + el.dummy.onmouseout = function(e) { + if (!e) var e = window.event; + e.cancelBubble = true; + if (e.stopPropagation) e.stopPropagation(); + var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement; + if((reltg.nodeName == 'A') || (reltg.nodeName == 'LI') || (reltg.nodeName == 'UL')) return; + if((reltg.nodeName == 'DIV') || (reltg.className == 'NFSelectTarget')) return; + else{this.ref.bg.style.display = "none";} + } + el.onfocus = function() {this.dummy.className += " NFfocused";} + el.onblur = function() {this.dummy.className = this.dummy.className.replace(/ NFfocused/g, "");} + el.onkeydown = function(e) { + if (!e) var e = window.event; + var thecode = e.keyCode; + var active = this.selectedIndex; + switch(thecode){ + case 40: //down + if(active < this.options.length - 1) { + for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} + var newOne = active + 1; + this.options[newOne].selected = "selected"; + this.options[newOne].lnk.className = "NFOptionActive"; + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; + } + return false; + break; + case 38: //up + if(active > 0) { + for(var w = 0; w < this.options.length; w++) {this.options[w].lnk.className = "";} + var newOne = active - 1; + this.options[newOne].selected = "selected"; + this.options[newOne].lnk.className = "NFOptionActive"; + this.dummy.getElementsByTagName('div')[0].innerHTML = this.options[newOne].text; + } + return false; + break; + default: + break; + } + } +} +function multiSelects(el) { //extend Multiple Selects + el.oldClassName = el.className; + el.height = el.offsetHeight; + el.width = el.offsetWidth; + el.topLeft = document.createElement('img'); + el.topLeft.src = imagesPath + "0.png"; + el.topLeft.className = "NFMultiSelectTopLeft"; + el.topRight = document.createElement('div'); + el.topRight.className = "NFMultiSelectTop"; + el.bottomLeft = document.createElement('img'); + el.bottomLeft.src = imagesPath + "0.png"; + el.bottomLeft.className = "NFMultiSelectBottomLeft"; + el.bottomRight = document.createElement('div'); + el.bottomRight.className = "NFMultiSelectBottom"; + el.left = document.createElement('div'); + el.left.className = "NFMultiSelectLeft"; + el.right = document.createElement('div'); + el.right.className = "NFMultiSelectRight"; + el.init = function() { + var top = this.parentNode; + if(this.previousSibling) {var where = this.previousSibling;} + else {var where = top.childNodes[0];} + top.insertBefore(el.topRight, where); + top.insertBefore(el.right, where); + top.insertBefore(el.bottomRight, where); + this.topRight.appendChild(this.topLeft); + this.right.appendChild(this.left); + this.right.appendChild(this); + this.bottomRight.appendChild(this.bottomLeft); + el.style.width = el.topRight.style.width = el.bottomRight.style.width = el.width + 'px'; + el.style.height = el.left.style.height = el.right.style.height = el.height + 'px'; + el.className = "NFMultiSelect"; + } + el.unload = function() { + this.parentNode.parentNode.appendChild(this); + this.parentNode.removeChild(this.topRight); + this.parentNode.removeChild(this.bottomRight); + this.parentNode.removeChild(this.right); + this.className = this.oldClassName; + this.style.width = this.style.height = ""; + } + el.onfocus = function() { + this.topLeft.className = "NFMultiSelectTopLeft NFh"; + this.topRight.className = "NFMultiSelectTop NFhr"; + this.left.className = "NFMultiSelectLeftH"; + this.right.className = "NFMultiSelectRightH"; + this.bottomLeft.className = "NFMultiSelectBottomLeft NFh"; + this.bottomRight.className = "NFMultiSelectBottom NFhr"; + } + el.onblur = function() { + this.topLeft.className = "NFMultiSelectTopLeft"; + this.topRight.className = "NFMultiSelectTop"; + this.left.className = "NFMultiSelectLeft"; + this.right.className = "NFMultiSelectRight"; + this.bottomLeft.className = "NFMultiSelectBottomLeft"; + this.bottomRight.className = "NFMultiSelectBottom"; + } +} +function option(el, no) { //extend Options + el.li = document.createElement('li'); + el.lnk = document.createElement('a'); + el.lnk.href = "javascript:;"; + el.lnk.ref = el.parentNode; + el.lnk.pos = no; + el.lnk._onclick = el.onclick || function () {}; + el.txt = document.createTextNode(el.text); + el.lnk.appendChild(el.txt); + el.li.appendChild(el.lnk); +} + +//Get Position +function findPosY(obj) { + var posTop = 0; + do {posTop += obj.offsetTop;} while (obj = obj.offsetParent); + return posTop; +} +function findPosX(obj) { + var posLeft = 0; + do {posLeft += obj.offsetLeft;} while (obj = obj.offsetParent); + return posLeft; +} +//Get Siblings +function getInputsByName(name) { + var inputs = document.getElementsByTagName("input"); + var w = 0; var results = new Array(); + for(var q = 0; q < inputs.length; q++) {if(inputs[q].name == name) {results[w] = inputs[q]; ++w;}} + return results; +} + +//Add events +var existingLoadEvent = window.onload || function () {}; +var existingResizeEvent = window.onresize || function() {}; +window.onload = function () { + existingLoadEvent(); + NFInit(); +} +window.onresize = function() { + if(resizeTest != document.documentElement.clientHeight) { + existingResizeEvent(); + NFFix(); + } + resizeTest = document.documentElement.clientHeight; } \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/res/raphael/raphael-min.js --- a/web/res/raphael/raphael-min.js Wed Apr 27 15:40:01 2011 +0200 +++ b/web/res/raphael/raphael-min.js Wed Apr 27 18:54:31 2011 +0200 @@ -1,7 +1,7 @@ -/* - * Raphael 1.5.2 - JavaScript Vector Library - * - * Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com) - * Licensed under the MIT (http://raphaeljs.com/license.html) license. - */ +/* + * Raphael 1.5.2 - JavaScript Vector Library + * + * Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com) + * Licensed under the MIT (http://raphaeljs.com/license.html) license. + */ (function(){function a(){if(a.is(arguments[0],G)){var b=arguments[0],d=bV[m](a,b.splice(0,3+a.is(b[0],E))),e=d.set();for(var g=0,h=b[w];g";bg=bf.firstChild;bg.style.behavior="url(#default#VML)";if(!(bg&&typeof bg.adj=="object"))return a.type=null;bf=null}a.svg=!(a.vml=a.type=="VML");j[e]=a[e];k=j[e];a._id=0;a._oid=0;a.fn={};a.is=function(a,b){b=x.call(b);if(b=="finite")return!O[f](+a);return b=="null"&&a===null||b==typeof a||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||J.call(a).slice(8,-1).toLowerCase()==b};a.angle=function(b,c,d,e,f,g){{if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return((h<0)*180+y.atan(-i/-h)*180/D+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)}};a.rad=function(a){return a%360*D/180};a.deg=function(a){return a*180/D%360};a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,G)){var e=b.length;while(e--)if(B(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};function bh(){var a=[],b=0;for(;b<32;b++)a[b]=(~(~(y.random()*16)))[H](16);a[12]=4;a[16]=(a[16]&3|8)[H](16);return"r-"+a[v]("")}a.setWindow=function(a){h=a;g=h.document};var bi=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write("");e.close();d=e.body}catch(a){d=createPopup().document.body}var f=d.createTextRange();bi=bm(function(a){try{d.style.color=r(a)[Y](c,p);var b=f.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b[H](16)).slice(-6)}catch(a){return"none"}})}else{var h=g.createElement("i");h.title="Raphaël Colour Picker";h.style.display="none";g.body[l](h);bi=bm(function(a){h.style.color=a;return g.defaultView.getComputedStyle(h,p).getPropertyValue("color")})}return bi(b)},bj=function(){return"hsb("+[this.h,this.s,this.b]+")"},bk=function(){return"hsl("+[this.h,this.s,this.l]+")"},bl=function(){return this.hex};a.hsb2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b){d=b.b;c=b.s;b=b.h;e=b.o}return a.hsl2rgb(b,c,d/2,e)};a.hsl2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b){d=b.l;c=b.s;b=b.h}if(b>1||c>1||d>1){b/=360;c/=100;d/=100}var f={},g=["r","g","b"],h,i,j,k,l,m;if(c){d<0.5?h=d*(1+c):h=d+c-d*c;i=2*d-h;for(var n=0;n<3;n++){j=b+1/3*-(n-1);j<0&&j++;j>1&&j--;j*6<1?f[g[n]]=i+(h-i)*6*j:j*2<1?f[g[n]]=h:j*3<2?f[g[n]]=i+(h-i)*(2/3-j)*6:f[g[n]]=i}}else f={r:d,g:d,b:d};f.r*=255;f.g*=255;f.b*=255;f.hex="#"+(16777216|f.b|f.g<<8|f.r<<16).toString(16).slice(1);a.is(e,"finite")&&(f.opacity=e);f.toString=bl;return f};a.rgb2hsb=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=f;{if(g==f)return{h:0,s:0,b:f,toString:bj};var k=f-g;i=k/f;b==f?h=(c-d)/k:c==f?h=2+(d-b)/k:h=4+(b-c)/k;h/=6;h<0&&h++;h>1&&h--}return{h:h,s:i,b:j,toString:bj}};a.rgb2hsl=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=(f+g)/2,k;if(g==f)k={h:0,s:0,l:j};else{var l=f-g;i=j<0.5?l/(f+g):l/(2-f-g);b==f?h=(c-d)/l:c==f?h=2+(d-b)/l:h=4+(b-c)/l;h/=6;h<0&&h++;h>1&&h--;k={h:h,s:i,l:j}}k.toString=bk;return k};a._path2string=function(){return this.join(",")[Y](ba,"$1")};function bm(a,b,c){function d(){var g=Array[e].slice.call(arguments,0),h=g[v]("►"),i=d.cache=d.cache||{},j=d.count=d.count||[];if(i[f](h))return c?c(i[h]):i[h];j[w]>=1000&&delete i[j.shift()];j[L](h);i[h]=a[m](b,g);return c?c(i[h]):i[h]}return d}a.getRGB=bm(function(b){if(!b||!(!((b=r(b)).indexOf("-")+1)))return{r:-1,g:-1,b:-1,hex:"none",error:1};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none"};!(_[f](b.toLowerCase().substring(0,2))||b.charAt()=="#")&&(b=bi(b));var c,d,e,g,h,i,j,k=b.match(N);if(k){if(k[2]){g=T(k[2].substring(5),16);e=T(k[2].substring(3,5),16);d=T(k[2].substring(1,3),16)}if(k[3]){g=T((i=k[3].charAt(3))+i,16);e=T((i=k[3].charAt(2))+i,16);d=T((i=k[3].charAt(1))+i,16)}if(k[4]){j=k[4][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);k[1].toLowerCase().slice(0,4)=="rgba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100)}if(k[5]){j=k[5][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,g,h)}if(k[6]){j=k[6][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsla"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,g,h)}k={r:d,g:e,b:g};k.hex="#"+(16777216|g|e<<8|d<<16).toString(16).slice(1);a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1}},a);a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=0.075;if(b.h>1){b.h=0;b.s-=0.2;b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})}return c.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=bm(function(b){if(!b)return null;var c={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},d=[];a.is(b,G)&&a.is(b[0],G)&&(d=bo(b));d[w]||r(b)[Y](bb,function(a,b,e){var f=[],g=x.call(b);e[Y](bc,function(a,b){b&&f[L](+b)});if(g=="m"&&f[w]>2){d[L]([b][n](f.splice(0,2)));g="l";b=b=="m"?"l":"L"}while(f[w]>=c[g]){d[L]([b][n](f.splice(0,c[g])));if(!c[g])break}});d[H]=a._path2string;return d});a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,l=C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h,m=a+2*i*(c-a)+i*i*(e-2*c+a),n=b+2*i*(d-b)+i*i*(f-2*d+b),o=c+2*i*(e-c)+i*i*(g-2*e+c),p=d+2*i*(f-d)+i*i*(h-2*f+d),q=(1-i)*a+i*c,r=(1-i)*b+i*d,s=(1-i)*e+i*g,t=(1-i)*f+i*h,u=90-y.atan((m-o)/(n-p))*180/D;(m>o||n1){x=y.sqrt(x);c=x*c;d=x*d}var z=c*c,A=d*d,C=(f==g?-1:1)*y.sqrt(B((z*A-z*u*u-A*t*t)/(z*u*u+A*t*t))),E=C*c*u/d+(a+h)/2,F=C*-d*t/c+(b+i)/2,G=y.asin(((b-F)/d).toFixed(9)),H=y.asin(((i-F)/d).toFixed(9));G=aH&&(G=G-D*2);!g&&H>G&&(H=H-D*2)}var I=H-G;if(B(I)>k){var J=H,K=h,L=i;H=G+k*(g&&H>G?1:-1);h=E+c*y.cos(H);i=F+d*y.sin(H);m=bt(h,i,c,d,e,0,g,K,L,[H,J,E,F])}I=H-G;var M=y.cos(G),N=y.sin(G),O=y.cos(H),P=y.sin(H),Q=y.tan(I/4),R=4/3*c*Q,S=4/3*d*Q,T=[a,b],U=[a+R*N,b-S*M],V=[h+R*P,i-S*O],W=[h,i];U[0]=2*T[0]-U[0];U[1]=2*T[1]-U[1];{if(j)return[U,V,W][n](m);m=[U,V,W][n](m)[v]()[s](",");var X=[];for(var Y=0,Z=m[w];Y"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}i=f-2*d+b-(h-2*f+d);j=2*(d-b)-2*(f-d);k=b-d;l=(-j+y.sqrt(j*j-4*i*k))/2/i;n=(-j-y.sqrt(j*j-4*i*k))/2/i;B(l)>"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}return{min:{x:A[m](0,p),y:A[m](0,o)},max:{x:z[m](0,p),y:z[m](0,o)}}}),bw=bm(function(a,b){var c=bq(a),d=b&&bq(b),e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1];b.Y=a[2];break;case"A":a=["C"][n](bt[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x));d=b.y+(b.y-(b.by||b.y));a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x));b.qy=b.y+(b.y-(b.qy||b.y));a=["C"][n](bs(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1];b.qy=a[2];a=["C"][n](bs(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](br(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](br(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](br(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](br(b.x,b.y,b.X,b.Y));break}return a},h=function(a,b){if(a[b][w]>7){a[b].shift();var e=a[b];while(e[w])a.splice(b++,0,["C"][n](e.splice(0,6)));a.splice(b,1);k=z(c[w],d&&d[w]||0)}},i=function(a,b,e,f,g){if(a&&b&&a[g][0]=="M"&&b[g][0]!="M"){b.splice(g,0,["M",f.x,f.y]);e.bx=0;e.by=0;e.x=a[g][1];e.y=a[g][2];k=z(c[w],d&&d[w]||0)}};for(var j=0,k=z(c[w],d&&d[w]||0);j0.5)*2-1;C(e-0.5,2)+C(f-0.5,2)>0.25&&(f=y.sqrt(0.25-C(e-0.5,2))*g+0.5)&&f!=0.5&&(f=f.toFixed(5)-0.00001*g)}return p});b=b[s](/\s*\-\s*/);if(d=="linear"){var i=b.shift();i=-S(i);if(isNaN(i))return null;var j=[0,0,y.cos(i*D/180),y.sin(i*D/180)],k=1/(z(B(j[2]),B(j[3]))||1);j[2]*=k;j[3]*=k;if(j[2]<0){j[0]=-j[2];j[2]=0}if(j[3]<0){j[1]=-j[3];j[3]=0}}var m=bx(b);if(!m)return null;var n=a.getAttribute(I);n=n.match(/^url\(#(.*)\)$/);n&&c.defs.removeChild(g.getElementById(n[1]));var o=bG(d+"Gradient");o.id=bh();bG(o,d=="radial"?{fx:e,fy:f}:{x1:j[0],y1:j[1],x2:j[2],y2:j[3]});c.defs[l](o);for(var q=0,t=m[w];q1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(o);h[R](n,G.hex);n=="stroke"&&G[f]("opacity")&&bG(h,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity});break;case"gradient":(({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper);break;case"opacity":i.gradient&&!i[f]("stroke-opacity")&&bG(h,{"stroke-opacity":o>1?o/100:o});case"fill-opacity":if(i.gradient){var H=g.getElementById(h.getAttribute(I)[Y](/^url\(#|\)$/g,p));if(H){var J=H.getElementsByTagName("stop");J[J[w]-1][R]("stop-opacity",o)}break}default:n=="font-size"&&(o=T(o,10)+"px");var K=n[Y](/(\-.)/g,function(a){return V.call(a.substring(1))});h.style[K]=o;h[R](n,o);break}}}bM(c,d);m?c.rotate(m.join(q)):S(j)&&c.rotate(j,true)},bL=1.2,bM=function(b,c){if(b.type!="text"||!(c[f]("text")||c[f]("font")||c[f]("font-size")||c[f]("x")||c[f]("y")))return;var d=b.attrs,e=b.node,h=e.firstChild?T(g.defaultView.getComputedStyle(e.firstChild,p).getPropertyValue("font-size"),10):10;if(c[f]("text")){d.text=c.text;while(e.firstChild)e.removeChild(e.firstChild);var i=r(c.text)[s]("\n");for(var j=0,k=i[w];jb.height&&(b.height=e.y+e.height-b.y);e.x+e.width-b.x>b.width&&(b.width=e.x+e.width-b.x)}}a&&this.hide();return b};bN[e].attr=function(b,c){if(this.removed)return this;if(b==null){var d={};for(var e in this.attrs)this.attrs[f](e)&&(d[e]=this.attrs[e]);this._.rt.deg&&(d.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(d.scale=this.scale());d.gradient&&d.fill=="none"&&(d.fill=d.gradient)&&delete d.gradient;return d}if(c==null&&a.is(b,F)){if(b=="translation")return cz.call(this);if(b=="rotation")return this.rotate();if(b=="scale")return this.scale();if(b==I&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;return this.attrs[b]}if(c==null&&a.is(b,G)){var g={};for(var h=0,i=b.length;h"));m.W=h.w=m.paper.span.offsetWidth;m.H=h.h=m.paper.span.offsetHeight;m.X=h.x;m.Y=h.y+Q(m.H/2);switch(h["text-anchor"]){case"start":m.node.style["v-text-align"]="left";m.bbx=Q(m.W/2);break;case"end":m.node.style["v-text-align"]="right";m.bbx=-Q(m.W/2);break;default:m.node.style["v-text-align"]="center";break}}};bI=function(a,b){a.attrs=a.attrs||{};var c=a.attrs,d,e="linear",f=".5 .5";a.attrs.gradient=b;b=r(b)[Y](bd,function(a,b,c){e="radial";if(b&&c){b=S(b);c=S(c);C(b-0.5,2)+C(c-0.5,2)>0.25&&(c=y.sqrt(0.25-C(b-0.5,2))*((c>0.5)*2-1)+0.5);f=b+q+c}return p});b=b[s](/\s*\-\s*/);if(e=="linear"){var g=b.shift();g=-S(g);if(isNaN(g))return null}var h=bx(b);if(!h)return null;a=a.shape||a.node;d=a.getElementsByTagName(I)[0]||cd(I);!d.parentNode&&a.appendChild(d);if(h[w]){d.on=true;d.method="none";d.color=h[0].color;d.color2=h[h[w]-1].color;var i=[];for(var j=0,k=h[w];j")}}catch(a){cd=function(a){return g.createElement("<"+a+" xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">")}}bV=function(){var b=by[m](0,arguments),c=b.container,d=b.height,e,f=b.width,h=b.x,i=b.y;if(!c)throw new Error("VML container not found.");var k=new j,n=k.canvas=g.createElement("div"),o=n.style;h=h||0;i=i||0;f=f||512;d=d||342;f==+f&&(f+="px");d==+d&&(d+="px");k.width=1000;k.height=1000;k.coordsize=b_*1000+q+b_*1000;k.coordorigin="0 0";k.span=g.createElement("span");k.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";n[l](k.span);o.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d);if(c==1){g.body[l](n);o.left=h+"px";o.top=i+"px";o.position="absolute"}else c.firstChild?c.insertBefore(n,c.firstChild):c[l](n);bz.call(k,k,a.fn);return k};k.clear=function(){this.canvas.innerHTML=p;this.span=g.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas[l](this.span);this.bottom=this.top=null};k.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a);return true}}var ce=navigator.userAgent.match(/Version\\x2f(.*?)\s/);navigator.vendor=="Apple Computer, Inc."&&(ce&&ce[1]<4||navigator.platform.slice(0,2)=="iP")?k.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});h.setTimeout(function(){a.remove()})}:k.safari=function(){};var cf=function(){this.returnValue=false},cg=function(){return this.originalEvent.preventDefault()},ch=function(){this.cancelBubble=true},ci=function(){return this.originalEvent.stopPropagation()},cj=(function(){{if(g.addEventListener)return function(a,b,c,d){var e=o&&u[b]?u[b]:b,g=function(e){if(o&&u[f](b))for(var g=0,h=e.targetTouches&&e.targetTouches.length;g1&&(a=Array[e].splice.call(arguments,0,arguments[w]));return new cC(a)};k.setSize=bU;k.top=k.bottom=null;k.raphael=a;function co(){return this.x+q+this.y}bO.resetScale=function(){if(this.removed)return this;this._.sx=1;this._.sy=1;this.attrs.scale="1 1"};bO.scale=function(a,b,c,d){if(this.removed)return this;if(a==null&&b==null)return{x:this._.sx,y:this._.sy,toString:co};b=b||a;!(+b)&&(b=a);var e,f,g,h,i=this.attrs;if(a!=0){var j=this.getBBox(),k=j.x+j.width/2,l=j.y+j.height/2,m=B(a/this._.sx),o=B(b/this._.sy);c=+c||c==0?c:k;d=+d||d==0?d:l;var r=this._.sx>0,s=this._.sy>0,t=~(~(a/B(a))),u=~(~(b/B(b))),x=m*t,y=o*u,z=this.node.style,A=c+B(k-c)*x*(k>c==r?1:-1),C=d+B(l-d)*y*(l>d==s?1:-1),D=a*t>b*u?o:m;switch(this.type){case"rect":case"image":var E=i.width*m,F=i.height*o;this.attr({height:F,r:i.r*D,width:E,x:A-E/2,y:C-F/2});break;case"circle":case"ellipse":this.attr({rx:i.rx*m,ry:i.ry*o,r:i.r*D,cx:A,cy:C});break;case"text":this.attr({x:A,y:C});break;case"path":var G=bp(i.path),H=true,I=r?x:m,J=s?y:o;for(var K=0,L=G[w];Kr)p=n.data[r*l];else{p=a.findDotsAtSegment(b,c,d,e,f,g,h,i,r/l);n.data[r]=p}r&&(k+=C(C(o.x-p.x,2)+C(o.y-p.y,2),0.5));if(j!=null&&k>=j)return p;o=p}if(j==null)return k},cr=function(b,c){return function(d,e,f){d=bw(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;oe){if(c&&!l.start){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);k+=["C",m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k;k=["M",m.x,m.y+"C",m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]][v]();n+=j;g=+i[5];h=+i[6];continue}if(!b&&!c){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j;g=+i[5];h=+i[6]}k+=i}l.end=k;m=b?n:c?l:a.findDotsAtSegment(g,h,i[1],i[2],i[3],i[4],i[5],i[6],1);m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cs=cr(1),ct=cr(),cu=cr(0,1);bO.getTotalLength=function(){if(this.type!="path")return;if(this.node.getTotalLength)return this.node.getTotalLength();return cs(this.attrs.path)};bO.getPointAtLength=function(a){if(this.type!="path")return;return ct(this.attrs.path,a)};bO.getSubpath=function(a,b){if(this.type!="path")return;if(B(this.getTotalLength()-b)<"1e-6")return cu(this.attrs.path,a).end;var c=cu(this.attrs.path,b,1);return a?cu(c,a).end:c};a.easing_formulas={linear:function(a){return a},"<":function(a){return C(a,3)},">":function(a){return C(a-1,3)+1},"<>":function(a){a=a*2;if(a<1)return C(a,3)/2;a-=2;return(C(a,3)+2)/2},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==0||a==1)return a;var b=0.3,c=b/4;return C(2,-10*a)*y.sin((a-c)*(2*D)/b)+1},bounce:function(a){var b=7.5625,c=2.75,d;if(a<1/c)d=b*a*a;else if(a<2/c){a-=1.5/c;d=b*a*a+0.75}else if(a<2.5/c){a-=2.25/c;d=b*a*a+0.9375}else{a-=2.625/c;d=b*a*a+0.984375}return d}};var cv=[],cw=function(){var b=+(new Date);for(var c=0;cd)return d;while(cf?c=e:d=e;e=(d-c)/2+c}return e}return n(a,1/(200*f))}bO.onAnimation=function(a){this._run=a||0;return this};bO.animate=function(c,d,e,g){var h=this;h.timeouts=h.timeouts||[];if(a.is(e,"function")||!e)g=e||null;if(h.removed){g&&g.call(h);return h}var i={},j={},k=false,l={};for(var m in c)if(c[f](m)){if(X[f](m)||h.paper.customAttributes[f](m)){k=true;i[m]=h.attr(m);i[m]==null&&(i[m]=W[m]);j[m]=c[m];switch(X[m]){case"along":var n=cs(c[m]),o=ct(c[m],n*!(!c.back)),p=h.getBBox();l[m]=n/d;l.tx=p.x;l.ty=p.y;l.sx=o.x;l.sy=o.y;j.rot=c.rot;j.back=c.back;j.len=n;c.rot&&(l.r=S(h.rotate())||0);break;case E:l[m]=(j[m]-i[m])/d;break;case"colour":i[m]=a.getRGB(i[m]);var q=a.getRGB(j[m]);l[m]={r:(q.r-i[m].r)/d,g:(q.g-i[m].g)/d,b:(q.b-i[m].b)/d};break;case"path":var t=bw(i[m],j[m]);i[m]=t[0];var u=t[1];l[m]=[];for(var v=0,x=i[m][w];v 'http://amateur.iri.centrepompidou.fr/live/', - - 'hashtag' => '#rsln', - 'date' => '07.04.2011', - 'heure' => '19h30-21h00', - 'place' => 'Microsoft France', - 'duration' => '4026000', - - 'title' => "Mercedes Bunz : Les algorithmes ne remplaceront jamais les journalistes", - 'description'=> "", - - 'link' => 'http://www.rslnmag.fr/blog/2011/4/9/mercedes-bunz_les-algorithmes-ne-remplaceront-jamais-les-journalistes_/', - 'keywords' => 'algorithme, data journalisme, presse, mercedes bunz, rsln, iri', - 'rep' => 'rsln-mercedes-bunz', - 'partenaires'=> " IRI - | RSLN - | MICROSOFT.fr ", - - // After the event - 'metadata' => "http://www.iri.centrepompidou.fr/dev/ldt/ldtplatform/ldt/cljson/id/843fff80-6b50-11e0-8aef-00145ea49a02", - 'player' => "res/metadataplayer/src/js/LdtPlayer.js" -); - -$player_width = 600; -$player_height = 480; -?> - - - - - + 'http://amateur.iri.centrepompidou.fr/live/', + + 'hashtag' => '#rsln', + 'date' => '07.04.2011', + 'heure' => '19h30-21h00', + 'place' => 'Microsoft France', + 'duration' => '4026000', + + 'title' => "Mercedes Bunz : Les algorithmes ne remplaceront jamais les journalistes", + 'description'=> "", + + 'link' => 'http://www.rslnmag.fr/blog/2011/4/9/mercedes-bunz_les-algorithmes-ne-remplaceront-jamais-les-journalistes_/', + 'keywords' => 'algorithme, data journalisme, presse, mercedes bunz, rsln, iri', + 'rep' => 'rsln-mercedes-bunz', + 'partenaires'=> " IRI + | RSLN + | MICROSOFT.fr ", + + // After the event + 'metadata' => "http://www.iri.centrepompidou.fr/dev/ldt/ldtplatform/ldt/cljson/id/843fff80-6b50-11e0-8aef-00145ea49a02", + 'player' => "res/metadataplayer/src/js/LdtPlayer.js" +); + +$player_width = 600; +$player_height = 480; +?> + + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-mercedes-bunz/embed_form.php --- a/web/rsln-mercedes-bunz/embed_form.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-mercedes-bunz/embed_form.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,100 +1,100 @@ - - - - - - embed Configuration - - - - - - - - - - - - - - - - -

    _("EmbedTitle"); ?>

    - -

    _("EmbedText"); ?>

    - - - - + + + + + + embed Configuration + + + + + + + + + + + + + + + + +

    _("EmbedTitle"); ?>

    + +

    _("EmbedText"); ?>

    + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-mercedes-bunz/index.php --- a/web/rsln-mercedes-bunz/index.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-mercedes-bunz/index.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,6 +1,6 @@ - \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-mercedes-bunz/player_embed.php --- a/web/rsln-mercedes-bunz/player_embed.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-mercedes-bunz/player_embed.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,138 +1,138 @@ - - - - - - RSLN - Polemic player embed page - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    -
    -
    - - - -
    - - -
    -
    - - + + + + + + RSLN - Polemic player embed page + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + + +
    + + +
    +
    + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-mercedes-bunz/polemicaltimeline.php --- a/web/rsln-mercedes-bunz/polemicaltimeline.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-mercedes-bunz/polemicaltimeline.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,223 +1,222 @@ - - - - - - Polemic tweet - <?php echo($config['title']); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    - - - - - - -
    -

    _("ClientTitle1 :"); ?>


    - _("ExplicationPT"); ?> -
    - - - - - - - -
    -
    - -
    - - - - - -
    - -
    -
    - - - - -
    - - - + + + + + + Polemic tweet - <?php echo($config['title']); ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + + + + + + +
    +

    _("ClientTitle1 :"); ?>


    + _("ExplicationPT"); ?> +
    + + + + + + + +
    +
    + +
    + + + + + +
    + +
    +
    + + + + +
    + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-opendata/config.php --- a/web/rsln-opendata/config.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-opendata/config.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,42 +1,42 @@ - 'http://amateur.iri.centrepompidou.fr/live/', - - 'hashtag' => '#opendata,#rsln', - 'date' => '17.03.2011', - 'heure' => '14h30-18h00', - 'place' => 'Microsoft France', - 'duration' => '11514500', - - 'title' => "L’Open Data, et nous, et nous, et nous ? Venez imaginer le monde de l’abondance des données !", - 'description'=> "De quoi le mouvement Open Data est-il le nom ? Et quelles conditions réunir pour enclencher un cercle vertueux autour de cette évolution structurelle du web, qui dessine un monde où la donnée retrouve une valeur, et peut fonder de nouvelles activités, de nouveaux secteurs économiques ? -

    - Microsoft France, avec RSLN et le World e.gov Forum, organisent un atelier de réflexion autour du phénomène Open Data, pendant une demi-journée, le jeudi 17 mars, à partir de 14h30, pour comprendre, et imaginer, ensemble, le monde de l’abondance des données.", - - 'link' => 'http://www.rslnmag.fr/blog/2011/2/10/l-open-data_et-nous_et-nous_et-nous_venez-imaginer-le-monde-de-l-abondance-des-donnees_/', - 'keywords' => 'opendata, données publiques, web semantique, rsln, iri,Arnaud Cavailhez,Caroline Goulard,Nicolas Hernandez,David Larlet,Jean-Marc Manach,Christophe Tallec, Bruno Walther,Nigel Shadbolt', - 'rep' => 'rsln-opendata', - 'partenaires'=> " IRI - | RSLN - | World e.gov Forum - | MICROSOFT.fr ", - - // After the event - 'metadata' => "http://www.iri.centrepompidou.fr/dev/ldt/ldtplatform/ldt/cljson/id/f410655c-5a4d-11e0-a392-00145ea49a02", - 'player' => "res/metadataplayer/src/js/LdtPlayer.js" -); - -$player_width = 600; -$player_height = 480; -?> - - - - - + 'http://amateur.iri.centrepompidou.fr/live/', + + 'hashtag' => '#opendata,#rsln', + 'date' => '17.03.2011', + 'heure' => '14h30-18h00', + 'place' => 'Microsoft France', + 'duration' => '11514500', + + 'title' => "L’Open Data, et nous, et nous, et nous ? Venez imaginer le monde de l’abondance des données !", + 'description'=> "De quoi le mouvement Open Data est-il le nom ? Et quelles conditions réunir pour enclencher un cercle vertueux autour de cette évolution structurelle du web, qui dessine un monde où la donnée retrouve une valeur, et peut fonder de nouvelles activités, de nouveaux secteurs économiques ? +

    + Microsoft France, avec RSLN et le World e.gov Forum, organisent un atelier de réflexion autour du phénomène Open Data, pendant une demi-journée, le jeudi 17 mars, à partir de 14h30, pour comprendre, et imaginer, ensemble, le monde de l’abondance des données.", + + 'link' => 'http://www.rslnmag.fr/blog/2011/2/10/l-open-data_et-nous_et-nous_et-nous_venez-imaginer-le-monde-de-l-abondance-des-donnees_/', + 'keywords' => 'opendata, données publiques, web semantique, rsln, iri,Arnaud Cavailhez,Caroline Goulard,Nicolas Hernandez,David Larlet,Jean-Marc Manach,Christophe Tallec, Bruno Walther,Nigel Shadbolt', + 'rep' => 'rsln-opendata', + 'partenaires'=> " IRI + | RSLN + | World e.gov Forum + | MICROSOFT.fr ", + + // After the event + 'metadata' => "http://www.iri.centrepompidou.fr/dev/ldt/ldtplatform/ldt/cljson/id/f410655c-5a4d-11e0-a392-00145ea49a02", + 'player' => "res/metadataplayer/src/js/LdtPlayer.js" +); + +$player_width = 600; +$player_height = 480; +?> + + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-opendata/embed_form.php --- a/web/rsln-opendata/embed_form.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-opendata/embed_form.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,100 +1,100 @@ - - - - - - embed Configuration - - - - - - - - - - - - - - - - -

    _("EmbedTitle"); ?>

    - -

    _("EmbedText"); ?>

    - - - - + + + + + + embed Configuration + + + + + + + + + + + + + + + + +

    _("EmbedTitle"); ?>

    + +

    _("EmbedText"); ?>

    + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-opendata/index.php --- a/web/rsln-opendata/index.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-opendata/index.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,6 +1,6 @@ - \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-opendata/player_embed.php --- a/web/rsln-opendata/player_embed.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-opendata/player_embed.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,138 +1,138 @@ - - - - - - RSLN - Polemic player embed page - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    -
    -
    - - - -
    - - -
    -
    - - + + + + + + RSLN - Polemic player embed page + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + + +
    + + +
    +
    + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln-opendata/polemicaltimeline.php --- a/web/rsln-opendata/polemicaltimeline.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln-opendata/polemicaltimeline.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,223 +1,222 @@ - - - - - - Polemic tweet - <?php echo($config['title']); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    - - - - - - -
    -

    _("ClientTitle1 :"); ?>


    - _("ExplicationPT"); ?> -
    - - - - - - - -
    -
    - -
    - - - - - -
    - -
    -
    - - - - -
    - - - + + + + + + Polemic tweet - <?php echo($config['title']); ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + + + + + + +
    +

    _("ClientTitle1 :"); ?>


    + _("ExplicationPT"); ?> +
    + + + + + + + +
    +
    + +
    + + + + + +
    + +
    +
    + + + + +
    + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln/embed_form.php --- a/web/rsln/embed_form.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln/embed_form.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,100 +1,100 @@ - - - - - - embed Configuration - - - - - - - - - - - - - - - - -

    _("EmbedTitle"); ?>

    - -

    _("EmbedText"); ?>

    - - - - + + + + + + embed Configuration + + + + + + + + + + + + + + + + +

    _("EmbedTitle"); ?>

    + +

    _("EmbedText"); ?>

    + + + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln/index.php --- a/web/rsln/index.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln/index.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,6 +1,6 @@ - \ No newline at end of file diff -r c84f8401d36e -r 9578d3ddce17 web/rsln/player_embed.php --- a/web/rsln/player_embed.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln/player_embed.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,138 +1,138 @@ - - - - - - RSLN - Polemic player embed page - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    -
    -
    - - - -
    - - -
    -
    - - + + + + + + RSLN - Polemic player embed page + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + + + +
    + + +
    +
    + + diff -r c84f8401d36e -r 9578d3ddce17 web/rsln/polemicaltimeline.php --- a/web/rsln/polemicaltimeline.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/rsln/polemicaltimeline.php Wed Apr 27 18:54:31 2011 +0200 @@ -1,224 +1,224 @@ - - - - - - Polemic tweet - <?php echo($config['title']); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    - -
    - - - - - - - -
    -

    _("ClientTitle1 :"); ?>


    - _("ExplicationPT"); ?> -
    - - - - - - - -
    -
    - -
    - - - - - -
    - -
    -
    - - - - -
    - - - + + + + + + Polemic tweet - <?php echo($config['title']); ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + + + + + + + +
    +

    _("ClientTitle1 :"); ?>


    + _("ExplicationPT"); ?> +
    + + + + + + + +
    +
    + +
    + + + + + +
    + +
    +
    + + + + +
    + + + diff -r c84f8401d36e -r 9578d3ddce17 web/traduction.php --- a/web/traduction.php Wed Apr 27 15:40:01 2011 +0200 +++ b/web/traduction.php Wed Apr 27 18:54:31 2011 +0200 @@ -106,7 +106,7 @@ Les développements sont open source et vont être sous licence Cecil.

    Suivez nous sur Twitter : @PolemicTweet

    - Cette expérimentation a été réaliser avec le soutient de :
    + Cette expérimentation a été réalisé avec le soutien de :
    ",