correct line endings + other small errors V00.41
authorYves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
Wed, 27 Apr 2011 18:54:31 +0200
changeset 133 9578d3ddce17
parent 132 c84f8401d36e
child 134 dcbde1a9f4c8
correct line endings + other small errors
web/about.php
web/client.php
web/enmi/config.php
web/enmi/index.php
web/enmi/res/blueprint/plugins/fancy-type/screen.css
web/enmi/res/jquery.fancybox/ajax.txt
web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css
web/enmi/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js
web/enmi/res/jquery.fancybox/index.html
web/enmi/res/jquery.fancybox/index2.html
web/enmi/res/jquery.fancybox/style.css
web/enmi/res/mediaplayer/swfobject.js
web/enmi/res/niceforms/niceforms-custom.css
web/enmi/res/niceforms/niceforms-default.css
web/enmi/res/niceforms/niceforms.html
web/enmi/res/niceforms/niceforms.js
web/index.php
web/res/blueprint/plugins/fancy-type/screen.css
web/res/css/LdtPlayer.css
web/res/css/LdtPlayerFc.css
web/res/css/LdtPlayerUniverScience.css
web/res/css/demo.css
web/res/jquery.fancybox/ajax.txt
web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css
web/res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.js
web/res/jquery.fancybox/index.html
web/res/jquery.fancybox/index2.html
web/res/jquery.fancybox/style.css
web/res/mediaplayer/swfobject.js
web/res/metadataplayer.polemic/src/css/LdtPlayer.css
web/res/metadataplayer.polemic/src/css/LdtPlayerFc.css
web/res/metadataplayer.polemic/src/css/LdtPlayerUniverScience.css
web/res/metadataplayer.polemic/src/css/demo.css
web/res/metadataplayer.polemic/src/js/polemic.js
web/res/metadataplayer/res/js/jquery.jqDock.js
web/res/metadataplayer/res/js/jquery.jqDock.min.js
web/res/metadataplayer/src/css/LdtPlayer.css
web/res/metadataplayer/src/css/LdtPlayerFc.css
web/res/metadataplayer/src/css/LdtPlayerUniverScience.css
web/res/metadataplayer/src/css/demo.css
web/res/metadataplayer/src/js/LdtPlayer.js
web/res/metadataplayer/src/js/LdtPlayer.old.js
web/res/metadataplayer/test/chartTimeline.html
web/res/metadataplayer/test/chartTimeline2.html
web/res/metadataplayer/test/chartTimeline3.html
web/res/metadataplayer/test/chartTimeline4.html
web/res/metadataplayer/test/chartTimeline5.html
web/res/metadataplayer/test/chartTimeline6.html
web/res/metadataplayer/test/css-dock-menu/css-dock-bottom.html
web/res/metadataplayer/test/css-dock-menu/css-dock-top.html
web/res/metadataplayer/test/css-dock-menu/css-dock.html
web/res/metadataplayer/test/css-dock-menu/js/easing.js
web/res/metadataplayer/test/css-dock-menu/js/fisheye.js
web/res/metadataplayer/test/css-dock-menu/js/ifx.js
web/res/metadataplayer/test/css-dock-menu/js/iselect.js
web/res/metadataplayer/test/css-dock-menu/style.css
web/res/metadataplayer/test/emission_fichiers/1219830366Middlex02BottomRight.js
web/res/metadataplayer/test/emission_fichiers/265074200838.js
web/res/metadataplayer/test/emission_fichiers/addthis_widget.js
web/res/metadataplayer/test/emission_fichiers/ajax-responder.js
web/res/metadataplayer/test/emission_fichiers/comment.js
web/res/metadataplayer/test/emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css
web/res/metadataplayer/test/emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css
web/res/metadataplayer/test/emission_fichiers/drupal.js
web/res/metadataplayer/test/emission_fichiers/fc_antidot_recherche.js
web/res/metadataplayer/test/emission_fichiers/fc_bloc_direct.js
web/res/metadataplayer/test/emission_fichiers/fc_widget_twitter.js
web/res/metadataplayer/test/emission_fichiers/fivestar.js
web/res/metadataplayer/test/emission_fichiers/footer.js
web/res/metadataplayer/test/emission_fichiers/high.js
web/res/metadataplayer/test/emission_fichiers/jquery.js
web/res/metadataplayer/test/emission_fichiers/jquery_002.js
web/res/metadataplayer/test/emission_fichiers/jquery_003.js
web/res/metadataplayer/test/emission_fichiers/jquery_004.js
web/res/metadataplayer/test/emission_fichiers/jquery_005.js
web/res/metadataplayer/test/emission_fichiers/jquery_006.js
web/res/metadataplayer/test/emission_fichiers/panels.js
web/res/metadataplayer/test/emission_fichiers/popups.js
web/res/metadataplayer/test/emission_fichiers/popups_002.js
web/res/metadataplayer/test/emission_fichiers/rf_player.js
web/res/metadataplayer/test/emission_fichiers/rollover.js
web/res/metadataplayer/test/emission_fichiers/script.js
web/res/metadataplayer/test/emission_fichiers/sh20.htm
web/res/metadataplayer/test/emission_fichiers/swfobject.txt
web/res/metadataplayer/test/emission_fichiers/tableheader.js
web/res/metadataplayer/test/emission_fichiers/textarea.js
web/res/metadataplayer/test/emission_fichiers/widget40.css
web/res/metadataplayer/test/emission_fichiers/xtcore.js
web/res/metadataplayer/test/emission_fichiers/youtube.js
web/res/metadataplayer/test/example.html
web/res/metadataplayer/test/hook.html
web/res/metadataplayer/test/hook.js
web/res/metadataplayer/test/index-dailymotion.htm
web/res/metadataplayer/test/index-videoelement.htm
web/res/metadataplayer/test/index-vimeo.htm
web/res/metadataplayer/test/index-youtube.htm
web/res/metadataplayer/test/index.htm
web/res/metadataplayer/test/indexFC.htm
web/res/metadataplayer/test/indexFC2.htm
web/res/metadataplayer/test/interface 1.2/compressed/accordion.js
web/res/metadataplayer/test/interface 1.2/compressed/easing.js
web/res/metadataplayer/test/interface 1.2/compressed/fisheye.js
web/res/metadataplayer/test/interface 1.2/compressed/iautoscroller.js
web/res/metadataplayer/test/interface 1.2/compressed/idrop.js
web/res/metadataplayer/test/interface 1.2/compressed/iexpander.js
web/res/metadataplayer/test/interface 1.2/compressed/ifx.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxblind.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxbounce.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxdrop.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxfold.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxopenclose.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxpulsate.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxscale.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxshake.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxslide.js
web/res/metadataplayer/test/interface 1.2/compressed/ifxtransfer.js
web/res/metadataplayer/test/interface 1.2/compressed/iselect.js
web/res/metadataplayer/test/interface 1.2/compressed/islider.js
web/res/metadataplayer/test/interface 1.2/compressed/islideshow.js
web/res/metadataplayer/test/interface 1.2/compressed/isortables.js
web/res/metadataplayer/test/interface 1.2/compressed/itooltip.js
web/res/metadataplayer/test/interface 1.2/compressed/ittabs.js
web/res/metadataplayer/test/interface 1.2/interface.js
web/res/metadataplayer/test/interface 1.2/source/accordion.js
web/res/metadataplayer/test/interface 1.2/source/easing.js
web/res/metadataplayer/test/interface 1.2/source/fisheye.js
web/res/metadataplayer/test/interface 1.2/source/iautoscroller.js
web/res/metadataplayer/test/interface 1.2/source/idrop.js
web/res/metadataplayer/test/interface 1.2/source/iexpander.js
web/res/metadataplayer/test/interface 1.2/source/ifx.js
web/res/metadataplayer/test/interface 1.2/source/ifxblind.js
web/res/metadataplayer/test/interface 1.2/source/ifxbounce.js
web/res/metadataplayer/test/interface 1.2/source/ifxdrop.js
web/res/metadataplayer/test/interface 1.2/source/ifxfold.js
web/res/metadataplayer/test/interface 1.2/source/ifxopenclose.js
web/res/metadataplayer/test/interface 1.2/source/ifxpulsate.js
web/res/metadataplayer/test/interface 1.2/source/ifxscale.js
web/res/metadataplayer/test/interface 1.2/source/ifxshake.js
web/res/metadataplayer/test/interface 1.2/source/ifxslide.js
web/res/metadataplayer/test/interface 1.2/source/ifxtransfer.js
web/res/metadataplayer/test/interface 1.2/source/iselect.js
web/res/metadataplayer/test/interface 1.2/source/islider.js
web/res/metadataplayer/test/interface 1.2/source/islideshow.js
web/res/metadataplayer/test/interface 1.2/source/isortables.js
web/res/metadataplayer/test/interface 1.2/source/itooltip.js
web/res/metadataplayer/test/interface 1.2/source/ittabs.js
web/res/metadataplayer/test/mouse_interaction_overlay.html
web/res/metadataplayer/test/player_nomal.html
web/res/metadataplayer/test/raphael-min.js
web/res/metadataplayer/test/raphael.html
web/res/metadataplayer/test/raphael2.html
web/res/metadataplayer/test/raphael_timeline.html
web/res/niceforms/niceforms-custom.css
web/res/niceforms/niceforms-default.css
web/res/niceforms/niceforms.html
web/res/niceforms/niceforms.js
web/res/raphael/raphael-min.js
web/rsln-mercedes-bunz/config.php
web/rsln-mercedes-bunz/embed_form.php
web/rsln-mercedes-bunz/index.php
web/rsln-mercedes-bunz/player_embed.php
web/rsln-mercedes-bunz/polemicaltimeline.php
web/rsln-opendata/config.php
web/rsln-opendata/embed_form.php
web/rsln-opendata/index.php
web/rsln-opendata/player_embed.php
web/rsln-opendata/polemicaltimeline.php
web/rsln/embed_form.php
web/rsln/index.php
web/rsln/player_embed.php
web/rsln/polemicaltimeline.php
web/traduction.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 @@
-<?php
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once './common.php';
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
-   "http://www.w3.org/TR/html4/strict.dtd">
-
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>ENMI 2010 - Live Video and Annotation</title>
-
-    <!-- Framework CSS -->
-    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
-    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
-
-    <!-- Import fancy-type plugin for the sample page. -->
-    
-	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/tabs-slideshow.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
-
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<!--<script type="text/javascript" src="res/jquery.tools/jquery.tools.min.js"></script>-->
-	<script src="http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
-	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-
-	<script type="text/javascript">	
-	$(document).ready(function() {
-
-			
-			$(".archivesVideoBox").mouseover(function() {
-				//$(this).animate({'backgroundColor'});
-				//$(this).css({'backgroundColor':'#d6d6d6'});
-				$(this).css({'backgroundColor':'#fff'});
-				$(this).cursor = "pointer";
-			}).mouseout(function(){
-				//$(this).css({'backgroundColor':'#f6f6f6'});
-				$(this).css({'backgroundColor':'#f2f2f2'});
-			});
-		});
-
-
-
-		
-	</script>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  <body>
-    <div class="container">
-     <a href="index.php">  <img src="images/ENMI_2010_logo.gif" class="logo"></a>
-	  <ul class="menu"> 
-	  <li class="menuUnderline"><a href="index.php" class="menuLink">
-	  <?php print $translate->_("Accueil"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?CONNECT=true" class="menuLink">
-	  <?php print $translate->_("S&apos;identifier"); ?></a></li>
-	  <li ><a href="mailto:contact@iri.centrepompidou.fr" class="menuLink" >
-	  <?php print $translate->_("Contact"); ?></a></li>
-	  </ul>
-	  
-	  	  <ul class="menu lang" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>
-
-	
-	  
-	  <div class="aboutBox">
-	  <div class="archivesBoxHeader"></div>
-		<div class="archivesBoxContainer">
-			<!-- -->
-			<h3 class="archivesTitle"><?php print $translate->_("A propos"); ?> : </h3><br/>
-			<div class="span-12 prepend-1 colborder">
-			
-				<div class='AVBtitle'><?php print $translate->_("1. AboutTitle"); ?></div>
-				<br/>
-				<?php print $translate->_("1. AboutText"); ?>
-				<br/>
-			</div>
-			
-			
-			<div class="span-7 last">
-				<div class="AVBtitle"><?php print $translate->_("2. AboutIRITitle"); ?></div>
-					<?php print $translate->_("2. AboutIRIText"); ?>
-					
-				<div class="AVBtitle"><?php print $translate->_("3. AboutCreditsTitle"); ?></div>
-					<br/>
-					<?php print $translate->_("3. AboutCreditsText"); ?>
-			</div>
-
-
-		</div>
-		<div class="archivesBoxClear"></div>
-		<div class="archivesBoxFooter"></div>
-	  </div>
-	 <!--
-      <div class="footer">
-		<hr>
-		<a href="http://www.iri.centrepompidou.fr/" class="footerLink"> Tweet polemic </a> 
-		est une expérimentation de l'
-		 <a href="http://www.iri.centrepompidou.fr/" class="footerLink">Institut de recherche et d’innovation </a>
-		 <?php 
-				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-					echo("| 	<a href='clear.php'  class='footerLink'>D&eacute;connexion</a>");
-				}
-		 ?>
-		  <input type="text" id="txt" size="3" style="visibility:hidden;"/>
-	  </div>   
-	-->
-
-    </div>
-	
-	<!-- LIGHTBOX --> 
-	<div style="display:none;">
-		<div id="Aboutbox" >
-		<div class="lightBorder">
-			<div class="lightTitle">ENMI 2010</div>
-			<div class="lightSubTitle">Annotation critique par tweet </div>
-			<div class="lightDescription">À 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.
-			</div>
-			<div>
-				<br/>
-				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
-				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
-			</div>
-		</div>
-		</div>
-	</div>
-
-	
-  </body>
-</html>
+<?php
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once './common.php';
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>ENMI 2010 - Live Video and Annotation</title>
+
+    <!-- Framework CSS -->
+    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
+    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+
+    <!-- Import fancy-type plugin for the sample page. -->
+    
+	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/tabs-slideshow.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
+
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<!--<script type="text/javascript" src="res/jquery.tools/jquery.tools.min.js"></script>-->
+	<script src="http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
+	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+
+	<script type="text/javascript">	
+	$(document).ready(function() {
+
+			
+			$(".archivesVideoBox").mouseover(function() {
+				//$(this).animate({'backgroundColor'});
+				//$(this).css({'backgroundColor':'#d6d6d6'});
+				$(this).css({'backgroundColor':'#fff'});
+				$(this).cursor = "pointer";
+			}).mouseout(function(){
+				//$(this).css({'backgroundColor':'#f6f6f6'});
+				$(this).css({'backgroundColor':'#f2f2f2'});
+			});
+		});
+
+
+
+		
+	</script>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  <body>
+    <div class="container">
+     <a href="index.php">  <img src="images/ENMI_2010_logo.gif" class="logo"></a>
+	  <ul class="menu"> 
+	  <li class="menuUnderline"><a href="index.php" class="menuLink">
+	  <?php print $translate->_("Accueil"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?CONNECT=true" class="menuLink">
+	  <?php print $translate->_("S&apos;identifier"); ?></a></li>
+	  <li ><a href="mailto:contact@iri.centrepompidou.fr" class="menuLink" >
+	  <?php print $translate->_("Contact"); ?></a></li>
+	  </ul>
+	  
+	  	  <ul class="menu lang" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>
+
+	
+	  
+	  <div class="aboutBox">
+	  <div class="archivesBoxHeader"></div>
+		<div class="archivesBoxContainer">
+			<!-- -->
+			<h3 class="archivesTitle"><?php print $translate->_("A propos"); ?> : </h3><br/>
+			<div class="span-12 prepend-1 colborder">
+			
+				<div class='AVBtitle'><?php print $translate->_("1. AboutTitle"); ?></div>
+				<br/>
+				<?php print $translate->_("1. AboutText"); ?>
+				<br/>
+			</div>
+			
+			
+			<div class="span-7 last">
+				<div class="AVBtitle"><?php print $translate->_("2. AboutIRITitle"); ?></div>
+					<?php print $translate->_("2. AboutIRIText"); ?>
+					
+				<div class="AVBtitle"><?php print $translate->_("3. AboutCreditsTitle"); ?></div>
+					<br/>
+					<?php print $translate->_("3. AboutCreditsText"); ?>
+			</div>
+
+
+		</div>
+		<div class="archivesBoxClear"></div>
+		<div class="archivesBoxFooter"></div>
+	  </div>
+	 <!--
+      <div class="footer">
+		<hr>
+		<a href="http://www.iri.centrepompidou.fr/" class="footerLink"> Tweet polemic </a> 
+		est une expérimentation de l'
+		 <a href="http://www.iri.centrepompidou.fr/" class="footerLink">Institut de recherche et d’innovation </a>
+		 <?php 
+				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+					echo("| 	<a href='clear.php'  class='footerLink'>D&eacute;connexion</a>");
+				}
+		 ?>
+		  <input type="text" id="txt" size="3" style="visibility:hidden;"/>
+	  </div>   
+	-->
+
+    </div>
+	
+	<!-- LIGHTBOX --> 
+	<div style="display:none;">
+		<div id="Aboutbox" >
+		<div class="lightBorder">
+			<div class="lightTitle">ENMI 2010</div>
+			<div class="lightSubTitle">Annotation critique par tweet </div>
+			<div class="lightDescription">À 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.
+			</div>
+			<div>
+				<br/>
+				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
+				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
+			</div>
+		</div>
+		</div>
+	</div>
+
+	
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once './common.php';
-
-/**
- * Do we already have a valid Access Token or need to go get one?
- */
-if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
-    /**
-     * Guess we need to go get one!
-     */
-    $token = $consumer->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.
-<br/><br/>
-(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.)
-<br/><br/>
-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  = "
-		 <a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'>
- IRI </a>
-		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
-		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>";
-
-?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
-   "http://www.w3.org/TR/html4/strict.dtd">
-
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>RSLN  - Live Video and Annotation</title>
-	<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
-
-    <!-- Framework CSS -->
-    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
-    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
-	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
-
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="res/metadataplayer/res/js/jquery.tools.min.js"></script>
-	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
-	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-
-	<script type="text/javascript">	
-	$(document).ready(function() {
-
-			doTimer();
-			//$("txt").hide();
-			$(".loginbutton").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			$("#IDENTIFIER").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			
-			$("#messageSuccess").hide();
-			$("#messageFailed").hide();
-			$("#txt").hide();
-			
-			// BUTTONS
-			$("#positive").click(function(){
-				var MyValue = $('#status').attr("value");
-				 $('#status').attr("value",MyValue+"++ ");
-			});
-			$("#negative").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"-- ");
-			});
-			$("#reference").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"== ");
-			});
-			$("#question").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"?? ");
-			});
-			
-			// SEND TWEETS 
-			$("#sendTweet").click(function(){
-				var MyStatus = $('#status').attr("value");
-				$.post('tweet_ajax.php', {status:MyStatus}
-				,function(data) {
-				
-					if(data=="true"){
-						$("#messageSuccess").show('fast');
-						$("#messageSuccess").delay(800).hide('slow');
-						$('#status').attr("value","#rsln");
-					}else{
-						$("#error").text(data);
-						$("#messageFailed").show('fast');
-						$("#messageFailed").delay(800).hide('slow');
-					}
-					
-				});
-				
-			});			
-			
-			$(".timeFrame").tooltip();
-			/*
-			*   Lightbox button 
-			*/
-			$("#About").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'enableEscapeButton': 'none',
-				'margin' 			: 1,
-				'padding' 			: 0
-			}<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){echo(").trigger('click');");}else{echo(");");} ?>
-			
-			
-			$("#Program").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-
-			$("#Video_ldt").fancybox({
-				'width'				: 1021,
-				'height'			: 661,
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-			
-			$("#ACCES").click(function() {
-				$.fancybox.close();
-			});
-			
-			// Buttons 
-			
-		
-		});
-		
-		
-		<!-- LIMIT TEXTAREA:
-		function imposemax(Object)
-		{
-		  return (Object.value.length <= 140);
-		}
-		// End -->
-		
-		<!-- TIMER 
-		var c=0;
-		var t;
-		var timer_is_on=0;
-
-		function timedCount()
-		{
-			document.getElementById('txt').value=c;
-			c = c+1;
-			t = window.setTimeout("timedCount()",1000);
-			$(".twtr-ft").hide();
-			$(".twtr-hd").hide();
-			//twtr-tweet
-			$(".twtr-tweet").each(colorTweetings);
-		
-		}
-
-		function colorTweetings (){
-				var tweettemp = $(this).html();
-				if (tweettemp.search(/\x3F\x3F/)!=-1){
-					 $(this).css({'background-color': '#bfdbec','color':"#000"});
-				}
-				if (tweettemp.search(/\x2B\x2B/)!=-1){
-					 $(this).css({'background-color': '#c5e7cd','color':"#fff"});
-				}
-				if (tweettemp.search(/\x2D\x2D/)!=-1){
-					 $(this).css({'background-color': '#f6ced0','color':"#fff"});
-				}
-				if (tweettemp.search(/\x3D\x3D/)!=-1){
-					 $(this).css({'background-color': '#ecedc1','color':"#000"});
-				}
-		};
-			
-
-		
-		function doTimer()
-		{
-		if (!timer_is_on)
-		  {
-		  timer_is_on=1;
-		  timedCount();
-		  }
-		}
-
-		function stopCount()
-		{
-			clearTimeout(t);
-			timer_is_on=0;
-		}
-		//
-		//-->
-	</script>
-	
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-	
-  </head>
-  <body>
-    <div class="container">
-      <img src="<?php echo($C_REP); ?>/images/head_logo.gif" class="Producteur logo">
-		<div id="minilogo" style="margin-left:85px;height:5px;top:5px;"></div>
-	  <ul class="menu"> 
-	  <li class="menuUnderline"><a href="index.php" class="menuLink">
-	  	<?php print $translate->_("Accueil"); ?> </a></li>
-	  <li class="menuUnderline" ><a href="<?php echo($C_link); ?>" class="menuLink" target="_blank" id='Program'> 
-	  	<?php print $translate->_("Programme"); ?></a></li>
-	  <li ><a href="about.php" class="menuLink" >
-	  	<?php print $translate->_("A propos"); ?></a></li>
-
-	  </ul>
-	  
-	  	  <ul class="menu" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>
-
-	  
-	  <div class="videoLive">
-		<div class="videoLivePlayer">
-			<img src="<?php echo($C_REP); ?>/images/big_visuel_rsln_mb.jpg" width="500"  height="375" />
-		</div>	
-		
-	  </div>
-
-	<div class="videoLiveProgram">	
-		
-		<div class="arrowContainer">
-			<div class="arrow"> </div>
-		</div>
-		<div class="videoLiveProgramTitle">
-			<b><?php echo($C_title); ?></b></div>
-		<div class="videoLiveProgramDescription">
-			<br><?php echo($C_description); ?></div>
-		
-		
-	</div>
-	  
-	  <div class="tweetWriter">
-		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?></h3>
-		<form  action="tweet.php" method="post" id="statusform" >
-		<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-				echo("<div class='loginbutton' ><a href='".URL_ROOT."?CONNECT=true' class='loginlink'>
-				".$translate->_("Vous n'êtes pas connecté.")."</a></div>");
-			  }else{
-				echo("<textarea name='status' id='status' rows='3' cols='50' onkeypress='return imposemax(this);'>".$C_hashtag."</textarea>");
-			  }
-		?>
-
-
-				<div id="messageSuccess" style="background-color:lightgreen;">
-					<?php print $translate->_("Envoyé"); ?><br><br>
-				</div>
-				
-				<div id="messageFailed" style="background-color:red;">
-					<?php print $translate->_("Erreur1"); ?><div id="error">&nbsp;</div><br/><br>
-				</div>
-
-			  
-			
-			<a class="button_w" href="#"  id="sendTweet" style="float:right;margin-right:15px;margin-left:35px;width:70px;" >
-			<span><?php print $translate->_("Envoyer"); ?></span></a> 
-			<!--<button name="s" type="button" id="sendTweet"
-					style="float:right;margin-right:15px;margin-left:35px;width:70px;"  >Envoyer</button>-->
-			<a 
-					
-					id="positive"
-					title="accord"
-					class="tweetButton">++</a>
-			<a 
-					
-					id="negative"
-					title="désaccord"
-					class="tweetButton">--</a>
-			<a
-					
-					id="reference"
-					title="reference"
-					class="tweetButton">==</a>
-			<a 
-					
-					id="question"  
-					title="question"
-					class="tweetButton"> ??</a>
-		</form>
-	  </div>
-	  
-	  <div class="tweetReader">
-			<script>
-				new TWTR.Widget({
-				  version: 2,
-				  type: 'search',
-				  search: '<?php echo($C_hashtag); ?>',
-				  interval: 1000,
-				  title: '',
-				  subject: '',
-				  width: 377,
-				  height: 450,
-				  theme: {
-					shell: {
-					  background: '#ffffff',
-					  color: '#ffffff'
-					},
-					tweets: {
-					  background: '#ffffff',
-					  color: '#444444',
-					  links: '#1985b5'
-					}
-				  },
-				  features: {
-					scrollbar: false,
-					loop: true,
-					live: true,
-					hashtags: true,
-					timestamp: true,
-					avatars: true,
-					toptweets: true,
-					behavior: 'default'
-				  }
-				}).render().start();
-			</script>
-	  </div>
-
-      <div class="footer">
-		<hr>
-		 <?php 
-				echo($C_partenaires);
-				
-				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-					echo("| 	<a href='clear.php'  class='footerLink'>".$translate->_("D&eacute;connexion")."</a>");
-				}
-		 ?>
-		  <input type="text" id="txt" size="3"/>
-		  
-	  </div>   
-	
-
-    </div>
-	
-	<!-- LIGHTBOX --> 
-	<div style="display:none;">
-		<div id="Aboutbox" >
-		<div class="lightBorder">
-			<div class="lightTitle" style="height:45px;">&nbsp;  </div>
-			<div class="lightSubTitle"><?php print $translate->_("splatchPageTitle"); ?></div>
-			<div class="lightDescription"><?php print $translate->_("splatchPageText"); ?></div>
-			<div>
-				<br/>
-				<a class="button_b" href="#"  id="IDENTIFIER"><span><?php print $translate->_("S&apos;identifier"); ?></span></a> <br/><br/>
-				<a class="button_w" href="#"  id="ACCES"><span><?php print $translate->_("Libre accès"); ?></span></a> 
-			</div>
-		</div>
-		</div>
-	</div>
-	<!-- END LIGHTBOX -->
-
-	
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once './common.php';
+
+/**
+ * Do we already have a valid Access Token or need to go get one?
+ */
+if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
+    /**
+     * Guess we need to go get one!
+     */
+    $token = $consumer->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.
+<br/><br/>
+(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.)
+<br/><br/>
+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  = "
+		 <a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'>
+ IRI </a>
+		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
+		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>";
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>RSLN  - Live Video and Annotation</title>
+	<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
+
+    <!-- Framework CSS -->
+    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
+    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
+
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="res/metadataplayer/res/js/jquery.tools.min.js"></script>
+	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
+	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+
+	<script type="text/javascript">	
+	$(document).ready(function() {
+
+			doTimer();
+			//$("txt").hide();
+			$(".loginbutton").click(function() {
+				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+			});
+			$("#IDENTIFIER").click(function() {
+				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+			});
+			
+			$("#messageSuccess").hide();
+			$("#messageFailed").hide();
+			$("#txt").hide();
+			
+			// BUTTONS
+			$("#positive").click(function(){
+				var MyValue = $('#status').attr("value");
+				 $('#status').attr("value",MyValue+"++ ");
+			});
+			$("#negative").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"-- ");
+			});
+			$("#reference").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"== ");
+			});
+			$("#question").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"?? ");
+			});
+			
+			// SEND TWEETS 
+			$("#sendTweet").click(function(){
+				var MyStatus = $('#status').attr("value");
+				$.post('tweet_ajax.php', {status:MyStatus}
+				,function(data) {
+				
+					if(data=="true"){
+						$("#messageSuccess").show('fast');
+						$("#messageSuccess").delay(800).hide('slow');
+						$('#status').attr("value","#rsln");
+					}else{
+						$("#error").text(data);
+						$("#messageFailed").show('fast');
+						$("#messageFailed").delay(800).hide('slow');
+					}
+					
+				});
+				
+			});			
+			
+			$(".timeFrame").tooltip();
+			/*
+			*   Lightbox button 
+			*/
+			$("#About").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'enableEscapeButton': 'none',
+				'margin' 			: 1,
+				'padding' 			: 0
+			}<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){echo(").trigger('click');");}else{echo(");");} ?>
+			
+			
+			$("#Program").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+
+			$("#Video_ldt").fancybox({
+				'width'				: 1021,
+				'height'			: 661,
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+			
+			$("#ACCES").click(function() {
+				$.fancybox.close();
+			});
+			
+			// Buttons 
+			
+		
+		});
+		
+		
+		<!-- LIMIT TEXTAREA:
+		function imposemax(Object)
+		{
+		  return (Object.value.length <= 140);
+		}
+		// End -->
+		
+		<!-- TIMER 
+		var c=0;
+		var t;
+		var timer_is_on=0;
+
+		function timedCount()
+		{
+			document.getElementById('txt').value=c;
+			c = c+1;
+			t = window.setTimeout("timedCount()",1000);
+			$(".twtr-ft").hide();
+			$(".twtr-hd").hide();
+			//twtr-tweet
+			$(".twtr-tweet").each(colorTweetings);
+		
+		}
+
+		function colorTweetings (){
+				var tweettemp = $(this).html();
+				if (tweettemp.search(/\x3F\x3F/)!=-1){
+					 $(this).css({'background-color': '#bfdbec','color':"#000"});
+				}
+				if (tweettemp.search(/\x2B\x2B/)!=-1){
+					 $(this).css({'background-color': '#c5e7cd','color':"#fff"});
+				}
+				if (tweettemp.search(/\x2D\x2D/)!=-1){
+					 $(this).css({'background-color': '#f6ced0','color':"#fff"});
+				}
+				if (tweettemp.search(/\x3D\x3D/)!=-1){
+					 $(this).css({'background-color': '#ecedc1','color':"#000"});
+				}
+		};
+			
+
+		
+		function doTimer()
+		{
+		if (!timer_is_on)
+		  {
+		  timer_is_on=1;
+		  timedCount();
+		  }
+		}
+
+		function stopCount()
+		{
+			clearTimeout(t);
+			timer_is_on=0;
+		}
+		//
+		//-->
+	</script>
+	
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+	
+  </head>
+  <body>
+    <div class="container">
+      <img src="<?php echo($C_REP); ?>/images/head_logo.gif" class="Producteur logo">
+		<div id="minilogo" style="margin-left:85px;height:5px;top:5px;"></div>
+	  <ul class="menu"> 
+	  <li class="menuUnderline"><a href="index.php" class="menuLink">
+	  	<?php print $translate->_("Accueil"); ?> </a></li>
+	  <li class="menuUnderline" ><a href="<?php echo($C_link); ?>" class="menuLink" target="_blank" id='Program'> 
+	  	<?php print $translate->_("Programme"); ?></a></li>
+	  <li ><a href="about.php" class="menuLink" >
+	  	<?php print $translate->_("A propos"); ?></a></li>
+
+	  </ul>
+	  
+	  	  <ul class="menu" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>
+
+	  
+	  <div class="videoLive">
+		<div class="videoLivePlayer">
+			<img src="<?php echo($C_REP); ?>/images/big_visuel_rsln_mb.jpg" width="500"  height="375" />
+		</div>	
+		
+	  </div>
+
+	<div class="videoLiveProgram">	
+		
+		<div class="arrowContainer">
+			<div class="arrow"> </div>
+		</div>
+		<div class="videoLiveProgramTitle">
+			<b><?php echo($C_title); ?></b></div>
+		<div class="videoLiveProgramDescription">
+			<br><?php echo($C_description); ?></div>
+		
+		
+	</div>
+	  
+	  <div class="tweetWriter">
+		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?></h3>
+		<form  action="tweet.php" method="post" id="statusform" >
+		<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+				echo("<div class='loginbutton' ><a href='".URL_ROOT."?CONNECT=true' class='loginlink'>
+				".$translate->_("Vous n'êtes pas connecté.")."</a></div>");
+			  }else{
+				echo("<textarea name='status' id='status' rows='3' cols='50' onkeypress='return imposemax(this);'>".$C_hashtag."</textarea>");
+			  }
+		?>
+
+
+				<div id="messageSuccess" style="background-color:lightgreen;">
+					<?php print $translate->_("Envoyé"); ?><br><br>
+				</div>
+				
+				<div id="messageFailed" style="background-color:red;">
+					<?php print $translate->_("Erreur1"); ?><div id="error">&nbsp;</div><br/><br>
+				</div>
+
+			  
+			
+			<a class="button_w" href="#"  id="sendTweet" style="float:right;margin-right:15px;margin-left:35px;width:70px;" >
+			<span><?php print $translate->_("Envoyer"); ?></span></a> 
+			<!--<button name="s" type="button" id="sendTweet"
+					style="float:right;margin-right:15px;margin-left:35px;width:70px;"  >Envoyer</button>-->
+			<a 
+					
+					id="positive"
+					title="accord"
+					class="tweetButton">++</a>
+			<a 
+					
+					id="negative"
+					title="désaccord"
+					class="tweetButton">--</a>
+			<a
+					
+					id="reference"
+					title="reference"
+					class="tweetButton">==</a>
+			<a 
+					
+					id="question"  
+					title="question"
+					class="tweetButton"> ??</a>
+		</form>
+	  </div>
+	  
+	  <div class="tweetReader">
+			<script>
+				new TWTR.Widget({
+				  version: 2,
+				  type: 'search',
+				  search: '<?php echo($C_hashtag); ?>',
+				  interval: 1000,
+				  title: '',
+				  subject: '',
+				  width: 377,
+				  height: 450,
+				  theme: {
+					shell: {
+					  background: '#ffffff',
+					  color: '#ffffff'
+					},
+					tweets: {
+					  background: '#ffffff',
+					  color: '#444444',
+					  links: '#1985b5'
+					}
+				  },
+				  features: {
+					scrollbar: false,
+					loop: true,
+					live: true,
+					hashtags: true,
+					timestamp: true,
+					avatars: true,
+					toptweets: true,
+					behavior: 'default'
+				  }
+				}).render().start();
+			</script>
+	  </div>
+
+      <div class="footer">
+		<hr>
+		 <?php 
+				echo($C_partenaires);
+				
+				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+					echo("| 	<a href='clear.php'  class='footerLink'>".$translate->_("D&eacute;connexion")."</a>");
+				}
+		 ?>
+		  <input type="text" id="txt" size="3"/>
+		  
+	  </div>   
+	
+
+    </div>
+	
+	<!-- LIGHTBOX --> 
+	<div style="display:none;">
+		<div id="Aboutbox" >
+		<div class="lightBorder">
+			<div class="lightTitle" style="height:45px;">&nbsp;  </div>
+			<div class="lightSubTitle"><?php print $translate->_("splatchPageTitle"); ?></div>
+			<div class="lightDescription"><?php print $translate->_("splatchPageText"); ?></div>
+			<div>
+				<br/>
+				<a class="button_b" href="#"  id="IDENTIFIER"><span><?php print $translate->_("S&apos;identifier"); ?></span></a> <br/><br/>
+				<a class="button_w" href="#"  id="ACCES"><span><?php print $translate->_("Libre accès"); ?></span></a> 
+			</div>
+		</div>
+		</div>
+	</div>
+	<!-- END LIGHTBOX -->
+
+	
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * Please edit all for your application registration / other details
- * 
- */
-
-define('URL_ROOT', 'http://amateur.iri.centrepompidou.fr/live/enmi');
-
-$configuration = array(
-    'callbackUrl'    => 'http://amateur.iri.centrepompidou.fr/live/enmi/callback.php',
-    'siteUrl'        => 'http://twitter.com/oauth',
-    'consumerKey' 	 => '***REMOVED***',
-    'consumerSecret' => '***REMOVED***'
-);
+<?php
+
+/**
+ * Please edit all for your application registration / other details
+ * 
+ */
+
+define('URL_ROOT', 'http://amateur.iri.centrepompidou.fr/live/enmi');
+
+$configuration = array(
+    'callbackUrl'    => 'http://amateur.iri.centrepompidou.fr/live/enmi/callback.php',
+    'siteUrl'        => 'http://twitter.com/oauth',
+    'consumerKey' 	 => '***REMOVED***',
+    'consumerSecret' => '***REMOVED***'
+);
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once './common.php';
-
-/**
- * Do we already have a valid Access Token or need to go get one?
- */
-if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
-    /**
-     * Guess we need to go get one!
-     */
-    $token = $consumer->getRequestToken();
-    $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
-
-    /**
-     * Now redirect user to Twitter site so they can log in and
-     * approve our access
-     */
-    $consumer->redirect();
-}
-
-?>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
-   "http://www.w3.org/TR/html4/strict.dtd">
-
-<html lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>ENMI 2010 - Live Video and Annotation</title>
-
-    <!-- Framework CSS -->
-    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
-    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
-
-    <!-- Import fancy-type plugin for the sample page. -->
-    
-	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
-
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
-	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-
-	<script type="text/javascript">	
-	$(document).ready(function() {
-
-			doTimer();
-			//$("txt").hide();
-			$(".loginbutton").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			$("#IDENTIFIER").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			
-			$("#messageSuccess").hide();
-			$("#messageFailed").hide();
-			$("#txt").hide();
-			
-			// BUTTONS
-			$("#positive").click(function(){
-				var MyValue = $('#status').attr("value");
-				 $('#status').attr("value",MyValue+"++ ");
-			});
-			$("#negative").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"-- ");
-			});
-			$("#reference").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"== ");
-			});
-			$("#question").click(function(){
-				var MyValue = $('#status').attr("value");
-				$('#status').attr("value",MyValue+"?? ");
-			});
-			
-			// SEND TWEETS 
-			$("#sendTweet").click(function(){
-				var MyStatus = $('#status').attr("value");
-				$.post('tweet_ajax.php', {status:MyStatus}
-				,function(data) {
-				
-					if(data=="true"){
-						$("#messageSuccess").show('fast');
-						$("#messageSuccess").delay(800).hide('slow');
-						$('#status').attr("value","#enmi ");
-						//$('#status').css("background-image","images/greenTweet.png");
-						//$('#status').delay(800).css("background-image","images/tweetWriterBgdTxtArea.gif");
-					}else{
-						$("#error").text(data);
-						$("#messageFailed").show('fast');
-						$("#messageFailed").delay(800).hide('slow');
-						//$('#status').css("background-image","images/redTweet.png");
-						//$('#status').delay(800).css("background-image","images/tweetWriterBgdTxtArea.gif");
-					}
-					
-				});
-				
-			});			
-			
-			$(".timeFrame").tooltip();
-			/*
-			*   Lightbox button 
-			*/
-			$("#About").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'enableEscapeButton': 'none',
-				'margin' 			: 1,
-				'padding' 			: 0
-			}<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){echo(").trigger('click');");}else{echo(");");} ?>
-			
-			
-			$("#Program").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-			
-			$("#ACCES").click(function() {
-				$.fancybox.close();
-			});
-			
-			// Buttons 
-			$("#tf0").click(function() {
-				
-				$(".videoLiveProgramTitle").html("<b>9h30- 13h00 :</b> Imaginaires Industriels et hyperminiaturisation");
-				$(".videoLiveProgramDescription").html("En partant de la Loi de Moore, premier story-telling mondial, on analysera comment les road-maps, et notamment celles des  entreprises liées aux nanotechnologies, structurent le temps de  l’innovation en construisant des récits du futur. On examinera dans quelle mesure ces récits font émerger un nouvel imaginaire  industriel.<br><br><b>9h30-12h30</b><br>Introduction de Bernard Stiegler (IRI)<br>Intervenants : Sacha Loeve (Paris I),<br>Françoise Roure (Ministère de l’Industrie)<br><b>12h30-13h00</b><br>Table ronde animée par Sacha Loeve (Paris I)");
-			});
-			
-			$("#tf1").click(function() {
-				$(".videoLiveProgramTitle").html("<b>13h00- 14h30 :</b> Pause déjeuner");
-				$(".videoLiveProgramDescription").html("");
-			});
-			
-			$("#tf2").click(function() {
-				$(".videoLiveProgramTitle").html("<b>14h30- 16h50 :</b> Imaginaires Scientifiques");
-				$(".videoLiveProgramDescription").html("Les imaginaires scientifiques sont, dans le champ des nanotechnologies, une composante en soi de la recherche et héritent de généalogies différentes. Ces imaginaires ne sont pas qu’une affaire de « perception » des sciences et des technologies : ils s’élaborent dès le laboratoire par l’invention de nouvelles manières de produire des images de l’invisible. Nous proposons d’appréhender ces imaginaires : d’une part, par le truchement des objets de laboratoire, médiateurs obligés de nos rapports au « nanomonde » ; d’autre part, par  le vecteur de la production/diffusion des images.<br><br><b>Introduction : </b><br> Sacha Loeve (Paris I),<br><br><b>Dialogues : </b><br>Andrew Mayne (Univ. Paris Sud) et Catherine AllamelRaffin (Univ. de Strasbourg)<br>Christian Joachim (CEMES) et Sacha Loeve (Paris I)<br>Laurent Gouzènes (Consultant) et Jean-Luc Beylat (Alcatel Bell)");
-			});
-				
-			$("#tf3").click(function() {
-				$(".videoLiveProgramTitle").html("<b>17h00- 19h00 :</b> Imaginaires Anthropologiques");
-				$(".videoLiveProgramDescription").html("L’homme est un être prothétique : il s’est humanisé en se projetant dans des outils. Son évolution s’est faite dans le sens d’une extériorisation de ses différentes fonctions biologiques. Or, les nanobiotechnologies – vecteurs médicamenteux, nanodispositifs de type biopuce, nanoimplants – nous confrontent à une situation inédite : qu’en est-il du sens de l’évolution humaine dès lors que les artefacts investissent le corps ? On s’appuiera sur des recherches en cours pour interroger les représentations de l’homme futur et la prothéticité.<br><br><b>17h00-18h30</b><br>Introduction & Modération par  Xavier Guchet (Paris I)<br>Intervenants : Daniela Cerqui (Univ. de Lausanne), José-Alain <br>Sahel (Institut de la vision), Patrick Couvreur (Collège de France)<br><br><b>18h30-19h00</b><br>Table-ronde animée par Xavier Guchet et Bernard Stiegler");
-				
-			});
-			
-			$("#tf4").click(function() {
-				$(".videoLiveProgramTitle").html("<b>19h00- 22h00 :</b> Soirée");
-				$(".videoLiveProgramDescription").html("<b>19h00</b><br>Présentation d’initiatives relatives au débat sur les nanotechnologies et de projets et outils innovants pour le débat public en ligne. Une collaboration IRI, VivAgora, Carrefours des possibles de la FING<br><b>20h30 Forum –1</b><br>Rencontres avec les porteurs de projets innovants.");
-				
-			});
-			
-			// ----
-			// day 2
-			
-			$("#tf5").click(function() {
-				$(".videoLiveProgramTitle").html("<b>9h30- 12h30 :</b> Design et outils de représentation");
-				$(".videoLiveProgramDescription").html("Les nanos posent des questions inédites aux designers. Ceux-ci sont confrontés, d’une part, à un renouvellement des rapports habituels entre forme et matière : en effet, si le design est l’art et la manière de donner forme aux objets, à la nano-échelle, la matière se présente comme un ensemble de formes, d’information et de processus qu’il faut associer à la démarche désignante.  D’autre part, les nanos posent à nouveau frais la question des usages : en effet, le nanomonde ne s’appréhende que par des outils de médiation du réel (instrumentation, discrétisation, représentation de données, simulation, transmodalité). Or, s’il ne peut pas y avoir, à proprement parler, de design d’objets nanométriques, mais de design d’objets intégrant des nanos, comment les designers donnent-ils sens à l’intégration de cette nouvelle dimension ? <br><br><b>9h30-10h45</b><br><br>Introduction de Alain Cadix (ENSCI)<br>Intervenants : Patrick Pajon (Centre de Recherche sur l’Imaginaire), Sylvie Tissot (Quantum design)<br><b>11h00-12h00</b><br><br>Projection du film Puissances de dix (1977) de Charles et Ray Eames <br>Modération par Jean-Louis Fréchin (ENSCI)<br>Intervenants : Gilles Belley et Jean-François Dingjian, Designers<br><b>12h00-12h30</b><br>Modération par Marie-Virginie Berbet, designer<br>Présentation du travail des élèves designers sur design/nano et <br>biotechnologies dans le cadre d’un studio expérimental à l’ENSCILes Ateliers");
-				
-			});
-
-			$("#tf6").click(function() {
-				$(".videoLiveProgramTitle").html("<b>19h00- 14h00 :</b> Repas");
-				$(".videoLiveProgramDescription").html("");
-				
-			});
-
-			$("#tf7").click(function() {
-				$(".videoLiveProgramTitle").html("<b>14h00- 19h00 :</b> Imaginaire politique et ingénierie du débat public");
-				$(".videoLiveProgramDescription").html("On analysera ici la façon dont les recherches en nanotechnologies sont devenues un « terrain d’expérimentation » pour construire de nouveaux rapports entre science et société et faire émerger une « société de la connaissance ».  Or, Cap Digital a mis en place un groupe de travail sur l’innovation sociale et se mobilise sur le développement d’outils de gestion et d’échange de connaissances et de débat. Au-delà de la manière dont le débat sur les nanotechnologies a été géré (sur laquelle on pourra revenir), cette session vise à interroger en quoi le débat sur les nanos, mais, plus largement, la question du principe de précaution, nous obligent à repenser les outils de gestion de crise et de débat public ainsi qu’à poser à nouveaux frais la question fondamentale de la confiance (trust). <br><br><b>14h00-16h00 </b><br>Introduction de Bernard Stiegler<br>Intervenants : Brice Laurent (Commission Européenne), <br>Ermelinde Malcotte (Paris X), Philippe Aigrain (Sopinspace)<br><br><b>16h30-18h30</b><br>Intervenants : Dominique Boullier (Sciences-Po), Jean Sallantin <br>(LIRM), Dorothée Benoit (VivAgora)<br><b>18h30-19h00</b><br>Débat animé par Jean Sallantin");
-				
-			});
-		
-			$("#tf8").click(function() {
-				$(".videoLiveProgramTitle").html("<b>19h00- 22h00 :</b> Soirée");
-				$(".videoLiveProgramDescription").html("<b>19h00</b>Présentation d’initiatives relatives au débat sur les nanotechnologies et de projets et outils innovants pour le débat public en ligne. Une collaboration IRI, VivAgora, Carrefours des possibles de la FING<br><b>20h30 Forum –1</b><br>Rencontres avec les porteurs de projets innovants.");
-				
-			});
-		
-		
-		});
-		
-		
-		<!-- LIMIT TEXTAREA:
-		function imposemax(Object)
-		{
-		  return (Object.value.length <= 140);
-		}
-		// End -->
-		
-		<!-- TIMER 
-		var c=0;
-		var t;
-		var timer_is_on=0;
-
-		function timedCount()
-		{
-			document.getElementById('txt').value=c;
-			c = c+1;
-			t = window.setTimeout("timedCount()",1000);
-			$(".twtr-ft").hide();
-			$(".twtr-hd").hide();
-			
-			//twtr-tweet
-			$(".twtr-tweet").each(colorTweetings);
-		
-		}
-
-		function colorTweetings (){
-			/*
-			efc1f0 > violet
-			c5e7cd > vert
-			f6ced0 > rouge
-			bfdbec > blue 
-			ecedc1 > yellow
-			*/
-				var tweettemp = $(this).html();
-				//alert(tweettemp);
-				//$(".videoLiveProgramDescription").text(tweettemp);
-				//$(".videoLiveProgramTitle").text(tweettemp.search(/\x2D\x2D/));
-				
-				/*
-				<a target="_blank" class="twtr-reply" href="http://twitter.com/?status=@LaurentChic%20&amp;in_reply_to_status_id=12411225795198976&amp;in_reply_to=LaurentChic">reply</a>
-				*/	//alert("tweettemp");
-				
-				if (tweettemp.search(/\x3F\x3F/)!=-1){
-				
-					 $(this).css({'background-color': '#ecedc1','color':"#000"});
-				}
-				
-				if (tweettemp.search(/\x2B\x2B/)!=-1){
-					 $(this).css({'background-color': '#c5e7cd','color':"#fff"});
-				}
-				
-				if (tweettemp.search(/\x2D\x2D/)!=-1){
-					 $(this).css({'background-color': '#f6ced0','color':"#fff"});
-				}
-				
-				if (tweettemp.search(/\x3D\x3D/)!=-1){
-					 $(this).css({'background-color': '#bfdbec','color':"#000"});
-				}
-		};
-			
-
-		
-		function doTimer()
-		{
-		if (!timer_is_on)
-		  {
-		  timer_is_on=1;
-		  timedCount();
-		  }
-		}
-
-		function stopCount()
-		{
-			clearTimeout(t);
-			timer_is_on=0;
-		}
-		//
-		
-		//-->
-		
-		
-	</script>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  <body>
-    <div class="container">
-      <img src="images/ENMI_2010_logo.gif" class="logo">
-	  <ul class="menu"> 
-	  <li class="menuUnderline"><a href="#Aboutbox" class="menuLink" id="About"> À propos</a></li>
-	  <li class="menuUnderline" ><a href="http://www.iri.centrepompidou.fr/wp-content/uploads/2010/12/Program_ENMI_2010.pdf" class="menuLink" target="_blank"> Programme</a></li>
-	  <li ><a href="http://amateur.iri.centrepompidou.fr/nouveaumonde/enmi/conf/" target="_blank" class="menuLink"> Archives</a></li>
-	  </ul>
-
-	  
-	  <div class="videoLive">
-		<div class="videoLivePlayer">
-		
-				<!-- START LIVE VIDEO STREAM -->
-			<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="500" height="375"> 
-				<param name="movie" value="res/mediaplayer/player.swf" /> 
-				<param name="allowfullscreen" value="true" /> 
-				<param name="allowscriptaccess" value="always" /> 
-				<param name="wmode" value="transparent" />
-				<param name="flashvars" value="autostart=true&live=true&image=images/bgd_player.jpg&provider=rtmp&streamer=rtmp://media.iri.centrepompidou.fr/ddc_player/&file=livestream&controlbar=none&autostart=true" /> 
-				<embed 
-					type="application/x-shockwave-flash"
-					id="player2"
-					name="player2"
-					src="res/mediaplayer/player.swf" 
-					width="500" 
-					height="375"
-					allowscriptaccess="always" 
-					allowfullscreen="true"
-					wmode="transparent"
-					flashvars="autostart=true&live=true&provider=rtmp&streamer=rtmp://media.iri.centrepompidou.fr/ddc_player/&file=livestream&image=images/bgd_player.jpg&controlbar=none&autostart=true" 
-					
-				/> 
-			</object> 
-			<!-- END LIVE VIDEO STREAM -->		
-		</div>	
-	  </div>
-
-	  <div class="videoLiveProgram">	
-
-		<div class="timeline" style="width:499px;">
-				
-				<div class="bigTimeFrame" 
-					 
-					 style="width:253px;">
-					 <div style="padding-left:5px;">14 dec 2010</div>
-				</div>
-					 
-				<div class="bigTimeFrame"
-					 title="The tooltip text #1"
-					 style="border-right:none;">
-					 <div style="padding-left:5px;">15 dec 2010</div>
-				</div>
-				
-				<div class="timeFragment" style="width:253px;">
-				
-					<div id="tf0" 
-						 class="timeFrame" 
-						 title="<b>9h30- 13h00 :</b><br> Imaginaires Industriels et hyperminiaturisation"
-						 style="width:27%;background-color:#29b8ed;"></div> 
-						 
-					<div id="tf1"
-						 class="timeFrame"
-						 title="<b>13h00- 14h30 :</b><br> Repas"
-						 style="width:13%;background-color:#959595;"></div> 
-						 
-					<div id="tf2"
-						 class="timeFrame" 
-						 title="<b>14h30- 16h50 :</b><br> Imaginaires Scientifiques"
-						 style="width:14%;background-color:#29b8ed;"></div> 
-						 
-					<div id="tf3"
-						 class="timeFrame"
-						 title="<b>17h00- 19h00 :</b><br>Imaginaires Anthropologique"
-						 style="width:17%;background-color:#959595;"></div> 
-						 
-					<div id="tf4"
-						 class="timeFrame" 
-						 title="<b>19h00- 22h00 :</b><br> Soirée"
-						 style="width:25%;background-color:#29b8ed;"></div> 
-						 
-				</div>
-				<div class="timeFragment" style="width:245px;">
-				
-					<div id="tf5"
-						 class="timeFrame" 
-						 title="<b>9h30-12h30</b> <br>Design et outils de représentation"
-						 style="width:35%;background-color:#29b8ed;"></div> 
-						 
-					<div id="tf6"
-						 class="timeFrame"
-						 title="<b>12h30-14h00</b> <br>Repas"
-						 style="width:10%;background-color:#959595;"></div> 
-						 
-					<div id="tf7"
-						 class="timeFrame" 
-						 title="<b>14h00-19h00</b> <br>Imaginaire politique et ingénierie du débat public"
-						 style="width:50%;background-color:#29b8ed;"></div> 
-						 
-					
-				</div>
-				
-		</div>
-		<div class="arrowContainer">
-			<div class="arrow"> </div>
-		</div>
-		
-		
-		<!-- -->
-
-		<!-- -->
-		<div class="videoLiveProgramTitle"><b>Nanomondes et imaginaires 
-de l’hyperminiaturisation :</b></div>
-		<div class="videoLiveProgramDescription">
-		<br>
-		<b>Cliquez sur la ligne de temps ci dessus afin d'afficher les différentes sessions du programme.</b>
-<br><br>
-		<i>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. </i><br><br>
-<br>
-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. <br><br>
-
-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. <br><br>
-
-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.<br>
-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.
-		</div>
-		
-		
-	</div>
-	  
-	  <div class="tweetWriter">
-		<h3 class="tweetWriterTitle">Annotations critique : </h3>
-		<form  action="tweet.php" method="post" id="statusform" >
-		<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-				echo("<div class='loginbutton' ><a href='".URL_ROOT."?CONNECT=true' class='loginlink'>
-				Vous n'êtes pas connecté.<br>
-				Pour participer, veuillez vous identifier en cliquant ici. </a></div>");
-			  }else{
-				echo("<textarea name='status' id='status' rows='3' cols='50' onkeypress='return imposemax(this);'>#enmi</textarea>");
-			  }
-		?>
-
-
-				<div id="messageSuccess" style="background-color:lightgreen;">
-					Votre tweet a bien été envoyé !<br><br>
-				</div>
-				
-				<div id="messageFailed" style="background-color:red;">
-					Ooups! il y a une erreur vous avez le droit de frapper le developpeur :<div id="error">&nbsp;</div><br/><br>
-				</div>
-
-			  
-			
-			<a class="button_w" href="#"  id="sendTweet" style="float:right;margin-right:15px;margin-left:35px;width:70px;" ><span>Envoyer</span></a> 
-			<!--<button name="s" type="button" id="sendTweet"
-					style="float:right;margin-right:15px;margin-left:35px;width:70px;"  >Envoyer</button>-->
-			<a 
-					
-					id="positive"
-					title="accord"
-					class="tweetButton">++</a>
-			<a 
-					
-					id="negative"
-					title="désaccord"
-					class="tweetButton">--</a>
-			<a
-					
-					id="reference"
-					title="reference"
-					class="tweetButton">==</a>
-			<a 
-					
-					id="question"  
-					title="question"
-					class="tweetButton"> ??</a>
-		</form>
-	  </div>
-	  
-	  <div class="tweetReader">
-			<script>
-				new TWTR.Widget({
-				  version: 2,
-				  type: 'search',
-				  search: '#enmi',
-				  interval: 1000,
-				  title: '',
-				  subject: '',
-				  width: 377,
-				  height: 450,
-				  theme: {
-					shell: {
-					  background: '#ffffff',
-					  color: '#ffffff'
-					},
-					tweets: {
-					  background: '#ffffff',
-					  color: '#444444',
-					  links: '#1985b5'
-					}
-				  },
-				  features: {
-					scrollbar: false,
-					loop: true,
-					live: true,
-					hashtags: true,
-					timestamp: true,
-					avatars: true,
-					toptweets: true,
-					behavior: 'default'
-				  }
-				}).render().start();
-			</script>
-	  </div>
-
-      <div class="footer">
-		<hr>
-		 <a href="http://www.iri.centrepompidou.fr/" class="footerLink"> IRI </a>
-		 |  <a href="http://www.capdigital.com/" class="footerLink"> Cap Digital  </a>
-		 |  <a href="http://www.ensci.com/" class="footerLink"> ENSCI </a>
-		 <?php 
-				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-					echo("| 	<a href='clear.php'  class='footerLink'>D&eacute;connexion</a>");
-				}
-		 ?>
-		  <input type="text" id="txt" size="3"/>
-	  </div>   
-	
-
-    </div>
-	
-	<!-- LIGHTBOX --> 
-	<div style="display:none;">
-		<div id="Aboutbox" >
-		<div class="lightBorder">
-			<div class="lightTitle">ENMI 2010</div>
-			<div class="lightSubTitle">Annotation critique par tweet </div>
-			<div class="lightDescription">À 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.
-			</div>
-			<div>
-				<br/>
-				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
-				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
-			</div>
-		</div>
-		</div>
-	</div>
-
-	
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once './common.php';
+
+/**
+ * Do we already have a valid Access Token or need to go get one?
+ */
+if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
+    /**
+     * Guess we need to go get one!
+     */
+    $token = $consumer->getRequestToken();
+    $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
+
+    /**
+     * Now redirect user to Twitter site so they can log in and
+     * approve our access
+     */
+    $consumer->redirect();
+}
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+   "http://www.w3.org/TR/html4/strict.dtd">
+
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>ENMI 2010 - Live Video and Annotation</title>
+
+    <!-- Framework CSS -->
+    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
+    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+
+    <!-- Import fancy-type plugin for the sample page. -->
+    
+	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
+
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
+	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+
+	<script type="text/javascript">	
+	$(document).ready(function() {
+
+			doTimer();
+			//$("txt").hide();
+			$(".loginbutton").click(function() {
+				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+			});
+			$("#IDENTIFIER").click(function() {
+				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+			});
+			
+			$("#messageSuccess").hide();
+			$("#messageFailed").hide();
+			$("#txt").hide();
+			
+			// BUTTONS
+			$("#positive").click(function(){
+				var MyValue = $('#status').attr("value");
+				 $('#status').attr("value",MyValue+"++ ");
+			});
+			$("#negative").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"-- ");
+			});
+			$("#reference").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"== ");
+			});
+			$("#question").click(function(){
+				var MyValue = $('#status').attr("value");
+				$('#status').attr("value",MyValue+"?? ");
+			});
+			
+			// SEND TWEETS 
+			$("#sendTweet").click(function(){
+				var MyStatus = $('#status').attr("value");
+				$.post('tweet_ajax.php', {status:MyStatus}
+				,function(data) {
+				
+					if(data=="true"){
+						$("#messageSuccess").show('fast');
+						$("#messageSuccess").delay(800).hide('slow');
+						$('#status').attr("value","#enmi ");
+						//$('#status').css("background-image","images/greenTweet.png");
+						//$('#status').delay(800).css("background-image","images/tweetWriterBgdTxtArea.gif");
+					}else{
+						$("#error").text(data);
+						$("#messageFailed").show('fast');
+						$("#messageFailed").delay(800).hide('slow');
+						//$('#status').css("background-image","images/redTweet.png");
+						//$('#status').delay(800).css("background-image","images/tweetWriterBgdTxtArea.gif");
+					}
+					
+				});
+				
+			});			
+			
+			$(".timeFrame").tooltip();
+			/*
+			*   Lightbox button 
+			*/
+			$("#About").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'enableEscapeButton': 'none',
+				'margin' 			: 1,
+				'padding' 			: 0
+			}<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){echo(").trigger('click');");}else{echo(");");} ?>
+			
+			
+			$("#Program").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+			
+			$("#ACCES").click(function() {
+				$.fancybox.close();
+			});
+			
+			// Buttons 
+			$("#tf0").click(function() {
+				
+				$(".videoLiveProgramTitle").html("<b>9h30- 13h00 :</b> Imaginaires Industriels et hyperminiaturisation");
+				$(".videoLiveProgramDescription").html("En partant de la Loi de Moore, premier story-telling mondial, on analysera comment les road-maps, et notamment celles des  entreprises liées aux nanotechnologies, structurent le temps de  l’innovation en construisant des récits du futur. On examinera dans quelle mesure ces récits font émerger un nouvel imaginaire  industriel.<br><br><b>9h30-12h30</b><br>Introduction de Bernard Stiegler (IRI)<br>Intervenants : Sacha Loeve (Paris I),<br>Françoise Roure (Ministère de l’Industrie)<br><b>12h30-13h00</b><br>Table ronde animée par Sacha Loeve (Paris I)");
+			});
+			
+			$("#tf1").click(function() {
+				$(".videoLiveProgramTitle").html("<b>13h00- 14h30 :</b> Pause déjeuner");
+				$(".videoLiveProgramDescription").html("");
+			});
+			
+			$("#tf2").click(function() {
+				$(".videoLiveProgramTitle").html("<b>14h30- 16h50 :</b> Imaginaires Scientifiques");
+				$(".videoLiveProgramDescription").html("Les imaginaires scientifiques sont, dans le champ des nanotechnologies, une composante en soi de la recherche et héritent de généalogies différentes. Ces imaginaires ne sont pas qu’une affaire de « perception » des sciences et des technologies : ils s’élaborent dès le laboratoire par l’invention de nouvelles manières de produire des images de l’invisible. Nous proposons d’appréhender ces imaginaires : d’une part, par le truchement des objets de laboratoire, médiateurs obligés de nos rapports au « nanomonde » ; d’autre part, par  le vecteur de la production/diffusion des images.<br><br><b>Introduction : </b><br> Sacha Loeve (Paris I),<br><br><b>Dialogues : </b><br>Andrew Mayne (Univ. Paris Sud) et Catherine AllamelRaffin (Univ. de Strasbourg)<br>Christian Joachim (CEMES) et Sacha Loeve (Paris I)<br>Laurent Gouzènes (Consultant) et Jean-Luc Beylat (Alcatel Bell)");
+			});
+				
+			$("#tf3").click(function() {
+				$(".videoLiveProgramTitle").html("<b>17h00- 19h00 :</b> Imaginaires Anthropologiques");
+				$(".videoLiveProgramDescription").html("L’homme est un être prothétique : il s’est humanisé en se projetant dans des outils. Son évolution s’est faite dans le sens d’une extériorisation de ses différentes fonctions biologiques. Or, les nanobiotechnologies – vecteurs médicamenteux, nanodispositifs de type biopuce, nanoimplants – nous confrontent à une situation inédite : qu’en est-il du sens de l’évolution humaine dès lors que les artefacts investissent le corps ? On s’appuiera sur des recherches en cours pour interroger les représentations de l’homme futur et la prothéticité.<br><br><b>17h00-18h30</b><br>Introduction & Modération par  Xavier Guchet (Paris I)<br>Intervenants : Daniela Cerqui (Univ. de Lausanne), José-Alain <br>Sahel (Institut de la vision), Patrick Couvreur (Collège de France)<br><br><b>18h30-19h00</b><br>Table-ronde animée par Xavier Guchet et Bernard Stiegler");
+				
+			});
+			
+			$("#tf4").click(function() {
+				$(".videoLiveProgramTitle").html("<b>19h00- 22h00 :</b> Soirée");
+				$(".videoLiveProgramDescription").html("<b>19h00</b><br>Présentation d’initiatives relatives au débat sur les nanotechnologies et de projets et outils innovants pour le débat public en ligne. Une collaboration IRI, VivAgora, Carrefours des possibles de la FING<br><b>20h30 Forum –1</b><br>Rencontres avec les porteurs de projets innovants.");
+				
+			});
+			
+			// ----
+			// day 2
+			
+			$("#tf5").click(function() {
+				$(".videoLiveProgramTitle").html("<b>9h30- 12h30 :</b> Design et outils de représentation");
+				$(".videoLiveProgramDescription").html("Les nanos posent des questions inédites aux designers. Ceux-ci sont confrontés, d’une part, à un renouvellement des rapports habituels entre forme et matière : en effet, si le design est l’art et la manière de donner forme aux objets, à la nano-échelle, la matière se présente comme un ensemble de formes, d’information et de processus qu’il faut associer à la démarche désignante.  D’autre part, les nanos posent à nouveau frais la question des usages : en effet, le nanomonde ne s’appréhende que par des outils de médiation du réel (instrumentation, discrétisation, représentation de données, simulation, transmodalité). Or, s’il ne peut pas y avoir, à proprement parler, de design d’objets nanométriques, mais de design d’objets intégrant des nanos, comment les designers donnent-ils sens à l’intégration de cette nouvelle dimension ? <br><br><b>9h30-10h45</b><br><br>Introduction de Alain Cadix (ENSCI)<br>Intervenants : Patrick Pajon (Centre de Recherche sur l’Imaginaire), Sylvie Tissot (Quantum design)<br><b>11h00-12h00</b><br><br>Projection du film Puissances de dix (1977) de Charles et Ray Eames <br>Modération par Jean-Louis Fréchin (ENSCI)<br>Intervenants : Gilles Belley et Jean-François Dingjian, Designers<br><b>12h00-12h30</b><br>Modération par Marie-Virginie Berbet, designer<br>Présentation du travail des élèves designers sur design/nano et <br>biotechnologies dans le cadre d’un studio expérimental à l’ENSCILes Ateliers");
+				
+			});
+
+			$("#tf6").click(function() {
+				$(".videoLiveProgramTitle").html("<b>19h00- 14h00 :</b> Repas");
+				$(".videoLiveProgramDescription").html("");
+				
+			});
+
+			$("#tf7").click(function() {
+				$(".videoLiveProgramTitle").html("<b>14h00- 19h00 :</b> Imaginaire politique et ingénierie du débat public");
+				$(".videoLiveProgramDescription").html("On analysera ici la façon dont les recherches en nanotechnologies sont devenues un « terrain d’expérimentation » pour construire de nouveaux rapports entre science et société et faire émerger une « société de la connaissance ».  Or, Cap Digital a mis en place un groupe de travail sur l’innovation sociale et se mobilise sur le développement d’outils de gestion et d’échange de connaissances et de débat. Au-delà de la manière dont le débat sur les nanotechnologies a été géré (sur laquelle on pourra revenir), cette session vise à interroger en quoi le débat sur les nanos, mais, plus largement, la question du principe de précaution, nous obligent à repenser les outils de gestion de crise et de débat public ainsi qu’à poser à nouveaux frais la question fondamentale de la confiance (trust). <br><br><b>14h00-16h00 </b><br>Introduction de Bernard Stiegler<br>Intervenants : Brice Laurent (Commission Européenne), <br>Ermelinde Malcotte (Paris X), Philippe Aigrain (Sopinspace)<br><br><b>16h30-18h30</b><br>Intervenants : Dominique Boullier (Sciences-Po), Jean Sallantin <br>(LIRM), Dorothée Benoit (VivAgora)<br><b>18h30-19h00</b><br>Débat animé par Jean Sallantin");
+				
+			});
+		
+			$("#tf8").click(function() {
+				$(".videoLiveProgramTitle").html("<b>19h00- 22h00 :</b> Soirée");
+				$(".videoLiveProgramDescription").html("<b>19h00</b>Présentation d’initiatives relatives au débat sur les nanotechnologies et de projets et outils innovants pour le débat public en ligne. Une collaboration IRI, VivAgora, Carrefours des possibles de la FING<br><b>20h30 Forum –1</b><br>Rencontres avec les porteurs de projets innovants.");
+				
+			});
+		
+		
+		});
+		
+		
+		<!-- LIMIT TEXTAREA:
+		function imposemax(Object)
+		{
+		  return (Object.value.length <= 140);
+		}
+		// End -->
+		
+		<!-- TIMER 
+		var c=0;
+		var t;
+		var timer_is_on=0;
+
+		function timedCount()
+		{
+			document.getElementById('txt').value=c;
+			c = c+1;
+			t = window.setTimeout("timedCount()",1000);
+			$(".twtr-ft").hide();
+			$(".twtr-hd").hide();
+			
+			//twtr-tweet
+			$(".twtr-tweet").each(colorTweetings);
+		
+		}
+
+		function colorTweetings (){
+			/*
+			efc1f0 > violet
+			c5e7cd > vert
+			f6ced0 > rouge
+			bfdbec > blue 
+			ecedc1 > yellow
+			*/
+				var tweettemp = $(this).html();
+				//alert(tweettemp);
+				//$(".videoLiveProgramDescription").text(tweettemp);
+				//$(".videoLiveProgramTitle").text(tweettemp.search(/\x2D\x2D/));
+				
+				/*
+				<a target="_blank" class="twtr-reply" href="http://twitter.com/?status=@LaurentChic%20&amp;in_reply_to_status_id=12411225795198976&amp;in_reply_to=LaurentChic">reply</a>
+				*/	//alert("tweettemp");
+				
+				if (tweettemp.search(/\x3F\x3F/)!=-1){
+				
+					 $(this).css({'background-color': '#ecedc1','color':"#000"});
+				}
+				
+				if (tweettemp.search(/\x2B\x2B/)!=-1){
+					 $(this).css({'background-color': '#c5e7cd','color':"#fff"});
+				}
+				
+				if (tweettemp.search(/\x2D\x2D/)!=-1){
+					 $(this).css({'background-color': '#f6ced0','color':"#fff"});
+				}
+				
+				if (tweettemp.search(/\x3D\x3D/)!=-1){
+					 $(this).css({'background-color': '#bfdbec','color':"#000"});
+				}
+		};
+			
+
+		
+		function doTimer()
+		{
+		if (!timer_is_on)
+		  {
+		  timer_is_on=1;
+		  timedCount();
+		  }
+		}
+
+		function stopCount()
+		{
+			clearTimeout(t);
+			timer_is_on=0;
+		}
+		//
+		
+		//-->
+		
+		
+	</script>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  <body>
+    <div class="container">
+      <img src="images/ENMI_2010_logo.gif" class="logo">
+	  <ul class="menu"> 
+	  <li class="menuUnderline"><a href="#Aboutbox" class="menuLink" id="About"> À propos</a></li>
+	  <li class="menuUnderline" ><a href="http://www.iri.centrepompidou.fr/wp-content/uploads/2010/12/Program_ENMI_2010.pdf" class="menuLink" target="_blank"> Programme</a></li>
+	  <li ><a href="http://amateur.iri.centrepompidou.fr/nouveaumonde/enmi/conf/" target="_blank" class="menuLink"> Archives</a></li>
+	  </ul>
+
+	  
+	  <div class="videoLive">
+		<div class="videoLivePlayer">
+		
+				<!-- START LIVE VIDEO STREAM -->
+			<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="500" height="375"> 
+				<param name="movie" value="res/mediaplayer/player.swf" /> 
+				<param name="allowfullscreen" value="true" /> 
+				<param name="allowscriptaccess" value="always" /> 
+				<param name="wmode" value="transparent" />
+				<param name="flashvars" value="autostart=true&live=true&image=images/bgd_player.jpg&provider=rtmp&streamer=rtmp://media.iri.centrepompidou.fr/ddc_player/&file=livestream&controlbar=none&autostart=true" /> 
+				<embed 
+					type="application/x-shockwave-flash"
+					id="player2"
+					name="player2"
+					src="res/mediaplayer/player.swf" 
+					width="500" 
+					height="375"
+					allowscriptaccess="always" 
+					allowfullscreen="true"
+					wmode="transparent"
+					flashvars="autostart=true&live=true&provider=rtmp&streamer=rtmp://media.iri.centrepompidou.fr/ddc_player/&file=livestream&image=images/bgd_player.jpg&controlbar=none&autostart=true" 
+					
+				/> 
+			</object> 
+			<!-- END LIVE VIDEO STREAM -->		
+		</div>	
+	  </div>
+
+	  <div class="videoLiveProgram">	
+
+		<div class="timeline" style="width:499px;">
+				
+				<div class="bigTimeFrame" 
+					 
+					 style="width:253px;">
+					 <div style="padding-left:5px;">14 dec 2010</div>
+				</div>
+					 
+				<div class="bigTimeFrame"
+					 title="The tooltip text #1"
+					 style="border-right:none;">
+					 <div style="padding-left:5px;">15 dec 2010</div>
+				</div>
+				
+				<div class="timeFragment" style="width:253px;">
+				
+					<div id="tf0" 
+						 class="timeFrame" 
+						 title="<b>9h30- 13h00 :</b><br> Imaginaires Industriels et hyperminiaturisation"
+						 style="width:27%;background-color:#29b8ed;"></div> 
+						 
+					<div id="tf1"
+						 class="timeFrame"
+						 title="<b>13h00- 14h30 :</b><br> Repas"
+						 style="width:13%;background-color:#959595;"></div> 
+						 
+					<div id="tf2"
+						 class="timeFrame" 
+						 title="<b>14h30- 16h50 :</b><br> Imaginaires Scientifiques"
+						 style="width:14%;background-color:#29b8ed;"></div> 
+						 
+					<div id="tf3"
+						 class="timeFrame"
+						 title="<b>17h00- 19h00 :</b><br>Imaginaires Anthropologique"
+						 style="width:17%;background-color:#959595;"></div> 
+						 
+					<div id="tf4"
+						 class="timeFrame" 
+						 title="<b>19h00- 22h00 :</b><br> Soirée"
+						 style="width:25%;background-color:#29b8ed;"></div> 
+						 
+				</div>
+				<div class="timeFragment" style="width:245px;">
+				
+					<div id="tf5"
+						 class="timeFrame" 
+						 title="<b>9h30-12h30</b> <br>Design et outils de représentation"
+						 style="width:35%;background-color:#29b8ed;"></div> 
+						 
+					<div id="tf6"
+						 class="timeFrame"
+						 title="<b>12h30-14h00</b> <br>Repas"
+						 style="width:10%;background-color:#959595;"></div> 
+						 
+					<div id="tf7"
+						 class="timeFrame" 
+						 title="<b>14h00-19h00</b> <br>Imaginaire politique et ingénierie du débat public"
+						 style="width:50%;background-color:#29b8ed;"></div> 
+						 
+					
+				</div>
+				
+		</div>
+		<div class="arrowContainer">
+			<div class="arrow"> </div>
+		</div>
+		
+		
+		<!-- -->
+
+		<!-- -->
+		<div class="videoLiveProgramTitle"><b>Nanomondes et imaginaires 
+de l’hyperminiaturisation :</b></div>
+		<div class="videoLiveProgramDescription">
+		<br>
+		<b>Cliquez sur la ligne de temps ci dessus afin d'afficher les différentes sessions du programme.</b>
+<br><br>
+		<i>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. </i><br><br>
+<br>
+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. <br><br>
+
+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. <br><br>
+
+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.<br>
+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.
+		</div>
+		
+		
+	</div>
+	  
+	  <div class="tweetWriter">
+		<h3 class="tweetWriterTitle">Annotations critique : </h3>
+		<form  action="tweet.php" method="post" id="statusform" >
+		<?php if (!isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+				echo("<div class='loginbutton' ><a href='".URL_ROOT."?CONNECT=true' class='loginlink'>
+				Vous n'êtes pas connecté.<br>
+				Pour participer, veuillez vous identifier en cliquant ici. </a></div>");
+			  }else{
+				echo("<textarea name='status' id='status' rows='3' cols='50' onkeypress='return imposemax(this);'>#enmi</textarea>");
+			  }
+		?>
+
+
+				<div id="messageSuccess" style="background-color:lightgreen;">
+					Votre tweet a bien été envoyé !<br><br>
+				</div>
+				
+				<div id="messageFailed" style="background-color:red;">
+					Ooups! il y a une erreur vous avez le droit de frapper le developpeur :<div id="error">&nbsp;</div><br/><br>
+				</div>
+
+			  
+			
+			<a class="button_w" href="#"  id="sendTweet" style="float:right;margin-right:15px;margin-left:35px;width:70px;" ><span>Envoyer</span></a> 
+			<!--<button name="s" type="button" id="sendTweet"
+					style="float:right;margin-right:15px;margin-left:35px;width:70px;"  >Envoyer</button>-->
+			<a 
+					
+					id="positive"
+					title="accord"
+					class="tweetButton">++</a>
+			<a 
+					
+					id="negative"
+					title="désaccord"
+					class="tweetButton">--</a>
+			<a
+					
+					id="reference"
+					title="reference"
+					class="tweetButton">==</a>
+			<a 
+					
+					id="question"  
+					title="question"
+					class="tweetButton"> ??</a>
+		</form>
+	  </div>
+	  
+	  <div class="tweetReader">
+			<script>
+				new TWTR.Widget({
+				  version: 2,
+				  type: 'search',
+				  search: '#enmi',
+				  interval: 1000,
+				  title: '',
+				  subject: '',
+				  width: 377,
+				  height: 450,
+				  theme: {
+					shell: {
+					  background: '#ffffff',
+					  color: '#ffffff'
+					},
+					tweets: {
+					  background: '#ffffff',
+					  color: '#444444',
+					  links: '#1985b5'
+					}
+				  },
+				  features: {
+					scrollbar: false,
+					loop: true,
+					live: true,
+					hashtags: true,
+					timestamp: true,
+					avatars: true,
+					toptweets: true,
+					behavior: 'default'
+				  }
+				}).render().start();
+			</script>
+	  </div>
+
+      <div class="footer">
+		<hr>
+		 <a href="http://www.iri.centrepompidou.fr/" class="footerLink"> IRI </a>
+		 |  <a href="http://www.capdigital.com/" class="footerLink"> Cap Digital  </a>
+		 |  <a href="http://www.ensci.com/" class="footerLink"> ENSCI </a>
+		 <?php 
+				if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+					echo("| 	<a href='clear.php'  class='footerLink'>D&eacute;connexion</a>");
+				}
+		 ?>
+		  <input type="text" id="txt" size="3"/>
+	  </div>   
+	
+
+    </div>
+	
+	<!-- LIGHTBOX --> 
+	<div style="display:none;">
+		<div id="Aboutbox" >
+		<div class="lightBorder">
+			<div class="lightTitle">ENMI 2010</div>
+			<div class="lightSubTitle">Annotation critique par tweet </div>
+			<div class="lightDescription">À 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.
+			</div>
+			<div>
+				<br/>
+				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
+				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
+			</div>
+		</div>
+		</div>
+	</div>
+
+	
+  </body>
+</html>
--- 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:
-   <span class="alt">asdf</span>
-   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:
-   <span class="dquo">&#8220;</span>asdf&#8221;
-   (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:
+   <span class="alt">asdf</span>
+   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:
+   <span class="dquo">&#8220;</span>asdf&#8221;
+   (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;
+}
--- 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 @@
-<div style="width:400px;">
-	<h2>This comes from ajax request</h2>
-	<p>
-		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.
-	</p>
+<div style="width:400px;">
+	<h2>This comes from ajax request</h2>
+	<p>
+		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.
+	</p>
 </div>
\ No newline at end of file
--- 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
--- 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($('<div/>')[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( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
-
-			_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;
-					}
-
-					$('<div class="fancybox-inline-tmp" />')
-						.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 = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
-					emb = '';
-
-					$.each(selectedOpts.swf, function(name, val) {
-						str += '<param name="' + name + '" value="' + val + '"></param>';
-						emb += ' ' + name + '="' + val + '"';
-					});
-
-					str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
-
-					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('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
-
-			selectedOpts.width = tmp.width();
-			selectedOpts.height = tmp.height();
-
-			_show();
-		},
-
-		_process_image = function() {
-			selectedOpts.width = imgPreloader.width;
-			selectedOpts.height = imgPreloader.height;
-
-			$("<img />").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 '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
-				}
-
-				return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
-			}
-
-			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') {
-				$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></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	= $('<div id="fancybox-tmp"></div>'),
-			loading	= $('<div id="fancybox-loading"><div></div></div>'),
-			overlay	= $('<div id="fancybox-overlay"></div>'),
-			wrap = $('<div id="fancybox-wrap"></div>')
-		);
-
-		outer = $('<div id="fancybox-outer"></div>')
-			.append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
-			.appendTo( wrap );
-
-		outer.append(
-			content = $('<div id="fancybox-content"></div>'),
-			close = $('<a id="fancybox-close"></a>'),
-			title = $('<div id="fancybox-title"></div>'),
-
-			nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
-			nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
-		);
-
-		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');
-
-			$('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').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($('<div/>')[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( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
+
+			_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;
+					}
+
+					$('<div class="fancybox-inline-tmp" />')
+						.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 = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
+					emb = '';
+
+					$.each(selectedOpts.swf, function(name, val) {
+						str += '<param name="' + name + '" value="' + val + '"></param>';
+						emb += ' ' + name + '="' + val + '"';
+					});
+
+					str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
+
+					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('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
+
+			selectedOpts.width = tmp.width();
+			selectedOpts.height = tmp.height();
+
+			_show();
+		},
+
+		_process_image = function() {
+			selectedOpts.width = imgPreloader.width;
+			selectedOpts.height = imgPreloader.height;
+
+			$("<img />").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 '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
+				}
+
+				return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
+			}
+
+			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') {
+				$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></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	= $('<div id="fancybox-tmp"></div>'),
+			loading	= $('<div id="fancybox-loading"><div></div></div>'),
+			overlay	= $('<div id="fancybox-overlay"></div>'),
+			wrap = $('<div id="fancybox-wrap"></div>')
+		);
+
+		outer = $('<div id="fancybox-outer"></div>')
+			.append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
+			.appendTo( wrap );
+
+		outer.append(
+			content = $('<div id="fancybox-content"></div>'),
+			close = $('<a id="fancybox-close"></a>'),
+			title = $('<div id="fancybox-title"></div>'),
+
+			nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
+			nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
+		);
+
+		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');
+
+			$('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').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
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-	<meta http-equiv="imagetoolbar" content="no" />
-	<title>FancyBox 1.3.4 | Demonstration</title>
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
-	<script>
-		!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
-	</script>
-	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
- 	<link rel="stylesheet" href="style.css" />
-	<script type="text/javascript">
-		$(document).ready(function() {
-			/*
-			*   Examples - images
-			*/
-
-			$("a#example1").fancybox();
-
-			$("a#example2").fancybox({
-				'overlayShow'	: false,
-				'transitionIn'	: 'elastic',
-				'transitionOut'	: 'elastic'
-			});
-
-			$("a#example3").fancybox({
-				'transitionIn'	: 'none',
-				'transitionOut'	: 'none'	
-			});
-
-			$("a#example4").fancybox({
-				'opacity'		: true,
-				'overlayShow'	: false,
-				'transitionIn'	: 'elastic',
-				'transitionOut'	: 'none'
-			});
-
-			$("a#example5").fancybox();
-
-			$("a#example6").fancybox({
-				'titlePosition'		: 'outside',
-				'overlayColor'		: '#000',
-				'overlayOpacity'	: 0.9
-			});
-
-			$("a#example7").fancybox({
-				'titlePosition'	: 'inside'
-			});
-
-			$("a#example8").fancybox({
-				'titlePosition'	: 'over'
-			});
-
-			$("a[rel=example_group]").fancybox({
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'titlePosition' 	: 'over',
-				'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
-					return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
-				}
-			});
-
-			/*
-			*   Examples - various
-			*/
-
-			$("#various1").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-
-			$("#various2").fancybox();
-
-			$("#various3").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-
-			$("#various4").fancybox({
-				'padding'			: 0,
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-		});
-	</script>
-</head>
-<body>
-<div id="content">
-	<h1>fancybox <span>v1.3.4</span></h1>
-
-	<p>This is a demonstration. <a href="http://fancybox.net">Home page</a></p>
-
-	<hr />
-
-	<p>
-		Different animations<br />
-
-		<a id="example1" href="./example/1_b.jpg"><img alt="example1" src="./example/1_s.jpg" /></a>
-
-		<a id="example2" href="./example/2_b.jpg"><img alt="example2" src="./example/2_s.jpg" /></a>
-
-		<a id="example3" href="./example/3_b.jpg"><img alt="example3" src="./example/3_s.jpg" /></a>
-		
-		<a id="example4" href="./example/4_b.jpg"><img class="last" alt="example4" src="./example/4_s.jpg" /></a>
-	</p>
-
-	<p>
-		Different title positions<br />
-
-		<a id="example5" href="./example/5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit."><img alt="example4" src="./example/5_s.jpg" /></a>
-		
-		<a id="example6" href="./example/6_b.jpg" title="Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Vivamus fringilla congue laoreet."><img alt="example5" src="./example/6_s.jpg" /></a>
-
-		<a id="example7" href="./example/7_b.jpg" title="Cras neque mi, semper at interdum id, dapibus in leo. Suspendisse nunc leo, eleifend sit amet iaculis et, cursus sed turpis."><img alt="example6" src="./example/7_s.jpg" /></a>
-
-		<a id="example8" href="./example/8_b.jpg" title="Sed vel sapien vel sem tempus placerat eu ut tortor. Nulla facilisi. Sed adipiscing, turpis ut cursus molestie, sem eros viverra mauris, quis sollicitudin sapien enim nec est. ras pulvinar placerat diam eu consectetur."><img class="last" alt="example7" src="./example/8_s.jpg" /></a>
-	</p>
-
-	<p>
-		Image gallery (ps, try using mouse scroll wheel)<br />
-
-		<a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>
-
-		<a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>
-
-		<a rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
-		
-		<a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
-	</p>
-
-	<p>
-		Various examples
-	</p>
-
-	<ul>
-		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
-		<li><a id="various2" href="ajax.txt">Ajax</a></li>
-		<li><a id="various3" href="http://google.ca">Iframe</a></li>
-		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
-	</ul>
-
-	<div style="display: none;">
-		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
-			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.
-		</div>
-	</div>
-
-	<p>
-		Ajax example will not run from your local computer and requires a server to run.
-	</p>
-	<p>
-		Photo Credit: <a href="http://www.flickr.com/people/kharied/">Katie Harris</a>
-	</p>
-</div>
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<meta http-equiv="imagetoolbar" content="no" />
+	<title>FancyBox 1.3.4 | Demonstration</title>
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
+	<script>
+		!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
+	</script>
+	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
+ 	<link rel="stylesheet" href="style.css" />
+	<script type="text/javascript">
+		$(document).ready(function() {
+			/*
+			*   Examples - images
+			*/
+
+			$("a#example1").fancybox();
+
+			$("a#example2").fancybox({
+				'overlayShow'	: false,
+				'transitionIn'	: 'elastic',
+				'transitionOut'	: 'elastic'
+			});
+
+			$("a#example3").fancybox({
+				'transitionIn'	: 'none',
+				'transitionOut'	: 'none'	
+			});
+
+			$("a#example4").fancybox({
+				'opacity'		: true,
+				'overlayShow'	: false,
+				'transitionIn'	: 'elastic',
+				'transitionOut'	: 'none'
+			});
+
+			$("a#example5").fancybox();
+
+			$("a#example6").fancybox({
+				'titlePosition'		: 'outside',
+				'overlayColor'		: '#000',
+				'overlayOpacity'	: 0.9
+			});
+
+			$("a#example7").fancybox({
+				'titlePosition'	: 'inside'
+			});
+
+			$("a#example8").fancybox({
+				'titlePosition'	: 'over'
+			});
+
+			$("a[rel=example_group]").fancybox({
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'titlePosition' 	: 'over',
+				'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
+					return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
+				}
+			});
+
+			/*
+			*   Examples - various
+			*/
+
+			$("#various1").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+
+			$("#various2").fancybox();
+
+			$("#various3").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+
+			$("#various4").fancybox({
+				'padding'			: 0,
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+		});
+	</script>
+</head>
+<body>
+<div id="content">
+	<h1>fancybox <span>v1.3.4</span></h1>
+
+	<p>This is a demonstration. <a href="http://fancybox.net">Home page</a></p>
+
+	<hr />
+
+	<p>
+		Different animations<br />
+
+		<a id="example1" href="./example/1_b.jpg"><img alt="example1" src="./example/1_s.jpg" /></a>
+
+		<a id="example2" href="./example/2_b.jpg"><img alt="example2" src="./example/2_s.jpg" /></a>
+
+		<a id="example3" href="./example/3_b.jpg"><img alt="example3" src="./example/3_s.jpg" /></a>
+		
+		<a id="example4" href="./example/4_b.jpg"><img class="last" alt="example4" src="./example/4_s.jpg" /></a>
+	</p>
+
+	<p>
+		Different title positions<br />
+
+		<a id="example5" href="./example/5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit."><img alt="example4" src="./example/5_s.jpg" /></a>
+		
+		<a id="example6" href="./example/6_b.jpg" title="Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Vivamus fringilla congue laoreet."><img alt="example5" src="./example/6_s.jpg" /></a>
+
+		<a id="example7" href="./example/7_b.jpg" title="Cras neque mi, semper at interdum id, dapibus in leo. Suspendisse nunc leo, eleifend sit amet iaculis et, cursus sed turpis."><img alt="example6" src="./example/7_s.jpg" /></a>
+
+		<a id="example8" href="./example/8_b.jpg" title="Sed vel sapien vel sem tempus placerat eu ut tortor. Nulla facilisi. Sed adipiscing, turpis ut cursus molestie, sem eros viverra mauris, quis sollicitudin sapien enim nec est. ras pulvinar placerat diam eu consectetur."><img class="last" alt="example7" src="./example/8_s.jpg" /></a>
+	</p>
+
+	<p>
+		Image gallery (ps, try using mouse scroll wheel)<br />
+
+		<a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>
+
+		<a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>
+
+		<a rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
+		
+		<a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
+	</p>
+
+	<p>
+		Various examples
+	</p>
+
+	<ul>
+		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
+		<li><a id="various2" href="ajax.txt">Ajax</a></li>
+		<li><a id="various3" href="http://google.ca">Iframe</a></li>
+		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
+	</ul>
+
+	<div style="display: none;">
+		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
+			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.
+		</div>
+	</div>
+
+	<p>
+		Ajax example will not run from your local computer and requires a server to run.
+	</p>
+	<p>
+		Photo Credit: <a href="http://www.flickr.com/people/kharied/">Katie Harris</a>
+	</p>
+</div>
+</body>
 </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
-	<title>FancyBox 1.3.4 | Demonstration</title>
-	
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	
-	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
- 	<link rel="stylesheet" href="style.css" />
-	
-	<script type="text/javascript">
-		$(document).ready(function() {
-
-			$("#various1").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-			
-			$("#various3").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-
-		});
-	</script>
-</head>
-<body>
-<div id="content">
-
-
-<br/><br/>
-		Various examples
-	</p>
-
-	<ul>
-		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
-		<li><a id="various2" href="ajax.txt">Ajax</a></li>
-		<li><a id="various3" href="http://google.ca">Iframe</a></li>
-		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
-	</ul>
-
-	<div style="display: none;">
-		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
-			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.
-		</div>
-	</div>
-
-</div>
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+
+	<title>FancyBox 1.3.4 | Demonstration</title>
+	
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	
+	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
+ 	<link rel="stylesheet" href="style.css" />
+	
+	<script type="text/javascript">
+		$(document).ready(function() {
+
+			$("#various1").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+			
+			$("#various3").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+
+		});
+	</script>
+</head>
+<body>
+<div id="content">
+
+
+<br/><br/>
+		Various examples
+	</p>
+
+	<ul>
+		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
+		<li><a id="various2" href="ajax.txt">Ajax</a></li>
+		<li><a id="various3" href="http://google.ca">Iframe</a></li>
+		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
+	</ul>
+
+	<div style="display: none;">
+		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
+			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.
+		</div>
+	</div>
+
+</div>
+</body>
 </html>
\ No newline at end of file
--- 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;
+}
--- 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="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}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.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=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
--- 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
--- 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
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Niceforms</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<script language="javascript" type="text/javascript" src="niceforms.js"></script>
-<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
-</head>
-
-<body><div id="container">
-<form action="vars.php" method="post" class="niceform">
-	<fieldset>
-    	<legend>Personal Info</legend>
-        <dl>
-        	<dt><label for="email">Email Address:</label></dt>
-            <dd><input type="text" name="email" id="email" size="32" maxlength="128" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="password">Password:</label></dt>
-            <dd><input type="password" name="password" id="password" size="32" maxlength="32" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="gender">Gender:</label></dt>
-            <dd>
-            	<select size="1" name="gender" id="gender">
-                    <option value="Guy">Guy</option>
-                    <option value="Girl">Girl</option>
-                    <option value="Dude">Dude</option>
-                    <option value="Chic">Chic</option>
-                    <option value="Gentleman">Gentleman</option>
-                    <option value="Lady">Lady</option>
-                    <option value="Male">Male</option>
-                    <option value="Female">Female</option>
-                    <option value="Don't Ask">Don't Ask</option>
-            	</select>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="dobMonth">Date of Birth:</label></dt>
-            <dd>
-            	<select size="1" name="dobMonth" id="dobMonth">
-                	<option value="Jan">Jan</option>
-                    <option value="Feb">Feb</option>
-                    <option value="Mar">Mar</option>
-                    <option value="Apr">Apr</option>
-                    <option value="May">May</option>
-                    <option value="Jun">Jun</option>
-                    <option value="Jul">Jul</option>
-                    <option value="Aug">Aug</option>
-                    <option value="Sep">Sep</option>
-                    <option value="Oct">Oct</option>
-                    <option value="Nov">Nov</option>
-                    <option value="Dec">Dec</option>
-                </select>
-                <select size="1" name="dobDay" id="dobDay">
-                	<option value="01">01</option>
-                    <option value="02">02</option>
-                    <option value="03">03</option>
-                    <option value="04">04</option>
-                    <option value="05">05</option>
-                    <option value="06">06</option>
-                    <option value="07">07</option>
-                    <option value="08">08</option>
-                    <option value="09">09</option>
-                    <option value="10">10</option>
-                    <option value="11">11</option>
-                    <option value="12">12</option>
-                    <option value="13">13</option>
-                    <option value="14">14</option>
-                    <option value="15">15</option>
-                    <option value="16">16</option>
-                    <option value="17">17</option>
-                    <option value="18">18</option>
-                    <option value="19">19</option>
-                    <option value="20">20</option>
-                    <option value="21">21</option>
-                    <option value="22">22</option>
-                    <option value="23">23</option>
-                    <option value="24">24</option>
-                    <option value="25">25</option>
-                    <option value="26">26</option>
-                    <option value="27">27</option>
-                    <option value="28">28</option>
-                    <option value="29">29</option>
-                    <option value="30">30</option>
-                    <option value="31">31</option>
-                </select>
-                <select size="1" name="dobYear" id="dobYear">
-                	<option value="2000">2000</option>
-                    <option value="1999">1999</option>
-                    <option value="1998">1998</option>
-                    <option value="1997">1997</option>
-                    <option value="1996">1996</option>
-                    <option value="1995">1995</option>
-					<option value="1994">1994</option>
-					<option value="1993">1993</option>
-					<option value="1992">1992</option>
-					<option value="1991">1991</option>
-					<option value="1990">1990</option>
-					<option value="1989">1989</option>
-					<option value="1988">1988</option>
-					<option value="1987">1987</option>
-					<option value="1986">1986</option>
-					<option value="1985">1985</option>
-					<option value="1984">1984</option>
-					<option value="1983">1983</option>
-					<option value="1982">1982</option>
-					<option value="1981">1981</option>
-					<option value="1980">1980</option>
-					<option value="1979">1979</option>
-					<option value="1978">1978</option>
-					<option value="1977">1977</option>
-					<option value="1976">1976</option>
-					<option value="1975">1975</option>
-					<option value="1974">1974</option>
-					<option value="1973">1973</option>
-					<option value="1972">1972</option>
-					<option value="1971">1971</option>
-					<option value="1970">1970</option>
-					<option value="1969">1969</option>
-					<option value="1968">1968</option>
-					<option value="1967">1967</option>
-					<option value="1966">1966</option>
-					<option value="1965">1965</option>
-					<option value="1964">1964</option>
-					<option value="1963">1963</option>
-					<option value="1962">1962</option>
-					<option value="1961">1961</option>
-					<option value="1960">1960</option>
-					<option value="1959">1959</option>
-					<option value="1958">1958</option>
-					<option value="1957">1957</option>
-					<option value="1956">1956</option>
-					<option value="1955">1955</option>
-					<option value="1954">1954</option>
-					<option value="1953">1953</option>
-					<option value="1952">1952</option>
-					<option value="1951">1951</option>
-					<option value="1950">1950</option>
-                </select>
-            </dd>
-        </dl>
-    </fieldset>
-    <fieldset>
-    	<legend>Preferences</legend>
-        <dl>
-        	<dt><label for="color">Favorite Color:</label></dt>
-            <dd>
-            	<input type="radio" name="color" id="colorBlue" value="Blue" /><label for="colorBlue" class="opt">Blue</label>
-                <input type="radio" name="color" id="colorRed" value="Red" /><label for="colorRed" class="opt">Red</label>
-                <input type="radio" name="color" id="colorGreen" value="Green" /><label for="colorGreen" class="opt">Green</label>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="interests">Interests:</label></dt>
-            <dd>
-                <input type="checkbox" name="interests[]" id="interestsNews" value="News" /><label for="interestsNews" class="opt">News</label>
-                <input type="checkbox" name="interests[]" id="interestsSports" value="Sports" /><label for="interestsSports" class="opt">Sports</label>
-                <input type="checkbox" name="interests[]" id="interestsEntertainment" value="Entertainment" /><label for="interestsEntertainment" class="opt">Entertainment</label>
-                <input type="checkbox" name="interests[]" id="interestsCars" value="Cars" /><label for="interestsCars" class="opt">Automotive</label>
-                <input type="checkbox" name="interests[]" id="interestsTechnology" value="Technology" /><label for="interestsTechnology" class="opt">Technology</label>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="languages">Languages:</label></dt>
-            <dd>
-            	<select size="4" name="languages[]" id="languages" multiple="multiple">
-                	<option value="English">English</option>
-                    <option value="French">French</option>
-                    <option value="Spanish">Spanish</option>
-                    <option value="Italian">Italian</option>
-                    <option value="Chinese">Chinese</option>
-                    <option value="Japanese">Japanese</option>
-                    <option value="Russian">Russian</option>
-                    <option value="Esperanto">Esperanto</option>
-                </select>
-            </dd>
-        </dl>
-    </fieldset>
-    <fieldset>
-    	<legend>Comments</legend>
-        <dl>
-        	<dt><label for="comments">Message:</label></dt>
-            <dd><textarea name="comments" id="comments" rows="5" cols="60"></textarea></dd>
-        </dl>
-        <dl>
-        	<dt><label for="upload">Upload a File:</label></dt>
-            <dd><input type="file" name="upload" id="upload" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="test">Sample Button:</label></dt>
-            <dd><button type="button" name="test" id="test">I Do Nothing</button></dd>
-        </dl>
-    </fieldset>
-    <fieldset class="action">
-    	<input type="submit" name="submit" id="submit" value="Submit" />
-    </fieldset>
-</form>
-<p id="footer">Niceforms v.2.0<br />&copy;Lucian Slatineanu - <a href="http://www.emblematiq.com/">Emblematiq</a><br />Last update: Nov 13 2008</p>
-</div></body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Niceforms</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<script language="javascript" type="text/javascript" src="niceforms.js"></script>
+<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
+</head>
+
+<body><div id="container">
+<form action="vars.php" method="post" class="niceform">
+	<fieldset>
+    	<legend>Personal Info</legend>
+        <dl>
+        	<dt><label for="email">Email Address:</label></dt>
+            <dd><input type="text" name="email" id="email" size="32" maxlength="128" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="password">Password:</label></dt>
+            <dd><input type="password" name="password" id="password" size="32" maxlength="32" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="gender">Gender:</label></dt>
+            <dd>
+            	<select size="1" name="gender" id="gender">
+                    <option value="Guy">Guy</option>
+                    <option value="Girl">Girl</option>
+                    <option value="Dude">Dude</option>
+                    <option value="Chic">Chic</option>
+                    <option value="Gentleman">Gentleman</option>
+                    <option value="Lady">Lady</option>
+                    <option value="Male">Male</option>
+                    <option value="Female">Female</option>
+                    <option value="Don't Ask">Don't Ask</option>
+            	</select>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="dobMonth">Date of Birth:</label></dt>
+            <dd>
+            	<select size="1" name="dobMonth" id="dobMonth">
+                	<option value="Jan">Jan</option>
+                    <option value="Feb">Feb</option>
+                    <option value="Mar">Mar</option>
+                    <option value="Apr">Apr</option>
+                    <option value="May">May</option>
+                    <option value="Jun">Jun</option>
+                    <option value="Jul">Jul</option>
+                    <option value="Aug">Aug</option>
+                    <option value="Sep">Sep</option>
+                    <option value="Oct">Oct</option>
+                    <option value="Nov">Nov</option>
+                    <option value="Dec">Dec</option>
+                </select>
+                <select size="1" name="dobDay" id="dobDay">
+                	<option value="01">01</option>
+                    <option value="02">02</option>
+                    <option value="03">03</option>
+                    <option value="04">04</option>
+                    <option value="05">05</option>
+                    <option value="06">06</option>
+                    <option value="07">07</option>
+                    <option value="08">08</option>
+                    <option value="09">09</option>
+                    <option value="10">10</option>
+                    <option value="11">11</option>
+                    <option value="12">12</option>
+                    <option value="13">13</option>
+                    <option value="14">14</option>
+                    <option value="15">15</option>
+                    <option value="16">16</option>
+                    <option value="17">17</option>
+                    <option value="18">18</option>
+                    <option value="19">19</option>
+                    <option value="20">20</option>
+                    <option value="21">21</option>
+                    <option value="22">22</option>
+                    <option value="23">23</option>
+                    <option value="24">24</option>
+                    <option value="25">25</option>
+                    <option value="26">26</option>
+                    <option value="27">27</option>
+                    <option value="28">28</option>
+                    <option value="29">29</option>
+                    <option value="30">30</option>
+                    <option value="31">31</option>
+                </select>
+                <select size="1" name="dobYear" id="dobYear">
+                	<option value="2000">2000</option>
+                    <option value="1999">1999</option>
+                    <option value="1998">1998</option>
+                    <option value="1997">1997</option>
+                    <option value="1996">1996</option>
+                    <option value="1995">1995</option>
+					<option value="1994">1994</option>
+					<option value="1993">1993</option>
+					<option value="1992">1992</option>
+					<option value="1991">1991</option>
+					<option value="1990">1990</option>
+					<option value="1989">1989</option>
+					<option value="1988">1988</option>
+					<option value="1987">1987</option>
+					<option value="1986">1986</option>
+					<option value="1985">1985</option>
+					<option value="1984">1984</option>
+					<option value="1983">1983</option>
+					<option value="1982">1982</option>
+					<option value="1981">1981</option>
+					<option value="1980">1980</option>
+					<option value="1979">1979</option>
+					<option value="1978">1978</option>
+					<option value="1977">1977</option>
+					<option value="1976">1976</option>
+					<option value="1975">1975</option>
+					<option value="1974">1974</option>
+					<option value="1973">1973</option>
+					<option value="1972">1972</option>
+					<option value="1971">1971</option>
+					<option value="1970">1970</option>
+					<option value="1969">1969</option>
+					<option value="1968">1968</option>
+					<option value="1967">1967</option>
+					<option value="1966">1966</option>
+					<option value="1965">1965</option>
+					<option value="1964">1964</option>
+					<option value="1963">1963</option>
+					<option value="1962">1962</option>
+					<option value="1961">1961</option>
+					<option value="1960">1960</option>
+					<option value="1959">1959</option>
+					<option value="1958">1958</option>
+					<option value="1957">1957</option>
+					<option value="1956">1956</option>
+					<option value="1955">1955</option>
+					<option value="1954">1954</option>
+					<option value="1953">1953</option>
+					<option value="1952">1952</option>
+					<option value="1951">1951</option>
+					<option value="1950">1950</option>
+                </select>
+            </dd>
+        </dl>
+    </fieldset>
+    <fieldset>
+    	<legend>Preferences</legend>
+        <dl>
+        	<dt><label for="color">Favorite Color:</label></dt>
+            <dd>
+            	<input type="radio" name="color" id="colorBlue" value="Blue" /><label for="colorBlue" class="opt">Blue</label>
+                <input type="radio" name="color" id="colorRed" value="Red" /><label for="colorRed" class="opt">Red</label>
+                <input type="radio" name="color" id="colorGreen" value="Green" /><label for="colorGreen" class="opt">Green</label>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="interests">Interests:</label></dt>
+            <dd>
+                <input type="checkbox" name="interests[]" id="interestsNews" value="News" /><label for="interestsNews" class="opt">News</label>
+                <input type="checkbox" name="interests[]" id="interestsSports" value="Sports" /><label for="interestsSports" class="opt">Sports</label>
+                <input type="checkbox" name="interests[]" id="interestsEntertainment" value="Entertainment" /><label for="interestsEntertainment" class="opt">Entertainment</label>
+                <input type="checkbox" name="interests[]" id="interestsCars" value="Cars" /><label for="interestsCars" class="opt">Automotive</label>
+                <input type="checkbox" name="interests[]" id="interestsTechnology" value="Technology" /><label for="interestsTechnology" class="opt">Technology</label>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="languages">Languages:</label></dt>
+            <dd>
+            	<select size="4" name="languages[]" id="languages" multiple="multiple">
+                	<option value="English">English</option>
+                    <option value="French">French</option>
+                    <option value="Spanish">Spanish</option>
+                    <option value="Italian">Italian</option>
+                    <option value="Chinese">Chinese</option>
+                    <option value="Japanese">Japanese</option>
+                    <option value="Russian">Russian</option>
+                    <option value="Esperanto">Esperanto</option>
+                </select>
+            </dd>
+        </dl>
+    </fieldset>
+    <fieldset>
+    	<legend>Comments</legend>
+        <dl>
+        	<dt><label for="comments">Message:</label></dt>
+            <dd><textarea name="comments" id="comments" rows="5" cols="60"></textarea></dd>
+        </dl>
+        <dl>
+        	<dt><label for="upload">Upload a File:</label></dt>
+            <dd><input type="file" name="upload" id="upload" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="test">Sample Button:</label></dt>
+            <dd><button type="button" name="test" id="test">I Do Nothing</button></dd>
+        </dl>
+    </fieldset>
+    <fieldset class="action">
+    	<input type="submit" name="submit" id="submit" value="Submit" />
+    </fieldset>
+</form>
+<p id="footer">Niceforms v.2.0<br />&copy;Lucian Slatineanu - <a href="http://www.emblematiq.com/">Emblematiq</a><br />Last update: Nov 13 2008</p>
+</div></body>
+</html>
--- 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
--- 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 @@
-<?php
-error_reporting(E_ALL);
-ini_set('display_errors', '1');
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once './common.php';
-
-/**
- * Do we already have a valid Access Token or need to go get one?
- */
-if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
-    /**
-     * Guess we need to go get one!
-     */
-    $token = $consumer->getRequestToken();
-    $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
-
-    /**
-     * Now redirect user to Twitter site so they can log in and
-     * approve our access
-     */
-    $consumer->redirect();
-
-}
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Polemic tweet - Live Video and Annotation</title>
-
-    <!-- Framework CSS -->
-    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
-    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
-
-    <!-- Import fancy-type plugin for the sample page. -->
-    
-	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="res/css/tabs-slideshow.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
-
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<!--<script type="text/javascript" src="res/jquery.tools/jquery.tools.min.js"></script>-->
-	<script src="http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
-	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-
-	<script type="text/javascript">	
-	$(document).ready(function() {
-
-			$(".loginbutton").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			$("#IDENTIFIER").click(function() {
-				document.location.href="<?php URL_ROOT ?>?CONNECT=true";
-			});
-			$("#ACCES").click(function() {
-				document.location.href="client.php";
-			});
-			$(".archivesVideoBox").mouseover(function() {
-				//$(this).animate({'backgroundColor'});
-				//$(this).css({'backgroundColor':'#d6d6d6'});
-				$(this).css({'backgroundColor':'#fff'});
-				$(this).cursor = "pointer";
-			}).mouseout(function(){
-				//$(this).css({'backgroundColor':'#f6f6f6'});
-				$(this).css({'backgroundColor':'#f2f2f2'});
-			});
-			
-			<!-- SLIDER -->
-			$(".slidetabs").tabs(".images > div", {
-				effect: 'fade',
-				rotate: false,
-				interval: 4000,
-				clickable:false,
-			}).slideshow();		
-
-		$(".slidetabs").data("slideshow").play();
-		});
-
-
-
-		
-	</script>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  <body>
-    <div class="container">
-      <img src="images/ENMI_2010_logo.gif" class="logo">
-	  <ul class="menu"> 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?CONNECT=true" class="menuLink">
-	  	<?php print $translate->_("S&apos;identifier"); ?></a></li>
-	  <li class="menuUnderline"><a href="about.php" class="menuLink">
-	  	<?php print $translate->_("A propos"); ?></a></li>
-	  <li ><a href="mailto:contact@iri.centrepompidou.fr" class="menuLink" >
-	  	<?php print $translate->_("Contact"); ?></a></li>
-	  </ul>
-	  
-	  <ul class="menu lang" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>
-
-	  <div class="introBox">
-
-		  <div class="slider">
-		  <!-- container for the slides -->
-			<div class="images">
-				<!-- first slide -->
-				<div class="slides" style="background-image:url('images/slide0.gif');">
-				<p class="slideTitle" >
-					<?php print $translate->_("0. TitreSlide"); ?>
-				</p>
-				<p	style="padding-top:90px;padding-left:280px;width:520px;" class="slideText">
-					<?php print $translate->_("0. TextSlide"); ?>
-				</p>
-				</div>
-				<div class="slides" style="background-image:url('images/slide1.jpg');">
-				<p class="slideTitle" >
-					<?php print $translate->_("1. TitreSlide"); ?>
-				</p>
-				<br/><br/><br/><br/>
-				<p style="width:400px;padding-left:400px;" class="slideText">
-				<a class="button_b" href="#"  id="IDENTIFIER"><span>
-				<?php print $translate->_("1.1 TextSlide"); ?></span></a>
-				<?php print $translate->_("1.2 TextSlide"); ?>,<br/> <br/>
-				<a class="button_w" href="#"  id="ACCES"><span>
-				<?php print $translate->_("1.3 TextSlide"); ?></span></a> 
-				</p>
-				</div>
-				<!-- second slide -->
-				<div class="slides" style="background-image:url('images/slide2.jpg');">
-				<p class="slideTitle" ><?php print $translate->_("2. TitreSlide"); ?></p>
-				<br/><br/>
-				<p	style="padding-top:90px;padding-left:280px;width:520px;" class="slideText">
-				<?php print $translate->_("2. TextSlide"); ?>
-				</p>
-				</div>
-				<!-- third slide -->
-				<div class="slides" style="background-image:url('images/slide3.gif');">
-				<p class="slideTitle" ><?php print $translate->_("3. TitreSlide"); ?></p>
-				<br/><br/>
-				<p style="width:400px;padding-right:400px;" class="slideText">
-				<?php print $translate->_("3. TextSlide"); ?>
-				</p>
-				</div>
-				<!-- fourth slide -->
-				<div class="slides" style="background-image:url('images/slide4.jpg');">
-				<p class="slideTitle" ><?php print $translate->_("4. TitreSlide"); ?></p>
-				<br/><br/><br/>
-				<p style="width:400px;padding-right:400px;" class="slideText">
-				<?php print $translate->_("4. TextSlide"); ?>
-				 </p>
-
-				 <a class="button_b" href="client.php"><span> <?php print $translate->_("4. Button"); ?></span> </a>
-				 
-				</div>
-			</div>
-
-			<!-- the tabs -->
-			<div class="slidetabs">
-				<a href="#"></a>
-				<a href="#"></a>
-				<a href="#"></a>
-				<a href="#"></a>
-				<a href="#"></a>
-			</div>
-		  </div>
-		  
-		<div class="intro">
-			
-		</div>
-		  
-	  </div>
-	  <!-- --> 
-	  <div class="archivesBox">
-	  <div class="archivesBoxHeader"></div>
-		<div class="archivesBoxContainer">
-			<!-- -->
-			<h3 class="archivesTitle"><?php print $translate->_("Archive Title :"); ?></h3>
-			<!-- -->
-			<div id="AVB3" class="archivesVideoBox">
-				<a href="rsln/polemicaltimeline.php">
-					<img src="images/tail_clay.jpg" width="270" height="150"/>
-				</a>
-				<div class="AVBtitle">Clay Shirky le net, le surplus cognitif</div>
-				<div class="AVBtext">
-					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
-					<br/>le lundi 31 janvier 2011·| 08:30 - 10:30
-				</div>
-			</div>
-			<!-- -->
-			<div id="AVB2" class="archivesVideoBox">
-				<a href="rsln-opendata/polemicaltimeline.php">
-					<img src="images/tail_opendata.jpg" width="270" height="150"/>
-				</a>
-				<div class="AVBtitle">OPENDATA</div>
-				<div class="AVBtext">
-					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
-					<br/>le jeudi 17 mars 2011 | 14:30 - 17:15
-				</div>
-			</div>
-			<!-- -->
-			<div id="AVB4" class="archivesVideoBox">
-				<a href="rsln-mercedes-bunz/polemicaltimeline.php">
-					<img src="images/tail_mercedes_bunz.jpg" width="270" height="150"/>
-				</a>
-				<div class="AVBtitle">Mercedes Bunz</div>
-				<div class="AVBtext">
-					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
-					<br/>le jeudi 7 avril 2011 | 19:30 - 21:00
-				</div>
-			</div>
-			
-		</div>
-		<div class="archivesBoxClear"></div>
-		<div class="archivesBoxFooter"></div>
-	  </div>
-	 
-      <div class="footer">
-		<hr>
-		<?php
-			print $translate->_("footer text home"); 
-			if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
-					echo("| 	<a href='clear.php'  class='footerLink'>".$translate->_("D&eacute;connexion")."</a>");
-			}
-		 ?>
-		  <input type="text" id="txt" size="3" style="visibility:hidden;"/>
-	  </div>   
-	
-
-    </div>
-	
-	<!-- LIGHTBOX --> 
-	<div style="display:none;">
-		<div id="Aboutbox" >
-		<div class="lightBorder">
-			<div class="lightTitle">ENMI 2010</div>
-			<div class="lightSubTitle">Annotation critique par tweet </div>
-			<div class="lightDescription">À 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.
-			</div>
-			<div>
-				<br/>
-				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
-				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
-			</div>
-		</div>
-		</div>
-	</div>
-
-	
-  </body>
-</html>
+<?php
+error_reporting(E_ALL);
+ini_set('display_errors', '1');
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once './common.php';
+
+/**
+ * Do we already have a valid Access Token or need to go get one?
+ */
+if (!isset($_SESSION['TWITTER_ACCESS_TOKEN']) && isset($_GET['CONNECT']) ) {
+    /**
+     * Guess we need to go get one!
+     */
+    $token = $consumer->getRequestToken();
+    $_SESSION['TWITTER_REQUEST_TOKEN'] = serialize($token);
+
+    /**
+     * Now redirect user to Twitter site so they can log in and
+     * approve our access
+     */
+    $consumer->redirect();
+
+}
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Polemic tweet - Live Video and Annotation</title>
+
+    <!-- Framework CSS -->
+    <link rel="stylesheet" href="res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="res/blueprint/print.css" type="text/css" media="print">
+    <!--[if lt IE 8]><link rel="stylesheet" href="blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
+
+    <!-- Import fancy-type plugin for the sample page. -->
+    
+	<link rel="stylesheet" href="res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="res/css/tabs-slideshow.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" type="text/css" href="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	<link rel="stylesheet" type="text/css" href="res/niceforms/niceforms-custom.css" media="screen" >
+
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<!--<script type="text/javascript" src="res/jquery.tools/jquery.tools.min.js"></script>-->
+	<script src="http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="res/niceforms/niceforms.js"></script>
+	<script src="http://widgets.twimg.com/j/2/widget.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+
+	<script type="text/javascript">	
+	$(document).ready(function() {
+		$(".loginbutton").click(function() {
+			document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+		});
+		$("#IDENTIFIER").click(function() {
+			document.location.href="<?php URL_ROOT ?>?CONNECT=true";
+		});
+		$("#ACCES").click(function() {
+			document.location.href="client.php";
+		});
+		$(".archivesVideoBox").mouseover(function() {
+			//$(this).animate({'backgroundColor'});
+			//$(this).css({'backgroundColor':'#d6d6d6'});
+			$(this).css({'backgroundColor':'#fff'});
+			$(this).cursor = "pointer";
+		}).mouseout(function() {
+			//$(this).css({'backgroundColor':'#f6f6f6'});
+			$(this).css({'backgroundColor':'#f2f2f2'});
+		});
+		
+		//<!-- SLIDER -->
+		$(".slidetabs").tabs(".images > div", {
+			effect: 'fade',
+			rotate: false,
+			interval: 4000,
+			clickable:false
+		}).slideshow();		
+		
+		$(".slidetabs").data("slideshow").play();
+	});
+
+
+
+		
+	</script>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  <body>
+    <div class="container">
+      <img src="images/ENMI_2010_logo.gif" class="logo">
+	  <ul class="menu"> 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?CONNECT=true" class="menuLink">
+	  	<?php print $translate->_("S&apos;identifier"); ?></a></li>
+	  <li class="menuUnderline"><a href="about.php" class="menuLink">
+	  	<?php print $translate->_("A propos"); ?></a></li>
+	  <li ><a href="mailto:contact@iri.centrepompidou.fr" class="menuLink" >
+	  	<?php print $translate->_("Contact"); ?></a></li>
+	  </ul>
+	  
+	  <ul class="menu lang" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>
+
+	  <div class="introBox">
+
+		  <div class="slider">
+		  <!-- container for the slides -->
+			<div class="images">
+				<!-- first slide -->
+				<div class="slides" style="background-image:url('images/slide0.gif');">
+				<p class="slideTitle" >
+					<?php print $translate->_("0. TitreSlide"); ?>
+				</p>
+				<p	style="padding-top:90px;padding-left:280px;width:520px;" class="slideText">
+					<?php print $translate->_("0. TextSlide"); ?>
+				</p>
+				</div>
+				<div class="slides" style="background-image:url('images/slide1.jpg');">
+				<p class="slideTitle" >
+					<?php print $translate->_("1. TitreSlide"); ?>
+				</p>
+				<br/><br/><br/><br/>
+				<p style="width:400px;padding-left:400px;" class="slideText">
+				<a class="button_b" href="#"  id="IDENTIFIER"><span>
+				<?php print $translate->_("1.1 TextSlide"); ?></span></a>
+				<?php print $translate->_("1.2 TextSlide"); ?>,<br/> <br/>
+				<a class="button_w" href="#"  id="ACCES"><span>
+				<?php print $translate->_("1.3 TextSlide"); ?></span></a> 
+				</p>
+				</div>
+				<!-- second slide -->
+				<div class="slides" style="background-image:url('images/slide2.jpg');">
+				<p class="slideTitle" ><?php print $translate->_("2. TitreSlide"); ?></p>
+				<br/><br/>
+				<p	style="padding-top:90px;padding-left:280px;width:520px;" class="slideText">
+				<?php print $translate->_("2. TextSlide"); ?>
+				</p>
+				</div>
+				<!-- third slide -->
+				<div class="slides" style="background-image:url('images/slide3.gif');">
+				<p class="slideTitle" ><?php print $translate->_("3. TitreSlide"); ?></p>
+				<br/><br/>
+				<p style="width:400px;padding-right:400px;" class="slideText">
+				<?php print $translate->_("3. TextSlide"); ?>
+				</p>
+				</div>
+				<!-- fourth slide -->
+				<div class="slides" style="background-image:url('images/slide4.jpg');">
+				<p class="slideTitle" ><?php print $translate->_("4. TitreSlide"); ?></p>
+				<br/><br/><br/>
+				<p style="width:400px;padding-right:400px;" class="slideText">
+				<?php print $translate->_("4. TextSlide"); ?>
+				 </p>
+
+				 <a class="button_b" href="client.php"><span> <?php print $translate->_("4. Button"); ?></span> </a>
+				 
+				</div>
+			</div>
+
+			<!-- the tabs -->
+			<div class="slidetabs">
+				<a href="#"></a>
+				<a href="#"></a>
+				<a href="#"></a>
+				<a href="#"></a>
+				<a href="#"></a>
+			</div>
+		  </div>
+		  
+		<div class="intro">
+			
+		</div>
+		  
+	  </div>
+	  <!-- --> 
+	  <div class="archivesBox">
+	  <div class="archivesBoxHeader"></div>
+		<div class="archivesBoxContainer">
+			<!-- -->
+			<h3 class="archivesTitle"><?php print $translate->_("Archive Title :"); ?></h3>
+			<!-- -->
+			<div id="AVB3" class="archivesVideoBox">
+				<a href="rsln/polemicaltimeline.php">
+					<img src="images/tail_clay.jpg" width="270" height="150"/>
+				</a>
+				<div class="AVBtitle">Clay Shirky le net, le surplus cognitif</div>
+				<div class="AVBtext">
+					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
+					<br/>le lundi 31 janvier 2011·| 08:30 - 10:30
+				</div>
+			</div>
+			<!-- -->
+			<div id="AVB2" class="archivesVideoBox">
+				<a href="rsln-opendata/polemicaltimeline.php">
+					<img src="images/tail_opendata.jpg" width="270" height="150"/>
+				</a>
+				<div class="AVBtitle">OPENDATA</div>
+				<div class="AVBtext">
+					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
+					<br/>le jeudi 17 mars 2011 | 14:30 - 17:15
+				</div>
+			</div>
+			<!-- -->
+			<div id="AVB4" class="archivesVideoBox">
+				<a href="rsln-mercedes-bunz/polemicaltimeline.php">
+					<img src="images/tail_mercedes_bunz.jpg" width="270" height="150"/>
+				</a>
+				<div class="AVBtitle">Mercedes Bunz</div>
+				<div class="AVBtext">
+					par <a href="http://www.rslnmag.fr/" target="_blank">RSLN</a> à Microsoft France
+					<br/>le jeudi 7 avril 2011 | 19:30 - 21:00
+				</div>
+			</div>
+			
+		</div>
+		<div class="archivesBoxClear"></div>
+		<div class="archivesBoxFooter"></div>
+	  </div>
+	 
+      <div class="footer">
+		<hr>
+		<?php
+			print $translate->_("footer text home"); 
+			if (isset($_SESSION['TWITTER_ACCESS_TOKEN'])){
+					echo("| 	<a href='clear.php'  class='footerLink'>".$translate->_("D&eacute;connexion")."</a>");
+			}
+		 ?>
+		  <input type="text" id="txt" size="3" style="visibility:hidden;"/>
+	  </div>   
+	
+
+    </div>
+	
+	<!-- LIGHTBOX --> 
+	<div style="display:none;">
+		<div id="Aboutbox" >
+		<div class="lightBorder">
+			<div class="lightTitle">ENMI 2010</div>
+			<div class="lightSubTitle">Annotation critique par tweet </div>
+			<div class="lightDescription">À 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.
+			</div>
+			<div>
+				<br/>
+				<a class="button_b" href="#"  id="IDENTIFIER"><span>S'identifier</span></a> <br/><br/>
+				<a class="button_w" href="#"  id="ACCES"><span>Libre accès</span></a> 
+			</div>
+		</div>
+		</div>
+	</div>
+
+	
+  </body>
+</html>
--- 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:
-   <span class="alt">asdf</span>
-   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:
-   <span class="dquo">&#8220;</span>asdf&#8221;
-   (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:
+   <span class="alt">asdf</span>
+   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:
+   <span class="dquo">&#8220;</span>asdf&#8221;
+   (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;
+}
--- 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
--- 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
--- 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
--- 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
--- 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 @@
-<div style="width:400px;">
-	<h2>This comes from ajax request</h2>
-	<p>
-		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.
-	</p>
+<div style="width:400px;">
+	<h2>This comes from ajax request</h2>
+	<p>
+		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.
+	</p>
 </div>
\ No newline at end of file
--- 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
--- 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($('<div/>')[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( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
-
-			_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;
-					}
-
-					$('<div class="fancybox-inline-tmp" />')
-						.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 = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
-					emb = '';
-
-					$.each(selectedOpts.swf, function(name, val) {
-						str += '<param name="' + name + '" value="' + val + '"></param>';
-						emb += ' ' + name + '="' + val + '"';
-					});
-
-					str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
-
-					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('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
-
-			selectedOpts.width = tmp.width();
-			selectedOpts.height = tmp.height();
-
-			_show();
-		},
-
-		_process_image = function() {
-			selectedOpts.width = imgPreloader.width;
-			selectedOpts.height = imgPreloader.height;
-
-			$("<img />").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 '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
-				}
-
-				return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
-			}
-
-			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') {
-				$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></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	= $('<div id="fancybox-tmp"></div>'),
-			loading	= $('<div id="fancybox-loading"><div></div></div>'),
-			overlay	= $('<div id="fancybox-overlay"></div>'),
-			wrap = $('<div id="fancybox-wrap"></div>')
-		);
-
-		outer = $('<div id="fancybox-outer"></div>')
-			.append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
-			.appendTo( wrap );
-
-		outer.append(
-			content = $('<div id="fancybox-content"></div>'),
-			close = $('<a id="fancybox-close"></a>'),
-			title = $('<div id="fancybox-title"></div>'),
-
-			nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
-			nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
-		);
-
-		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');
-
-			$('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').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($('<div/>')[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( '<p id="fancybox-error">The requested content cannot be loaded.<br />Please try again later.</p>' );
+
+			_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;
+					}
+
+					$('<div class="fancybox-inline-tmp" />')
+						.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 = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';
+					emb = '';
+
+					$.each(selectedOpts.swf, function(name, val) {
+						str += '<param name="' + name + '" value="' + val + '"></param>';
+						emb += ' ' + name + '="' + val + '"';
+					});
+
+					str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';
+
+					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('<div style="width:' + w + ';height:' + h + ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : (selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + ';position:relative;"></div>');
+
+			selectedOpts.width = tmp.width();
+			selectedOpts.height = tmp.height();
+
+			_show();
+		},
+
+		_process_image = function() {
+			selectedOpts.width = imgPreloader.width;
+			selectedOpts.height = imgPreloader.height;
+
+			$("<img />").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 '<table id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
+				}
+
+				return '<div id="fancybox-title-' + currentOpts.titlePosition + '">' + title + '</div>';
+			}
+
+			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') {
+				$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + selectedOpts.scrolling + '" src="' + currentOpts.href + '"></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	= $('<div id="fancybox-tmp"></div>'),
+			loading	= $('<div id="fancybox-loading"><div></div></div>'),
+			overlay	= $('<div id="fancybox-overlay"></div>'),
+			wrap = $('<div id="fancybox-wrap"></div>')
+		);
+
+		outer = $('<div id="fancybox-outer"></div>')
+			.append('<div class="fancybox-bg" id="fancybox-bg-n"></div><div class="fancybox-bg" id="fancybox-bg-ne"></div><div class="fancybox-bg" id="fancybox-bg-e"></div><div class="fancybox-bg" id="fancybox-bg-se"></div><div class="fancybox-bg" id="fancybox-bg-s"></div><div class="fancybox-bg" id="fancybox-bg-sw"></div><div class="fancybox-bg" id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
+			.appendTo( wrap );
+
+		outer.append(
+			content = $('<div id="fancybox-content"></div>'),
+			close = $('<a id="fancybox-close"></a>'),
+			title = $('<div id="fancybox-title"></div>'),
+
+			nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
+			nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
+		);
+
+		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');
+
+			$('<iframe id="fancybox-hide-sel-frame" src="' + (/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank' ) + '" scrolling="no" border="0" frameborder="0" tabindex="-1"></iframe>').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
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-	<meta http-equiv="imagetoolbar" content="no" />
-	<title>FancyBox 1.3.4 | Demonstration</title>
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
-	<script>
-		!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
-	</script>
-	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
- 	<link rel="stylesheet" href="style.css" />
-	<script type="text/javascript">
-		$(document).ready(function() {
-			/*
-			*   Examples - images
-			*/
-
-			$("a#example1").fancybox();
-
-			$("a#example2").fancybox({
-				'overlayShow'	: false,
-				'transitionIn'	: 'elastic',
-				'transitionOut'	: 'elastic'
-			});
-
-			$("a#example3").fancybox({
-				'transitionIn'	: 'none',
-				'transitionOut'	: 'none'	
-			});
-
-			$("a#example4").fancybox({
-				'opacity'		: true,
-				'overlayShow'	: false,
-				'transitionIn'	: 'elastic',
-				'transitionOut'	: 'none'
-			});
-
-			$("a#example5").fancybox();
-
-			$("a#example6").fancybox({
-				'titlePosition'		: 'outside',
-				'overlayColor'		: '#000',
-				'overlayOpacity'	: 0.9
-			});
-
-			$("a#example7").fancybox({
-				'titlePosition'	: 'inside'
-			});
-
-			$("a#example8").fancybox({
-				'titlePosition'	: 'over'
-			});
-
-			$("a[rel=example_group]").fancybox({
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'titlePosition' 	: 'over',
-				'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
-					return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
-				}
-			});
-
-			/*
-			*   Examples - various
-			*/
-
-			$("#various1").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-
-			$("#various2").fancybox();
-
-			$("#various3").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-
-			$("#various4").fancybox({
-				'padding'			: 0,
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-		});
-	</script>
-</head>
-<body>
-<div id="content">
-	<h1>fancybox <span>v1.3.4</span></h1>
-
-	<p>This is a demonstration. <a href="http://fancybox.net">Home page</a></p>
-
-	<hr />
-
-	<p>
-		Different animations<br />
-
-		<a id="example1" href="./example/1_b.jpg"><img alt="example1" src="./example/1_s.jpg" /></a>
-
-		<a id="example2" href="./example/2_b.jpg"><img alt="example2" src="./example/2_s.jpg" /></a>
-
-		<a id="example3" href="./example/3_b.jpg"><img alt="example3" src="./example/3_s.jpg" /></a>
-		
-		<a id="example4" href="./example/4_b.jpg"><img class="last" alt="example4" src="./example/4_s.jpg" /></a>
-	</p>
-
-	<p>
-		Different title positions<br />
-
-		<a id="example5" href="./example/5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit."><img alt="example4" src="./example/5_s.jpg" /></a>
-		
-		<a id="example6" href="./example/6_b.jpg" title="Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Vivamus fringilla congue laoreet."><img alt="example5" src="./example/6_s.jpg" /></a>
-
-		<a id="example7" href="./example/7_b.jpg" title="Cras neque mi, semper at interdum id, dapibus in leo. Suspendisse nunc leo, eleifend sit amet iaculis et, cursus sed turpis."><img alt="example6" src="./example/7_s.jpg" /></a>
-
-		<a id="example8" href="./example/8_b.jpg" title="Sed vel sapien vel sem tempus placerat eu ut tortor. Nulla facilisi. Sed adipiscing, turpis ut cursus molestie, sem eros viverra mauris, quis sollicitudin sapien enim nec est. ras pulvinar placerat diam eu consectetur."><img class="last" alt="example7" src="./example/8_s.jpg" /></a>
-	</p>
-
-	<p>
-		Image gallery (ps, try using mouse scroll wheel)<br />
-
-		<a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>
-
-		<a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>
-
-		<a rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
-		
-		<a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
-	</p>
-
-	<p>
-		Various examples
-	</p>
-
-	<ul>
-		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
-		<li><a id="various2" href="ajax.txt">Ajax</a></li>
-		<li><a id="various3" href="http://google.ca">Iframe</a></li>
-		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
-	</ul>
-
-	<div style="display: none;">
-		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
-			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.
-		</div>
-	</div>
-
-	<p>
-		Ajax example will not run from your local computer and requires a server to run.
-	</p>
-	<p>
-		Photo Credit: <a href="http://www.flickr.com/people/kharied/">Katie Harris</a>
-	</p>
-</div>
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<meta http-equiv="imagetoolbar" content="no" />
+	<title>FancyBox 1.3.4 | Demonstration</title>
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
+	<script>
+		!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
+	</script>
+	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
+ 	<link rel="stylesheet" href="style.css" />
+	<script type="text/javascript">
+		$(document).ready(function() {
+			/*
+			*   Examples - images
+			*/
+
+			$("a#example1").fancybox();
+
+			$("a#example2").fancybox({
+				'overlayShow'	: false,
+				'transitionIn'	: 'elastic',
+				'transitionOut'	: 'elastic'
+			});
+
+			$("a#example3").fancybox({
+				'transitionIn'	: 'none',
+				'transitionOut'	: 'none'	
+			});
+
+			$("a#example4").fancybox({
+				'opacity'		: true,
+				'overlayShow'	: false,
+				'transitionIn'	: 'elastic',
+				'transitionOut'	: 'none'
+			});
+
+			$("a#example5").fancybox();
+
+			$("a#example6").fancybox({
+				'titlePosition'		: 'outside',
+				'overlayColor'		: '#000',
+				'overlayOpacity'	: 0.9
+			});
+
+			$("a#example7").fancybox({
+				'titlePosition'	: 'inside'
+			});
+
+			$("a#example8").fancybox({
+				'titlePosition'	: 'over'
+			});
+
+			$("a[rel=example_group]").fancybox({
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'titlePosition' 	: 'over',
+				'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
+					return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
+				}
+			});
+
+			/*
+			*   Examples - various
+			*/
+
+			$("#various1").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+
+			$("#various2").fancybox();
+
+			$("#various3").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+
+			$("#various4").fancybox({
+				'padding'			: 0,
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+		});
+	</script>
+</head>
+<body>
+<div id="content">
+	<h1>fancybox <span>v1.3.4</span></h1>
+
+	<p>This is a demonstration. <a href="http://fancybox.net">Home page</a></p>
+
+	<hr />
+
+	<p>
+		Different animations<br />
+
+		<a id="example1" href="./example/1_b.jpg"><img alt="example1" src="./example/1_s.jpg" /></a>
+
+		<a id="example2" href="./example/2_b.jpg"><img alt="example2" src="./example/2_s.jpg" /></a>
+
+		<a id="example3" href="./example/3_b.jpg"><img alt="example3" src="./example/3_s.jpg" /></a>
+		
+		<a id="example4" href="./example/4_b.jpg"><img class="last" alt="example4" src="./example/4_s.jpg" /></a>
+	</p>
+
+	<p>
+		Different title positions<br />
+
+		<a id="example5" href="./example/5_b.jpg" title="Lorem ipsum dolor sit amet, consectetur adipiscing elit."><img alt="example4" src="./example/5_s.jpg" /></a>
+		
+		<a id="example6" href="./example/6_b.jpg" title="Etiam quis mi eu elit tempor facilisis id et neque. Nulla sit amet sem sapien. Vestibulum imperdiet porta ante ac ornare. Vivamus fringilla congue laoreet."><img alt="example5" src="./example/6_s.jpg" /></a>
+
+		<a id="example7" href="./example/7_b.jpg" title="Cras neque mi, semper at interdum id, dapibus in leo. Suspendisse nunc leo, eleifend sit amet iaculis et, cursus sed turpis."><img alt="example6" src="./example/7_s.jpg" /></a>
+
+		<a id="example8" href="./example/8_b.jpg" title="Sed vel sapien vel sem tempus placerat eu ut tortor. Nulla facilisi. Sed adipiscing, turpis ut cursus molestie, sem eros viverra mauris, quis sollicitudin sapien enim nec est. ras pulvinar placerat diam eu consectetur."><img class="last" alt="example7" src="./example/8_s.jpg" /></a>
+	</p>
+
+	<p>
+		Image gallery (ps, try using mouse scroll wheel)<br />
+
+		<a rel="example_group" href="./example/9_b.jpg" title="Lorem ipsum dolor sit amet"><img alt="" src="./example/9_s.jpg" /></a>
+
+		<a rel="example_group" href="./example/10_b.jpg" title=""><img alt="" src="./example/10_s.jpg" /></a>
+
+		<a rel="example_group" href="./example/11_b.jpg" title=""><img alt="" src="./example/11_s.jpg" /></a>
+		
+		<a rel="example_group" href="./example/12_b.jpg" title=""><img class="last" alt="" src="./example/12_s.jpg" /></a>
+	</p>
+
+	<p>
+		Various examples
+	</p>
+
+	<ul>
+		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
+		<li><a id="various2" href="ajax.txt">Ajax</a></li>
+		<li><a id="various3" href="http://google.ca">Iframe</a></li>
+		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
+	</ul>
+
+	<div style="display: none;">
+		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
+			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.
+		</div>
+	</div>
+
+	<p>
+		Ajax example will not run from your local computer and requires a server to run.
+	</p>
+	<p>
+		Photo Credit: <a href="http://www.flickr.com/people/kharied/">Katie Harris</a>
+	</p>
+</div>
+</body>
 </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
-	<title>FancyBox 1.3.4 | Demonstration</title>
-	
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
-	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	
-	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
- 	<link rel="stylesheet" href="style.css" />
-	
-	<script type="text/javascript">
-		$(document).ready(function() {
-
-			$("#various1").fancybox({
-				'titlePosition'		: 'inside',
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none'
-			});
-			
-			$("#various3").fancybox({
-				'width'				: '75%',
-				'height'			: '75%',
-				'autoScale'			: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-
-		});
-	</script>
-</head>
-<body>
-<div id="content">
-
-
-<br/><br/>
-		Various examples
-	</p>
-
-	<ul>
-		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
-		<li><a id="various2" href="ajax.txt">Ajax</a></li>
-		<li><a id="various3" href="http://google.ca">Iframe</a></li>
-		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
-	</ul>
-
-	<div style="display: none;">
-		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
-			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.
-		</div>
-	</div>
-
-</div>
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+
+	<title>FancyBox 1.3.4 | Demonstration</title>
+	
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
+	<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	
+	<link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
+ 	<link rel="stylesheet" href="style.css" />
+	
+	<script type="text/javascript">
+		$(document).ready(function() {
+
+			$("#various1").fancybox({
+				'titlePosition'		: 'inside',
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none'
+			});
+			
+			$("#various3").fancybox({
+				'width'				: '75%',
+				'height'			: '75%',
+				'autoScale'			: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+
+		});
+	</script>
+</head>
+<body>
+<div id="content">
+
+
+<br/><br/>
+		Various examples
+	</p>
+
+	<ul>
+		<li><a id="various1" href="#inline1" title="Lorem ipsum dolor sit amet">Inline</a></li>
+		<li><a id="various2" href="ajax.txt">Ajax</a></li>
+		<li><a id="various3" href="http://google.ca">Iframe</a></li>
+		<li><a id="various4" href="http://www.adobe.com/jp/events/cs3_web_edition_tour/swfs/perform.swf">Swf</a></li>
+	</ul>
+
+	<div style="display: none;">
+		<div id="inline1" style="width:400px;height:100px;overflow:auto;">
+			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.
+		</div>
+	</div>
+
+</div>
+</body>
 </html>
\ No newline at end of file
--- 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;
+}
--- 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="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}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.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=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
--- 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
--- 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
--- 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
--- 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
--- 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("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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; j<item.content['polemics'].length; j++){
-										
-										tweets[numberOfTweet] = {
-													id:i,
-													qualification:colorTranslation(item.content['polemics'][j]),
-													yIndicator:MyTime,
-													yframe:Myframe,
-													title:item.content['title'],
-													timeframe:item.begin
-													};
-										numberOfTweet+=1;
-								}
-						}else{
-							//trace("k = ",i);
-							tweets[numberOfTweet] = {
-										id:i,
-										qualification:colorTranslation(""),
-										yIndicator:MyTime,
-										yframe:Myframe,
-										title:item.content['title'],
-										timeframe:item.begin
-							};
-							numberOfTweet+=1;
-						}
-						
-					} else {
-						//trace("tweet qualification = ","null");
-					}
-				});	
-			trace("======= ",numberOfTweet);
-		   DrawTweets ();
-		   
-		  }
-		 });
-			
-
-		// tweet Drawing (in raphael) 
-		function DrawTweets (){
-		// GROUPES TWEET ============================================
-		// Count nbr of cluster and tweet in a frame an save int in "frames"
-			numberOfTweet = tweets.length;
-			for(var i=0; i<nbrframes; i++) {	
-				for(var j=0; j<numberOfTweet; j++) {	
-				
-					if (i==tweets[j].yframe){
-						
-						var k = tweets[j].qualification;
-						
-						// make array for frame cluster
-						if(frames[i]==undefined){
-							frames[i] = {id:i,
-										 qualifVol:new Array(),
-										 mytweetsID:new Array()
-										};
-						}
-						// add my tweet to frame
-						frames[i].mytweetsID.push(tweets[j]);
-						
-						// count opinion by frame
-						if( frames[i].qualifVol[k] == undefined){
-							frames[i].qualifVol[k] = 1;
-						}else{
-							frames[i].qualifVol[k] += 1;
-						}
-						
-					}
-				}
-			}
-		
-		// GROUPES TWEET ============================================		
-		// max of tweet by Frame 
-			var max = 0; 
-			for(var i=0; i<nbrframes; i++) {
-				var moy	= 0;
-				for (var j=0; j<6; j++){		
-					if (frames[i]!=undefined){
-						if (frames[i].qualifVol[j]!=undefined){
-							moy += frames[i].qualifVol[j];
-						}
-					}
-				}
-				//trace("frame "+i,moy);
-				if (moy>max){max=moy;}
-			}
-		
-			var tweetDrawed = new Array();
-			var TweetHeight = 5;
-			// DRAW  TWEETS ============================================
-			for(var i=0; i<nbrframes;i++) {
-				var addEheight = 5;
-				if (frames[i]!=undefined){
-					trace (i+" k=",frames[i].mytweetsID.length);
-					// by type 
-					for (var j=6; j>-1; j--){
-						if (frames[i].qualifVol[j]!=undefined){
-							// show tweet by type 
-							for (var k=0; k<frames[i].mytweetsID.length; k++){
-								if (frames[i].mytweetsID[k].qualification==j){
-									var y=config.heightmax-addEheight;
-									if(yMax>y){yMax=y;}
-									e = paper.rect( i*frameSize, 					// x
-													y,								// y
-													frameSize-margin,				// width
-													TweetHeight						// height
-													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-									addEheight +=TweetHeight;
-									e.time= frames[i].mytweetsID[k].timeframe;
-									e.title= frames[i].mytweetsID[k].title;
-									e.mouseover(function () {
-										//this.attr({stroke:"#fff","stroke-width":5});
-										//this.toFront();
-									}).mouseout(function () {
-										//this.attr({stroke:"#00","stroke-width":0.1});	
-									}).mousedown(function () {
-										__IriSP.MyApiPlayer.seek(this.time/1000);
-									});
-									__IriSP.jQuery(e.node).attr('id', 't'+k+'');
-									__IriSP.jQuery(e.node).attr('title', frames[i].mytweetsID[k].title);
-									__IriSP.jQuery(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
-									var tempPosition = {x:i*frameSize,y:config.heightmax-addEheight};
-									addTip(e.node, frames[i].mytweetsID[k].title,colors[j],tempPosition);
-									//frames[i].mytweetsID.pop();
-								}
-							}
-						}
-					}
-				}
-
-			}		
-			// DRAW UI :: resize border and bgd
-			heightOfChart 	= (yMax-(config.height-yMax));
-			PaperBackground = paper.rect(0,yMax,config.width,heightOfChart).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-			PaperBorder 	= paper.rect(0,yMax,config.width,1).attr({fill:"#fff",stroke: "none",opacity: 1});	
-			PaperSlider 	= paper.rect(0,20,1,heightOfChart).attr({fill:"#fff",stroke: "none",opacity: 1});	
-			
-			// decalage 
-			tweetSelection = paper.rect(-100,-100,5,5).attr({fill:"#fff",stroke: "none",opacity: 1});	
-				
-			PaperSlider.toFront();
-			PaperBackground.toBack();
-		}
-		
-		if(typeof(PaperSlider) !== 'undefined' ) {
-			PaperSlider.toFront();
-		}
-	}
-
-	
-	$(document).mousemove(function(e){
-		if (over){
-			__IriSP.jQuery("#tip").css("left", e.pageX-106).css("top", e.pageY-160);
-			__IriSP.jQuery("#tipcolor").css("background-color", tipColor);
-			__IriSP.jQuery("#tiptext").text(tipText);
-			__IriSP.jQuery("#tip").show();
-		}else{
-			if (typeof(__IriSP) !== 'undefined' ) {
-			     __IriSP.jQuery("#tip").css("left", -10000).css("top", -100000);
-			     //tweetSelection.attr({x:-100,y:-100});
-			}
-		}
-	});
-	
-	var over 	 = false;
-	var tipText  = "";
-	var tipColor = "#efefef";
-	var tweetSelection;
-	var PaperSlider;
-	
-	// AddTip  ******************************************************************************
-	function addTip(node, txt,color,tempPosition){
-			__IriSP.jQuery(node).mouseover(function(){
-			   tipText = txt;
-			   //tip.hide();//fadeIn(0);
-			   tipColor = color;
-			   over = true;
-			   //tweetSelection.attr(tempPosition);
-			   //tweetSelection.toFront();
-			}).mouseout(function(){
-			   //tip.show()//tip.fadeOut(0);
-			   over = false;
-			});
-			
-
-	}
-	
-		$(document).ready(function() {
-			var tip 	 = __IriSP.jQuery("#tip").hide();
+/* 
+ * 	
+ *	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("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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; j<item.content['polemics'].length; j++){
+										
+										tweets[numberOfTweet] = {
+													id:i,
+													qualification:colorTranslation(item.content['polemics'][j]),
+													yIndicator:MyTime,
+													yframe:Myframe,
+													title:item.content['title'],
+													timeframe:item.begin
+													};
+										numberOfTweet+=1;
+								}
+						}else{
+							//trace("k = ",i);
+							tweets[numberOfTweet] = {
+										id:i,
+										qualification:colorTranslation(""),
+										yIndicator:MyTime,
+										yframe:Myframe,
+										title:item.content['title'],
+										timeframe:item.begin
+							};
+							numberOfTweet+=1;
+						}
+						
+					} else {
+						//trace("tweet qualification = ","null");
+					}
+				});	
+			trace("======= ",numberOfTweet);
+		   DrawTweets ();
+		   
+		  }
+		 });
+			
+
+		// tweet Drawing (in raphael) 
+		function DrawTweets (){
+		// GROUPES TWEET ============================================
+		// Count nbr of cluster and tweet in a frame an save int in "frames"
+			numberOfTweet = tweets.length;
+			for(var i=0; i<nbrframes; i++) {	
+				for(var j=0; j<numberOfTweet; j++) {	
+				
+					if (i==tweets[j].yframe){
+						
+						var k = tweets[j].qualification;
+						
+						// make array for frame cluster
+						if(frames[i]==undefined){
+							frames[i] = {id:i,
+										 qualifVol:new Array(),
+										 mytweetsID:new Array()
+										};
+						}
+						// add my tweet to frame
+						frames[i].mytweetsID.push(tweets[j]);
+						
+						// count opinion by frame
+						if( frames[i].qualifVol[k] == undefined){
+							frames[i].qualifVol[k] = 1;
+						}else{
+							frames[i].qualifVol[k] += 1;
+						}
+						
+					}
+				}
+			}
+		
+		// GROUPES TWEET ============================================		
+		// max of tweet by Frame 
+			var max = 0; 
+			for(var i=0; i<nbrframes; i++) {
+				var moy	= 0;
+				for (var j=0; j<6; j++){		
+					if (frames[i]!=undefined){
+						if (frames[i].qualifVol[j]!=undefined){
+							moy += frames[i].qualifVol[j];
+						}
+					}
+				}
+				//trace("frame "+i,moy);
+				if (moy>max){max=moy;}
+			}
+		
+			var tweetDrawed = new Array();
+			var TweetHeight = 5;
+			// DRAW  TWEETS ============================================
+			for(var i=0; i<nbrframes;i++) {
+				var addEheight = 5;
+				if (frames[i]!=undefined){
+					trace (i+" k=",frames[i].mytweetsID.length);
+					// by type 
+					for (var j=6; j>-1; j--){
+						if (frames[i].qualifVol[j]!=undefined){
+							// show tweet by type 
+							for (var k=0; k<frames[i].mytweetsID.length; k++){
+								if (frames[i].mytweetsID[k].qualification==j){
+									var y=config.heightmax-addEheight;
+									if(yMax>y){yMax=y;}
+									e = paper.rect( i*frameSize, 					// x
+													y,								// y
+													frameSize-margin,				// width
+													TweetHeight						// height
+													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+									addEheight +=TweetHeight;
+									e.time= frames[i].mytweetsID[k].timeframe;
+									e.title= frames[i].mytweetsID[k].title;
+									e.mouseover(function () {
+										//this.attr({stroke:"#fff","stroke-width":5});
+										//this.toFront();
+									}).mouseout(function () {
+										//this.attr({stroke:"#00","stroke-width":0.1});	
+									}).mousedown(function () {
+										__IriSP.MyApiPlayer.seek(this.time/1000);
+									});
+									__IriSP.jQuery(e.node).attr('id', 't'+k+'');
+									__IriSP.jQuery(e.node).attr('title', frames[i].mytweetsID[k].title);
+									__IriSP.jQuery(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
+									var tempPosition = {x:i*frameSize,y:config.heightmax-addEheight};
+									addTip(e.node, frames[i].mytweetsID[k].title,colors[j],tempPosition);
+									//frames[i].mytweetsID.pop();
+								}
+							}
+						}
+					}
+				}
+
+			}		
+			// DRAW UI :: resize border and bgd
+			heightOfChart 	= (yMax-(config.height-yMax));
+			PaperBackground = paper.rect(0,yMax,config.width,heightOfChart).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
+			PaperBorder 	= paper.rect(0,yMax,config.width,1).attr({fill:"#fff",stroke: "none",opacity: 1});	
+			PaperSlider 	= paper.rect(0,20,1,heightOfChart).attr({fill:"#fff",stroke: "none",opacity: 1});	
+			
+			// decalage 
+			tweetSelection = paper.rect(-100,-100,5,5).attr({fill:"#fff",stroke: "none",opacity: 1});	
+				
+			PaperSlider.toFront();
+			PaperBackground.toBack();
+		}
+		
+		if(typeof(PaperSlider) !== 'undefined' ) {
+			PaperSlider.toFront();
+		}
+	}
+
+	
+	$(document).mousemove(function(e){
+		if (over){
+			__IriSP.jQuery("#tip").css("left", e.pageX-106).css("top", e.pageY-160);
+			__IriSP.jQuery("#tipcolor").css("background-color", tipColor);
+			__IriSP.jQuery("#tiptext").text(tipText);
+			__IriSP.jQuery("#tip").show();
+		}else{
+			if (typeof(__IriSP) !== 'undefined' ) {
+			     __IriSP.jQuery("#tip").css("left", -10000).css("top", -100000);
+			     //tweetSelection.attr({x:-100,y:-100});
+			}
+		}
+	});
+	
+	var over 	 = false;
+	var tipText  = "";
+	var tipColor = "#efefef";
+	var tweetSelection;
+	var PaperSlider;
+	
+	// AddTip  ******************************************************************************
+	function addTip(node, txt,color,tempPosition){
+			__IriSP.jQuery(node).mouseover(function(){
+			   tipText = txt;
+			   //tip.hide();//fadeIn(0);
+			   tipColor = color;
+			   over = true;
+			   //tweetSelection.attr(tempPosition);
+			   //tweetSelection.toFront();
+			}).mouseout(function(){
+			   //tip.show()//tip.fadeOut(0);
+			   over = false;
+			});
+			
+
+	}
+	
+		$(document).ready(function() {
+			var tip 	 = __IriSP.jQuery("#tip").hide();
 		});
\ No newline at end of file
--- a/web/res/metadataplayer/res/js/jquery.jqDock.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/res/js/jquery.jqDock.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,1437 +1,1437 @@
-/** @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 = [
-				'<div style="position:relative;padding:0;'
-			, 'margin:0;border:0 none;background-color:transparent;'
-			, '">'
-			]
-		, 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 = $('<div class="jqDockLabel jqDockLabel' + item.Link + '" style="position:absolute;margin:0;"></div>')
-					.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...
-					$('<div class="jqDockLabelText">' + txt.toString() + '</div>').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 (['<div class="jqDockLabelText">', '</div>'])
-												//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 + '</div></div>').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
-						, '<div id="jqDock', id, '" class="jqDock" style="position:absolute;top:0;left:0;padding:0;margin:0;overflow:visible;'
-						, 'height:', Dock.height, 'px;width:', Dock.width, 'px;"></div></div>'
-						].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...
-								$('<img>').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 = [
+				'<div style="position:relative;padding:0;'
+			, 'margin:0;border:0 none;background-color:transparent;'
+			, '">'
+			]
+		, 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 = $('<div class="jqDockLabel jqDockLabel' + item.Link + '" style="position:absolute;margin:0;"></div>')
+					.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...
+					$('<div class="jqDockLabelText">' + txt.toString() + '</div>').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 (['<div class="jqDockLabelText">', '</div>'])
+												//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 + '</div></div>').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
+						, '<div id="jqDock', id, '" class="jqDock" style="position:absolute;top:0;left:0;padding:0;margin:0;overflow:visible;'
+						, 'height:', Dock.height, 'px;width:', Dock.width, 'px;"></div></div>'
+						].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...
+								$('<img>').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);
--- 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=['<div style="position:relative;padding:0;',"margin:0;border:0 none;background-color:transparent;",'">'],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;d<c&&c--;)if(a[s[c]]){w.clearTimeout(a[s[c]]);a[s[c]]=null}},A=function(a){return a?1*((a.id||"").match(/^jqDock(\d+)$/)||[0,-1])[1]:-1},Y=function(){var a=m[A(k(".jqDockFilter",this).add(this).css({filter:""}).removeClass("jqDockFilter").filter(".jqDock")[0])];if(a){a.Asleep=false;a.Menu.trigger("dockshow",["ready"]).trigger(x[0])}},G=function(a,d){for(var c=true,e=m.length,b;a&&c&&e--&&m[e].Elem;)for(b=m[e].Elem.length;c&&b--;)c=m[e].Elem[b].Img[0]!==
-a;return c?!c:d?[e,b]:m[e].Elem[b]},H=function(a){var d=(new Date).getTime();a=a?a.Stamp+a.Opts.duration:0;if(a>d)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<c;b++){f=a.Elem[b];h=f.Pad[d.lead]+f.Pad[d.trail];j=f.Major+h;if(i<j){if(b!=a.Current){y(a);a.Current=b}e=f.Offset+i*(f.Initial+h)/j}else i-=j}return e},S=function(a){for(var d=
-a.childNodes.length,c;d;){c=a.childNodes[--d];if(c.childNodes&&c.childNodes.length)S(c);else c.nodeType==3&&a.removeChild(c)}},T=function(a){a.Menu.css({visibility:"visible"}).show()},D=function(a){var d=a.Opts.idle;if(d){t(a,0);a[s[0]]=w.setTimeout(function(){a.Menu.trigger("dockidle")},d)}},$=function(a,d,c){var e=a.Opts,b=e.labels,f=d.Label,h;f.el=k('<div class="jqDockLabel jqDockLabel'+d.Link+'" style="position:absolute;margin:0;"></div>').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('<div class="jqDockLabelText">'+a.toString()+"</div>").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<e.distance)i=h[b]-Math.round((h[b]-h.Initial)*Math.pow(j,e.coefficient)/e.attenuation);if(f==c.Current){j=
-[F[p[e.vh].xy],c.Current,i].join(",");if(j===c.ToFro[0]&&i!==c.ToFro[2])i=c.ToFro[2];else c.ToFro=[c.ToFro[1],j,i]}}h.Final=i}},aa=function(a){return a},U=function(a,d,c,e){a=m[a];var b=a.Elem[d],f=a.Opts,h=a.Yard,j=p[f.vh],i=p[j.inv],n=b.src!=b.altsrc,o,g,l;if(e||b.Major!=c){o=k.boxModel||f.vh=="v"?0:a.Border[j.lead]+a.Border[j.trail];if(n&&!e&&b.Major==b.Initial)b.Img[0].src=b.altsrc;a.Spread+=c-b.Major;g=P(b,c,f.vh);l=f.size-g[i.wh];if({top:1,left:1}[f.align])g["margin"+v[i.trail]]=l;else if({middle:1,
-center:1}[f.align]){g["margin"+v[i.lead]]=(l+l%2)/2;g["margin"+v[i.trail]]=(l-l%2)/2}else g["margin"+v[i.lead]]=l;if(c!=b.Major||e&&!d){f.flow&&h.parent()[j.wh](a.Spread+a.Border[j.lead]+a.Border[j.trail]);h[j.wh](a.Spread+o)}b.Wrap.css(g);f.flow||h.css(j.tl,Math.floor(Math.max(0,(a[j.wh]-a.Spread)/2)));if(a.OnDock){d=!a.Stamp;f=a.Opts.labels;h=p[a.Opts.vh];j=a.Elem[a.Current];var q,r;if(j&&f){o=j.Label;l=o.el;if(o.mc){o.mc=0;for(q in p){o[q]=l[p[q].wh]();for(r in{lead:1,trail:1})o[q]+=C(l.css("padding"+
-v[p[q][r]]))}}f.charAt(0)=="m"&&l.css({top:Math.floor((j[N[p[h.inv].xy]]-o.v)/2)});f.charAt(1)=="c"&&l.css({left:Math.floor((j[N[h.xy]]-o.h)/2)})}d&&y(a,1)}b.Major=c;b.Minor=g[i.wh];if(n&&!e&&c==b.Initial)b.Img[0].src=b.src}},J=function(a){var d=m[a],c=d.Opts,e=p[c.vh],b=c.duration+c.step,f=0,h;if(d.Stamp){b=H()-d.Stamp;if(b>=c.duration)d.Stamp=0}if(b>=c.step){for(h=(c.duration-b)/c.step;f<d.Elem.length;f++){c=d.Elem[f];b=(b=c.Final-c.Major)&&h>1?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+"</div></div>").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%"});n<h;){g=d.Elem[n++];l=P(g,c.size,e.inv);g.Major=g.Final=g.Initial=l[e.wh];g.Wrap.css(l);g.Img.attr({alt:""}).parent("a").andSelf().removeAttr("title");d[b.wh]=Math.max(d[b.wh],c.size+g.Pad[b.lead]+g.Pad[b.trail]);g.Offset=i;g.Centre=
-i+g.Pad[e.lead]+g.Initial/2;i+=g.Initial+g.Pad[e.lead]+g.Pad[e.trail]}for(n=0;n<h;){g=d.Elem[n++];l=g.Pad[e.lead]+g.Pad[e.trail];d.Spread+=g.Initial+l;for(o in{Centre:1,Offset:1}){I(a,g[o]);i=0;for(b=h;b--;)i+=d.Elem[b].Final+l;if(i>d[e.wh])d[e.wh]=i}}for(;n;){g=d.Elem[--n];g.Final=g.Initial}e=[E[0],E[2],'<div id="jqDock',a,'" class="jqDock" style="position:absolute;top:0;left:0;padding:0;margin:0;overflow:visible;height:',d.height,"px;width:",d.width,'px;"></div></div>'].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<h;n++){g=d.Elem[n];l=g.Wrap.parent();for(b=4;b--;)g.Pad[b]&&l.css("padding"+v[b],g.Pad[b]);U(a,n,g.Final,true);l.add(g.Img).addClass("jqDockMouse"+n);$(d,g,n)}g=d.Menu.bind(x.join(" "),M);d.Yard.bind(z.join(" "),L).find("*").css({filter:"inherit"});d.Elem[c.active]&&B(0,a,c.active,2);if(!(d.Asleep=c.onReady.call(d.Menu[0],"ready")===
-false))if(q){if(q!="menu"){g=d.Yard;if(q=="wrap")g=g.parent()}d.Asleep=!!k(".jqDock,.jqDockWrap",g).addClass("jqDockFilter").css({filter:"inherit"});g.css({opacity:0});T(d);g.animate({opacity:1},c.fadeIn,Y)}else{T(d);d.Menu.trigger("dockshow",["ready"]);D(d)}}}}();k.fn.jqDock=function(a){if(a==="nudge"||a==="idle"||a==="freeze")this.filter(".jqDocked").each(function(){M.call(this,{type:"dock"+a})});else if(a==="destroy")this.filter(".jqDocked").each(function(){var c=A(k(".jqDock",k(this).removeClass("jqDocked")).get(0)),
-e=m[c],b=z.length,f,h,j;if(e){for(t(e,-1);b--;)e.Yard.unbind(z[b],L);for(b=x.length;b--;)e.Menu.unbind(x[b],M);for(b=0;b<e.Elem.length;b++){h=e.Elem[b];j=h.Img;h.Label.el.unbind("click",Q).remove();j.attr(h.Orig.i).removeClass("jqDockMouse"+b);h.Orig.i.style||j.removeAttr("style");if(h.Link=="Link"){j.parent().attr(h.Orig.a);h.Orig.a.style||j.parent().removeAttr("style")}e.Menu.append(h.Wrap.children());h.Label.el=h.Orig.i=h.Orig.a=null;for(f in h)h[f]=null}k(".jqDockWrap",e.Menu).remove();for(b in e)e[b]=
-null;m[c]=null}for(c=m.length;c--&&m[c]===null;);if(c<0)m=[]});else if(a==="active"||a==="expand")this.each(function(){var c=G(this,1),e=c?m[c[0]]:0;if(e){t(e,-1);if(!e.Frozen)e.Frozen=e.Asleep=!!e.Menu.trigger("docksleep",["freeze"]);B(0,c[0],c[1],a=="active"?2:1)}});else if(a==="get"){var d=this.filter(".jqDocked");return(d=d.length?m[A(k(".jqDock",d).get(0))]:G(this.get(0)))?k.extend(true,{},d):null}else this.length&&!this.not("img").length?this.each(function(c,e){var b=G(e),f=0,h,j,i;a=a||{};
-if(b){h=b.Major==b.Initial;for(i in{src:1,altsrc:1})if(a[i]){j=(k.isFunction(a[i])?a[i].call(e,b[i],i):a[i]).toString();if(b[i]!==j){b[i]=j;f=(i=="src"?h:!h)?i:f}}f&&k(e).attr("src",b[f])}}):this.not(".jqDocked").filter(function(){return!k(this).parents(".jqDocked").length&&!k(this).children().not("img").filter(function(){return k(this).filter("a").children("img").parent().children().length!==1}).length}).addClass("jqDocked").each(function(){var c=k(this),e=m.length,b,f,h,j,i;m[e]={Elem:[],Menu:c,
-OnDock:0,Stamp:0,width:0,height:0,Spread:0,Border:[],Opts:k.extend({},k.jqDock.defaults,a||{},k.metadata?c.metadata():{}),Current:-1,Load:0,ToFro:["","",0]};b=m[e];f=b.Opts;h=!f.loader&&k.jqDock.useJqLoader||f.loader==="jquery";for(i in{size:1,distance:1,duration:1,inactivity:1,fadeIn:1,step:1,idle:1,active:1})f[i]=C(f[i]);i=f.coefficient*1;f.coefficient=isNaN(i)?1.5:i;f.labels=/^[tmb][lcr]$/.test(f.labels.toString())?f.labels:f.labels?{top:"br",left:"tr"}[f.align]||"tl":"";f.setLabel=f.setLabel?
-f.setLabel:aa;f.fadeLayer=f.fadeIn?{dock:1,wrap:1}[f.fadeLayer]?f.fadeLayer:"menu":"";for(i in{onSleep:1,onWake:1,onReady:1,onFreeze:1})f[i]||(f[i]=X);j=/^m|c$/.test(f.labels);f.attenuation=Math.pow(f.distance,f.coefficient);f.vh={left:1,center:1,right:1}[f.align]?"v":"h";k("img",c).each(function(n,o){var g=k(o),l=g.parent("a"),q=l.attr("title")||"",r={},u;for(u in{src:1,alt:1,title:1,style:1})r[u]=g.attr(u)||"";++b.Load;b.Elem[n]={Img:g,src:r.src,altsrc:(f.source?f.source.call(o,n):"")||(/\.(gif|jpg|jpeg|png)$/i.test(r.alt||
+/*
+ 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=['<div style="position:relative;padding:0;',"margin:0;border:0 none;background-color:transparent;",'">'],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;d<c&&c--;)if(a[s[c]]){w.clearTimeout(a[s[c]]);a[s[c]]=null}},A=function(a){return a?1*((a.id||"").match(/^jqDock(\d+)$/)||[0,-1])[1]:-1},Y=function(){var a=m[A(k(".jqDockFilter",this).add(this).css({filter:""}).removeClass("jqDockFilter").filter(".jqDock")[0])];if(a){a.Asleep=false;a.Menu.trigger("dockshow",["ready"]).trigger(x[0])}},G=function(a,d){for(var c=true,e=m.length,b;a&&c&&e--&&m[e].Elem;)for(b=m[e].Elem.length;c&&b--;)c=m[e].Elem[b].Img[0]!==
+a;return c?!c:d?[e,b]:m[e].Elem[b]},H=function(a){var d=(new Date).getTime();a=a?a.Stamp+a.Opts.duration:0;if(a>d)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<c;b++){f=a.Elem[b];h=f.Pad[d.lead]+f.Pad[d.trail];j=f.Major+h;if(i<j){if(b!=a.Current){y(a);a.Current=b}e=f.Offset+i*(f.Initial+h)/j}else i-=j}return e},S=function(a){for(var d=
+a.childNodes.length,c;d;){c=a.childNodes[--d];if(c.childNodes&&c.childNodes.length)S(c);else c.nodeType==3&&a.removeChild(c)}},T=function(a){a.Menu.css({visibility:"visible"}).show()},D=function(a){var d=a.Opts.idle;if(d){t(a,0);a[s[0]]=w.setTimeout(function(){a.Menu.trigger("dockidle")},d)}},$=function(a,d,c){var e=a.Opts,b=e.labels,f=d.Label,h;f.el=k('<div class="jqDockLabel jqDockLabel'+d.Link+'" style="position:absolute;margin:0;"></div>').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('<div class="jqDockLabelText">'+a.toString()+"</div>").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<e.distance)i=h[b]-Math.round((h[b]-h.Initial)*Math.pow(j,e.coefficient)/e.attenuation);if(f==c.Current){j=
+[F[p[e.vh].xy],c.Current,i].join(",");if(j===c.ToFro[0]&&i!==c.ToFro[2])i=c.ToFro[2];else c.ToFro=[c.ToFro[1],j,i]}}h.Final=i}},aa=function(a){return a},U=function(a,d,c,e){a=m[a];var b=a.Elem[d],f=a.Opts,h=a.Yard,j=p[f.vh],i=p[j.inv],n=b.src!=b.altsrc,o,g,l;if(e||b.Major!=c){o=k.boxModel||f.vh=="v"?0:a.Border[j.lead]+a.Border[j.trail];if(n&&!e&&b.Major==b.Initial)b.Img[0].src=b.altsrc;a.Spread+=c-b.Major;g=P(b,c,f.vh);l=f.size-g[i.wh];if({top:1,left:1}[f.align])g["margin"+v[i.trail]]=l;else if({middle:1,
+center:1}[f.align]){g["margin"+v[i.lead]]=(l+l%2)/2;g["margin"+v[i.trail]]=(l-l%2)/2}else g["margin"+v[i.lead]]=l;if(c!=b.Major||e&&!d){f.flow&&h.parent()[j.wh](a.Spread+a.Border[j.lead]+a.Border[j.trail]);h[j.wh](a.Spread+o)}b.Wrap.css(g);f.flow||h.css(j.tl,Math.floor(Math.max(0,(a[j.wh]-a.Spread)/2)));if(a.OnDock){d=!a.Stamp;f=a.Opts.labels;h=p[a.Opts.vh];j=a.Elem[a.Current];var q,r;if(j&&f){o=j.Label;l=o.el;if(o.mc){o.mc=0;for(q in p){o[q]=l[p[q].wh]();for(r in{lead:1,trail:1})o[q]+=C(l.css("padding"+
+v[p[q][r]]))}}f.charAt(0)=="m"&&l.css({top:Math.floor((j[N[p[h.inv].xy]]-o.v)/2)});f.charAt(1)=="c"&&l.css({left:Math.floor((j[N[h.xy]]-o.h)/2)})}d&&y(a,1)}b.Major=c;b.Minor=g[i.wh];if(n&&!e&&c==b.Initial)b.Img[0].src=b.src}},J=function(a){var d=m[a],c=d.Opts,e=p[c.vh],b=c.duration+c.step,f=0,h;if(d.Stamp){b=H()-d.Stamp;if(b>=c.duration)d.Stamp=0}if(b>=c.step){for(h=(c.duration-b)/c.step;f<d.Elem.length;f++){c=d.Elem[f];b=(b=c.Final-c.Major)&&h>1?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+"</div></div>").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%"});n<h;){g=d.Elem[n++];l=P(g,c.size,e.inv);g.Major=g.Final=g.Initial=l[e.wh];g.Wrap.css(l);g.Img.attr({alt:""}).parent("a").andSelf().removeAttr("title");d[b.wh]=Math.max(d[b.wh],c.size+g.Pad[b.lead]+g.Pad[b.trail]);g.Offset=i;g.Centre=
+i+g.Pad[e.lead]+g.Initial/2;i+=g.Initial+g.Pad[e.lead]+g.Pad[e.trail]}for(n=0;n<h;){g=d.Elem[n++];l=g.Pad[e.lead]+g.Pad[e.trail];d.Spread+=g.Initial+l;for(o in{Centre:1,Offset:1}){I(a,g[o]);i=0;for(b=h;b--;)i+=d.Elem[b].Final+l;if(i>d[e.wh])d[e.wh]=i}}for(;n;){g=d.Elem[--n];g.Final=g.Initial}e=[E[0],E[2],'<div id="jqDock',a,'" class="jqDock" style="position:absolute;top:0;left:0;padding:0;margin:0;overflow:visible;height:',d.height,"px;width:",d.width,'px;"></div></div>'].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<h;n++){g=d.Elem[n];l=g.Wrap.parent();for(b=4;b--;)g.Pad[b]&&l.css("padding"+v[b],g.Pad[b]);U(a,n,g.Final,true);l.add(g.Img).addClass("jqDockMouse"+n);$(d,g,n)}g=d.Menu.bind(x.join(" "),M);d.Yard.bind(z.join(" "),L).find("*").css({filter:"inherit"});d.Elem[c.active]&&B(0,a,c.active,2);if(!(d.Asleep=c.onReady.call(d.Menu[0],"ready")===
+false))if(q){if(q!="menu"){g=d.Yard;if(q=="wrap")g=g.parent()}d.Asleep=!!k(".jqDock,.jqDockWrap",g).addClass("jqDockFilter").css({filter:"inherit"});g.css({opacity:0});T(d);g.animate({opacity:1},c.fadeIn,Y)}else{T(d);d.Menu.trigger("dockshow",["ready"]);D(d)}}}}();k.fn.jqDock=function(a){if(a==="nudge"||a==="idle"||a==="freeze")this.filter(".jqDocked").each(function(){M.call(this,{type:"dock"+a})});else if(a==="destroy")this.filter(".jqDocked").each(function(){var c=A(k(".jqDock",k(this).removeClass("jqDocked")).get(0)),
+e=m[c],b=z.length,f,h,j;if(e){for(t(e,-1);b--;)e.Yard.unbind(z[b],L);for(b=x.length;b--;)e.Menu.unbind(x[b],M);for(b=0;b<e.Elem.length;b++){h=e.Elem[b];j=h.Img;h.Label.el.unbind("click",Q).remove();j.attr(h.Orig.i).removeClass("jqDockMouse"+b);h.Orig.i.style||j.removeAttr("style");if(h.Link=="Link"){j.parent().attr(h.Orig.a);h.Orig.a.style||j.parent().removeAttr("style")}e.Menu.append(h.Wrap.children());h.Label.el=h.Orig.i=h.Orig.a=null;for(f in h)h[f]=null}k(".jqDockWrap",e.Menu).remove();for(b in e)e[b]=
+null;m[c]=null}for(c=m.length;c--&&m[c]===null;);if(c<0)m=[]});else if(a==="active"||a==="expand")this.each(function(){var c=G(this,1),e=c?m[c[0]]:0;if(e){t(e,-1);if(!e.Frozen)e.Frozen=e.Asleep=!!e.Menu.trigger("docksleep",["freeze"]);B(0,c[0],c[1],a=="active"?2:1)}});else if(a==="get"){var d=this.filter(".jqDocked");return(d=d.length?m[A(k(".jqDock",d).get(0))]:G(this.get(0)))?k.extend(true,{},d):null}else this.length&&!this.not("img").length?this.each(function(c,e){var b=G(e),f=0,h,j,i;a=a||{};
+if(b){h=b.Major==b.Initial;for(i in{src:1,altsrc:1})if(a[i]){j=(k.isFunction(a[i])?a[i].call(e,b[i],i):a[i]).toString();if(b[i]!==j){b[i]=j;f=(i=="src"?h:!h)?i:f}}f&&k(e).attr("src",b[f])}}):this.not(".jqDocked").filter(function(){return!k(this).parents(".jqDocked").length&&!k(this).children().not("img").filter(function(){return k(this).filter("a").children("img").parent().children().length!==1}).length}).addClass("jqDocked").each(function(){var c=k(this),e=m.length,b,f,h,j,i;m[e]={Elem:[],Menu:c,
+OnDock:0,Stamp:0,width:0,height:0,Spread:0,Border:[],Opts:k.extend({},k.jqDock.defaults,a||{},k.metadata?c.metadata():{}),Current:-1,Load:0,ToFro:["","",0]};b=m[e];f=b.Opts;h=!f.loader&&k.jqDock.useJqLoader||f.loader==="jquery";for(i in{size:1,distance:1,duration:1,inactivity:1,fadeIn:1,step:1,idle:1,active:1})f[i]=C(f[i]);i=f.coefficient*1;f.coefficient=isNaN(i)?1.5:i;f.labels=/^[tmb][lcr]$/.test(f.labels.toString())?f.labels:f.labels?{top:"br",left:"tr"}[f.align]||"tl":"";f.setLabel=f.setLabel?
+f.setLabel:aa;f.fadeLayer=f.fadeIn?{dock:1,wrap:1}[f.fadeLayer]?f.fadeLayer:"menu":"";for(i in{onSleep:1,onWake:1,onReady:1,onFreeze:1})f[i]||(f[i]=X);j=/^m|c$/.test(f.labels);f.attenuation=Math.pow(f.distance,f.coefficient);f.vh={left:1,center:1,right:1}[f.align]?"v":"h";k("img",c).each(function(n,o){var g=k(o),l=g.parent("a"),q=l.attr("title")||"",r={},u;for(u in{src:1,alt:1,title:1,style:1})r[u]=g.attr(u)||"";++b.Load;b.Elem[n]={Img:g,src:r.src,altsrc:(f.source?f.source.call(o,n):"")||(/\.(gif|jpg|jpeg|png)$/i.test(r.alt||
 "")?r.alt:"")||r.src,Title:r.title||q||"",Orig:{i:k.extend({},r),a:{title:q,style:l.attr("style")||""}},Label:{mc:j},Pad:[],Link:l.length?"Link":"Image"};for(u=4;u--;)b.Elem[n].Pad[u]=C(g.css("padding"+v[u]))});k.each(b.Elem,function(n,o){var g,l=o.altsrc;if(h)k("<img>").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
--- 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
--- 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
--- 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
--- 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
--- 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<a onclick=\"__IriSP.MyApiPlayer.share('delicious');\" title='partager avec delicious'><span class='share shareDelicious'>&nbsp;</span></a>"+		
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('facebook');\" title='partager avec facebook'> <span class='share shareFacebook'>&nbsp;</span></a>"+
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('twitter');\" title='partager avec twitter'>  <span class='share shareTwitter'>&nbsp;</span></a>"+
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('myspace');\" title='partager avec Myspace'>  <span class='share shareMySpace'>&nbsp;</span></a>";
-
-// 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("<link>", { 
-					rel: "stylesheet", 
-					type: "text/css", 
-					href: __IriSP.lib.cssjQueryUI,
-					'class': "dynamic_css"
-				});
-				var css_link_custom = __IriSP.jQuery("<link>", { 
-					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("<div></div>").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(  "<div id='Ldt-Root'>\n"+
-			"	<div id='Ldt-PlaceHolder'>\n"+
-			"		<a href='http://www.adobe.com/go/getflashplayer'>Nécessite Flash player</a> Veuillez patienter durant le chargement du média	\n"+
-			"	</div>\n"+
-			"	<div id='Ldt-controler' class='demo'>\n"+
-			"		<div class='Ldt-Control1' >\n"+
-			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
-			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
-			"		</div>\n"+
-			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
-			"			<div id='slider-range-min'></div>\n"+
-			"	</div>\n"+
-			"		<div class='Ldt-Control2'>\n"+
-			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
-			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
-			"		</div>\n"+
-			"  <div class='cleaner'>&nbsp\;</div> \n"+
-			"  <div id='Ldt-Show-Arrow-container'>\n"+
-			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
-			"  </div>\n"+
-			"</div>\n"+
-			"<div>\n"+
-			" <div id='ldt-Show'> </div>\n"+
-			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
-			"		<div id='Ldt-SaTitle'></div>\n"+
-			"		<div id='Ldt-SaDescription'></div>\n"+
-			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
-			" </div>\n"+
-			" <div id='Ldt-SaKeyword'>\n"+
-			" <div id='Ldt-SaKeywordText'>  </div>\n"+
-			" <div class='cleaner'></div>\n"+
-			" <div id='Ldt-SaShareTools'>\n"+
-			" \n"+
-			" "+__IriSP.LdtShareTool+"\n"+
-			" \n"+
-			"  </div>\n"+
-			" <div class='cleaner'></div>"+
-			"</div>  "+
-			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
-			"</div>"+
-			"<div id='Ldt-output'></div>").appendTo("#"+__IriSP.config.gui.container);
-		} else if(__IriSP.config.gui.mode=="video") {
-		
-			__IriSP.jQuery(  "<div id='Ldt-Root'>\n"+
-			"	<div id='Ldt-PlaceHolder'>\n"+
-			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
-			"	</div>\n"+
-			"	<div id='Ldt-controler' class='demo'>\n"+
-			"		<div class='Ldt-Control1' >\n"+
-			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
-			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
-			"		</div>\n"+
-			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
-			"			<div id='slider-range-min'></div>\n"+
-			"	</div>\n"+
-			"		<div class='Ldt-Control2'>\n"+
-			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
-			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
-			"		</div>\n"+
-			"  <div class='cleaner'>&nbsp\;</div> \n"+
-			"  <div id='Ldt-Show-Arrow-container'>\n"+
-			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
-			"  </div>\n"+
-			"</div>\n"+
-			"<div>\n"+
-			" <div id='ldt-Show'> </div>\n"+
-			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
-			"		<div id='Ldt-SaTitle'></div>\n"+
-			"		<div id='Ldt-SaDescription'></div>\n"+
-			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
-			" </div>\n"+
-			" <div id='Ldt-SaKeyword'>\n"+
-			" <div id='Ldt-SaKeywordText'>  </div>\n"+
-			" <div class='cleaner'></div>\n"+
-			" <div id='Ldt-SaShareTools'>\n"+
-			" \n"+
-			" "+__IriSP.LdtShareTool+"\n"+
-			" \n"+
-			"  </div>\n"+
-			" <div class='cleaner'></div>"+
-			"</div>  "+
-			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
-			"</div>"+
-			"<div id='Ldt-output'></div>").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("<div id='Ldt-load-container'><div id='Ldt-loader'>&nbsp;</div> Chargement... </div>").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, '&amp;').replace(/\\</g, '&lt;').replace(/\\>/g, '&gt;').replace(/\\t/g, '&nbsp;&nbsp;&nbsp;').replace(/\\n/g, '<br />').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
-}
-// 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;i<nbZero;i++){
-                        s = "0" + s;
-                  }
-                  return s;
-            }
-private function colorHexaStrToNbr(s:String):Number{
-                  var n:Number;
-                  if(s.substr(0,1)=="#") n = Number("0x" + s.substr(1));
-                  else n = Number(s);
-                  return n;
-            }
-*/
-
-
-
-/* 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 (json){
-	var myAnnotation = new __IriSP.Annotation(json,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(annotationCibleNumber<this.annotations.length-1){
-		annotationCible.begin
-		__IriSP.player .sendEvent('SEEK', annotationCible.begin/1000);
-		__IriSP.trace("LIGNE  ","| next = "+annotationCibleNumber+" - "+this.annotations.length+" | seek :"+annotationCible.begin/1000);
-	}else{
-		__IriSP.player .sendEvent('SEEK', this.annotations[0].begin/1000);
-	}
-	
-	
-}
-__IriSP.Ligne.prototype.numAnnotation 		   = function (annotationCible){
-	for (var i=0; i < this.annotations.length; ++i){
-		if(annotationCible == this.annotations[i]){
-			return i;
-		}
-	}
-}
-__IriSP.Ligne.prototype.checkTime			   = function(time){
-	var annotationTempo = -1;
-	
-	for (var i=0; i < this.annotations.length; ++i){
-		annotationTempo = this.annotations[i];	
-		if (time>annotationTempo.begin/1000 && time<annotationTempo.end/1000){
-			
-				// different form the previous
-				if(annotationTempo!=this.annotationOldRead){
-					this.annotationOldRead = annotationTempo;
-
-					__IriSP.jQuery("#Ldt-SaTitle").text(annotationTempo.title);
-					__IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description);
-					__IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags);
-					
-					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);
-					
-					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(json,duration){
-	this.id 			= json.id;
-	this.begin 			= json.begin;
-	this.end 			= json.end;
-	this.media 			= json.media;
-	this.description 	= json.content.description;
-	this.title 			= json.content.title;
-	this.color 			= json.content.color;
-	this.tags			= json.tags;
-	this.htmlTags		= "";
-	this.duration		= duration;
-	// draw it 
-	this.draw();
-	this.drawTags();
-	//
-	__IriSP.trace("Annotation created : ",this.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 = "<div title='"+__IriSP.stripHtml(titleForDiv)+"' id='"+this.id+"'  class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' width='100%' style=\"left:"+startPourcent+"%; width:"+endPourcent+"%; padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; background:#"+__IriSP.DEC_HEXA_COLOR(this.color)+";\" onClick=\"__IriSP.MyApiPlayer.seek('"+Math.round(this.begin/1000)+"');__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();\"    ></div> ";
-	//alert(this.color+" : "+DEC_HEXA_COLOR(this.color));
-	
-
-	
-	__IriSP.jQuery("<div'>"+__IriSP.jQueryAnnotationTemplate+"</div>").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 = '<a href=\"\"> '+' </a>';
-	
-	//__IriSP.trace(" !? Tags : ",this.tags);
-	
-	if (this.tags!=undefined){
-		for (var i = 0; i < this.tags.length; ++i){
-			this.htmlTags += '<span> '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
-		}		
-	}
-}
-__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 += '<span onclick=\"MyTags.show( \''+this.myTags[i]['id']
-						+'\');\" style=\"font-size:'  +((this.myTags[i].mySegments.length/this.weigthMax*10)+8)
-						+'px;\" alt=\"'+this.myTags[i].mySegments.length
-						+'\"> '+this.myTags[i]['meta']['dc:title']+' </span>'+' , ';
-		}
-	}
-	
-	__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("<div>"+__IriSP.traceNum+" - "+msg+" : "+value+"</div>").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<a onclick=\"__IriSP.MyApiPlayer.share('delicious');\" title='partager avec delicious'><span class='share shareDelicious'>&nbsp;</span></a>"+		
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('facebook');\" title='partager avec facebook'> <span class='share shareFacebook'>&nbsp;</span></a>"+
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('twitter');\" title='partager avec twitter'>  <span class='share shareTwitter'>&nbsp;</span></a>"+
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('myspace');\" title='partager avec Myspace'>  <span class='share shareMySpace'>&nbsp;</span></a>";
+
+// 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("<link>", { 
+					rel: "stylesheet", 
+					type: "text/css", 
+					href: __IriSP.lib.cssjQueryUI,
+					'class': "dynamic_css"
+				});
+				var css_link_custom = __IriSP.jQuery("<link>", { 
+					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("<div></div>").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(  "<div id='Ldt-Root'>\n"+
+			"	<div id='Ldt-PlaceHolder'>\n"+
+			"		<a href='http://www.adobe.com/go/getflashplayer'>Nécessite Flash player</a> Veuillez patienter durant le chargement du média	\n"+
+			"	</div>\n"+
+			"	<div id='Ldt-controler' class='demo'>\n"+
+			"		<div class='Ldt-Control1' >\n"+
+			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
+			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
+			"		</div>\n"+
+			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
+			"			<div id='slider-range-min'></div>\n"+
+			"	</div>\n"+
+			"		<div class='Ldt-Control2'>\n"+
+			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
+			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
+			"		</div>\n"+
+			"  <div class='cleaner'>&nbsp\;</div> \n"+
+			"  <div id='Ldt-Show-Arrow-container'>\n"+
+			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
+			"  </div>\n"+
+			"</div>\n"+
+			"<div>\n"+
+			" <div id='ldt-Show'> </div>\n"+
+			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
+			"		<div id='Ldt-SaTitle'></div>\n"+
+			"		<div id='Ldt-SaDescription'></div>\n"+
+			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
+			" </div>\n"+
+			" <div id='Ldt-SaKeyword'>\n"+
+			" <div id='Ldt-SaKeywordText'>  </div>\n"+
+			" <div class='cleaner'></div>\n"+
+			" <div id='Ldt-SaShareTools'>\n"+
+			" \n"+
+			" "+__IriSP.LdtShareTool+"\n"+
+			" \n"+
+			"  </div>\n"+
+			" <div class='cleaner'></div>"+
+			"</div>  "+
+			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
+			"</div>"+
+			"<div id='Ldt-output'></div>").appendTo("#"+__IriSP.config.gui.container);
+		} else if(__IriSP.config.gui.mode=="video") {
+		
+			__IriSP.jQuery(  "<div id='Ldt-Root'>\n"+
+			"	<div id='Ldt-PlaceHolder'>\n"+
+			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
+			"	</div>\n"+
+			"	<div id='Ldt-controler' class='demo'>\n"+
+			"		<div class='Ldt-Control1' >\n"+
+			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
+			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
+			"		</div>\n"+
+			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
+			"			<div id='slider-range-min'></div>\n"+
+			"	</div>\n"+
+			"		<div class='Ldt-Control2'>\n"+
+			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
+			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
+			"		</div>\n"+
+			"  <div class='cleaner'>&nbsp\;</div> \n"+
+			"  <div id='Ldt-Show-Arrow-container'>\n"+
+			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
+			"  </div>\n"+
+			"</div>\n"+
+			"<div>\n"+
+			" <div id='ldt-Show'> </div>\n"+
+			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
+			"		<div id='Ldt-SaTitle'></div>\n"+
+			"		<div id='Ldt-SaDescription'></div>\n"+
+			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
+			" </div>\n"+
+			" <div id='Ldt-SaKeyword'>\n"+
+			" <div id='Ldt-SaKeywordText'>  </div>\n"+
+			" <div class='cleaner'></div>\n"+
+			" <div id='Ldt-SaShareTools'>\n"+
+			" \n"+
+			" "+__IriSP.LdtShareTool+"\n"+
+			" \n"+
+			"  </div>\n"+
+			" <div class='cleaner'></div>"+
+			"</div>  "+
+			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
+			"</div>"+
+			"<div id='Ldt-output'></div>").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("<div id='Ldt-load-container'><div id='Ldt-loader'>&nbsp;</div> Chargement... </div>").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, '&amp;').replace(/\\</g, '&lt;').replace(/\\>/g, '&gt;').replace(/\\t/g, '&nbsp;&nbsp;&nbsp;').replace(/\\n/g, '<br />').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
+}
+// 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;i<nbZero;i++){
+                        s = "0" + s;
+                  }
+                  return s;
+            }
+private function colorHexaStrToNbr(s:String):Number{
+                  var n:Number;
+                  if(s.substr(0,1)=="#") n = Number("0x" + s.substr(1));
+                  else n = Number(s);
+                  return n;
+            }
+*/
+
+
+
+/* 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 (json){
+	var myAnnotation = new __IriSP.Annotation(json,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(annotationCibleNumber<this.annotations.length-1){
+		annotationCible.begin
+		__IriSP.player .sendEvent('SEEK', annotationCible.begin/1000);
+		__IriSP.trace("LIGNE  ","| next = "+annotationCibleNumber+" - "+this.annotations.length+" | seek :"+annotationCible.begin/1000);
+	}else{
+		__IriSP.player .sendEvent('SEEK', this.annotations[0].begin/1000);
+	}
+	
+	
+}
+__IriSP.Ligne.prototype.numAnnotation 		   = function (annotationCible){
+	for (var i=0; i < this.annotations.length; ++i){
+		if(annotationCible == this.annotations[i]){
+			return i;
+		}
+	}
+}
+__IriSP.Ligne.prototype.checkTime			   = function(time){
+	var annotationTempo = -1;
+	
+	for (var i=0; i < this.annotations.length; ++i){
+		annotationTempo = this.annotations[i];	
+		if (time>annotationTempo.begin/1000 && time<annotationTempo.end/1000){
+			
+				// different form the previous
+				if(annotationTempo!=this.annotationOldRead){
+					this.annotationOldRead = annotationTempo;
+
+					__IriSP.jQuery("#Ldt-SaTitle").text(annotationTempo.title);
+					__IriSP.jQuery("#Ldt-SaDescription").text(annotationTempo.description);
+					__IriSP.jQuery("#Ldt-SaKeywordText").html("Mots clefs : "+annotationTempo.htmlTags);
+					
+					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);
+					
+					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(json,duration){
+	this.id 			= json.id;
+	this.begin 			= json.begin;
+	this.end 			= json.end;
+	this.media 			= json.media;
+	this.description 	= json.content.description;
+	this.title 			= json.content.title;
+	this.color 			= json.content.color;
+	this.tags			= json.tags;
+	this.htmlTags		= "";
+	this.duration		= duration;
+	// draw it 
+	this.draw();
+	this.drawTags();
+	//
+	__IriSP.trace("Annotation created : ",this.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 = "<div title='"+__IriSP.stripHtml(titleForDiv)+"' id='"+this.id+"'  class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' width='100%' style=\"left:"+startPourcent+"%; width:"+endPourcent+"%; padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; background:#"+__IriSP.DEC_HEXA_COLOR(this.color)+";\" onClick=\"__IriSP.MyApiPlayer.seek('"+Math.round(this.begin/1000)+"');__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();\"    ></div> ";
+	//alert(this.color+" : "+DEC_HEXA_COLOR(this.color));
+	
+
+	
+	__IriSP.jQuery("<div'>"+__IriSP.jQueryAnnotationTemplate+"</div>").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 = '<a href=\"\"> '+' </a>';
+	
+	//__IriSP.trace(" !? Tags : ",this.tags);
+	
+	if (this.tags!=undefined){
+		for (var i = 0; i < this.tags.length; ++i){
+			this.htmlTags += '<span> '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
+		}		
+	}
+}
+__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 += '<span onclick=\"MyTags.show( \''+this.myTags[i]['id']
+						+'\');\" style=\"font-size:'  +((this.myTags[i].mySegments.length/this.weigthMax*10)+8)
+						+'px;\" alt=\"'+this.myTags[i].mySegments.length
+						+'\"> '+this.myTags[i]['meta']['dc:title']+' </span>'+' , ';
+		}
+	}
+	
+	__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("<div>"+__IriSP.traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-output");
+	}
+
+}
+	
+	
+	
+	
+	
 	
\ No newline at end of file
--- 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<a onclick=\"__IriSP.MyApiPlayer.share('delicious');\" title='partager avec delicious'><span class='share shareDelicious'>&nbsp;</span></a>"+		
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('facebook');\" title='partager avec facebook'> <span class='share shareFacebook'>&nbsp;</span></a>"+
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('twitter');\" title='partager avec twitter'>  <span class='share shareTwitter'>&nbsp;</span></a>"+
-"\n<a onclick=\"__IriSP.MyApiPlayer.share('myspace');\" title='partager avec Myspace'>  <span class='share shareMySpace'>&nbsp;</span></a>";
-
-// 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("<link>", { 
-					rel: "stylesheet", 
-					type: "text/css", 
-					href: __IriSP.lib.cssjQueryUI,
-					'class': "dynamic_css"
-				});
-				var css_link_custom = __IriSP.jQuery("<link>", { 
-					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("<div></div>").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(  "<div id='Ldt-Root'>\n"+
-			"	<div id='Ldt-PlaceHolder'>\n"+
-			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
-			"	</div>\n"+
-			"	<div id='Ldt-controler' class='demo'>\n"+
-			"		<div class='Ldt-Control1' >\n"+
-			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
-			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
-			"		</div>\n"+
-			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
-			"			<div id='slider-range-min'></div>\n"+
-			"	</div>\n"+
-			"		<div class='Ldt-Control2'>\n"+
-			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
-			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
-			"		</div>\n"+
-			"  <div class='cleaner'>&nbsp\;</div> \n"+
-			"  <div id='Ldt-Show-Arrow-container'>\n"+
-			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
-			"  </div>\n"+
-			"</div>\n"+
-			"<div>\n"+
-			" <div id='ldt-Show'> </div>\n"+
-			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
-			"		<div id='Ldt-SaTitle'></div>\n"+
-			"		<div id='Ldt-SaDescription'></div>\n"+
-			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
-			" </div>\n"+
-			" <div id='Ldt-SaKeyword'>\n"+
-			" <div id='Ldt-SaKeywordText'>  </div>\n"+
-			" <div class='cleaner'></div>\n"+
-			" <div id='Ldt-SaShareTools'>\n"+
-			" \n"+
-			" "+__IriSP.LdtShareTool+"\n"+
-			" \n"+
-			"  </div>\n"+
-			" <div class='cleaner'></div>"+
-			"</div>  "+
-			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
-			"</div>"+
-			"<div id='Ldt-output'></div>").appendTo("#"+__IriSP.config.gui.container);
-		} else if(__IriSP.config.gui.mode=="video") {
-		
-			__IriSP.jQuery(  "<div id='Ldt-Root'>\n"+
-			"	<div id='Ldt-PlaceHolder'>\n"+
-			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
-			"	</div>\n"+
-			"	<div id='Ldt-controler' class='demo'>\n"+
-			"		<div class='Ldt-Control1' >\n"+
-			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
-			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
-			"		</div>\n"+
-			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
-			"			<div id='slider-range-min'></div>\n"+
-			"	</div>\n"+
-			"		<div class='Ldt-Control2'>\n"+
-			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
-			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
-			"		</div>\n"+
-			"  <div class='cleaner'>&nbsp\;</div> \n"+
-			"  <div id='Ldt-Show-Arrow-container'>\n"+
-			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
-			"  </div>\n"+
-			"</div>\n"+
-			"<div>\n"+
-			" <div id='ldt-Show'> </div>\n"+
-			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
-			"		<div id='Ldt-SaTitle'></div>\n"+
-			"		<div id='Ldt-SaDescription'></div>\n"+
-			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
-			" </div>\n"+
-			" <div id='Ldt-SaKeyword'>\n"+
-			" <div id='Ldt-SaKeywordText'>  </div>\n"+
-			" <div class='cleaner'></div>\n"+
-			" <div id='Ldt-SaShareTools'>\n"+
-			" \n"+
-			" "+__IriSP.LdtShareTool+"\n"+
-			" \n"+
-			"  </div>\n"+
-			" <div class='cleaner'></div>"+
-			"</div>  "+
-			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
-			"</div>"+
-			"<div id='Ldt-output'></div>").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("<div id='Ldt-load-container'><div id='Ldt-loader'>&nbsp;</div> Chargement... </div>").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, '&amp;').replace(/\\</g, '&lt;').replace(/\\>/g, '&gt;').replace(/\\t/g, '&nbsp;&nbsp;&nbsp;').replace(/\\n/g, '<br />').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
-}
-// 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(annotationCibleNumber<this.annotations.length-1){
-		annotationCible.begin
-		__IriSP.player .sendEvent('SEEK', annotationCible.begin/1000);
-		__IriSP.trace("LIGNE  ","| next = "+annotationCibleNumber+" - "+this.annotations.length+" | seek :"+annotationCible.begin/1000);
-	}else{
-		__IriSP.player .sendEvent('SEEK', this.annotations[0].begin/1000);
-	}
-	
-	
-}
-__IriSP.Ligne.prototype.numAnnotation = function (annotationCible){
-	for (var i=0; i < this.annotations.length; ++i){
-		if(annotationCible == this.annotations[i]){
-			return i;
-		}
-	}
-}
-__IriSP.Ligne.prototype.checkTime = function(time){
-	var annotationTempo = -1;
-	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",time);
-	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",this.annotations.length);
-	
-	for (var i=0; i < this.annotations.length; ++i){
-		annotationTempo = this.annotations[i];	
-		if (time>annotationTempo.begin/1000 && time<annotationTempo.end/1000){
-			
-				// different form the previous
-				if(annotationTempo!=this.annotationOldRead){
-					this.annotationOldRead = annotationTempo;
-					//__IriSP.trace("Check : ","annotation ici : "+i+" title "+annotationTempo.title);
-					//__IriSP.jQuery('#Ldt-ShowAnnotation').slideUp();
-					//http://api.jquery.com/delay/  -> 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 = "<div title='"+__IriSP.stripHtml(titleForDiv)+"' id='"+this.id+"'  class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' width='100%' style=\"left:"+startPourcent+"%; width:"+endPourcent+"%; padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; background:#"+__IriSP.DEC_HEXA_COLOR(this.color)+";\" onClick=\"__IriSP.MyApiPlayer.seek('"+Math.round(this.begin/1000)+"');__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();\"    ></div> ";
-	//alert(this.color+" : "+DEC_HEXA_COLOR(this.color));
-	
-	__IriSP.jQuerytoolTipTemplate = "<div class='Ldt-tooltip'>"
-						+"<div class='title'>"+__IriSP.stripHtml(this.title)+"</div>"
-						+"<div class='time'>"+this.begin+" : "+this.end+"</div>"
-						+"<div class='description'>"+__IriSP.stripHtml(this.description)+"</div>"
-						+"</div>";
-	
-	
-	__IriSP.jQuery("<div>"+__IriSP.jQueryAnnotationTemplate+"</div>").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 = '<a href=\"\"> '+' </a>';
-	
-	//__IriSP.trace(" !? Tags : ",this.tags);
-	
-	if (this.tags!=undefined){
-		for (var i = 0; i < this.tags.length; ++i){
-			
-			//this.htmlTags += '<span onclick=\"ShowTag('+this.tags[i]['id-ref']+');\"  > '+MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
-			this.htmlTags += '<span> '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
-			
-		}		
-	}
-}
-__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 += '<span onclick=\"MyTags.show( \''+this.myTags[i]['id']
-						+'\');\" style=\"font-size:'  +((this.myTags[i].mySegments.length/this.weigthMax*10)+8)
-						+'px;\" alt=\"'+this.myTags[i].mySegments.length
-						+'\"> '+this.myTags[i]['meta']['dc:title']+' </span>'+' , ';
-		}
-	}
-	
-	__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("<div>"+__IriSP.traceNum+" - "+msg+" : "+value+"</div>").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<a onclick=\"__IriSP.MyApiPlayer.share('delicious');\" title='partager avec delicious'><span class='share shareDelicious'>&nbsp;</span></a>"+		
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('facebook');\" title='partager avec facebook'> <span class='share shareFacebook'>&nbsp;</span></a>"+
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('twitter');\" title='partager avec twitter'>  <span class='share shareTwitter'>&nbsp;</span></a>"+
+"\n<a onclick=\"__IriSP.MyApiPlayer.share('myspace');\" title='partager avec Myspace'>  <span class='share shareMySpace'>&nbsp;</span></a>";
+
+// 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("<link>", { 
+					rel: "stylesheet", 
+					type: "text/css", 
+					href: __IriSP.lib.cssjQueryUI,
+					'class': "dynamic_css"
+				});
+				var css_link_custom = __IriSP.jQuery("<link>", { 
+					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("<div></div>").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(  "<div id='Ldt-Root'>\n"+
+			"	<div id='Ldt-PlaceHolder'>\n"+
+			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
+			"	</div>\n"+
+			"	<div id='Ldt-controler' class='demo'>\n"+
+			"		<div class='Ldt-Control1' >\n"+
+			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
+			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
+			"		</div>\n"+
+			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
+			"			<div id='slider-range-min'></div>\n"+
+			"	</div>\n"+
+			"		<div class='Ldt-Control2'>\n"+
+			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
+			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
+			"		</div>\n"+
+			"  <div class='cleaner'>&nbsp\;</div> \n"+
+			"  <div id='Ldt-Show-Arrow-container'>\n"+
+			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
+			"  </div>\n"+
+			"</div>\n"+
+			"<div>\n"+
+			" <div id='ldt-Show'> </div>\n"+
+			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
+			"		<div id='Ldt-SaTitle'></div>\n"+
+			"		<div id='Ldt-SaDescription'></div>\n"+
+			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
+			" </div>\n"+
+			" <div id='Ldt-SaKeyword'>\n"+
+			" <div id='Ldt-SaKeywordText'>  </div>\n"+
+			" <div class='cleaner'></div>\n"+
+			" <div id='Ldt-SaShareTools'>\n"+
+			" \n"+
+			" "+__IriSP.LdtShareTool+"\n"+
+			" \n"+
+			"  </div>\n"+
+			" <div class='cleaner'></div>"+
+			"</div>  "+
+			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
+			"</div>"+
+			"<div id='Ldt-output'></div>").appendTo("#"+__IriSP.config.gui.container);
+		} else if(__IriSP.config.gui.mode=="video") {
+		
+			__IriSP.jQuery(  "<div id='Ldt-Root'>\n"+
+			"	<div id='Ldt-PlaceHolder'>\n"+
+			"		<a href='http://www.adobe.com/go/getflashplayer'>Get flash</a> to see this player	\n"+
+			"	</div>\n"+
+			"	<div id='Ldt-controler' class='demo'>\n"+
+			"		<div class='Ldt-Control1' >\n"+
+			"			<button id='ldt-CtrlPlay' onclick='__IriSP.MyApiPlayer.play()'>Lecture / Pause </button>\n"+
+			"			<button id='ldt-CtrlNext' onclick='__IriSP.MyLdt.nextAnnotation()'>Suivant</button>\n"+
+			"		</div>\n"+
+			"		<div id='Ldt-Annotations' class='ui-slider'>\n"+
+			"			<div id='slider-range-min'></div>\n"+
+			"	</div>\n"+
+			"		<div class='Ldt-Control2'>\n"+
+			"			<button id='ldt-CtrlLink'> Partager </button>\n"+
+			"			<button id='ldt-CtrlSound' onclick='__IriSP.MyApiPlayer.mute()'>Sound</button>\n"+
+			"		</div>\n"+
+			"  <div class='cleaner'>&nbsp\;</div> \n"+
+			"  <div id='Ldt-Show-Arrow-container'>\n"+
+			"  	<div id='Ldt-Show-Arrow'> </div>\n"+
+			"  </div>\n"+
+			"</div>\n"+
+			"<div>\n"+
+			" <div id='ldt-Show'> </div>\n"+
+			"	<div id='Ldt-ShowAnnotation-audio' class='demo' >\n"+
+			"		<div id='Ldt-SaTitle'></div>\n"+
+			"		<div id='Ldt-SaDescription'></div>\n"+
+			" 		<div class='cleaner'><!--&nbsp\;--></div>\n"+
+			" </div>\n"+
+			" <div id='Ldt-SaKeyword'>\n"+
+			" <div id='Ldt-SaKeywordText'>  </div>\n"+
+			" <div class='cleaner'></div>\n"+
+			" <div id='Ldt-SaShareTools'>\n"+
+			" \n"+
+			" "+__IriSP.LdtShareTool+"\n"+
+			" \n"+
+			"  </div>\n"+
+			" <div class='cleaner'></div>"+
+			"</div>  "+
+			//"<div id='Ldt-Tags'> Mots clefs : </div>"+
+			"</div>"+
+			"<div id='Ldt-output'></div>").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("<div id='Ldt-load-container'><div id='Ldt-loader'>&nbsp;</div> Chargement... </div>").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, '&amp;').replace(/\\</g, '&lt;').replace(/\\>/g, '&gt;').replace(/\\t/g, '&nbsp;&nbsp;&nbsp;').replace(/\\n/g, '<br />').replace(/'/g, '&#39;').replace(/"/g, '&quot;');
+}
+// 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(annotationCibleNumber<this.annotations.length-1){
+		annotationCible.begin
+		__IriSP.player .sendEvent('SEEK', annotationCible.begin/1000);
+		__IriSP.trace("LIGNE  ","| next = "+annotationCibleNumber+" - "+this.annotations.length+" | seek :"+annotationCible.begin/1000);
+	}else{
+		__IriSP.player .sendEvent('SEEK', this.annotations[0].begin/1000);
+	}
+	
+	
+}
+__IriSP.Ligne.prototype.numAnnotation = function (annotationCible){
+	for (var i=0; i < this.annotations.length; ++i){
+		if(annotationCible == this.annotations[i]){
+			return i;
+		}
+	}
+}
+__IriSP.Ligne.prototype.checkTime = function(time){
+	var annotationTempo = -1;
+	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",time);
+	//__IriSP.trace("__IriSP.Ligne.prototype.checkTimeLigne",this.annotations.length);
+	
+	for (var i=0; i < this.annotations.length; ++i){
+		annotationTempo = this.annotations[i];	
+		if (time>annotationTempo.begin/1000 && time<annotationTempo.end/1000){
+			
+				// different form the previous
+				if(annotationTempo!=this.annotationOldRead){
+					this.annotationOldRead = annotationTempo;
+					//__IriSP.trace("Check : ","annotation ici : "+i+" title "+annotationTempo.title);
+					//__IriSP.jQuery('#Ldt-ShowAnnotation').slideUp();
+					//http://api.jquery.com/delay/  -> 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 = "<div title='"+__IriSP.stripHtml(titleForDiv)+"' id='"+this.id+"'  class='ui-slider-range ui-slider-range-min ui-widget-header iri-chapter' width='100%' style=\"left:"+startPourcent+"%; width:"+endPourcent+"%; padding-top:15px; border-left:solid 1px #aaaaaa; border-right:solid 1px #aaaaaa; background:#"+__IriSP.DEC_HEXA_COLOR(this.color)+";\" onClick=\"__IriSP.MyApiPlayer.seek('"+Math.round(this.begin/1000)+"');__IriSP.jQuery('#Ldt-ShowAnnotation').slideDown();\"    ></div> ";
+	//alert(this.color+" : "+DEC_HEXA_COLOR(this.color));
+	
+	__IriSP.jQuerytoolTipTemplate = "<div class='Ldt-tooltip'>"
+						+"<div class='title'>"+__IriSP.stripHtml(this.title)+"</div>"
+						+"<div class='time'>"+this.begin+" : "+this.end+"</div>"
+						+"<div class='description'>"+__IriSP.stripHtml(this.description)+"</div>"
+						+"</div>";
+	
+	
+	__IriSP.jQuery("<div>"+__IriSP.jQueryAnnotationTemplate+"</div>").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 = '<a href=\"\"> '+' </a>';
+	
+	//__IriSP.trace(" !? Tags : ",this.tags);
+	
+	if (this.tags!=undefined){
+		for (var i = 0; i < this.tags.length; ++i){
+			
+			//this.htmlTags += '<span onclick=\"ShowTag('+this.tags[i]['id-ref']+');\"  > '+MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
+			this.htmlTags += '<span> '+__IriSP.MyTags.getTitle(this.tags[i]['id-ref'])+' </span>'+" , ";
+			
+		}		
+	}
+}
+__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 += '<span onclick=\"MyTags.show( \''+this.myTags[i]['id']
+						+'\');\" style=\"font-size:'  +((this.myTags[i].mySegments.length/this.weigthMax*10)+8)
+						+'px;\" alt=\"'+this.myTags[i].mySegments.length
+						+'\"> '+this.myTags[i]['meta']['dc:title']+' </span>'+' , ';
+		}
+	}
+	
+	__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("<div>"+__IriSP.traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-output");
+	}
+
+}
+	
+	
+	
+	
+	
 	
\ No newline at end of file
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-
-
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-
-
-
-
-
-<script type="text/javascript"> 
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:438,
-					width:650,
-					height:400,
-					heightmax:400
-					}
-	// Make and define the Raphael area
-	var paper = Raphael(config.x,config.y,config.width, config.height);
-	
-	// variable 
-	var yCoef	  = 2; 					// coef for height of 1 tweet 
-	var frameSize = 5; 					// frame size 
-	var margin 	  = 1;					// marge between frame
-	var lineSize  = 650;				// timeline pixel width 
-	var nbrframes = lineSize/frameSize; // frame numbers
-	var numberOfTweet=0;				// number of tweet overide later 
-	var duration  = 4299820 ;			// timescale width 
-	var frameLenght =lineSize/frameSize;// frame timescale
-	
-	var timeline;
-	
-	// array 
-	var tweets  = new Array();
-	var element = new Array();
-	var cluster = new Array();
-	var frames  = new Array(frameLenght);
-	var slices  = new Array();
-	
-	// Refactoring (parametere) ************************************************************
-	var colors  = new Array("","#1D973D","#C5A62D","#CE0A15","#036AAE","#585858");
-
-	// trace function 
-	var traceNum = 0;
-	function trace(msg,value){
-		traceNum += 1;
-		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
-	$.ajax({
-	  dataType: "json",
-	  url:"metadata.json",
-	  success : function(json){
-		trace("load","");
-			$.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; j<item.content['polemics'].length; j++){
-							
-									
-									
-									tweets[numberOfTweet] = {
-												id:i,
-												qualification:colorTranslation(item.content['polemics'][j]),
-												yIndicator:MyTime,
-												yframe:Myframe
-												}
-									//trace("t","y = "+tweets[numberOfTweet].yIndicator+" | yf = "+tweets[numberOfTweet].yframe+" | q = "+tweets[numberOfTweet].qualification);
-									numberOfTweet+=1;
-							}
-					}else{
-						//trace("k = ",i);
-						tweets[numberOfTweet] = {
-									id:i,
-									qualification:colorTranslation(""),
-									yIndicator:MyTime,
-									yframe:Myframe
-						}
-						numberOfTweet+=1;
-					}
-					
-				} else {
-					//trace("tweet qualification = ","null");
-				}
-			});	
-		trace("======= ",numberOfTweet);
-	   DrawTweets ();
-	   
-	  }
-	 });
- 
- 
- 	// FishEye Effect 
-	var zoomCoef = 2;
-	
-	function fisheye(id,sens){
-
-		if(sens!=0){
-			// ZOOM IN -----------------
-			//replaceAll(id,sens);
-			ZoomIt(id,1,1);
-			//ZoomIt(id-1,2);
-			//ZoomIt(id+1,2);
-		} else {
-		trace("ici1","");
-			// ZOOM OUT -----------------
-			ZoomIt(id,1,0);
-		trace("ici3","");
-		}
-		
-	}
-	
-	function replaceAll(id){
-		// move every body
-		for (var i=0; i<slices.length; i++) {
-			if (slices[i] != undefined || i==id  || i==id+1  || i==id-1  ){	
-					for (var j=0; j<slices[i].length; j++) {
-						if (slices[i][j] != undefined){
-							//trace("anim== ",i+" "+slices[i].length);
-							slices[i][j].animate({//x:slices[i][j].attr("x")+(zoomCoef*3*frameSize),
-												  height:slices[i][j].heightStart,
-												  width:frameSize-margin,
-												  y:slices[i][j].yStart
-												  },180);
-						}
-					}
-				
-			}
-		}
-	}
-	
-	// elem.currentWidth = fisheyemenu.easeInOut(startWidth,endWidth,steps,actStep,powr);
-	// easeInOut(startWidth,endWidth,steps,actStep,powr);
-	
-	//http://raphaeljs.com/reference.html#plugins-elements
-	/*
-	Raphael.el.red = function () {
-		this.attr({fill: "#f00"});
-	};*/
-	
-	function ZoomIt(id,coef,sens){
-		if (slices[id][0].state==0 && sens!=0){
-				slices[id][0].state=1;
-				var addEheight = 0;
-				for (var j=0; j<slices[id].length; j++) {
-					//trace("",j);
-					object = slices[id][j];
-					if (j!=slices[id].length){
-							Eheight 	= object.attr("height")*zoomCoef/coef;
-							addEheight += Eheight;
-							MyWidth 	= object.attr("width")*zoomCoef*4;
-							object.animate({
-											height:Eheight,
-											width:MyWidth,
-											y:config.heightmax-addEheight
-											//x:object.attr("x")-(MyWidth/4)
-											},200);
-					}
-			}
-		} else if (slices[id][0].state==1 && sens!=1){
-			slices[id][0].state=0;
-				slices[id][0].state=1;
-				var addEheight = 0;
-				for (var j=0; j<slices[id].length; j++) {
-					//trace("",j);
-					object = slices[id][j];
-					if (j!=slices[id].length){
-						object.animate({ 	  height:object.heightStart,
-											  width:frameSize-margin,
-											  y:object.yStart
-											  },180);					
-					
-					}
-			}
-		}
-	}
-	
-	// tweet Drawing (in raphael) 
-	function DrawTweets (){
-	
-		//=====================================
-		// count nbr of cluster and tweet in a frame an save int in "frames"
-		numberOfTweet = tweets.length;
-		for(var i=0; i<nbrframes; i++) {	
-			for(var j=0; j<numberOfTweet; j++) {	
-				if (i==tweets[j].yframe){
-					
-					var k = tweets[j].qualification;
-					// make array for frame cluster
-					if(frames[i]==undefined){
-						frames[i] = new Array();
-					}
-					// count clusters
-					if(frames[i][k]==undefined){
-						frames[i][k]=1;
-					}else{
-						frames[i][k]+=1;
-					}
-				}
-			}
-		}
-			
-		//=====================================
-		var max 	= 0; // max of tweet by Frame 
-		for(var i=0; i<nbrframes; i++) {
-			var moy	= 0;
-			for (var j=1; j<6; j++){		
-				if (frames[i]!=undefined){
-					if (frames[i][j]!=undefined){
-						moy += frames[i][j]
-					}
-				}
-			}
-			//trace("frame "+i,moy);
-			if (moy>max){max=moy;}
-		}
-		//trace("frame max =",max);
-		
-		//=====================================
-		// draw cluster of tweet by frame ...
-		for(var i=0; i<nbrframes; i++) {
-			var addEheight = 0;
-			slices[i] =  new Array();
-			if (frames[i]!=undefined){
-				for (var j=6; j>0; j--){
-					if (frames[i][j]!=undefined){
-						//trace(" x ",i+" "+j);
-						var Eheight  = frames[i][j]*5;
-						//				x			y									w					h
-						e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-						e.id = i;
-						e.state = 0; // 0 petit // 1 grand
-						e.heightStart = Eheight;
-						e.yStart = config.heightmax-Eheight-addEheight;
-						addEheight +=Eheight;
-						e.mouseover(function () {
-							fisheye(this.id,1);
-						}).mouseout(function () {
-							fisheye(this.id,0);
-						});;
-						slices[i].push(e);
-					}
-					// ajouter cette objet 
-				
-				}
-			}
-		}
-	}
-	
-	
-	
-	
-
-</script>
-
-<div>
-
-<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-</div>
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+
+
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+
+
+
+
+
+<script type="text/javascript"> 
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:438,
+					width:650,
+					height:400,
+					heightmax:400
+					}
+	// Make and define the Raphael area
+	var paper = Raphael(config.x,config.y,config.width, config.height);
+	
+	// variable 
+	var yCoef	  = 2; 					// coef for height of 1 tweet 
+	var frameSize = 5; 					// frame size 
+	var margin 	  = 1;					// marge between frame
+	var lineSize  = 650;				// timeline pixel width 
+	var nbrframes = lineSize/frameSize; // frame numbers
+	var numberOfTweet=0;				// number of tweet overide later 
+	var duration  = 4299820 ;			// timescale width 
+	var frameLenght =lineSize/frameSize;// frame timescale
+	
+	var timeline;
+	
+	// array 
+	var tweets  = new Array();
+	var element = new Array();
+	var cluster = new Array();
+	var frames  = new Array(frameLenght);
+	var slices  = new Array();
+	
+	// Refactoring (parametere) ************************************************************
+	var colors  = new Array("","#1D973D","#C5A62D","#CE0A15","#036AAE","#585858");
+
+	// trace function 
+	var traceNum = 0;
+	function trace(msg,value){
+		traceNum += 1;
+		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
+	$.ajax({
+	  dataType: "json",
+	  url:"metadata.json",
+	  success : function(json){
+		trace("load","");
+			$.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; j<item.content['polemics'].length; j++){
+							
+									
+									
+									tweets[numberOfTweet] = {
+												id:i,
+												qualification:colorTranslation(item.content['polemics'][j]),
+												yIndicator:MyTime,
+												yframe:Myframe
+												}
+									//trace("t","y = "+tweets[numberOfTweet].yIndicator+" | yf = "+tweets[numberOfTweet].yframe+" | q = "+tweets[numberOfTweet].qualification);
+									numberOfTweet+=1;
+							}
+					}else{
+						//trace("k = ",i);
+						tweets[numberOfTweet] = {
+									id:i,
+									qualification:colorTranslation(""),
+									yIndicator:MyTime,
+									yframe:Myframe
+						}
+						numberOfTweet+=1;
+					}
+					
+				} else {
+					//trace("tweet qualification = ","null");
+				}
+			});	
+		trace("======= ",numberOfTweet);
+	   DrawTweets ();
+	   
+	  }
+	 });
+ 
+ 
+ 	// FishEye Effect 
+	var zoomCoef = 2;
+	
+	function fisheye(id,sens){
+
+		if(sens!=0){
+			// ZOOM IN -----------------
+			//replaceAll(id,sens);
+			ZoomIt(id,1,1);
+			//ZoomIt(id-1,2);
+			//ZoomIt(id+1,2);
+		} else {
+		trace("ici1","");
+			// ZOOM OUT -----------------
+			ZoomIt(id,1,0);
+		trace("ici3","");
+		}
+		
+	}
+	
+	function replaceAll(id){
+		// move every body
+		for (var i=0; i<slices.length; i++) {
+			if (slices[i] != undefined || i==id  || i==id+1  || i==id-1  ){	
+					for (var j=0; j<slices[i].length; j++) {
+						if (slices[i][j] != undefined){
+							//trace("anim== ",i+" "+slices[i].length);
+							slices[i][j].animate({//x:slices[i][j].attr("x")+(zoomCoef*3*frameSize),
+												  height:slices[i][j].heightStart,
+												  width:frameSize-margin,
+												  y:slices[i][j].yStart
+												  },180);
+						}
+					}
+				
+			}
+		}
+	}
+	
+	// elem.currentWidth = fisheyemenu.easeInOut(startWidth,endWidth,steps,actStep,powr);
+	// easeInOut(startWidth,endWidth,steps,actStep,powr);
+	
+	//http://raphaeljs.com/reference.html#plugins-elements
+	/*
+	Raphael.el.red = function () {
+		this.attr({fill: "#f00"});
+	};*/
+	
+	function ZoomIt(id,coef,sens){
+		if (slices[id][0].state==0 && sens!=0){
+				slices[id][0].state=1;
+				var addEheight = 0;
+				for (var j=0; j<slices[id].length; j++) {
+					//trace("",j);
+					object = slices[id][j];
+					if (j!=slices[id].length){
+							Eheight 	= object.attr("height")*zoomCoef/coef;
+							addEheight += Eheight;
+							MyWidth 	= object.attr("width")*zoomCoef*4;
+							object.animate({
+											height:Eheight,
+											width:MyWidth,
+											y:config.heightmax-addEheight
+											//x:object.attr("x")-(MyWidth/4)
+											},200);
+					}
+			}
+		} else if (slices[id][0].state==1 && sens!=1){
+			slices[id][0].state=0;
+				slices[id][0].state=1;
+				var addEheight = 0;
+				for (var j=0; j<slices[id].length; j++) {
+					//trace("",j);
+					object = slices[id][j];
+					if (j!=slices[id].length){
+						object.animate({ 	  height:object.heightStart,
+											  width:frameSize-margin,
+											  y:object.yStart
+											  },180);					
+					
+					}
+			}
+		}
+	}
+	
+	// tweet Drawing (in raphael) 
+	function DrawTweets (){
+	
+		//=====================================
+		// count nbr of cluster and tweet in a frame an save int in "frames"
+		numberOfTweet = tweets.length;
+		for(var i=0; i<nbrframes; i++) {	
+			for(var j=0; j<numberOfTweet; j++) {	
+				if (i==tweets[j].yframe){
+					
+					var k = tweets[j].qualification;
+					// make array for frame cluster
+					if(frames[i]==undefined){
+						frames[i] = new Array();
+					}
+					// count clusters
+					if(frames[i][k]==undefined){
+						frames[i][k]=1;
+					}else{
+						frames[i][k]+=1;
+					}
+				}
+			}
+		}
+			
+		//=====================================
+		var max 	= 0; // max of tweet by Frame 
+		for(var i=0; i<nbrframes; i++) {
+			var moy	= 0;
+			for (var j=1; j<6; j++){		
+				if (frames[i]!=undefined){
+					if (frames[i][j]!=undefined){
+						moy += frames[i][j]
+					}
+				}
+			}
+			//trace("frame "+i,moy);
+			if (moy>max){max=moy;}
+		}
+		//trace("frame max =",max);
+		
+		//=====================================
+		// draw cluster of tweet by frame ...
+		for(var i=0; i<nbrframes; i++) {
+			var addEheight = 0;
+			slices[i] =  new Array();
+			if (frames[i]!=undefined){
+				for (var j=6; j>0; j--){
+					if (frames[i][j]!=undefined){
+						//trace(" x ",i+" "+j);
+						var Eheight  = frames[i][j]*5;
+						//				x			y									w					h
+						e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+						e.id = i;
+						e.state = 0; // 0 petit // 1 grand
+						e.heightStart = Eheight;
+						e.yStart = config.heightmax-Eheight-addEheight;
+						addEheight +=Eheight;
+						e.mouseover(function () {
+							fisheye(this.id,1);
+						}).mouseout(function () {
+							fisheye(this.id,0);
+						});;
+						slices[i].push(e);
+					}
+					// ajouter cette objet 
+				
+				}
+			}
+		}
+	}
+	
+	
+	
+	
+
+</script>
+
+<div>
+
+<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+</div>
+
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-
-<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-
--->
-
-
-
-<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			metadata:{
-				format:'cinelab',
-				src:'metadata.json',
-				load:'json'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-<div id="charttimeline" style="position:relative;display:block;">ici</div>
-
-<script type="text/javascript"> 
-
-// v1 ::
-//		- config
-// 		- organisation classe
-// 		- rollover !! 
-// 		- legend  !!
-// 		- seek !!
-//		- time cursor
-/*
-	1 | 1D973D > vert 	> ++ > OK
-	2 | C5A62D > orange	> ?? > Q
-	3 | CE0A15 > rouge  > -- > KO
-	4 | 036AAE > bleu   > == > REF
-	5 | 585858 > gris   > NQ > ""
-*/
-	
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:438,
-					width:650,
-					height:70,
-					heightmax:70
-					}
-	// Make and define the Raphael area
-	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	var paper = Raphael(config.x,config.y,config.width, config.height);
-	paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.2});	
-	paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-	
-	// variable 
-	var yCoef	  = 2; 					// coef for height of 1 tweet 
-	var frameSize = 5; 					// frame size 
-	var margin 	  = 1;					// marge between frame
-	var lineSize  = 650;				// timeline pixel width 
-	var nbrframes = lineSize/frameSize; // frame numbers
-	var numberOfTweet=0;				// number of tweet overide later 
-	var duration  = 4299820 ;			// 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;
-		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
-	$.ajax({
-	  dataType: "json",
-	  url:"metadata.json",
-	  success : function(json){
-		trace("load","");
-			$.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; j<item.content['polemics'].length; j++){
-
-									tweets[numberOfTweet] = {
-												id:i,
-												qualification:colorTranslation(item.content['polemics'][j]),
-												yIndicator:MyTime,
-												yframe:Myframe
-												}
-									numberOfTweet+=1;
-							}
-					}else{
-						//trace("k = ",i);
-						tweets[numberOfTweet] = {
-									id:i,
-									qualification:colorTranslation(""),
-									yIndicator:MyTime,
-									yframe:Myframe
-						}
-						numberOfTweet+=1;
-					}
-					
-				} else {
-					//trace("tweet qualification = ","null");
-				}
-			});	
-		trace("======= ",numberOfTweet);
-	   DrawTweets ();
-	   
-	  }
-	 });
- 
- 
- 	// FishEye Effect 
-	var zoomCoef = 2;
-	
-	function fisheye(id,sens){
-
-		if(sens!=0){
-			// ZOOM IN -----------------
-			//replaceAll(id,sens);
-			ZoomIt(id,1,1);
-			//ZoomIt(id-1,2);
-			//ZoomIt(id+1,2);
-		} else {
-		trace("ici1","");
-			// ZOOM OUT -----------------
-			ZoomIt(id,1,0);
-		trace("ici3","");
-		}
-		
-	}
-	
-	function replaceAll(id){
-		// move every body
-		for (var i=0; i<slices.length; i++) {
-			if (slices[i] != undefined || i==id  || i==id+1  || i==id-1  ){	
-					for (var j=0; j<slices[i].length; j++) {
-						if (slices[i][j] != undefined){
-							//trace("anim== ",i+" "+slices[i].length);
-							slices[i][j].animate({//x:slices[i][j].attr("x")+(zoomCoef*3*frameSize),
-												  height:slices[i][j].heightStart,
-												  width:frameSize-margin,
-												  y:slices[i][j].yStart
-												  },180);
-						}
-					}
-				
-			}
-		}
-	}
-	
-	function ZoomIt(id,coef,sens){
-		if (slices[id][0].state==0 && sens!=0){
-				slices[id][0].state=1;
-				var addEheight = 0;
-				for (var j=0; j<slices[id].length; j++) {
-					//trace("",j);
-					object = slices[id][j];
-					if (j!=slices[id].length){
-							Eheight 	= object.attr("height")*zoomCoef/coef;
-							addEheight += Eheight;
-							MyWidth 	= object.attr("width")*zoomCoef*4;
-							object.animate({
-											height:Eheight,
-											width:MyWidth,
-											y:config.heightmax-addEheight
-											//x:object.attr("x")-(MyWidth/4)
-											},200);
-					}
-			}
-		} else if (slices[id][0].state==1 && sens!=1){
-			slices[id][0].state=0;
-				slices[id][0].state=1;
-				var addEheight = 0;
-				for (var j=0; j<slices[id].length; j++) {
-					//trace("",j);
-					object = slices[id][j];
-					if (j!=slices[id].length){
-						object.animate({ 	  height:object.heightStart,
-											  width:frameSize-margin,
-											  y:object.yStart
-											  },180);					
-					
-					}
-			}
-		}
-	}
-		
-	// tweet Drawing (in raphael) 
-	function DrawTweets (){
-	
-		//=====================================
-		// count nbr of cluster and tweet in a frame an save int in "frames"
-		numberOfTweet = tweets.length;
-		for(var i=0; i<nbrframes; i++) {	
-			for(var j=0; j<numberOfTweet; j++) {	
-				if (i==tweets[j].yframe){
-					
-					var k = tweets[j].qualification;
-					// make array for frame cluster
-					if(frames[i]==undefined){
-						frames[i] = new Array();
-					}
-					// count clusters
-					if(frames[i][k]==undefined){
-						frames[i][k]=1;
-					}else{
-						frames[i][k]+=1;
-					}
-				}
-			}
-		}
-			
-		//=====================================
-		var max 	= 0; // max of tweet by Frame 
-		for(var i=0; i<nbrframes; i++) {
-			var moy	= 0;
-			for (var j=1; j<6; j++){		
-				if (frames[i]!=undefined){
-					if (frames[i][j]!=undefined){
-						moy += frames[i][j]
-					}
-				}
-			}
-			//trace("frame "+i,moy);
-			if (moy>max){max=moy;}
-		}
-		//trace("frame max =",max);
-		
-		//=====================================
-		// draw cluster of tweet by frame ...
-		for(var i=0; i<nbrframes; i++) {
-			var addEheight = 0;
-			slices[i] =  new Array();
-			if (frames[i]!=undefined){
-				for (var j=6; j>0; j--){
-					if (frames[i][j]!=undefined){
-						//trace(" x ",i+" "+j);
-						var Eheight  = frames[i][j]*5;
-						//				x			y									w					h
-						e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-						e.id = i;
-						e.state = 0; // 0 petit // 1 grand
-						e.heightStart = Eheight;
-						e.yStart = config.heightmax-Eheight-addEheight;
-						addEheight +=Eheight;
-						e.mouseover(function () {
-							fisheye(this.id,1);
-						}).mouseout(function () {
-							fisheye(this.id,0);
-						});;
-						slices[i].push(e);
-					}
-					// ajouter cette objet 
-				
-				}
-			}
-		}
-	}
-	
-	
-	
-	
-
-</script>
-
-
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+
+<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+
+-->
+
+
+
+<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			metadata:{
+				format:'cinelab',
+				src:'metadata.json',
+				load:'json'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+<div id="charttimeline" style="position:relative;display:block;">ici</div>
+
+<script type="text/javascript"> 
+
+// v1 ::
+//		- config
+// 		- organisation classe
+// 		- rollover !! 
+// 		- legend  !!
+// 		- seek !!
+//		- time cursor
+/*
+	1 | 1D973D > vert 	> ++ > OK
+	2 | C5A62D > orange	> ?? > Q
+	3 | CE0A15 > rouge  > -- > KO
+	4 | 036AAE > bleu   > == > REF
+	5 | 585858 > gris   > NQ > ""
+*/
+	
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:438,
+					width:650,
+					height:70,
+					heightmax:70
+					}
+	// Make and define the Raphael area
+	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	var paper = Raphael(config.x,config.y,config.width, config.height);
+	paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.2});	
+	paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+	
+	// variable 
+	var yCoef	  = 2; 					// coef for height of 1 tweet 
+	var frameSize = 5; 					// frame size 
+	var margin 	  = 1;					// marge between frame
+	var lineSize  = 650;				// timeline pixel width 
+	var nbrframes = lineSize/frameSize; // frame numbers
+	var numberOfTweet=0;				// number of tweet overide later 
+	var duration  = 4299820 ;			// 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;
+		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
+	$.ajax({
+	  dataType: "json",
+	  url:"metadata.json",
+	  success : function(json){
+		trace("load","");
+			$.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; j<item.content['polemics'].length; j++){
+
+									tweets[numberOfTweet] = {
+												id:i,
+												qualification:colorTranslation(item.content['polemics'][j]),
+												yIndicator:MyTime,
+												yframe:Myframe
+												}
+									numberOfTweet+=1;
+							}
+					}else{
+						//trace("k = ",i);
+						tweets[numberOfTweet] = {
+									id:i,
+									qualification:colorTranslation(""),
+									yIndicator:MyTime,
+									yframe:Myframe
+						}
+						numberOfTweet+=1;
+					}
+					
+				} else {
+					//trace("tweet qualification = ","null");
+				}
+			});	
+		trace("======= ",numberOfTweet);
+	   DrawTweets ();
+	   
+	  }
+	 });
+ 
+ 
+ 	// FishEye Effect 
+	var zoomCoef = 2;
+	
+	function fisheye(id,sens){
+
+		if(sens!=0){
+			// ZOOM IN -----------------
+			//replaceAll(id,sens);
+			ZoomIt(id,1,1);
+			//ZoomIt(id-1,2);
+			//ZoomIt(id+1,2);
+		} else {
+		trace("ici1","");
+			// ZOOM OUT -----------------
+			ZoomIt(id,1,0);
+		trace("ici3","");
+		}
+		
+	}
+	
+	function replaceAll(id){
+		// move every body
+		for (var i=0; i<slices.length; i++) {
+			if (slices[i] != undefined || i==id  || i==id+1  || i==id-1  ){	
+					for (var j=0; j<slices[i].length; j++) {
+						if (slices[i][j] != undefined){
+							//trace("anim== ",i+" "+slices[i].length);
+							slices[i][j].animate({//x:slices[i][j].attr("x")+(zoomCoef*3*frameSize),
+												  height:slices[i][j].heightStart,
+												  width:frameSize-margin,
+												  y:slices[i][j].yStart
+												  },180);
+						}
+					}
+				
+			}
+		}
+	}
+	
+	function ZoomIt(id,coef,sens){
+		if (slices[id][0].state==0 && sens!=0){
+				slices[id][0].state=1;
+				var addEheight = 0;
+				for (var j=0; j<slices[id].length; j++) {
+					//trace("",j);
+					object = slices[id][j];
+					if (j!=slices[id].length){
+							Eheight 	= object.attr("height")*zoomCoef/coef;
+							addEheight += Eheight;
+							MyWidth 	= object.attr("width")*zoomCoef*4;
+							object.animate({
+											height:Eheight,
+											width:MyWidth,
+											y:config.heightmax-addEheight
+											//x:object.attr("x")-(MyWidth/4)
+											},200);
+					}
+			}
+		} else if (slices[id][0].state==1 && sens!=1){
+			slices[id][0].state=0;
+				slices[id][0].state=1;
+				var addEheight = 0;
+				for (var j=0; j<slices[id].length; j++) {
+					//trace("",j);
+					object = slices[id][j];
+					if (j!=slices[id].length){
+						object.animate({ 	  height:object.heightStart,
+											  width:frameSize-margin,
+											  y:object.yStart
+											  },180);					
+					
+					}
+			}
+		}
+	}
+		
+	// tweet Drawing (in raphael) 
+	function DrawTweets (){
+	
+		//=====================================
+		// count nbr of cluster and tweet in a frame an save int in "frames"
+		numberOfTweet = tweets.length;
+		for(var i=0; i<nbrframes; i++) {	
+			for(var j=0; j<numberOfTweet; j++) {	
+				if (i==tweets[j].yframe){
+					
+					var k = tweets[j].qualification;
+					// make array for frame cluster
+					if(frames[i]==undefined){
+						frames[i] = new Array();
+					}
+					// count clusters
+					if(frames[i][k]==undefined){
+						frames[i][k]=1;
+					}else{
+						frames[i][k]+=1;
+					}
+				}
+			}
+		}
+			
+		//=====================================
+		var max 	= 0; // max of tweet by Frame 
+		for(var i=0; i<nbrframes; i++) {
+			var moy	= 0;
+			for (var j=1; j<6; j++){		
+				if (frames[i]!=undefined){
+					if (frames[i][j]!=undefined){
+						moy += frames[i][j]
+					}
+				}
+			}
+			//trace("frame "+i,moy);
+			if (moy>max){max=moy;}
+		}
+		//trace("frame max =",max);
+		
+		//=====================================
+		// draw cluster of tweet by frame ...
+		for(var i=0; i<nbrframes; i++) {
+			var addEheight = 0;
+			slices[i] =  new Array();
+			if (frames[i]!=undefined){
+				for (var j=6; j>0; j--){
+					if (frames[i][j]!=undefined){
+						//trace(" x ",i+" "+j);
+						var Eheight  = frames[i][j]*5;
+						//				x			y									w					h
+						e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+						e.id = i;
+						e.state = 0; // 0 petit // 1 grand
+						e.heightStart = Eheight;
+						e.yStart = config.heightmax-Eheight-addEheight;
+						addEheight +=Eheight;
+						e.mouseover(function () {
+							fisheye(this.id,1);
+						}).mouseout(function () {
+							fisheye(this.id,0);
+						});;
+						slices[i].push(e);
+					}
+					// ajouter cette objet 
+				
+				}
+			}
+		}
+	}
+	
+	
+	
+	
+
+</script>
+
+
+</div>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type='text/css'> 
-	#tip{
-	 position : absolute;
-	 border : 1px solid gray;
-	 background-color : #efefef;
-	 padding : 3px;
-	 z-index: 1000000;
-	 /* set this to create word wrap */
-	 max-width: 200px;
-	}	
-</style>
-</head>
-<body>
-
-<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-
--->
-
-
-
-<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			/*metadata:{
-				format:'cinelab',
-				src:'metadata.json',
-				load:'json'},*/
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-<div id="charttimeline" style="position:relative;display:block;"></div>
-<div id="tip"></div>
-<script type="text/javascript"> 
-
-// CHART TIMELINE / VERSION PROTOTYPE  ::
-//		- config
-// 		- organisation classe
-// 		!!!- rollover !! 
-// 		!!!!- legend  !!
-//		- time cursor
-// 		- seek !!
-
-/*
-	1 | 1D973D > vert 	> ++ > OK
-	2 | C5A62D > orange	> ?? > Q
-	3 | CE0A15 > rouge  > -- > KO
-	4 | 036AAE > bleu   > == > REF
-	5 | 585858 > gris   > NQ > ""
-*/
-	
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:70,
-					heightmax:70
-					}
-	// Make and define the Raphael area
-	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	
-	var over = false;
-	var tip = $("#tip").hide();
-	var tipText = "";
-	
-	function ChartTimeLine (){
-		
-		var paper = Raphael(config.x,config.y,config.width, config.height);
-		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
-		
-		// variable 
-		
-		var yCoef	  = 2; 					// coef for height of 1 tweet 
-		var frameSize = 5; 					// frame size 
-		var margin 	  = 1;					// marge between frame
-		var lineSize  = 650;				// timeline pixel width 
-		var nbrframes = lineSize/frameSize; // frame numbers
-		var numberOfTweet = 0;				// number of tweet overide later 
-		var duration  = 4299820 ;			// 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;
-			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
-		$.ajax({
-		  dataType: "json",
-		  url:"metadata.json",
-		  success : function(json){
-			trace("load","");
-				$.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; j<item.content['polemics'].length; j++){
-
-										tweets[numberOfTweet] = {
-													id:i,
-													qualification:colorTranslation(item.content['polemics'][j]),
-													yIndicator:MyTime,
-													yframe:Myframe,
-													title:item.content['title'],
-													timeframe:item.begin
-													}
-										numberOfTweet+=1;
-								}
-						}else{
-							//trace("k = ",i);
-							tweets[numberOfTweet] = {
-										id:i,
-										qualification:colorTranslation(""),
-										yIndicator:MyTime,
-										yframe:Myframe,
-										title:item.content['title'],
-										timeframe:item.begin
-							}
-							numberOfTweet+=1;
-						}
-						
-					} else {
-						//trace("tweet qualification = ","null");
-					}
-				});	
-			trace("======= ",numberOfTweet);
-		   DrawTweets ();
-		   
-		  }
-		 });
-			
-		// tweet Drawing (in raphael) 
-		function DrawTweets (){
-		
-			// Count nbr of cluster and tweet in a frame an save int in "frames"
-			numberOfTweet = tweets.length;
-			for(var i=0; i<nbrframes; i++) {	
-				for(var j=0; j<numberOfTweet; j++) {	
-					if (i==tweets[j].yframe){
-						
-						var k = tweets[j].qualification;
-						// make array for frame cluster
-						if(frames[i]==undefined){
-							frames[i] = new Array();
-						}
-						// count clusters
-						if(frames[i][k]==undefined){
-							frames[i][k]=1;
-						}else{
-							frames[i][k]+=1;
-						}
-					}
-				}
-			}
-			
-			// max of tweet by Frame 
-			var max 	= 0; 
-			for(var i=0; i<nbrframes; i++) {
-				var moy	= 0;
-				for (var j=1; j<6; j++){		
-					if (frames[i]!=undefined){
-						if (frames[i][j]!=undefined){
-							moy += frames[i][j]
-						}
-					}
-				}
-				//trace("frame "+i,moy);
-				if (moy>max){max=moy;}
-			}
-			
-			// Draw cluster of tweet by frame ...
-			for(var i=0; i<nbrframes; i++) {
-				var addEheight = 0;
-				slices[i] =  new Array();
-				if (frames[i]!=undefined){
-					for (var j=6; j>0; j--){
-						if (frames[i][j]!=undefined){
-							//trace(" x ",i+" "+j);
-							var Eheight  = frames[i][j]*5;
-							//				x			y									w					h
-							e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-							e.id = i;
-							e.state = 0; // 0 petit // 1 grand
-							e.heightStart = Eheight;
-							e.yStart = config.heightmax-Eheight-addEheight;
-							addEheight +=Eheight;
-							/*
-							e.mouseover(function () {
-								fisheye(this.id,1);
-							}).mouseout(function () {
-								fisheye(this.id,0);
-							});*/
-							slices[i].push(e);
-							//
-							$(e.node).attr('id', 't'+i);
-							$(e.node).attr('title', tweets[i].title);
-							addTip(e.node,  tweets[i].title);
-
-						}			
-					}
-				}
-			}
-		}
-
-		// AddTip  ******************************************************************************
-		function addTip(node, txt){
-			$(node).mouseenter(function(){
-			   tipText = txt;
-			   tip.fadeIn(0);
-			   over = true;
-			}).mouseleave(function(){
-			   tip.fadeOut(0);
-			   over = false;
-			});
-		}	
-	
-	}
-	
-	$(document).mousemove(function(e){
-		if (over){
-			tip.css("left", e.clientX+20).css("top", e.clientY+20);
-			tip.text(tipText);
-		}
-	});
-
-
-
-	ChartTimeLine();
-
-</script>
-
-
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style type='text/css'> 
+	#tip{
+	 position : absolute;
+	 border : 1px solid gray;
+	 background-color : #efefef;
+	 padding : 3px;
+	 z-index: 1000000;
+	 /* set this to create word wrap */
+	 max-width: 200px;
+	}	
+</style>
+</head>
+<body>
+
+<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+
+-->
+
+
+
+<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			/*metadata:{
+				format:'cinelab',
+				src:'metadata.json',
+				load:'json'},*/
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+<div id="charttimeline" style="position:relative;display:block;"></div>
+<div id="tip"></div>
+<script type="text/javascript"> 
+
+// CHART TIMELINE / VERSION PROTOTYPE  ::
+//		- config
+// 		- organisation classe
+// 		!!!- rollover !! 
+// 		!!!!- legend  !!
+//		- time cursor
+// 		- seek !!
+
+/*
+	1 | 1D973D > vert 	> ++ > OK
+	2 | C5A62D > orange	> ?? > Q
+	3 | CE0A15 > rouge  > -- > KO
+	4 | 036AAE > bleu   > == > REF
+	5 | 585858 > gris   > NQ > ""
+*/
+	
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:70,
+					heightmax:70
+					}
+	// Make and define the Raphael area
+	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	
+	var over = false;
+	var tip = $("#tip").hide();
+	var tipText = "";
+	
+	function ChartTimeLine (){
+		
+		var paper = Raphael(config.x,config.y,config.width, config.height);
+		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
+		
+		// variable 
+		
+		var yCoef	  = 2; 					// coef for height of 1 tweet 
+		var frameSize = 5; 					// frame size 
+		var margin 	  = 1;					// marge between frame
+		var lineSize  = 650;				// timeline pixel width 
+		var nbrframes = lineSize/frameSize; // frame numbers
+		var numberOfTweet = 0;				// number of tweet overide later 
+		var duration  = 4299820 ;			// 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;
+			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
+		$.ajax({
+		  dataType: "json",
+		  url:"metadata.json",
+		  success : function(json){
+			trace("load","");
+				$.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; j<item.content['polemics'].length; j++){
+
+										tweets[numberOfTweet] = {
+													id:i,
+													qualification:colorTranslation(item.content['polemics'][j]),
+													yIndicator:MyTime,
+													yframe:Myframe,
+													title:item.content['title'],
+													timeframe:item.begin
+													}
+										numberOfTweet+=1;
+								}
+						}else{
+							//trace("k = ",i);
+							tweets[numberOfTweet] = {
+										id:i,
+										qualification:colorTranslation(""),
+										yIndicator:MyTime,
+										yframe:Myframe,
+										title:item.content['title'],
+										timeframe:item.begin
+							}
+							numberOfTweet+=1;
+						}
+						
+					} else {
+						//trace("tweet qualification = ","null");
+					}
+				});	
+			trace("======= ",numberOfTweet);
+		   DrawTweets ();
+		   
+		  }
+		 });
+			
+		// tweet Drawing (in raphael) 
+		function DrawTweets (){
+		
+			// Count nbr of cluster and tweet in a frame an save int in "frames"
+			numberOfTweet = tweets.length;
+			for(var i=0; i<nbrframes; i++) {	
+				for(var j=0; j<numberOfTweet; j++) {	
+					if (i==tweets[j].yframe){
+						
+						var k = tweets[j].qualification;
+						// make array for frame cluster
+						if(frames[i]==undefined){
+							frames[i] = new Array();
+						}
+						// count clusters
+						if(frames[i][k]==undefined){
+							frames[i][k]=1;
+						}else{
+							frames[i][k]+=1;
+						}
+					}
+				}
+			}
+			
+			// max of tweet by Frame 
+			var max 	= 0; 
+			for(var i=0; i<nbrframes; i++) {
+				var moy	= 0;
+				for (var j=1; j<6; j++){		
+					if (frames[i]!=undefined){
+						if (frames[i][j]!=undefined){
+							moy += frames[i][j]
+						}
+					}
+				}
+				//trace("frame "+i,moy);
+				if (moy>max){max=moy;}
+			}
+			
+			// Draw cluster of tweet by frame ...
+			for(var i=0; i<nbrframes; i++) {
+				var addEheight = 0;
+				slices[i] =  new Array();
+				if (frames[i]!=undefined){
+					for (var j=6; j>0; j--){
+						if (frames[i][j]!=undefined){
+							//trace(" x ",i+" "+j);
+							var Eheight  = frames[i][j]*5;
+							//				x			y									w					h
+							e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+							e.id = i;
+							e.state = 0; // 0 petit // 1 grand
+							e.heightStart = Eheight;
+							e.yStart = config.heightmax-Eheight-addEheight;
+							addEheight +=Eheight;
+							/*
+							e.mouseover(function () {
+								fisheye(this.id,1);
+							}).mouseout(function () {
+								fisheye(this.id,0);
+							});*/
+							slices[i].push(e);
+							//
+							$(e.node).attr('id', 't'+i);
+							$(e.node).attr('title', tweets[i].title);
+							addTip(e.node,  tweets[i].title);
+
+						}			
+					}
+				}
+			}
+		}
+
+		// AddTip  ******************************************************************************
+		function addTip(node, txt){
+			$(node).mouseenter(function(){
+			   tipText = txt;
+			   tip.fadeIn(0);
+			   over = true;
+			}).mouseleave(function(){
+			   tip.fadeOut(0);
+			   over = false;
+			});
+		}	
+	
+	}
+	
+	$(document).mousemove(function(e){
+		if (over){
+			tip.css("left", e.clientX+20).css("top", e.clientY+20);
+			tip.text(tipText);
+		}
+	});
+
+
+
+	ChartTimeLine();
+
+</script>
+
+
+</div>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type='text/css'> 
-	#tip{
-	 position : absolute;
-	 border : 1px solid gray;
-	 background-color : #efefef;
-	 padding : 3px;
-	 z-index: 1000000;
-	 /* set this to create word wrap */
-	 max-width: 200px;
-	}	
-</style>
-</head>
-<body>
-
-<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-
--->
-
-
-
-<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			/*metadata:{
-				format:'cinelab',
-				src:'metadata.json',
-				load:'json'},*/
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-<div id="charttimeline" style="position:relative;display:block;"></div>
-<div id="tip"></div>
-<script type="text/javascript"> 
-
-// CHART TIMELINE / VERSION PROTOTYPE  ::
-//		- config
-// 		- organisation classe
-// 		!!!- rollover !! 
-// 		!!!!- legend  !!
-//		- time cursor
-// 		- seek !!
-
-/*
-	1 | 1D973D > vert 	> ++ > OK
-	2 | C5A62D > orange	> ?? > Q
-	3 | CE0A15 > rouge  > -- > KO
-	4 | 036AAE > bleu   > == > REF
-	5 | 585858 > gris   > NQ > ""
-*/
-	
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:70,
-					heightmax:70
-					}
-	// Make and define the Raphael area
-	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	
-	var over = false;
-	var tip = $("#tip").hide();
-	var tipText = "";
-	
-	function ChartTimeLine (){
-		
-		var paper = Raphael(config.x,config.y,config.width, config.height);
-		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
-		
-		// variable 
-		
-		var yCoef	  = 2; 					// coef for height of 1 tweet 
-		var frameSize = 5; 					// frame size 
-		var margin 	  = 1;					// marge between frame
-		var lineSize  = 650;				// timeline pixel width 
-		var nbrframes = lineSize/frameSize; // frame numbers
-		var numberOfTweet = 0;				// number of tweet overide later 
-		var duration  = 4299820 ;			// 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;
-			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
-		$.ajax({
-		  dataType: "json",
-		  url:"metadata.json",
-		  success : function(json){
-			trace("load","");
-				$.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; j<item.content['polemics'].length; j++){
-
-										tweets[numberOfTweet] = {
-													id:i,
-													qualification:colorTranslation(item.content['polemics'][j]),
-													yIndicator:MyTime,
-													yframe:Myframe,
-													title:item.content['title'],
-													timeframe:item.begin
-													}
-										numberOfTweet+=1;
-								}
-						}else{
-							//trace("k = ",i);
-							tweets[numberOfTweet] = {
-										id:i,
-										qualification:colorTranslation(""),
-										yIndicator:MyTime,
-										yframe:Myframe,
-										title:item.content['title'],
-										timeframe:item.begin
-							}
-							numberOfTweet+=1;
-						}
-						
-					} else {
-						//trace("tweet qualification = ","null");
-					}
-				});	
-			trace("======= ",numberOfTweet);
-		   DrawTweets ();
-		   
-		  }
-		 });
-			
-		// tweet Drawing (in raphael) 
-		function DrawTweets (){
-			// Count nbr of cluster and tweet in a frame an save int in "frames"
-			numberOfTweet = tweets.length;
-			for(var i=0; i<nbrframes; i++) {	
-				for(var j=0; j<numberOfTweet; j++) {	
-					if (i==tweets[j].yframe){
-						
-						var k = tweets[j].qualification;
-						// make array for frame cluster
-						if(frames[i]==undefined){
-							frames[i] = new Array();
-						}
-						// count clusters
-						if(frames[i][k]==undefined){
-							frames[i][k]=1;
-						}else{
-							frames[i][k]+=1;
-						}
-					}
-				}
-			}
-			
-			// max of tweet by Frame 
-			var max 	= 0; 
-			for(var i=0; i<nbrframes; i++) {
-				var moy	= 0;
-				for (var j=1; j<6; j++){		
-					if (frames[i]!=undefined){
-						if (frames[i][j]!=undefined){
-							moy += frames[i][j]
-						}
-					}
-				}
-				//trace("frame "+i,moy);
-				if (moy>max){max=moy;}
-			}
-			
-			// Draw cluster of tweet by frame ...
-			for(var i=0; i<nbrframes; i++) {
-				var addEheight = 0;
-				slices[i] =  new Array();
-				if (frames[i]!=undefined){
-					for (var j=6; j>0; j--){
-						if (frames[i][j]!=undefined){
-							//trace(" x ",i+" "+j);
-							var Eheight  = frames[i][j]*5;
-							//				x			y									w					h
-							e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-							e.id = i;
-							e.state = 0; // 0 petit // 1 grand
-							e.heightStart = Eheight;
-							e.yStart = config.heightmax-Eheight-addEheight;
-							addEheight +=Eheight;
-							/*
-							e.mouseover(function () {
-								fisheye(this.id,1);
-							}).mouseout(function () {
-								fisheye(this.id,0);
-							});*/
-							slices[i].push(e);
-							//
-							$(e.node).attr('id', 't'+i);
-							$(e.node).attr('title', tweets[i].title);
-							addTip(e.node,  tweets[i].title);
-
-						}			
-					}
-				}
-			}
-		}
-
-		// AddTip  ******************************************************************************
-		function addTip(node, txt){
-			$(node).mouseenter(function(){
-			   tipText = txt;
-			   tip.fadeIn(0);
-			   over = true;
-			}).mouseleave(function(){
-			   tip.fadeOut(0);
-			   over = false;
-			});
-		}	
-	
-	}
-	
-	$(document).mousemove(function(e){
-		if (over){
-			tip.css("left", e.clientX+20).css("top", e.clientY+20);
-			tip.text(tipText);
-		}
-	});
-
-
-
-	ChartTimeLine();
-
-</script>
-
-
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style type='text/css'> 
+	#tip{
+	 position : absolute;
+	 border : 1px solid gray;
+	 background-color : #efefef;
+	 padding : 3px;
+	 z-index: 1000000;
+	 /* set this to create word wrap */
+	 max-width: 200px;
+	}	
+</style>
+</head>
+<body>
+
+<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+
+-->
+
+
+
+<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			/*metadata:{
+				format:'cinelab',
+				src:'metadata.json',
+				load:'json'},*/
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+<div id="charttimeline" style="position:relative;display:block;"></div>
+<div id="tip"></div>
+<script type="text/javascript"> 
+
+// CHART TIMELINE / VERSION PROTOTYPE  ::
+//		- config
+// 		- organisation classe
+// 		!!!- rollover !! 
+// 		!!!!- legend  !!
+//		- time cursor
+// 		- seek !!
+
+/*
+	1 | 1D973D > vert 	> ++ > OK
+	2 | C5A62D > orange	> ?? > Q
+	3 | CE0A15 > rouge  > -- > KO
+	4 | 036AAE > bleu   > == > REF
+	5 | 585858 > gris   > NQ > ""
+*/
+	
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:70,
+					heightmax:70
+					}
+	// Make and define the Raphael area
+	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	
+	var over = false;
+	var tip = $("#tip").hide();
+	var tipText = "";
+	
+	function ChartTimeLine (){
+		
+		var paper = Raphael(config.x,config.y,config.width, config.height);
+		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
+		
+		// variable 
+		
+		var yCoef	  = 2; 					// coef for height of 1 tweet 
+		var frameSize = 5; 					// frame size 
+		var margin 	  = 1;					// marge between frame
+		var lineSize  = 650;				// timeline pixel width 
+		var nbrframes = lineSize/frameSize; // frame numbers
+		var numberOfTweet = 0;				// number of tweet overide later 
+		var duration  = 4299820 ;			// 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;
+			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-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 
+		$.ajax({
+		  dataType: "json",
+		  url:"metadata.json",
+		  success : function(json){
+			trace("load","");
+				$.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; j<item.content['polemics'].length; j++){
+
+										tweets[numberOfTweet] = {
+													id:i,
+													qualification:colorTranslation(item.content['polemics'][j]),
+													yIndicator:MyTime,
+													yframe:Myframe,
+													title:item.content['title'],
+													timeframe:item.begin
+													}
+										numberOfTweet+=1;
+								}
+						}else{
+							//trace("k = ",i);
+							tweets[numberOfTweet] = {
+										id:i,
+										qualification:colorTranslation(""),
+										yIndicator:MyTime,
+										yframe:Myframe,
+										title:item.content['title'],
+										timeframe:item.begin
+							}
+							numberOfTweet+=1;
+						}
+						
+					} else {
+						//trace("tweet qualification = ","null");
+					}
+				});	
+			trace("======= ",numberOfTweet);
+		   DrawTweets ();
+		   
+		  }
+		 });
+			
+		// tweet Drawing (in raphael) 
+		function DrawTweets (){
+			// Count nbr of cluster and tweet in a frame an save int in "frames"
+			numberOfTweet = tweets.length;
+			for(var i=0; i<nbrframes; i++) {	
+				for(var j=0; j<numberOfTweet; j++) {	
+					if (i==tweets[j].yframe){
+						
+						var k = tweets[j].qualification;
+						// make array for frame cluster
+						if(frames[i]==undefined){
+							frames[i] = new Array();
+						}
+						// count clusters
+						if(frames[i][k]==undefined){
+							frames[i][k]=1;
+						}else{
+							frames[i][k]+=1;
+						}
+					}
+				}
+			}
+			
+			// max of tweet by Frame 
+			var max 	= 0; 
+			for(var i=0; i<nbrframes; i++) {
+				var moy	= 0;
+				for (var j=1; j<6; j++){		
+					if (frames[i]!=undefined){
+						if (frames[i][j]!=undefined){
+							moy += frames[i][j]
+						}
+					}
+				}
+				//trace("frame "+i,moy);
+				if (moy>max){max=moy;}
+			}
+			
+			// Draw cluster of tweet by frame ...
+			for(var i=0; i<nbrframes; i++) {
+				var addEheight = 0;
+				slices[i] =  new Array();
+				if (frames[i]!=undefined){
+					for (var j=6; j>0; j--){
+						if (frames[i][j]!=undefined){
+							//trace(" x ",i+" "+j);
+							var Eheight  = frames[i][j]*5;
+							//				x			y									w					h
+							e = paper.rect(i*frameSize, config.heightmax-Eheight-addEheight, frameSize-margin, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+							e.id = i;
+							e.state = 0; // 0 petit // 1 grand
+							e.heightStart = Eheight;
+							e.yStart = config.heightmax-Eheight-addEheight;
+							addEheight +=Eheight;
+							/*
+							e.mouseover(function () {
+								fisheye(this.id,1);
+							}).mouseout(function () {
+								fisheye(this.id,0);
+							});*/
+							slices[i].push(e);
+							//
+							$(e.node).attr('id', 't'+i);
+							$(e.node).attr('title', tweets[i].title);
+							addTip(e.node,  tweets[i].title);
+
+						}			
+					}
+				}
+			}
+		}
+
+		// AddTip  ******************************************************************************
+		function addTip(node, txt){
+			$(node).mouseenter(function(){
+			   tipText = txt;
+			   tip.fadeIn(0);
+			   over = true;
+			}).mouseleave(function(){
+			   tip.fadeOut(0);
+			   over = false;
+			});
+		}	
+	
+	}
+	
+	$(document).mousemove(function(e){
+		if (over){
+			tip.css("left", e.clientX+20).css("top", e.clientY+20);
+			tip.text(tipText);
+		}
+	});
+
+
+
+	ChartTimeLine();
+
+</script>
+
+
+</div>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Polemic tweeter timeline</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type='text/css'> 
-#tip{
-	 position : absolute;
-	 padding : 3px;
-	 z-index: 1000000;
-	 max-width: 200px;
-}	
-#tip {
-		display: none;
-		background: transparent url("../src/css/imgs/white_arrow_long.png");
-		font-size: 12px;
-		height: 125px;
-		width: 180px;
-		padding: 10px;
-		padding-left: 15px;
-		padding-top: 15px;
-		padding-right: 15px;
-		color: black;
-		z-index: 1000000;
-		font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-		overflow:hidden;
-}
-	
-</style>
-</head>
-<body>
-
-<div id="output" name="Ldt-output" style="position:absolute;left:800px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-
--->
-
-
-
-<script type='text/javascript' src='../src/js/LdtPlayer.js'></script>
-
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			/*metadata:{
-				format:'cinelab',
-				src:'metadata.json',
-				load:'json'},*/
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.cybunk.com/iritest/FC/src/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-
-<div id="charttimeline" style="position:relative;display:block;"></div>
-<div id="tip"></div>
-<div id="output"></div>
-<script type="text/javascript"> 
-
-// CHART TIMELINE / VERSION PROTOTYPE  ::
-//		- config
-// 		- organisation classe
-// 		!!!- rollover !! 
-// 		!!!!- legend  !!
-//		- time cursor
-// 		- seek !!
-
-/*
-	1 | 1D973D > vert 	> ++ > OK
-	2 | C5A62D > orange	> ?? > Q
-	3 | CE0A15 > rouge  > -- > KO
-	4 | 036AAE > bleu   > == > REF
-	5 | 585858 > gris   > NQ > ""
-*/
-	
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:70,
-					heightmax:70
-					}
-	// Make and define the Raphael area
-	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	
-	var over = false;
-	var tip = __IriSP.jQuery("#tip").hide();
-	var tipText  = "";
-	var tipColor = "#efefef";
-	
-	function ChartTimeLine (){
-		
-		var paper = Raphael(config.x,config.y,config.width, config.height);
-		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
-		
-		// variable 
-		
-		var yCoef	  = 2; 					// coef for height of 1 tweet 
-		var frameSize = 5; 					// frame size 
-		var margin 	  = 1;					// marge between frame
-		var lineSize  = 650;				// timeline pixel width 
-		var nbrframes = lineSize/frameSize; // frame numbers
-		var numberOfTweet = 0;				// number of tweet overide later 
-		var duration  = 4299820 ;			// 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("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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: "json",
-		  url:"metadata.json",
-		  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; j<item.content['polemics'].length; j++){
-
-										tweets[numberOfTweet] = {
-													id:i,
-													qualification:colorTranslation(item.content['polemics'][j]),
-													yIndicator:MyTime,
-													yframe:Myframe,
-													title:item.content['title'],
-													timeframe:item.begin
-													}
-										numberOfTweet+=1;
-								}
-						}else{
-							//trace("k = ",i);
-							tweets[numberOfTweet] = {
-										id:i,
-										qualification:colorTranslation(""),
-										yIndicator:MyTime,
-										yframe:Myframe,
-										title:item.content['title'],
-										timeframe:item.begin
-							}
-							numberOfTweet+=1;
-						}
-						
-					} else {
-						//trace("tweet qualification = ","null");
-					}
-				});	
-			trace("======= ",numberOfTweet);
-		   DrawTweets ();
-		   
-		  }
-		 });
-			
-
-			
-		// tweet Drawing (in raphael) 
-		function DrawTweets (){
-		// GROUPES TWEET ============================================
-		// Count nbr of cluster and tweet in a frame an save int in "frames"
-			numberOfTweet = tweets.length;
-			for(var i=0; i<nbrframes; i++) {	
-				for(var j=0; j<numberOfTweet; j++) {	
-				
-					if (i==tweets[j].yframe){
-						
-						var k = tweets[j].qualification;
-						
-						// make array for frame cluster
-						if(frames[i]==undefined){
-							frames[i] = {id:i,
-										 qualifVol:new Array(),
-										 mytweetsID:new Array()
-										};
-						}
-						// add my tweet to frame
-						frames[i].mytweetsID.push(tweets[j]);
-						
-						// count opinion by frame
-						if( frames[i].qualifVol[k] == undefined){
-							frames[i].qualifVol[k] = 1;
-						}else{
-							frames[i].qualifVol[k] += 1;
-						}
-						
-					}
-				}
-			}
-		
-		// GROUPES TWEET ============================================		
-		// max of tweet by Frame 
-			var max = 0; 
-			for(var i=0; i<nbrframes; i++) {
-				var moy	= 0;
-				for (var j=0; j<6; j++){		
-					if (frames[i]!=undefined){
-						if (frames[i].qualifVol[j]!=undefined){
-							moy += frames[i].qualifVol[j]
-						}
-					}
-				}
-				//trace("frame "+i,moy);
-				if (moy>max){max=moy;}
-			}
-		
-			var tweetDrawed = new Array();
-			var TweetHeight = 5;
-			// DRAW  TWEETS ============================================
-			for(var i=0; i<nbrframes;i++) {
-				var addEheight = 5;
-				if (frames[i]!=undefined){
-					trace (i+" k=",frames[i].mytweetsID.length);
-					// by type 
-					for (var j=6; j>-1; j--){
-						if (frames[i].qualifVol[j]!=undefined){
-							// show tweet by type 
-							for (var k=0; k<frames[i].mytweetsID.length; k++){
-								if (frames[i].mytweetsID[k].qualification==j){
-									e = paper.rect( i*frameSize, 					// x
-													config.heightmax-addEheight,	// y
-													frameSize-margin,				// width
-													TweetHeight						// height
-													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-									addEheight +=TweetHeight;
-									e.time= frames[i].mytweetsID[k].timeframe;
-									e.title= frames[i].mytweetsID[k].title;
-									e.mouseover(function () {
-										this.attr({stroke:"#fff","stroke-width":5});
-										this.toFront();
-									}).mouseout(function () {
-										this.attr({stroke:"#00","stroke-width":0.1});	
-									}).mousedown(function () {
-										__IriSP.MyApiPlayer.seek(this.time/1000)
-									});
-									__IriSP.jQuery(e.node).attr('id', 't'+k+'');
-									__IriSP.jQuery(e.node).attr('title', frames[i].mytweetsID[k].title);
-									__IriSP.jQuery(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
-									addTip(e.node, frames[i].mytweetsID[k].title,colors[j]);	
-									//frames[i].mytweetsID.pop();
-								}
-							}
-						}
-					}
-				}
-			}
-			
-			
-		}
-
-		// AddTip  ******************************************************************************
-		function addTip(node, txt,color){
-			__IriSP.jQuery(node).mouseenter(function(){
-			   tipText = txt;
-			   tip.fadeIn(0);
-			   tipColor = color;
-			   over = true;
-			}).mouseleave(function(){
-			   tip.fadeOut(0);
-			   over = false;
-			});
-		}	
-	
-	}
-	
-	__IriSP.jQuery(document).mousemove(function(e){
-		if (over){
-			tip.css("left", e.pageX-106).css("top", e.pageY-160);
-			tip.css("color", tipColor)
-			tip.text(tipText);
-		}
-	});
-
-
-
-	ChartTimeLine();
-
-</script>
-
-
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Polemic tweeter timeline</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style type='text/css'> 
+#tip{
+	 position : absolute;
+	 padding : 3px;
+	 z-index: 1000000;
+	 max-width: 200px;
+}	
+#tip {
+		display: none;
+		background: transparent url("../src/css/imgs/white_arrow_long.png");
+		font-size: 12px;
+		height: 125px;
+		width: 180px;
+		padding: 10px;
+		padding-left: 15px;
+		padding-top: 15px;
+		padding-right: 15px;
+		color: black;
+		z-index: 1000000;
+		font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+		overflow:hidden;
+}
+	
+</style>
+</head>
+<body>
+
+<div id="output" name="Ldt-output" style="position:absolute;left:800px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+
+-->
+
+
+
+<script type='text/javascript' src='../src/js/LdtPlayer.js'></script>
+
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			/*metadata:{
+				format:'cinelab',
+				src:'metadata.json',
+				load:'json'},*/
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.cybunk.com/iritest/FC/src/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+
+<div id="charttimeline" style="position:relative;display:block;"></div>
+<div id="tip"></div>
+<div id="output"></div>
+<script type="text/javascript"> 
+
+// CHART TIMELINE / VERSION PROTOTYPE  ::
+//		- config
+// 		- organisation classe
+// 		!!!- rollover !! 
+// 		!!!!- legend  !!
+//		- time cursor
+// 		- seek !!
+
+/*
+	1 | 1D973D > vert 	> ++ > OK
+	2 | C5A62D > orange	> ?? > Q
+	3 | CE0A15 > rouge  > -- > KO
+	4 | 036AAE > bleu   > == > REF
+	5 | 585858 > gris   > NQ > ""
+*/
+	
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:70,
+					heightmax:70
+					}
+	// Make and define the Raphael area
+	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	
+	var over = false;
+	var tip = __IriSP.jQuery("#tip").hide();
+	var tipText  = "";
+	var tipColor = "#efefef";
+	
+	function ChartTimeLine (){
+		
+		var paper = Raphael(config.x,config.y,config.width, config.height);
+		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
+		
+		// variable 
+		
+		var yCoef	  = 2; 					// coef for height of 1 tweet 
+		var frameSize = 5; 					// frame size 
+		var margin 	  = 1;					// marge between frame
+		var lineSize  = 650;				// timeline pixel width 
+		var nbrframes = lineSize/frameSize; // frame numbers
+		var numberOfTweet = 0;				// number of tweet overide later 
+		var duration  = 4299820 ;			// 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("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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: "json",
+		  url:"metadata.json",
+		  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; j<item.content['polemics'].length; j++){
+
+										tweets[numberOfTweet] = {
+													id:i,
+													qualification:colorTranslation(item.content['polemics'][j]),
+													yIndicator:MyTime,
+													yframe:Myframe,
+													title:item.content['title'],
+													timeframe:item.begin
+													}
+										numberOfTweet+=1;
+								}
+						}else{
+							//trace("k = ",i);
+							tweets[numberOfTweet] = {
+										id:i,
+										qualification:colorTranslation(""),
+										yIndicator:MyTime,
+										yframe:Myframe,
+										title:item.content['title'],
+										timeframe:item.begin
+							}
+							numberOfTweet+=1;
+						}
+						
+					} else {
+						//trace("tweet qualification = ","null");
+					}
+				});	
+			trace("======= ",numberOfTweet);
+		   DrawTweets ();
+		   
+		  }
+		 });
+			
+
+			
+		// tweet Drawing (in raphael) 
+		function DrawTweets (){
+		// GROUPES TWEET ============================================
+		// Count nbr of cluster and tweet in a frame an save int in "frames"
+			numberOfTweet = tweets.length;
+			for(var i=0; i<nbrframes; i++) {	
+				for(var j=0; j<numberOfTweet; j++) {	
+				
+					if (i==tweets[j].yframe){
+						
+						var k = tweets[j].qualification;
+						
+						// make array for frame cluster
+						if(frames[i]==undefined){
+							frames[i] = {id:i,
+										 qualifVol:new Array(),
+										 mytweetsID:new Array()
+										};
+						}
+						// add my tweet to frame
+						frames[i].mytweetsID.push(tweets[j]);
+						
+						// count opinion by frame
+						if( frames[i].qualifVol[k] == undefined){
+							frames[i].qualifVol[k] = 1;
+						}else{
+							frames[i].qualifVol[k] += 1;
+						}
+						
+					}
+				}
+			}
+		
+		// GROUPES TWEET ============================================		
+		// max of tweet by Frame 
+			var max = 0; 
+			for(var i=0; i<nbrframes; i++) {
+				var moy	= 0;
+				for (var j=0; j<6; j++){		
+					if (frames[i]!=undefined){
+						if (frames[i].qualifVol[j]!=undefined){
+							moy += frames[i].qualifVol[j]
+						}
+					}
+				}
+				//trace("frame "+i,moy);
+				if (moy>max){max=moy;}
+			}
+		
+			var tweetDrawed = new Array();
+			var TweetHeight = 5;
+			// DRAW  TWEETS ============================================
+			for(var i=0; i<nbrframes;i++) {
+				var addEheight = 5;
+				if (frames[i]!=undefined){
+					trace (i+" k=",frames[i].mytweetsID.length);
+					// by type 
+					for (var j=6; j>-1; j--){
+						if (frames[i].qualifVol[j]!=undefined){
+							// show tweet by type 
+							for (var k=0; k<frames[i].mytweetsID.length; k++){
+								if (frames[i].mytweetsID[k].qualification==j){
+									e = paper.rect( i*frameSize, 					// x
+													config.heightmax-addEheight,	// y
+													frameSize-margin,				// width
+													TweetHeight						// height
+													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+									addEheight +=TweetHeight;
+									e.time= frames[i].mytweetsID[k].timeframe;
+									e.title= frames[i].mytweetsID[k].title;
+									e.mouseover(function () {
+										this.attr({stroke:"#fff","stroke-width":5});
+										this.toFront();
+									}).mouseout(function () {
+										this.attr({stroke:"#00","stroke-width":0.1});	
+									}).mousedown(function () {
+										__IriSP.MyApiPlayer.seek(this.time/1000)
+									});
+									__IriSP.jQuery(e.node).attr('id', 't'+k+'');
+									__IriSP.jQuery(e.node).attr('title', frames[i].mytweetsID[k].title);
+									__IriSP.jQuery(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
+									addTip(e.node, frames[i].mytweetsID[k].title,colors[j]);	
+									//frames[i].mytweetsID.pop();
+								}
+							}
+						}
+					}
+				}
+			}
+			
+			
+		}
+
+		// AddTip  ******************************************************************************
+		function addTip(node, txt,color){
+			__IriSP.jQuery(node).mouseenter(function(){
+			   tipText = txt;
+			   tip.fadeIn(0);
+			   tipColor = color;
+			   over = true;
+			}).mouseleave(function(){
+			   tip.fadeOut(0);
+			   over = false;
+			});
+		}	
+	
+	}
+	
+	__IriSP.jQuery(document).mousemove(function(e){
+		if (over){
+			tip.css("left", e.pageX-106).css("top", e.pageY-160);
+			tip.css("color", tipColor)
+			tip.text(tipText);
+		}
+	});
+
+
+
+	ChartTimeLine();
+
+</script>
+
+
+</div>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Polemical tweet timeline</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style type='text/css'> 
-#tip{
-	 position : absolute;
-	 padding : 3px;
-	 z-index: 1000000;
-	 max-width: 200px;
-}	
-#tip {
-		display: none;
-		background: transparent url("../src/css/imgs/white_arrow_long.png");
-		font-size: 12px;
-		height: 125px;
-		width: 180px;
-		padding: 10px;
-		padding-left: 15px;
-		padding-top: 15px;
-		padding-right: 15px;
-		color: black;
-		z-index: 1000000;
-		font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-		overflow:hidden;
-}
-	
-</style>
-</head>
-<body>
-
-<div id="output" name="Ldt-output" style="position:absolute;left:800px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-
--->
-
-
-
-<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
-
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			/*metadata:{
-				format:'cinelab',
-				src:'metadata.json',
-				load:'json'},*/
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-
-<div id="charttimeline" style="position:relative;display:block;"></div>
-<div id="tip"></div>
-<div id="output"></div>
-<script type="text/javascript"> 
-
-// CHART TIMELINE / VERSION PROTOTYPE  ::
-//		- config
-// 		- organisation classe
-// 		!!!- rollover !! 
-// 		!!!!- legend  !!
-//		- time cursor
-// 		- seek !!
-
-/*
-	1 | 1D973D > vert 	> ++ > OK
-	2 | C5A62D > orange	> ?? > Q
-	3 | CE0A15 > rouge  > -- > KO
-	4 | 036AAE > bleu   > == > REF
-	5 | 585858 > gris   > NQ > ""
-*/
-	
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:70,
-					heightmax:70
-					}
-	// Make and define the Raphael area
-	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	
-	var over = false;
-	var tip = $("#tip").hide();
-	var tipText  = "";
-	var tipColor = "#efefef";
-	
-	function ChartTimeLine (){
-		
-		var paper = Raphael(config.x,config.y,config.width, config.height);
-		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
-		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
-		
-		// variable 
-		
-		var yCoef	  = 2; 					// coef for height of 1 tweet 
-		var frameSize = 5; 					// frame size 
-		var margin 	  = 1;					// marge between frame
-		var lineSize  = 650;				// timeline pixel width 
-		var nbrframes = lineSize/frameSize; // frame numbers
-		var numberOfTweet = 0;				// number of tweet overide later 
-		var duration  = 4299820 ;			// 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;
-			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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 
-		$.ajax({
-		  dataType: "json",
-		  url:"metadata.json",
-		  success : function(json){
-			trace("load","");
-				$.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; j<item.content['polemics'].length; j++){
-
-										tweets[numberOfTweet] = {
-													id:i,
-													qualification:colorTranslation(item.content['polemics'][j]),
-													yIndicator:MyTime,
-													yframe:Myframe,
-													title:item.content['title'],
-													timeframe:item.begin
-													}
-										numberOfTweet+=1;
-								}
-						}else{
-							//trace("k = ",i);
-							tweets[numberOfTweet] = {
-										id:i,
-										qualification:colorTranslation(""),
-										yIndicator:MyTime,
-										yframe:Myframe,
-										title:item.content['title'],
-										timeframe:item.begin
-							}
-							numberOfTweet+=1;
-						}
-						
-					} else {
-						//trace("tweet qualification = ","null");
-					}
-				});	
-			trace("======= ",numberOfTweet);
-		   DrawTweets ();
-		   
-		  }
-		 });
-			
-
-			
-		// tweet Drawing (in raphael) 
-		function DrawTweets (){
-		// GROUPES TWEET ============================================
-		// Count nbr of cluster and tweet in a frame an save int in "frames"
-			numberOfTweet = tweets.length;
-			for(var i=0; i<nbrframes; i++) {	
-				for(var j=0; j<numberOfTweet; j++) {	
-				
-					if (i==tweets[j].yframe){
-						
-						var k = tweets[j].qualification;
-						
-						// make array for frame cluster
-						if(frames[i]==undefined){
-							frames[i] = {id:i,
-										 qualifVol:new Array(),
-										 mytweetsID:new Array()
-										};
-						}
-						// add my tweet to frame
-						frames[i].mytweetsID.push(tweets[j]);
-						
-						// count opinion by frame
-						if( frames[i].qualifVol[k] == undefined){
-							frames[i].qualifVol[k] = 1;
-						}else{
-							frames[i].qualifVol[k] += 1;
-						}
-						
-					}
-				}
-			}
-		
-		// GROUPES TWEET ============================================		
-		// max of tweet by Frame 
-			var max = 0; 
-			for(var i=0; i<nbrframes; i++) {
-				var moy	= 0;
-				for (var j=0; j<6; j++){		
-					if (frames[i]!=undefined){
-						if (frames[i].qualifVol[j]!=undefined){
-							moy += frames[i].qualifVol[j]
-						}
-					}
-				}
-				//trace("frame "+i,moy);
-				if (moy>max){max=moy;}
-			}
-		
-			var tweetDrawed = new Array();
-			var TweetHeight = 5;
-			// DRAW  TWEETS ============================================
-			for(var i=0; i<nbrframes;i++) {
-				var addEheight = 5;
-				if (frames[i]!=undefined){
-					trace (i+" k=",frames[i].mytweetsID.length);
-					// by type 
-					for (var j=6; j>-1; j--){
-						if (frames[i].qualifVol[j]!=undefined){
-							// show tweet by type 
-							for (var k=0; k<frames[i].mytweetsID.length; k++){
-								if (frames[i].mytweetsID[k].qualification==j){
-									e = paper.rect( i*frameSize, 					// x
-													config.heightmax-addEheight,	// y
-													frameSize-margin,				// width
-													TweetHeight						// height
-													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-									addEheight +=TweetHeight;
-									e.time= frames[i].mytweetsID[k].timeframe;
-									e.title= frames[i].mytweetsID[k].title;
-									e.mouseover(function () {
-										this.attr({stroke:"#fff","stroke-width":5});
-										this.toFront();
-									}).mouseout(function () {
-										this.attr({stroke:"#00","stroke-width":0.1});	
-									}).mousedown(function () {
-										__IriSP.MyApiPlayer.seek(this.time/1000)
-									});
-									$(e.node).attr('id', 't'+k+'');
-									$(e.node).attr('title', frames[i].mytweetsID[k].title);
-									$(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
-									addTip(e.node, frames[i].mytweetsID[k].title,colors[j]);	
-									//frames[i].mytweetsID.pop();
-								}
-							}
-						}
-					}
-				}
-			}
-			
-			
-		}
-
-		// AddTip  ******************************************************************************
-		function addTip(node, txt,color){
-			$(node).mouseenter(function(){
-			   tipText = txt;
-			   tip.fadeIn(0);
-			   tipColor = color;
-			   over = true;
-			}).mouseleave(function(){
-			   tip.fadeOut(0);
-			   over = false;
-			});
-		}	
-	
-	}
-	
-	$(document).mousemove(function(e){
-		if (over){
-			tip.css("left", e.pageX-106).css("top", e.pageY-160);
-			tip.css("color", tipColor)
-			tip.text(tipText);
-		}
-	});
-
-
-
-	//ChartTimeLine();
-
-</script>
-
-
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Polemical tweet timeline</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <style type='text/css'> 
+#tip{
+	 position : absolute;
+	 padding : 3px;
+	 z-index: 1000000;
+	 max-width: 200px;
+}	
+#tip {
+		display: none;
+		background: transparent url("../src/css/imgs/white_arrow_long.png");
+		font-size: 12px;
+		height: 125px;
+		width: 180px;
+		padding: 10px;
+		padding-left: 15px;
+		padding-top: 15px;
+		padding-right: 15px;
+		color: black;
+		z-index: 1000000;
+		font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+		overflow:hidden;
+}
+	
+</style>
+</head>
+<body>
+
+<div id="output" name="Ldt-output" style="position:absolute;left:800px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+
+-->
+
+
+
+<script type='text/javascript' src='http://www.iri.centrepompidou.fr/dev/ldt/static/ldt/js/LdtPlayer.min.js'></script>
+
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			/*metadata:{
+				format:'cinelab',
+				src:'metadata.json',
+				load:'json'},*/
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+
+<div id="charttimeline" style="position:relative;display:block;"></div>
+<div id="tip"></div>
+<div id="output"></div>
+<script type="text/javascript"> 
+
+// CHART TIMELINE / VERSION PROTOTYPE  ::
+//		- config
+// 		- organisation classe
+// 		!!!- rollover !! 
+// 		!!!!- legend  !!
+//		- time cursor
+// 		- seek !!
+
+/*
+	1 | 1D973D > vert 	> ++ > OK
+	2 | C5A62D > orange	> ?? > Q
+	3 | CE0A15 > rouge  > -- > KO
+	4 | 036AAE > bleu   > == > REF
+	5 | 585858 > gris   > NQ > ""
+*/
+	
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:70,
+					heightmax:70
+					}
+	// Make and define the Raphael area
+	//var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	
+	var over = false;
+	var tip = $("#tip").hide();
+	var tipText  = "";
+	var tipColor = "#efefef";
+	
+	function ChartTimeLine (){
+		
+		var paper = Raphael(config.x,config.y,config.width, config.height);
+		paper.rect(0,20,config.width,config.heightmax-20).attr({fill:"#fff","stroke-width":0.1,opacity: 0.1});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,config.width,1).attr({fill:"#fff",stroke: "none"});	
+		paper.rect(0,20,1,1).attr({fill:"#fff",stroke: "none"});	
+		
+		// variable 
+		
+		var yCoef	  = 2; 					// coef for height of 1 tweet 
+		var frameSize = 5; 					// frame size 
+		var margin 	  = 1;					// marge between frame
+		var lineSize  = 650;				// timeline pixel width 
+		var nbrframes = lineSize/frameSize; // frame numbers
+		var numberOfTweet = 0;				// number of tweet overide later 
+		var duration  = 4299820 ;			// 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;
+			$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").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 
+		$.ajax({
+		  dataType: "json",
+		  url:"metadata.json",
+		  success : function(json){
+			trace("load","");
+				$.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; j<item.content['polemics'].length; j++){
+
+										tweets[numberOfTweet] = {
+													id:i,
+													qualification:colorTranslation(item.content['polemics'][j]),
+													yIndicator:MyTime,
+													yframe:Myframe,
+													title:item.content['title'],
+													timeframe:item.begin
+													}
+										numberOfTweet+=1;
+								}
+						}else{
+							//trace("k = ",i);
+							tweets[numberOfTweet] = {
+										id:i,
+										qualification:colorTranslation(""),
+										yIndicator:MyTime,
+										yframe:Myframe,
+										title:item.content['title'],
+										timeframe:item.begin
+							}
+							numberOfTweet+=1;
+						}
+						
+					} else {
+						//trace("tweet qualification = ","null");
+					}
+				});	
+			trace("======= ",numberOfTweet);
+		   DrawTweets ();
+		   
+		  }
+		 });
+			
+
+			
+		// tweet Drawing (in raphael) 
+		function DrawTweets (){
+		// GROUPES TWEET ============================================
+		// Count nbr of cluster and tweet in a frame an save int in "frames"
+			numberOfTweet = tweets.length;
+			for(var i=0; i<nbrframes; i++) {	
+				for(var j=0; j<numberOfTweet; j++) {	
+				
+					if (i==tweets[j].yframe){
+						
+						var k = tweets[j].qualification;
+						
+						// make array for frame cluster
+						if(frames[i]==undefined){
+							frames[i] = {id:i,
+										 qualifVol:new Array(),
+										 mytweetsID:new Array()
+										};
+						}
+						// add my tweet to frame
+						frames[i].mytweetsID.push(tweets[j]);
+						
+						// count opinion by frame
+						if( frames[i].qualifVol[k] == undefined){
+							frames[i].qualifVol[k] = 1;
+						}else{
+							frames[i].qualifVol[k] += 1;
+						}
+						
+					}
+				}
+			}
+		
+		// GROUPES TWEET ============================================		
+		// max of tweet by Frame 
+			var max = 0; 
+			for(var i=0; i<nbrframes; i++) {
+				var moy	= 0;
+				for (var j=0; j<6; j++){		
+					if (frames[i]!=undefined){
+						if (frames[i].qualifVol[j]!=undefined){
+							moy += frames[i].qualifVol[j]
+						}
+					}
+				}
+				//trace("frame "+i,moy);
+				if (moy>max){max=moy;}
+			}
+		
+			var tweetDrawed = new Array();
+			var TweetHeight = 5;
+			// DRAW  TWEETS ============================================
+			for(var i=0; i<nbrframes;i++) {
+				var addEheight = 5;
+				if (frames[i]!=undefined){
+					trace (i+" k=",frames[i].mytweetsID.length);
+					// by type 
+					for (var j=6; j>-1; j--){
+						if (frames[i].qualifVol[j]!=undefined){
+							// show tweet by type 
+							for (var k=0; k<frames[i].mytweetsID.length; k++){
+								if (frames[i].mytweetsID[k].qualification==j){
+									e = paper.rect( i*frameSize, 					// x
+													config.heightmax-addEheight,	// y
+													frameSize-margin,				// width
+													TweetHeight						// height
+													).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+									addEheight +=TweetHeight;
+									e.time= frames[i].mytweetsID[k].timeframe;
+									e.title= frames[i].mytweetsID[k].title;
+									e.mouseover(function () {
+										this.attr({stroke:"#fff","stroke-width":5});
+										this.toFront();
+									}).mouseout(function () {
+										this.attr({stroke:"#00","stroke-width":0.1});	
+									}).mousedown(function () {
+										__IriSP.MyApiPlayer.seek(this.time/1000)
+									});
+									$(e.node).attr('id', 't'+k+'');
+									$(e.node).attr('title', frames[i].mytweetsID[k].title);
+									$(e.node).attr('begin',  frames[i].mytweetsID[k].timeframe);
+									addTip(e.node, frames[i].mytweetsID[k].title,colors[j]);	
+									//frames[i].mytweetsID.pop();
+								}
+							}
+						}
+					}
+				}
+			}
+			
+			
+		}
+
+		// AddTip  ******************************************************************************
+		function addTip(node, txt,color){
+			$(node).mouseenter(function(){
+			   tipText = txt;
+			   tip.fadeIn(0);
+			   tipColor = color;
+			   over = true;
+			}).mouseleave(function(){
+			   tip.fadeOut(0);
+			   over = false;
+			});
+		}	
+	
+	}
+	
+	$(document).mousemove(function(e){
+		if (over){
+			tip.css("left", e.pageX-106).css("top", e.pageY-160);
+			tip.css("color", tipColor)
+			tip.text(tipText);
+		}
+	});
+
+
+
+	//ChartTimeLine();
+
+</script>
+
+
+</div>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title>CSS Mac Dock</title>
-<script type="text/javascript" src="js/jquery.js"></script>
-<script type="text/javascript" src="js/interface.js"></script>
-
-<!--[if lt IE 7]>
- <style type="text/css">
- .dock img { behavior: url(iepngfix.htc) }
- </style>
-<![endif]-->
-
-<link href="style.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<!--bottom dock -->
-<div class="dock" id="dock2">
-  <div class="dock-container2">
-  <a class="dock-item2" href="#"><span>Home</span><img src="images/home.png" alt="home" /></a> 
-  <a class="dock-item2" href="#"><span>Contact</span><img src="images/email.png" alt="contact" /></a> 
-  <a class="dock-item2" href="#"><span>Portfolio</span><img src="images/portfolio.png" alt="portfolio" /></a> 
-  <a class="dock-item2" href="#"><span>Music</span><img src="images/music.png" alt="music" /></a> 
-  <a class="dock-item2" href="#"><span>Video</span><img src="images/video.png" alt="video" /></a> 
-  <a class="dock-item2" href="#"><span>History</span><img src="images/history.png" alt="history" /></a> 
-  <a class="dock-item2" href="#"><span>Calendar</span><img src="images/calendar.png" alt="calendar" /></a> 
-  <a class="dock-item2" href="#"><span>Links</span><img src="images/link.png" alt="links" /></a> 
-  <a class="dock-item2" href="#"><span>RSS</span><img src="images/rss.png" alt="rss" /></a> 
-  <a class="dock-item2" href="#"><span>RSS2</span><img src="images/rss2.png" alt="rss" /></a> 
-  </div>
-</div>
-
-<!--dock menu JS options -->
-<script type="text/javascript">
-	
-	$(document).ready(
-		function()
-		{
-			$('#dock2').Fisheye(
-				{
-					maxWidth: 60,
-					items: 'a',
-					itemsText: 'span',
-					container: '.dock-container2',
-					itemWidth: 40,
-					proximity: 80,
-					alignment : 'left',
-					valign: 'bottom',
-					halign : 'center'
-				}
-			)
-		}
-	);
-
-</script>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>CSS Mac Dock</title>
+<script type="text/javascript" src="js/jquery.js"></script>
+<script type="text/javascript" src="js/interface.js"></script>
+
+<!--[if lt IE 7]>
+ <style type="text/css">
+ .dock img { behavior: url(iepngfix.htc) }
+ </style>
+<![endif]-->
+
+<link href="style.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<!--bottom dock -->
+<div class="dock" id="dock2">
+  <div class="dock-container2">
+  <a class="dock-item2" href="#"><span>Home</span><img src="images/home.png" alt="home" /></a> 
+  <a class="dock-item2" href="#"><span>Contact</span><img src="images/email.png" alt="contact" /></a> 
+  <a class="dock-item2" href="#"><span>Portfolio</span><img src="images/portfolio.png" alt="portfolio" /></a> 
+  <a class="dock-item2" href="#"><span>Music</span><img src="images/music.png" alt="music" /></a> 
+  <a class="dock-item2" href="#"><span>Video</span><img src="images/video.png" alt="video" /></a> 
+  <a class="dock-item2" href="#"><span>History</span><img src="images/history.png" alt="history" /></a> 
+  <a class="dock-item2" href="#"><span>Calendar</span><img src="images/calendar.png" alt="calendar" /></a> 
+  <a class="dock-item2" href="#"><span>Links</span><img src="images/link.png" alt="links" /></a> 
+  <a class="dock-item2" href="#"><span>RSS</span><img src="images/rss.png" alt="rss" /></a> 
+  <a class="dock-item2" href="#"><span>RSS2</span><img src="images/rss2.png" alt="rss" /></a> 
+  </div>
+</div>
+
+<!--dock menu JS options -->
+<script type="text/javascript">
+	
+	$(document).ready(
+		function()
+		{
+			$('#dock2').Fisheye(
+				{
+					maxWidth: 60,
+					items: 'a',
+					itemsText: 'span',
+					container: '.dock-container2',
+					itemWidth: 40,
+					proximity: 80,
+					alignment : 'left',
+					valign: 'bottom',
+					halign : 'center'
+				}
+			)
+		}
+	);
+
+</script>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title>CSS Mac Dock</title>
-<script type="text/javascript" src="js/jquery.js"></script>
-<script type="text/javascript" src="js/interface.js"></script>
-
-<!--[if lt IE 7]>
- <style type="text/css">
- div, img { behavior: url(iepngfix.htc) }
- </style>
-<![endif]-->
-
-<link href="style.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div class="dock" id="dock">
-  <div class="dock-container">
-  <a class="dock-item" href="#"><img src="images/home.png" alt="home" /><span>Home</span></a> 
-  <a class="dock-item" href="#"><img src="images/email.png" alt="contact" /><span>Contact</span></a> 
-  <a class="dock-item" href="#"><img src="images/portfolio.png" alt="portfolio" /><span>Portfolio</span></a> 
-  <a class="dock-item" href="#"><img src="images/music.png" alt="music" /><span>Music</span></a> 
-  <a class="dock-item" href="#"><img src="images/video.png" alt="video" /><span>Video</span></a> 
-  <a class="dock-item" href="#"><img src="images/history.png" alt="history" /><span>History</span></a> 
-  <a class="dock-item" href="#"><img src="images/calendar.png" alt="calendar" /><span>Calendar</span></a> 
-  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a> 
-</div>
-</div>
-<script type="text/javascript">
-	
-	$(document).ready(
-		function()
-		{
-			$('#dock').Fisheye(
-				{
-					maxWidth: 50,
-					items: 'a',
-					itemsText: 'span',
-					container: '.dock-container',
-					itemWidth: 40,
-					proximity: 90,
-					halign : 'center'
-				}
-			)
-		}
-	);
-
-</script>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>CSS Mac Dock</title>
+<script type="text/javascript" src="js/jquery.js"></script>
+<script type="text/javascript" src="js/interface.js"></script>
+
+<!--[if lt IE 7]>
+ <style type="text/css">
+ div, img { behavior: url(iepngfix.htc) }
+ </style>
+<![endif]-->
+
+<link href="style.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div class="dock" id="dock">
+  <div class="dock-container">
+  <a class="dock-item" href="#"><img src="images/home.png" alt="home" /><span>Home</span></a> 
+  <a class="dock-item" href="#"><img src="images/email.png" alt="contact" /><span>Contact</span></a> 
+  <a class="dock-item" href="#"><img src="images/portfolio.png" alt="portfolio" /><span>Portfolio</span></a> 
+  <a class="dock-item" href="#"><img src="images/music.png" alt="music" /><span>Music</span></a> 
+  <a class="dock-item" href="#"><img src="images/video.png" alt="video" /><span>Video</span></a> 
+  <a class="dock-item" href="#"><img src="images/history.png" alt="history" /><span>History</span></a> 
+  <a class="dock-item" href="#"><img src="images/calendar.png" alt="calendar" /><span>Calendar</span></a> 
+  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a> 
+</div>
+</div>
+<script type="text/javascript">
+	
+	$(document).ready(
+		function()
+		{
+			$('#dock').Fisheye(
+				{
+					maxWidth: 50,
+					items: 'a',
+					itemsText: 'span',
+					container: '.dock-container',
+					itemWidth: 40,
+					proximity: 90,
+					halign : 'center'
+				}
+			)
+		}
+	);
+
+</script>
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<title>CSS Dock Menu</title>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="js/fisheye.js"></script>
-<script type="text/javascript" src="js/easing.js"></script>
-<script type="text/javascript" src="js/iutil.js"></script>
-
-<link href="style.css" rel="stylesheet" type="text/css" />
-
-<!--[if lt IE 7]>
- <style type="text/css">
- .dock img { behavior: url(iepngfix.htc) }
- </style>
-<![endif]-->
-
-</head>
-<body>
-<!--top dock -->
-<div class="dock" id="dock">
-  <div class="dock-container">
-	  <a class="dock-item" href="#"><img src="images/home.png" alt="home" /><span>Home</span></a> 
-	  <a class="dock-item" href="#"><img src="images/email.png" alt="contact" /><span>Contact</span></a> 
-	  <a class="dock-item" href="#"><img src="images/portfolio.png" alt="portfolio" /><span>Portfolio</span></a> 
-	  <a class="dock-item" href="#"><img src="images/music.png" alt="music" /><span>Music</span></a> 
-	  <a class="dock-item" href="#"><img src="images/video.png" alt="video" /><span>Video</span></a> 
-	  <a class="dock-item" href="#"><img src="images/history.png" alt="history" /><span>History</span></a> 
-	  <a class="dock-item" href="#"><img src="images/calendar.png" alt="calendar" /><span>Calendar</span></a> 
-	  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a>
-	  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a> 
-	  <a class="dock-item" href="#"><img src="images/rss2.png" alt="rss" /><span>RSS2</span></a>
-  </div> 
-</div>
-
-<!--bottom dock -->
-<div class="dock" id="dock2">
-  <div class="dock-container2">
-	  <a class="dock-item2" href="#"><span>Home</span><img src="images/home.png" alt="home" /></a> 
-	  <a class="dock-item2" href="#"><span>Contact</span><img src="images/email.png" alt="contact" /></a> 
-	  <a class="dock-item2" href="#"><span>Portfolio</span><img src="images/portfolio.png" alt="portfolio" /></a> 
-	  <a class="dock-item2" href="#"><span>Music</span><img src="images/music.png" alt="music" /></a> 
-	  <a class="dock-item2" href="#"><span>Video</span><img src="images/video.png" alt="video" /></a> 
-	  <a class="dock-item2" href="#"><span>History</span><img src="images/history.png" alt="history" /></a> 
-	  <a class="dock-item2" href="#"><span>Calendar</span><img src="images/calendar.png" alt="calendar" /></a> 
-	  <a class="dock-item2" href="#"><span>Links</span><img src="images/link.png" alt="links" /></a> 
-	  <a class="dock-item2" href="#"><span>RSS</span><img src="images/rss.png" alt="rss" /></a> 
-	  <a class="dock-item2" href="#"><span>RSS2</span><img src="images/rss2.png" alt="rss" /></a> 
-  </div>
-</div>
-
-<!--dock menu JS options -->
-<script type="text/javascript">
-	
-	$(document).ready(
-		function()
-		{
-			$('#dock2').Fisheye(
-				{
-					maxWidth: 60,
-					items: 'a',
-					itemsText: 'span',
-					container: '.dock-container2',
-					itemWidth: 40,
-					proximity: 80,
-					alignment : 'left',
-					valign: 'bottom',
-					halign : 'center'
-				}
-			)
-		}
-	);
-
-</script>
-
-
-<script type="text/javascript" src="../raphael-min.js"></script>
-<div id="timetweet" > </div>
-<script type="text/javascript"> 
-
-
-// Creates canvas 320  200 at 10, 50
-var paper = Raphael("timetweet",500, 50, 500, 200);
-$("#timetweet > svg").attr("id","MyCanvas");
-	lineSize : 500;
-	
-	
-	element = new Array();
-	
-	
-    position = 'left';
-    //rect = paper.rect(20, 20, 50, 50).attr({"fill": "#fbb"});
-	//rect.attr({"stroke-width":1});
-	
-	for(var i=0; i<100; i++) {
-		var x 		= 5*i;
-		var width   = Math.floor(Math.random()*20);
-		p = element[i]  = paper.rect(x, 50-width , 5, width ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0."+i+", 1, 1)",});	
-		
-	}
-	
-	for(var i=0; i<element.length; i++) {
-		 MyElement = element[i];
-		 $(MyElement.node).mouseover(function (){
-			var heightM = Math.floor(Math.random()*50)
-			this.parent.animate({height:heightM }, 400, "bounce");
-		}); 
-	}
-
-		$('#MyCanvas').Fisheye(
-				{
-					maxWidth: 500,
-					items: 'rect',
-					itemsText: 'span',
-					container: '#MyCanvas',
-					itemWidth: 40,
-					proximity: 80,
-					alignment : 'left',
-					valign: 'bottom',
-					halign : 'center'
-				}
-			)
-
-	
-</script>
-yoooooooooooooooooo 
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+<title>CSS Dock Menu</title>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="js/fisheye.js"></script>
+<script type="text/javascript" src="js/easing.js"></script>
+<script type="text/javascript" src="js/iutil.js"></script>
+
+<link href="style.css" rel="stylesheet" type="text/css" />
+
+<!--[if lt IE 7]>
+ <style type="text/css">
+ .dock img { behavior: url(iepngfix.htc) }
+ </style>
+<![endif]-->
+
+</head>
+<body>
+<!--top dock -->
+<div class="dock" id="dock">
+  <div class="dock-container">
+	  <a class="dock-item" href="#"><img src="images/home.png" alt="home" /><span>Home</span></a> 
+	  <a class="dock-item" href="#"><img src="images/email.png" alt="contact" /><span>Contact</span></a> 
+	  <a class="dock-item" href="#"><img src="images/portfolio.png" alt="portfolio" /><span>Portfolio</span></a> 
+	  <a class="dock-item" href="#"><img src="images/music.png" alt="music" /><span>Music</span></a> 
+	  <a class="dock-item" href="#"><img src="images/video.png" alt="video" /><span>Video</span></a> 
+	  <a class="dock-item" href="#"><img src="images/history.png" alt="history" /><span>History</span></a> 
+	  <a class="dock-item" href="#"><img src="images/calendar.png" alt="calendar" /><span>Calendar</span></a> 
+	  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a>
+	  <a class="dock-item" href="#"><img src="images/rss.png" alt="rss" /><span>RSS</span></a> 
+	  <a class="dock-item" href="#"><img src="images/rss2.png" alt="rss" /><span>RSS2</span></a>
+  </div> 
+</div>
+
+<!--bottom dock -->
+<div class="dock" id="dock2">
+  <div class="dock-container2">
+	  <a class="dock-item2" href="#"><span>Home</span><img src="images/home.png" alt="home" /></a> 
+	  <a class="dock-item2" href="#"><span>Contact</span><img src="images/email.png" alt="contact" /></a> 
+	  <a class="dock-item2" href="#"><span>Portfolio</span><img src="images/portfolio.png" alt="portfolio" /></a> 
+	  <a class="dock-item2" href="#"><span>Music</span><img src="images/music.png" alt="music" /></a> 
+	  <a class="dock-item2" href="#"><span>Video</span><img src="images/video.png" alt="video" /></a> 
+	  <a class="dock-item2" href="#"><span>History</span><img src="images/history.png" alt="history" /></a> 
+	  <a class="dock-item2" href="#"><span>Calendar</span><img src="images/calendar.png" alt="calendar" /></a> 
+	  <a class="dock-item2" href="#"><span>Links</span><img src="images/link.png" alt="links" /></a> 
+	  <a class="dock-item2" href="#"><span>RSS</span><img src="images/rss.png" alt="rss" /></a> 
+	  <a class="dock-item2" href="#"><span>RSS2</span><img src="images/rss2.png" alt="rss" /></a> 
+  </div>
+</div>
+
+<!--dock menu JS options -->
+<script type="text/javascript">
+	
+	$(document).ready(
+		function()
+		{
+			$('#dock2').Fisheye(
+				{
+					maxWidth: 60,
+					items: 'a',
+					itemsText: 'span',
+					container: '.dock-container2',
+					itemWidth: 40,
+					proximity: 80,
+					alignment : 'left',
+					valign: 'bottom',
+					halign : 'center'
+				}
+			)
+		}
+	);
+
+</script>
+
+
+<script type="text/javascript" src="../raphael-min.js"></script>
+<div id="timetweet" > </div>
+<script type="text/javascript"> 
+
+
+// Creates canvas 320 � 200 at 10, 50
+var paper = Raphael("timetweet",500, 50, 500, 200);
+$("#timetweet > svg").attr("id","MyCanvas");
+	lineSize : 500;
+	
+	
+	element = new Array();
+	
+	
+    position = 'left';
+    //rect = paper.rect(20, 20, 50, 50).attr({"fill": "#fbb"});
+	//rect.attr({"stroke-width":1});
+	
+	for(var i=0; i<100; i++) {
+		var x 		= 5*i;
+		var width   = Math.floor(Math.random()*20);
+		p = element[i]  = paper.rect(x, 50-width , 5, width ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0."+i+", 1, 1)",});	
+		
+	}
+	
+	for(var i=0; i<element.length; i++) {
+		 MyElement = element[i];
+		 $(MyElement.node).mouseover(function (){
+			var heightM = Math.floor(Math.random()*50)
+			this.parent.animate({height:heightM }, 400, "bounce");
+		}); 
+	}
+
+		$('#MyCanvas').Fisheye(
+				{
+					maxWidth: 500,
+					items: 'rect',
+					itemsText: 'span',
+					container: '#MyCanvas',
+					itemWidth: 40,
+					proximity: 80,
+					alignment : 'left',
+					valign: 'bottom',
+					halign : 'center'
+				}
+			)
+
+	
+</script>
+yoooooooooooooooooo 
+</body>
+</html>
--- 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
--- 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
--- 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<document.styleSheets.length; i++){
-						var cssRules = document.styleSheets[i].cssRules||document.styleSheets[i].rules||null;
-						if (cssRules) {
-							for (var j=0; j<cssRules.length; j++) {
-								if(cssRules[j].selectorText == '.' + prop[p]) {
-									var rule = new RegExp('\.' + prop[p] + ' {');
-									var styles = cssRules[j].style.cssText;
-									var newStyles = jQuery.parseStyle(styles.replace(rule, '').replace(/}/g, ''));
-									for (np in newStyles) {
-										this.getValues(np, newStyles[np]);
-									}
-								}
-							}
-						}
-					}
-			} else {
-				this.getValues(p, prop[p]);
-			}
-		}
-		y.display = oldDisplay == 'none' ? 'block' : oldDisplay;
-		y.overflow = 'hidden';
-		
-		/*if (options.show)
-			y.display = "";*/
-		
-		z.step = function(){
-			var t = (new Date()).getTime();
-			if (t > 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<document.styleSheets.length; i++){
+						var cssRules = document.styleSheets[i].cssRules||document.styleSheets[i].rules||null;
+						if (cssRules) {
+							for (var j=0; j<cssRules.length; j++) {
+								if(cssRules[j].selectorText == '.' + prop[p]) {
+									var rule = new RegExp('\.' + prop[p] + ' {');
+									var styles = cssRules[j].style.cssText;
+									var newStyles = jQuery.parseStyle(styles.replace(rule, '').replace(/}/g, ''));
+									for (np in newStyles) {
+										this.getValues(np, newStyles[np]);
+									}
+								}
+							}
+						}
+					}
+			} else {
+				this.getValues(p, prop[p]);
+			}
+		}
+		y.display = oldDisplay == 'none' ? 'block' : oldDisplay;
+		y.overflow = 'hidden';
+		
+		/*if (options.show)
+			y.display = "";*/
+		
+		z.step = function(){
+			var t = (new Date()).getTime();
+			if (t > 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
--- 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('<div id="selectHelper"></div>').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('<div id="selectHelper"></div>').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
--- 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
--- 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 ('Support: http://pub.ftv-publicite.fr#OasDefault/2010_1605_I_1_1__RF-FMEte#37186#FMEte300x250.html#148c5#1278432104#270#S#Middle#www.radiofrance.fr/franceculture/les-retours-du-dimanche##\n');
-document.write ('--><script id="extFlashMiddle1" type="text/javascript" src="http://pub.ftv-publicite.fr/RealMedia/ads/Creatives/TFSMflashobject.js"></script>\n');
-document.write ('<SCRIPT Language="JavaScript">\n');
-document.write ('<!--\n');
-document.write ('if(!document.body)\n');
-document.write ('document.write("<html><body>");\n');
-document.write ('OASd = document;\n');
-document.write ('var plug = false;\n');
-document.write ('var flashVersion = -1;\n');
-document.write ('var minFlashVersion = 8;\n');
-document.write ('if(navigator.plugins != null && navigator.plugins.length > 0){flashVersion =(navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) ? navigator.plugins["Shockwave Flash" +(navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "")].description.split(" ")[2].split(".")[0] : -1;\n');
-document.write ('plug = flashVersion >= minFlashVersion;}\n');
-document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1){flashVersion = 4;plug = flashVersion >= minFlashVersion;}\n');
-document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1){flashVersion = 3;plug = flashVersion >= minFlashVersion;}\n');
-document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv") != -1){flashVersion = 2;plug = flashVersion >= minFlashVersion;}\n');
-document.write ('else if((navigator.appVersion.indexOf("MSIE") != -1) &&(navigator.appVersion.toLowerCase().indexOf("win") != -1) &&(navigator.userAgent.indexOf("Opera") == -1)){var oasobj;\n');
-document.write ('var exc;\n');
-document.write ('try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");\n');
-document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");\n');
-document.write ('version = "WIN 6,0,21,0"; \n');
-document.write ('oasobj.AllowScriptAccess = "always";\n');
-document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\n');
-document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\n');
-document.write ('flashVersion = "WIN 3,0,18,0";} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");\n');
-document.write ('flashVersion = "WIN 2,0,0,11";} catch(exc){flashVersion = -1;}}}}}\n');
-document.write ('plug =(flashVersion != -1)? flashVersion.split(" ")[1].split(",")[0] >= minFlashVersion : false;}\n');
-document.write ('if(navigator.userAgent.indexOf("MSIE")>=0 && navigator.userAgent.indexOf("Mac")>=0) plug=1;\n');
-document.write ('\n');
-document.write ('if(plug)\n');
-document.write ('{\n');
-document.write ('document.write("<div id=\\');
-document.write ('"FinContentMiddle1\\');
-document.write ('"></div>");\n');
-document.write ('function loadFlashMiddle1(){\n');
-document.write ('	if(navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1){\n');
-document.write ('	\n');
-document.write ('		if (extFlashMiddle1.readyState == "complete")\n');
-document.write ('  		{\n');
-document.write ('	   		FlashObject("http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf?clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?", "OAS_AD_Middle", "width=300 height=250", "opaque", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ,"8", "FinContentMiddle1");\n');
-document.write ('			extFlashMiddle1.onreadystatechange = "";\n');
-document.write ('		}\n');
-document.write ('	\n');
-document.write ('		extFlashMiddle1.onreadystatechange = loadFlashMiddle1;\n');
-document.write ('	}\n');
-document.write ('	else\n');
-document.write ('	{\n');
-document.write ('           OASfp=" Menu=FALSE swModifyReport=TRUE width=300 height=250 ";\n');
-document.write ('           OASd.write("<object id=\\');
-document.write ('"techsource_Middle\\');
-document.write ('" classid=\\');
-document.write ('"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\\');
-document.write ('" codebase=\\');
-document.write ('"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\\');
-document.write ('""+OASfp+">");\n');
-document.write ('           OASd.write("<param name=src value=\\');
-document.write ('"http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf\\');
-document.write ('"><param name=allowScriptAccess value=always><param name=quality value=autohigh><param name=loop value=true><param name=play value=true><param name=menu value=false><param name=wmode value=opaque><param name=FlashVars value=\\');
-document.write ('"clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?\\');
-document.write ('">");\n');
-document.write ('           OASd.write("<embed src=\\');
-document.write ('"http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf\\');
-document.write ('""+OASfp+"pluginspage=\\');
-document.write ('"http://www.macromedia.com/shockwave\\');
-document.write ('" type=\\');
-document.write ('"application/x-shockwave-flash\\');
-document.write ('" width=300 height=250 PLAY=true LOOP=true QUALITY=autohigh WMODE=opaque FlashVars=\\');
-document.write ('"clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?\\');
-document.write ('" allowScriptAccess=always>");\n');
-document.write ('           OASd.write("</embed></object>");\n');
-document.write ('        }\n');
-document.write ('\n');
-document.write ('}\n');
-document.write ('	loadFlashMiddle1();\n');
-document.write ('}\n');
-document.write ('if(!document.body)\n');
-document.write ('document.write("</body></html>");\n');
-document.write ('//-->\n');
-document.write ('</SCRIPT><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?_RM_EMPTY_" WIDTH="2" HEIGHT="2" style="display: none" />');
-}
-if (position == 'x02') {
-document.write ('<A HREF="http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/35827959/x02/OasDefault/default/empty.gif/35323766306463663463343536333930" target="_blank"><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/35827959/x02/OasDefault/default/empty.gif/35323766306463663463343536333930"  WIDTH=2 HEIGHT=2 ALT="" BORDER=0 BORDER="0"></A>');
-}
-if (position == 'BottomRight') {
-document.write ('<A HREF="http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/38451496/BottomRight/OasDefault/default/empty.gif/35323766306463663463343536333930" target="_blank"><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/38451496/BottomRight/OasDefault/default/empty.gif/35323766306463663463343536333930"  WIDTH=2 HEIGHT=2 ALT="" BORDER=0 BORDER="0"></A>');
-}
-}
+function OAS_RICH(position) {
+if (position == 'Middle') {
+document.write ('<!-- \n');
+document.write ('Support: http://pub.ftv-publicite.fr#OasDefault/2010_1605_I_1_1__RF-FMEte#37186#FMEte300x250.html#148c5#1278432104#270#S#Middle#www.radiofrance.fr/franceculture/les-retours-du-dimanche##\n');
+document.write ('--><script id="extFlashMiddle1" type="text/javascript" src="http://pub.ftv-publicite.fr/RealMedia/ads/Creatives/TFSMflashobject.js"></script>\n');
+document.write ('<SCRIPT Language="JavaScript">\n');
+document.write ('<!--\n');
+document.write ('if(!document.body)\n');
+document.write ('document.write("<html><body>");\n');
+document.write ('OASd = document;\n');
+document.write ('var plug = false;\n');
+document.write ('var flashVersion = -1;\n');
+document.write ('var minFlashVersion = 8;\n');
+document.write ('if(navigator.plugins != null && navigator.plugins.length > 0){flashVersion =(navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) ? navigator.plugins["Shockwave Flash" +(navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "")].description.split(" ")[2].split(".")[0] : -1;\n');
+document.write ('plug = flashVersion >= minFlashVersion;}\n');
+document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1){flashVersion = 4;plug = flashVersion >= minFlashVersion;}\n');
+document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1){flashVersion = 3;plug = flashVersion >= minFlashVersion;}\n');
+document.write ('else if(navigator.userAgent.toLowerCase().indexOf("webtv") != -1){flashVersion = 2;plug = flashVersion >= minFlashVersion;}\n');
+document.write ('else if((navigator.appVersion.indexOf("MSIE") != -1) &&(navigator.appVersion.toLowerCase().indexOf("win") != -1) &&(navigator.userAgent.indexOf("Opera") == -1)){var oasobj;\n');
+document.write ('var exc;\n');
+document.write ('try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");\n');
+document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");\n');
+document.write ('version = "WIN 6,0,21,0"; \n');
+document.write ('oasobj.AllowScriptAccess = "always";\n');
+document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\n');
+document.write ('flashVersion = oasobj.GetVariable("$version");} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");\n');
+document.write ('flashVersion = "WIN 3,0,18,0";} catch(exc){try{oasobj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");\n');
+document.write ('flashVersion = "WIN 2,0,0,11";} catch(exc){flashVersion = -1;}}}}}\n');
+document.write ('plug =(flashVersion != -1)? flashVersion.split(" ")[1].split(",")[0] >= minFlashVersion : false;}\n');
+document.write ('if(navigator.userAgent.indexOf("MSIE")>=0 && navigator.userAgent.indexOf("Mac")>=0) plug=1;\n');
+document.write ('\n');
+document.write ('if(plug)\n');
+document.write ('{\n');
+document.write ('document.write("<div id=\\');
+document.write ('"FinContentMiddle1\\');
+document.write ('"></div>");\n');
+document.write ('function loadFlashMiddle1(){\n');
+document.write ('	if(navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1){\n');
+document.write ('	\n');
+document.write ('		if (extFlashMiddle1.readyState == "complete")\n');
+document.write ('  		{\n');
+document.write ('	   		FlashObject("http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf?clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?", "OAS_AD_Middle", "width=300 height=250", "opaque", "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ,"8", "FinContentMiddle1");\n');
+document.write ('			extFlashMiddle1.onreadystatechange = "";\n');
+document.write ('		}\n');
+document.write ('	\n');
+document.write ('		extFlashMiddle1.onreadystatechange = loadFlashMiddle1;\n');
+document.write ('	}\n');
+document.write ('	else\n');
+document.write ('	{\n');
+document.write ('           OASfp=" Menu=FALSE swModifyReport=TRUE width=300 height=250 ";\n');
+document.write ('           OASd.write("<object id=\\');
+document.write ('"techsource_Middle\\');
+document.write ('" classid=\\');
+document.write ('"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\\');
+document.write ('" codebase=\\');
+document.write ('"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\\');
+document.write ('""+OASfp+">");\n');
+document.write ('           OASd.write("<param name=src value=\\');
+document.write ('"http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf\\');
+document.write ('"><param name=allowScriptAccess value=always><param name=quality value=autohigh><param name=loop value=true><param name=play value=true><param name=menu value=false><param name=wmode value=opaque><param name=FlashVars value=\\');
+document.write ('"clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?\\');
+document.write ('">");\n');
+document.write ('           OASd.write("<embed src=\\');
+document.write ('"http://media.ftv-publicite.fr/0/OasDefault/2010_1605_I_1_1__RF-FMEte//FMEte300x250.swf\\');
+document.write ('""+OASfp+"pluginspage=\\');
+document.write ('"http://www.macromedia.com/shockwave\\');
+document.write ('" type=\\');
+document.write ('"application/x-shockwave-flash\\');
+document.write ('" width=300 height=250 PLAY=true LOOP=true QUALITY=autohigh WMODE=opaque FlashVars=\\');
+document.write ('"clicktag=http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?\\');
+document.write ('" allowScriptAccess=always>");\n');
+document.write ('           OASd.write("</embed></object>");\n');
+document.write ('        }\n');
+document.write ('\n');
+document.write ('}\n');
+document.write ('	loadFlashMiddle1();\n');
+document.write ('}\n');
+document.write ('if(!document.body)\n');
+document.write ('document.write("</body></html>");\n');
+document.write ('//-->\n');
+document.write ('</SCRIPT><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/2130910481/Middle/OasDefault/2010_1605_I_1_1__RF-FMEte/FMEte300x250.html/35323766306463663463343536333930?_RM_EMPTY_" WIDTH="2" HEIGHT="2" style="display: none" />');
+}
+if (position == 'x02') {
+document.write ('<A HREF="http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/35827959/x02/OasDefault/default/empty.gif/35323766306463663463343536333930" target="_blank"><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/35827959/x02/OasDefault/default/empty.gif/35323766306463663463343536333930"  WIDTH=2 HEIGHT=2 ALT="" BORDER=0 BORDER="0"></A>');
+}
+if (position == 'BottomRight') {
+document.write ('<A HREF="http://pub.ftv-publicite.fr/5c/www.radiofrance.fr/franceculture/les-retours-du-dimanche/38451496/BottomRight/OasDefault/default/empty.gif/35323766306463663463343536333930" target="_blank"><IMG SRC="http://pub.ftv-publicite.fr/5/www.radiofrance.fr/franceculture/les-retours-du-dimanche/38451496/BottomRight/OasDefault/default/empty.gif/35323766306463663463343536333930"  WIDTH=2 HEIGHT=2 ALT="" BORDER=0 BORDER="0"></A>');
+}
+}
--- 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('<script type="text/javascript" src="'+f+'"></script>');};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<l)_lvl=l;};this.E=function(s,l){e+=(e!="")?","+s:"&err="+s;lvl(l);};this.W=function(s,l){if(warn){w+=(w!="")?","+s:"&warn="+s;lvl(l);}};this.reset=function(){_lvl=0;e="";w="";};this.getLvl=function(){return _lvl;};this.getErr=function(){return w+e;};};function Env(){var env="env:";getCharset=function(){var m=document.getElementsByTagName('META'),charset=null,posCharset;for(var i=0;i<m.length;i++){if(m[i].content){posCharset=m[i].content.indexOf('charset');if(posCharset>=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<vect.length;i++){if(v[vect[i]]==""){tab=(tab==null)?vect[i]:(Array(tab)).concat(vect[i]);}}return (tab?tab:0);};this.get=function(vect){var ret="";for(var i=0;i<vect.length;i++){ret+=v[vect[i]];}return ret;};};function Seg(){var seg_tab=["","","","",""];this.set=function(val1,val2,val3,val4,val5){seg_tab[0]="&seg1="+encodeURIComponent(val1);seg_tab[1]="&seg2="+encodeURIComponent(val2);seg_tab[2]="&seg3="+encodeURIComponent(val3);seg_tab[3]="&seg4="+encodeURIComponent(val4);seg_tab[4]="&seg5="+encodeURIComponent(val5);};this.get=function(){var seg_tag="";for(var i=0;i<seg_tab.length;i++){seg_tag+=seg_tab[i];}return seg_tag;};};function Crm(){var crmId="";this.set=function(s){crmId="&crmID="+encodeURIComponent(s);};this.get=function(){return crmId;};};function Tag(){var eStat_tag="eStat_tag:";var _V="&v=2.12";var _rt="";var _Tg="";var _s="",_T="";var _dbg=0;var v={m:["_g","_p","_c","_c2"],ma:["_g","_a","_pt","_pb","_pr","_nb","_ca"],mf:["_g","_p","_c","_c2"],ml:["_g","_L"],mmc:["_g","_p","_c","_c2","_C"],mf4:["_g","_L"],sr:[],mr:["_g","_p","_c","_c2"],mr4:["_g","_L"],mmcml:["_g","_L","_C"],wap:["_g","_u","_p","_c","_c2"],wapl:["_g","_u","_L"],cmspoll:["_R","_S"],cms:["_R","_S","_g","_p","_c","_c2"],ecom:["_g"]};optional=function(s){var opt=["_g","_c2","_C","_R","_S"];var i=opt.length;do{if(opt[i]===s){return true;}}while(i--);return false;};dbg=function(){var url="http://prof.estat.com/img/debug/";var img=["ok.jpg","warn.jpg","err.jpg","crit.jpg"];var _S=url+img[eStat_er.getLvl()];var e=eStat_er.getErr();document.write('<IMG SRC="'+_S+'" ALT="'+e+'" TITLE="'+e+'"><BR>');};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<ms.length;i++){if(!optional(ms[i]))am+=ms[i];}if(am!="")eStat_er.E(eStat_tag+"ManqueArg:"+am,3);}_T=eStat_id.get(v[t]);_T+=eStat_seg.get();_T+=eStat_crm.get();_Tg="&t="+t;};chkTag=function(t){(v[t])?getTag(t):eStat_er.E(eStat_tag+"TagInconnu:"+t,3);_s=eStat_id.get(["_s"]);if(!_s)eStat_er.E(eStat_tag+"ManqueSerial",3);};FT=function(t){return(get_S(t)+_s+"n="+Math.round(Math.random()*1000000000)+_T+_rt+eStat_ev.getEnv(t)+eStat_er.getErr()+_Tg+_V);};this.real_time=function(){_rt="&rt=1";};this.debug=function(){_dbg=1;};this.post=function(t){chkTag(t);switch(t){case"sr": document.cookie="cks="+escape(document.referrer)+"; path=/";break;case "ecom":eStat_er.reset();return FT(t);case "cmspoll":var _FT=FT(t);return _FT;case "cms":if(!eStat_id.hitcms())break;default:(_dbg)?dbg():send(FT(t),t);break;}};};var eStat_er=new Err;var eStat_ev=new Env;var eStat_id=new Opt;var eStat_tag=new Tag;var eStat_seg=new Seg;var eStat_crm=new Crm;_PJS=1;if(typeof(_cmsJS)!="undefined")eStat_loadjs("http://prof.estat.com/js/ms2.js");if(typeof(_ecomJS)!="undefined")eStat_loadjs("http://prof.estat.com/js/ecom.js");
+estat_Object=function(){};function eStat_loadjs(f){document.write('<script type="text/javascript" src="'+f+'"></script>');};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<l)_lvl=l;};this.E=function(s,l){e+=(e!="")?","+s:"&err="+s;lvl(l);};this.W=function(s,l){if(warn){w+=(w!="")?","+s:"&warn="+s;lvl(l);}};this.reset=function(){_lvl=0;e="";w="";};this.getLvl=function(){return _lvl;};this.getErr=function(){return w+e;};};function Env(){var env="env:";getCharset=function(){var m=document.getElementsByTagName('META'),charset=null,posCharset;for(var i=0;i<m.length;i++){if(m[i].content){posCharset=m[i].content.indexOf('charset');if(posCharset>=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<vect.length;i++){if(v[vect[i]]==""){tab=(tab==null)?vect[i]:(Array(tab)).concat(vect[i]);}}return (tab?tab:0);};this.get=function(vect){var ret="";for(var i=0;i<vect.length;i++){ret+=v[vect[i]];}return ret;};};function Seg(){var seg_tab=["","","","",""];this.set=function(val1,val2,val3,val4,val5){seg_tab[0]="&seg1="+encodeURIComponent(val1);seg_tab[1]="&seg2="+encodeURIComponent(val2);seg_tab[2]="&seg3="+encodeURIComponent(val3);seg_tab[3]="&seg4="+encodeURIComponent(val4);seg_tab[4]="&seg5="+encodeURIComponent(val5);};this.get=function(){var seg_tag="";for(var i=0;i<seg_tab.length;i++){seg_tag+=seg_tab[i];}return seg_tag;};};function Crm(){var crmId="";this.set=function(s){crmId="&crmID="+encodeURIComponent(s);};this.get=function(){return crmId;};};function Tag(){var eStat_tag="eStat_tag:";var _V="&v=2.12";var _rt="";var _Tg="";var _s="",_T="";var _dbg=0;var v={m:["_g","_p","_c","_c2"],ma:["_g","_a","_pt","_pb","_pr","_nb","_ca"],mf:["_g","_p","_c","_c2"],ml:["_g","_L"],mmc:["_g","_p","_c","_c2","_C"],mf4:["_g","_L"],sr:[],mr:["_g","_p","_c","_c2"],mr4:["_g","_L"],mmcml:["_g","_L","_C"],wap:["_g","_u","_p","_c","_c2"],wapl:["_g","_u","_L"],cmspoll:["_R","_S"],cms:["_R","_S","_g","_p","_c","_c2"],ecom:["_g"]};optional=function(s){var opt=["_g","_c2","_C","_R","_S"];var i=opt.length;do{if(opt[i]===s){return true;}}while(i--);return false;};dbg=function(){var url="http://prof.estat.com/img/debug/";var img=["ok.jpg","warn.jpg","err.jpg","crit.jpg"];var _S=url+img[eStat_er.getLvl()];var e=eStat_er.getErr();document.write('<IMG SRC="'+_S+'" ALT="'+e+'" TITLE="'+e+'"><BR>');};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<ms.length;i++){if(!optional(ms[i]))am+=ms[i];}if(am!="")eStat_er.E(eStat_tag+"ManqueArg:"+am,3);}_T=eStat_id.get(v[t]);_T+=eStat_seg.get();_T+=eStat_crm.get();_Tg="&t="+t;};chkTag=function(t){(v[t])?getTag(t):eStat_er.E(eStat_tag+"TagInconnu:"+t,3);_s=eStat_id.get(["_s"]);if(!_s)eStat_er.E(eStat_tag+"ManqueSerial",3);};FT=function(t){return(get_S(t)+_s+"n="+Math.round(Math.random()*1000000000)+_T+_rt+eStat_ev.getEnv(t)+eStat_er.getErr()+_Tg+_V);};this.real_time=function(){_rt="&rt=1";};this.debug=function(){_dbg=1;};this.post=function(t){chkTag(t);switch(t){case"sr": document.cookie="cks="+escape(document.referrer)+"; path=/";break;case "ecom":eStat_er.reset();return FT(t);case "cmspoll":var _FT=FT(t);return _FT;case "cms":if(!eStat_id.hitcms())break;default:(_dbg)?dbg():send(FT(t),t);break;}};};var eStat_er=new Err;var eStat_ev=new Env;var eStat_id=new Opt;var eStat_tag=new Tag;var eStat_seg=new Seg;var eStat_crm=new Crm;_PJS=1;if(typeof(_cmsJS)!="undefined")eStat_loadjs("http://prof.estat.com/js/ms2.js");if(typeof(_ecomJS)!="undefined")eStat_loadjs("http://prof.estat.com/js/ecom.js");
--- a/web/res/metadataplayer/test/emission_fichiers/addthis_widget.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/addthis_widget.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,2 +1,2 @@
-/* (c) 2008, 2009, 2010 Add This, LLC */
+/* (c) 2008, 2009, 2010 Add This, LLC */
 if(!window._ate){var _atd="www.addthis.com/",_atr="//s7.addthis.com/",_atn="//l.addthiscdn.com/",_euc=encodeURIComponent,_duc=decodeURIComponent,_atc={dr:0,ver:250,loc:0,enote:"",cwait:500,tamp:-1,xamp:0,camp:1,vamp:1,famp:0.02,pamp:0.2,damp:1,abf:!!window.addthis_do_ab};(function(){try{var E=window.location;if(E.protocol.indexOf("file")===0){_atr="http:"+_atr}if(E.hostname.indexOf("localhost")!=-1){_atc.loc=1}}catch(K){}var I=navigator.userAgent.toLowerCase(),L=document,o=window,G=L.location,N={win:/windows/.test(I),xp:/windows nt 5.1/.test(I)||/windows nt 5.2/.test(I),osx:/os x/.test(I),chr:/chrome/.test(I),iph:/iphone/.test(I),ipa:/ipad/.test(I),saf:/safari/.test(I),web:/webkit/.test(I),opr:/opera/.test(I),msi:(/msie/.test(I))&&!(/opera/.test(I)),ffx:/firefox/.test(I),ff2:/firefox\/2/.test(I),ie6:/msie 6.0/.test(I),ie7:/msie 7.0/.test(I),mod:-1},f={vst:[],rev:"78805",bro:N,show:1,dl:G,upm:!!o.postMessage&&(""+o.postMessage).toLowerCase().indexOf("[native code]")!==-1,camp:_atc.camp-Math.random(),xamp:_atc.xamp-Math.random(),vamp:_atc.vamp-Math.random(),pamp:_atc.pamp-Math.random(),afamp:_atc.afamp-Math.random(),ab:"-",seq:1,inst:1,wait:500,tmo:null,cvt:[],avt:null,sttm:new Date().getTime(),max:4294967295,sid:0,sub:!!window.at_sub,dbm:0,uid:null,spt:"static/r07/widget20.png",api:{},imgz:[],hash:window.location.hash};L.ce=L.createElement;L.gn=L.getElementsByTagName;window._ate=f;var t=function(r,p,q,d){if(!r){return q}if(r instanceof Array||(r.length&&(typeof r!=="function"))){for(var l=0,a=r.length,b=r[0];l<a;b=r[++l]){q=p.call(d||r,q,b,l,r)}}else{for(var e in r){q=p.call(d||r,q,r[e],e,r)}}return q},z=Array.prototype.slice,B=function(b){return z.apply(b,z.call(arguments,1))},A=function(a){return(""+a).replace(/(^\s+|\s+$)/g,"")},J=function(a,b){return t(B(arguments,1),function(e,d){return t(d,function(p,l,i){p[i]=l;return p},e)},a)},m=function(b,a){return t(b,function(i,e,d){d=A(d);if(d){i.push(_euc(d)+"="+_euc(A(e)))}return i},[]).join(a||"&")},j=function(b,a){return t((b||"").split(a||"&"),function(p,r){try{var l=r.split("="),i=A(_duc(l[0])),d=A(_duc(l.slice(1).join("=")));if(i){p[i]=d}}catch(q){}return p},{})},P=function(){var a=B(arguments,0),d=a.shift(),b=a.shift();return function(){return d.apply(b,a.concat(B(arguments,0)))}},F=function(b,e,a,d){if(!e){return}if(we){e[(b?"detach":"attach")+"Event"]("on"+a,d)}else{e[(b?"remove":"add")+"EventListener"](a,d,false)}},k=function(d,a,b){F(0,d,a,b)},g=function(d,a,b){F(1,d,a,b)},c={reduce:t,slice:B,strip:A,extend:J,toKV:m,fromKV:j,bind:P,listen:k,unlisten:g};f.util=c;J(f,c);(function(r,w,Q){var p,S=r.util;function s(V,U,X,T,W){this.type=V;this.triggerType=U||V;this.target=X||T;this.triggerTarget=T||X;this.data=W||{}}S.extend(s.prototype,{constructor:s,bubbles:false,preventDefault:S.noop,stopPropagation:S.noop,clone:function(){return new this.constructor(this.type,this.triggerType,this.target,this.triggerTarget,S.extend({},this.data))}});function i(T,U){this.target=T;this.queues={};this.defaultEventType=U||s}function a(T){var U=this.queues;if(!U[T]){U[T]=[]}return U[T]}function q(T,U){this.getQueue(T).push(U)}function e(U,V){var W=this.getQueue(U),T=W.indexOf(V);if(T!==-1){W.splice(T,1)}}function b(T,X,W,V){var U=this;if(!V){setTimeout(function(){U.dispatchEvent(new U.defaultEventType(T,T,X,U.target,W))},10)}else{U.dispatchEvent(new U.defaultEventType(T,T,X,U.target,W))}}function R(U){for(var V=0,X=U.target,W=this.getQueue(U.type),T=W.length;V<T;V++){W[V].call(X,U.clone())}}function d(U){if(!U){return}for(var T in l){U[T]=S.bind(l[T],this)}return U}var l={constructor:i,getQueue:a,addEventListener:q,removeEventListener:e,dispatchEvent:R,fire:b,decorate:d};S.extend(i.prototype,l);r.event={PolyEvent:s,EventDispatcher:i}})(f,f.api,f);f.ed=new f.event.EventDispatcher(f);var n={isBound:0,isReady:0,readyList:[],onReady:function(){if(!n.isReady){n.isReady=1;var a=n.readyList.concat(window.addthis_onload||[]);for(var b=0;b<a.length;b++){a[b].call(window)}n.readyList=[]}},addLoad:function(a){var b=o.onload;if(typeof o.onload!="function"){o.onload=a}else{o.onload=function(){if(b){b()}a()}}},bindReady:function(){if(v.isBound||_atc.xol){return}v.isBound=1;if(L.addEventListener&&!N.opr){L.addEventListener("DOMContentLoaded",v.onReady,false)}var a=window.addthis_product;if(a&&a.indexOf("f")>-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<L.styleSheets.length;d++){if(L.styleSheets[d].disabled){setTimeout(arguments.callee,0);return}}v.onReady()},false)}if(N.saf){var b;(function(){if(v.isReady){return}if(L.readyState!="loaded"&&L.readyState!="complete"){setTimeout(arguments.callee,0);return}if(b===undefined){var d=L.gn("link");for(var e=0;e<d.length;e++){if(d[e].getAttribute("rel")=="stylesheet"){b++}}var l=L.gn("style");b+=l.length}if(L.styleSheets.length!=b){setTimeout(arguments.callee,0);return}v.onReady()})()}v.addLoad(v.onReady)},append:function(b,a){v.bindReady();if(v.isReady){b.call(window,[])}else{v.readyList.push(function(){return b.call(window,[])})}}},v=n,O=f;J(f,{plo:[],lad:function(a){f.plo.push(a)}});J(f,{pub:function(){return _euc((window.addthis_config||{}).username||window.addthis_pub||"")},igv:function(a,b){if(!o.addthis_share){o.addthis_share={}}if(!addthis_share.url){addthis_share.url=(o.addthis_url||a||"").split("#{").shift()}if(!addthis_share.title){addthis_share.title=(o.addthis_title||b||"").split("#{").shift()}if(!o.addthis_config){o.addthis_config={username:o.addthis_pub}}else{if(addthis_config.data_use_cookies===false){_atc.xck=1}}}});if(!_atc.ost){if(!o.addthis_conf){o.addthis_conf={}}for(var H in addthis_conf){_atc[H]=addthis_conf[H]}_atc.ost=1}(function(b,l,e){var q,p=document,a=b.util;b.ckv=a.fromKV(p.cookie,";");function i(d){return a.fromKV(p.cookie,";")[d]}if(!b.cookie){b.cookie={}}b.cookie.rck=i})(f,f.api,f);J(f,{qtp:[],xtp:function(){var b=f,d;while(d=b.qtp.pop()){b.trk(d)}},gat:function(){},atf:null,get_atssh:function(){var e=document,b=f,i=e.getElementById("_atssh");if(!i){i=e.ce("div");i.style.visibility="hidden";i.id="_atssh";b.opp(i.style);e.body.insertBefore(i,e.body.firstChild)}return i},ctf:function(i){var p=document,e=window,b=f,s,l=Math.floor(Math.random()*1000),q=b.get_atssh();if(!b.bro.msi){s=p.ce("iframe");s.id="_atssh"+l}else{if(b.bro.ie6&&!i&&p.location.protocol.indexOf("https")==0){i="javascript:''"}q.innerHTML='<iframe id="_atssh'+l+'" width="1" height="1" name="_atssh'+l+'" '+(i?'src="'+i+'"':"")+">";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<l.length;Q++){l[Q](q)}},xfr:!f.upm||!f.bro.ffx,ssh:function(b){f.gssh=1;var a=window.addthis_ssh=_duc(b);f._ssh=a.split(",")},com:function(a){if(window.parent&&window.postMessage){window.parent.postMessage(a,"*")}else{f.ifm(a)}},ifm:function(b){if(addthis_wpl){var d=(addthis_wpl.split("#"))[0];window.parent.location.href=d+"#at"+b}return false},pmh:function(a){if(a.origin.slice(-12)==".addthis.com"){f.rec(a.data)}}});J(f,{lng:function(){return window.addthis_language||(window.addthis_config||{}).ui_language||(f.bro.msi?navigator.userLanguage:navigator.language)},iwb:function(a){var b={th:1,pl:1,sl:1,gl:1,hu:1,is:1,nb:1,se:1,su:1};return !!b[a]},ivl:function(a){var b={af:1,afr:"af",ar:1,ara:"ar",az:1,aze:"az",be:1,bye:"be",bg:1,bul:"bg",bn:1,ben:"bn",bs:1,bos:"bs",ca:1,cat:"ca",cs:1,ces:"cs",cze:"cs",cy:1,cym:"cy",da:1,dan:"da",de:1,deu:"de",ger:"de",el:1,gre:"el",ell:"ell",es:1,esl:"es",spa:"spa",et:1,est:"et",eu:1,fa:1,fas:"fa",per:"fa",fi:1,fin:"fi",fo:1,fao:"fo",fr:1,fra:"fr",fre:"fr",ga:1,gae:"ga",gdh:"ga",gl:1,glg:"gl",he:1,heb:"he",hi:1,hin:"hin",hr:1,cro:"hr",hu:1,hun:"hu",id:1,ind:"id",is:1,ice:"is",it:1,ita:"it",ja:1,jpn:"ja",ko:1,kor:"ko",ku:1,lb:1,ltz:"lb",lt:1,lit:"lt",lv:1,lav:"lv",mk:1,mac:"mk",mak:"mk",mn:1,ml:1,ms:1,msa:"ms",may:"ms",nb:1,nl:1,nla:"nl",dut:"nl",no:1,nn:1,nno:"no",oc:1,oci:"oc",pl:1,pol:"pl",pt:1,por:"pt",ro:1,ron:"ro",rum:"ro",ru:1,rus:"ru",sk:1,slk:"sk",slo:"sk",sl:1,slv:"sl",sq:1,alb:"sq",sr:1,se:1,ser:"sr",su:1,sv:1,sve:"sv",sw:1,swe:"sv",ta:1,tam:"ta",te:1,teg:"te",th:1,tha:"th",tl:1,tgl:"tl",tr:1,tur:"tr",uk:1,ukr:"uk",ur:1,urd:"ur",vi:1,vie:"vi","zh-hk":1,"chi-hk":"zh-hk","zho-hk":"zh-hk","zh-tr":1,"chi-tr":"zh-tr","zho-tr":"zh-tr","zh-tw":1,"chi-tw":"zh-tw","zho-tw":"zh-tw",zh:1,chi:"zh",zho:"zh"};if(b[a]){return b[a]}a=a.split("-").shift();if(b[a]){if(b[a]===1){return a}else{return b[a]}}return 0},gvl:function(a){var b=f.ivl(a)||"en";if(b===1){b=a}return b},alg:function(e,d){var a=(e||f.lng()||"en").toLowerCase(),b=f.ivl(a);if(a.indexOf("en")!==0&&(!f.pll||d)){if(b){if(b!==1){a=b}f.pll=f.ajs("static/r07/lang03/"+a+".js")}}}});J(f,{trim:function(a,b){try{a=a.replace(/^[\s\u3000]+|[\s\u3000]+$/g,"");if(b){a=_euc(a)}}catch(b){}return a},trl:[],tru:function(b,a){var d="";if(b){d=b.substr(0,300);if(d!=b){f.trl.push(a)}}return d},sto:function(b,a){return setTimeout(b,a)},opp:function(a){a.width=a.height="1px";a.position="absolute";a.zIndex=100000},jlr:{},acs:function(b){var a=L.ce("link"),d=(L.gn("head")[0]||L.documentElement);a.rel="stylesheet";a.type="text/css";a.href=b;a.media="all";d.insertBefore(a,d.firstChild)},ajs:function(b,a){if(!f.jlr[b]){var e=L.ce("script"),d=L.gn("head")[0]||L.documentElement;e.src=(a?"":_atr)+b;d.insertBefore(e,d.firstChild);f.jlr[b]=1;return e}return 1},jlo:function(){try{var q=document,b=f,p=b.lng(),i=function(d){var a=new Image();f.imgz.push(a);a.src=d};b.alg(p);if(!b.pld){if(b.bro.ie6){i(_atr+b.spt);i(_atr+"static/t00/logo1414.gif");i(_atr+"static/t00/logo88.gif");if(window.addthis_feed){i("static/r05/feed00.gif",1)}}if(b.pll&&!window.addthis_translations){b.sto(function(){b.pld=b.ajs("static/r07/menu57.js")},10)}else{b.pld=b.ajs("static/r07/menu57.js")}}}catch(l){}},ao:function(b,l,i,d,e,a){f.lad(["open",b,l,i,d,e,a]);f.jlo();return false},ac:function(){},as:function(b,d,a){f.lad(["send",b,d,a]);f.jlo()}});(function(e,l,q){var w=document,r=1,a=["cbea","kkk","zvys","phz"];function b(d){return d.replace(/[a-zA-Z]/g,function(i){return String.fromCharCode((i<="Z"?90:122)>=(i=i.charCodeAt(0)+13)?i:i-26)})}for(var p=0;p<a.length;p++){a[p]=" "+b(a[p])+" "}function s(i){var S=0,R;i=(i||"").toLowerCase()+" ";if(!i){return S}for(var d=0;d<a.length;d++){R=a[d];if(i==R.replace(/ /g,"")||i.indexOf(R)>-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<T.length;S++){var d=T[S]||{},W=(d.name||"").toLowerCase(),V=d.content;if(W=="description"||W=="keywords"){R|=s(V)}}}return R}if(!e.ad){e.ad={}}e.ad.cla=Q})(f,f.api,f);var o=window,M=o.addthis_config||{};function h(){try{if(_atc.xol&&!_atc.xcs){f.acs(_atr+"static/r07/widget40.css")}var ad=f,q=ad.bro.msi,b=0,S=L.title,T=L.referer||L.referrer||"",R=G?G.href:null,r=R,aa=G.hostname,ac=R?R.indexOf("sms_ss"):-1,W=(f.lng().split("-")).shift(),p=(G.href.indexOf(_atr)==-1&&!ad.sub),X=L.gn("link"),d=_atr+"static/r07/sh20.html#",U=R&&R.indexOf("https")===0?1:0,s,ae,Q=function(){ae.pc=window.addthis_product||"men"+_atc.ver};for(var Y=0;Y<X.length;Y++){var V=X[Y];if(V.rel&&V.rel=="canonical"&&V.href){r=V.href}}r=r.split("#{").shift();ad.igv(r,L.title||"");ad.dr=ad.tru(T,"fr");ad.du=ad.tru(r,"fp");ad.dt=S=o.addthis_share.title;ad.cb=ad.ad.cla();ad.dh=G.hostname;ad.ssl=U;ae={cb:ad.cb,ab:ad.ab,dh:ad.dh,dr:ad.dr,du:ad.du,dt:S,inst:ad.inst,lng:ad.lng(),pc:o.addthis_product||"men",pub:ad.pub(),ssl:U,sid:f.ssid(),srd:_atc.damp,srf:_atc.famp,srp:_atc.pamp,srx:_atc.xamp,ver:_atc.ver,xck:_atc.xck||0};if(ad.trl.length){ae.trl=ad.trl.join(",")}if(ad.rev){ae.rev=ad.rev}if(ac>-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('<span id="'+C+'"></span>');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<e.length;){var S=e[R];if(S&&S.test()){e.splice(R,1);a.fire("load",S,{resource:S})}else{R++}}if(e.length){setTimeout(s,r)}}function a(V,S,U){var R=this,T=new b(R);T.decorate(T).decorate(R);this.ready=false;this.loading=false;this.id=V;this.url=S;if(typeof(U)==="function"){this.test=U}else{this.test=function(){return(!!_window[U])}}a.addEventListener("load",function(W){var X=W.resource;if(!X||X.id!==R.id){return}R.loading=false;R.ready=true;T.fire(W.type,X,{resource:X})})}w.extend(a.prototype,{load:function(){if(this.url.substr(this.url.length-4)==".css"){f.acs(this.url)}else{f.ajs(this.url,1)}this.loading=true;a.monitor(this)}});var Q=new b(a);Q.decorate(Q).decorate(a);w.extend(a,{known:{jquery:new a("jquery","//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js","jQuery"),ga:new a("ga","//www.google-analytics.com/ga.js",function(){var R=_window._gat;return !!(R&&(typeof(R._getTracker)==="function"))})},loading:e,monitor:s});i.resource={Resource:a,ApiQueueFactory:q}})(f,f.api,f)})();function addthis_open(){if(typeof iconf=="string"){iconf=null}return _ate.ao.apply(_ate,arguments)}function addthis_close(){_ate.ac()}function addthis_sendto(){_ate.as.apply(_ate,arguments);return false}if(_atc.dr){_adr.onReady()}}else{_ate.inst++}if(_atc.abf){addthis_open(document.getElementById("ab"),"emailab",window.addthis_url||"[URL]",window.addthis_title||"[TITLE]")};if(!window.addthis||window.addthis.nodeType!==undefined){window.addthis=(function(){var g={aim:"AIM",a1webmarks:"A1&#8209;Webmarks",aim:"AIM Share",amazonwishlist:"Amazon",aolmail:"AOL Mail",aviary:"Aviary Capture",domaintoolswhois:"Whois Lookup",googlereader:"Google Reader",googletranslate:"Google Translate",linkagogo:"Link-a-Gogo",meneame:"Men&eacute;ame",misterwong:"Mister Wong",mailto:"Email App",myaol:"myAOL",myspace:"MySpace",readitlater:"Read It Later",stumbleupon:"StumbleUpon",typepad:"TypePad",wordpress:"WordPress",yahoobkm:"Y! Bookmarks",yahoomail:"Y! Mail"},i=document,f=i.gn("body").item(0),h=_ate.util.bind,c=_ate.ed,b=function(d,n){var o;if(window._atw&&_atw.list){o=_atw.list[d]}else{if(g[d]){o=g[d]}else{o=(n?d:(d.substr(0,1).toUpperCase()+d.substr(1)))}}return o.replace(/&nbsp;/g," ")},l=function(d,w,u,t,v){w=w.toUpperCase();var r=(d==f&&addthis.cache[w]?addthis.cache[w]:(d||f||i.body).getElementsByTagName(w)),q=[],s,p;if(d==f){addthis.cache[w]=r}if(v){for(s=0;s<r.length;s++){p=r[s];if(p.className.indexOf(u)>-1){q.push(p)}}}else{u=u.replace(/\-/g,"\\-");var n=new RegExp("(^|\\s)"+u+(t?"\\w*":"")+"(\\s|$)");for(s=0;s<r.length;s++){p=r[s];if(n.test(p.className)){q.push(p)}}}return(q)},m=i.getElementsByClassname||l;function k(d){if(typeof d=="string"){var n=d.substr(0,1);if(n=="#"){d=i.getElementById(d.substr(1))}else{if(n=="."){d=m(f,"*",d.substr(1))}else{}}}if(!d){d=[]}else{if(!(d instanceof Array)){d=[d]}}return d}function a(n,d){return function(){addthis.plo.push({call:n,args:arguments,ns:d})}}function j(o){var n=this,d=this.queue=[];this.name=o;this.call=function(){d.push(arguments)};this.call.queuer=this;this.flush=function(r,q){for(var p=0;p<d.length;p++){r.apply(q||n,d[p])}return r}}return{ost:0,cache:{},plo:[],links:[],ems:[],init:_adr.onReady,_Queuer:j,_queueFor:a,_select:k,_gebcn:l,button:a("button"),toolbox:a("toolbox"),update:a("update"),util:{getServiceName:b},addEventListener:h(_ate.ed.addEventListener,_ate.ed),removeEventListener:h(_ate.ed.removeEventListener,_ate.ed)}})()}_adr.append((function(){if(!window.addthis.ost){_ate.extend(addthis,_ate.api);var d=document,u=undefined,w=window,unaccent=function(s){if(s.indexOf("&")>-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<l;i++){for(var j=i+1;j<l;j++){if(r[i]===r[j]){j=++i}}a.push(r[i])}return a},_svcurl=function(config,share){var sv=config.services instanceof Array?config.services[0]:config.services||"";return"http://"+_atd+"bookmark.php?v="+_atc.ver+"&pub="+_euc(_ate.pub())+"&s="+sv+(share.url?"&url="+_euc(share.url):"")+(share.title?"&title="+_euc(share.title):"")+"&tt=0"},_makeButton=function(w,h,alt,url){var img=d.ce("img");img.width=w;img.height=h;img.border=0;img.alt=alt;img.src=url;return img},_parseThirdPartyAttributes=function(el,prefix){var key,attr=[],rv={};for(var i=0;i<el.attributes.length;i++){key=el.attributes[i];attr=key.name.split(prefix+":");if(attr.length==2){rv[attr.pop()]=key.value}}return rv},_parseAttributes=function(el,attrs,overrides,childWins){var rv={};overrides=overrides||{};for(var i=0;i<attrs.length;i++){if(overrides[attrs[i]]&&!childWins){rv[attrs[i]]=overrides[attrs[i]]}else{if(el){var p="addthis:"+attrs[i],v=el.getAttribute?el.getAttribute(p)||el[p]:el[p];if(v){rv[attrs[i]]=v}else{if(overrides[attrs[i]]){rv[attrs[i]]=overrides[attrs[i]]}}if(rv[attrs[i]]==="true"){rv[attrs[i]]=true}else{if(rv[attrs[i]]==="false"){rv[attrs[i]]=false}}}}if(rv[attrs[i]]!==undefined&&json[attrs[i]]&&(typeof rv[attrs[i]]=="string")){eval("var e = "+rv[attrs[i]]);rv[attrs[i]]=e}}return rv},_processCustomServices=function(conf){var acs=(conf||{}).services_custom;if(!acs){return}if(!(acs instanceof Array)){acs=[acs]}for(var i=0;i<acs.length;i++){var service=acs[i];if(service.name&&service.icon&&service.url){service.code=service.url=service.url.replace(/ /g,"");if(service.code.indexOf("http")===0){service.code=service.code.substr((service.code.indexOf("https")===0?8:7))}service.code=service.code.split("?").shift().split("/").shift().toLowerCase();customServices[service.code]=service}}},_select=addthis._select,_getCustomService=function(ss,conf){return customServices[ss]||{}},_getATtributes=function(el,config,share,childWins){var rv={conf:config||{},share:share||{}};rv.conf=_parseAttributes(el,a_config,config,childWins);rv.share=_parseAttributes(el,a_share,share,childWins);return rv},_render=function(what,conf,attrs){_ate.igv();if(what){conf=conf||{};attrs=attrs||{};var config=conf.conf||globalConfig,share=conf.share||globalShare,onmouseover=attrs.onmouseover,onmouseout=attrs.onmouseout,onclick=attrs.onclick,internal=attrs.internal,ss=attrs.singleservice;if(ss){config.product="tbx-"+_atc.ver;if(onclick===u){onclick=nosend[ss]?function(el,config,share){var s=rpl(share,upShare);return addthis_open(el,ss,s.url,s.title,rpl(config,upConfig),s)}:nowindow[ss]?function(el,config,share){var s=rpl(share,upShare);return addthis_sendto(ss,rpl(config,upConfig),s)}:null}}else{if(!attrs.noevents){if(!attrs.nohover){if(onmouseover===u){onmouseover=function(el,config,share){return addthis_open(el,"",null,null,config,share)}}if(onmouseout===u){onmouseout=function(el){return addthis_close()}}if(onclick===u){onclick=function(el,config,share){return addthis_sendto("more",config,share)}}}else{if(onclick===u){onclick=function(el,config,share){return addthis_open(el,"more",null,null,config,share)}}}}}what=_select(what);for(var i=0;i<what.length;i++){var o=what[i],oattr=_getATtributes(o,config,share,true)||{};mrg(oattr.conf,globalConfig);mrg(oattr.share,globalShare);o.conf=oattr.conf;o.share=oattr.share;if(o.conf.ui_language){_ate.alg(o.conf.ui_language)}_processCustomServices(o.conf);if((!o.conf||!o.conf.ui_click)&&!_ate.bro.ipa){if(onmouseover){o.onmouseover=function(){return onmouseover(this,this.conf,this.share)}}if(onmouseout){o.onmouseout=function(){return onmouseout(this)}}if(onclick){o.onclick=function(){return onclick(this,this.conf,this.share)}}}else{if(onclick){if(ss){o.onclick=function(){return onclick(this,this.conf,this.share)}}else{o.onclick=function(){return addthis_open(this,"",null,null,this.conf,this.share)}}}}if(o.tagName.toLowerCase()=="a"){if(ss){var customService=_getCustomService(ss,o.conf);o.conf.product="tbx-"+_atc.ver;if(customService&&customService.code&&customService.icon){if(o.firstChild&&o.firstChild.className.indexOf("at300bs")>-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<collection.length;i++){var b=collection[i];if(b==null){continue}if(reprocess!==false||!b.ost){var attr=_getATtributes(b,config,share,true),hc=0,a="at300",c=b.className||"",passthrough="",s=c.match(/addthis_button_([\w\.]+)(?:\s|$)/),options=u,sv=s&&s.length?s[1]:0;mrg(attr.conf,globalConfig);mrg(attr.share,globalShare);if(sv){if(sv==="tweetmeme"){var tm_attr=_parseThirdPartyAttributes(b,"tm"),tmw=50,tmh=61;passthrough=_ate.util.toKV(tm_attr);if(tm_attr.style==="compact"){tmw=95;tmh=25}b.innerHTML='<iframe frameborder="0" width="'+tmw+'" height="'+tmh+'" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+"></iframe>";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='<iframe frameborder="0" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+"></iframe>";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<opts.length);b._ips=1;if(b.className.indexOf(sv)==-1){b.className+=" addthis_button_"+sv;b._iss=1}if(!b.parentNode.services){b.parentNode.services={}}b.parentNode.services[sv]=1}else{if(attr.conf.ui_language||window.addthis_language){_ate.alg(attr.conf.ui_language)}_ate.plo.push(["deco",_renderToolbox,[b],config,share,true]);if(_ate.gssh){_ate.pld=_ate.ajs("static/r07/menu57.js")}else{if(!_ate.pld){_ate.pld=1;var loadmenu=function(){_ate.pld=_ate.ajs("static/r07/menu57.js")};if(_ate.upm){_ate._rec.push(function(data){if(data.ssh){loadmenu()}});_ate.sto(loadmenu,500)}else{loadmenu()}}}continue}}}}if(!b.childNodes.length){var sp=d.ce("span");b.appendChild(sp);sp.className=a+"bs at15t_"+sv}else{if(b.childNodes.length==1){var cn=b.childNodes[0];if(cn.nodeType==3){var sp=d.ce("span"),tv=cn.nodeValue;b.insertBefore(sp,cn);sp.className=a+"bs at15t_"+sv}}else{hc=1}}if(sv==="compact"){if(!hc&&c.indexOf(a)==-1){b.className+=" "+a+"m"}}else{if(sv==="expanded"){if(!hc&&c.indexOf(a)==-1){b.className+=" "+a+"m"}options={nohover:true,singleservice:"more"}}else{if((b.parentNode.className||"").indexOf("toolbox")>-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;i<toolboxes.length;i++){var tb=toolboxes[i],attr=_getATtributes(tb,config,share),sp=d.ce("div"),c;if(tb){c=tb.getElementsByTagName("a");if(c){_renderToolbox(c,attr.conf,attr.share)}tb.appendChild(sp)}sp.className="atclear"}};addthis.ready=function(){var at=addthis,a=".addthis_";if(at.ost){return}at.ost=1;addthis.toolbox(a+"toolbox");addthis.button(a+"button");addthis.counter(a+"counter");_renderToolbox(buttons,null,null,false);_ate.ed.fire("addthis.ready",addthis);for(var i=0,plo=at.plo,q;i<plo.length;i++){q=plo[i];(q.ns?at[q.ns]:at)[q.call].apply(this,q.args)}};addthis.util.getAttributes=_getATtributes;window.addthis=addthis;window.addthis.ready()}}));_ate.extend(addthis,{counter:(function(){var s=1,z=_ate,x=document,n=window,p=addthis,j=n.addthis_config,k=n.addthis_share,r=function(w,d,a){w/=d;return Math.round(w*10)/10+a},i=function(a){var d=(""+a).split(".").shift().length;if(isNaN(a)){return a}else{if(d<4){return Math.round(a)}else{if(d<7){return r(a,1000,"K")}else{if(d<10){return r(a,1000000,"M")}else{return r(a,1000000000,"B")}}}}},q=function(d){try{if(n.JSON&&n.JSON.parse){return JSON.parse(d)}return _ate.util.fromKV(d)}catch(a){return{}}},o=function(d){try{if(n.JSON&&n.JSON.stringify){return JSON.stringify(d)}return _ate.util.toKV(d)}catch(a){return""}},g=function(d){var a=_ate.cookie.rck("_atshc");if(a){return(q(a)||{})[d]||-1}return -1},c=function(d,w){var a=_ate.cookie.rck("_atshc"),B;if(a){a=q(a);B=(a||{})[d]||0;if(B&&w>B){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<t[a.url].length;B++){l(t[a.url][B],C,w)}};_ate.cbs["time_"+d]=(new Date()).getTime();_ate.ajs("//api-public.addthis.com/url/shares.json?suppress_response_codes=true&url="+_euc(a.url)+"&callback=_ate.cbs."+encodeURIComponent(d),1)}}},h=function(E,w,D){if(E){E=addthis._select(E);for(var B=0;B<E.length;B++){var a=E[B],C=((a.parentNode||{}).className||"").indexOf("addthis_toolbox")>-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
--- 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 &lt; and &gt; 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(' <span class="star">*</span> ');
-      }
-    }
-  };
-
-  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 &lt; and &gt; 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(' <span class="star">*</span> ');
+      }
+    }
+  };
+
+  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);
--- 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;
+};
--- 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
--- 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
--- 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 = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
-  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, '<br />');
-}
-
-// Global Killswitch on the <html> 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 '<em>' + Drupal.checkPlain(str) + '</em>';
-  }
-};
+// $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 = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
+  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, '<br />');
+}
+
+// Global Killswitch on the <html> 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 '<em>' + Drupal.checkPlain(str) + '</em>';
+  }
+};
--- 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('<div id="SuggestPopupBox"></div>');  
-    			// pour le stockage de la requete precedente
-    			$('#search_top_page-wrapper').append('<div id="SuggestPrecBox" style="display:none">'+queryBox+'</div>');
-    		}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 += "<li class='suj-reponse'>"+item+"</li>";
-		    			});
-		    			$('#SuggestPopupBox').append("<ul>"+liste+"</ul>");		    			
-		    			// 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('<div id="SuggestPopupPage"></div>');  
-    			// pour le stockage de la requete precedente
-    			$('#edit-keys-wrapper').append('<div id="SuggestPrecPage" style="display:none">'+queryPage+'</div>');
-    		}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 += "<li class='suj-reponse'>"+item+"</li>";
-		    			});
-		    			$('#SuggestPopupPage').append("<ul>"+liste+"</ul>");		    			
-		    			// 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<tableau.length;i++){
-      if(tableau[i].length>=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('<div id="SuggestPopupBox"></div>');  
+    			// pour le stockage de la requete precedente
+    			$('#search_top_page-wrapper').append('<div id="SuggestPrecBox" style="display:none">'+queryBox+'</div>');
+    		}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 += "<li class='suj-reponse'>"+item+"</li>";
+		    			});
+		    			$('#SuggestPopupBox').append("<ul>"+liste+"</ul>");		    			
+		    			// 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('<div id="SuggestPopupPage"></div>');  
+    			// pour le stockage de la requete precedente
+    			$('#edit-keys-wrapper').append('<div id="SuggestPrecPage" style="display:none">'+queryPage+'</div>');
+    		}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 += "<li class='suj-reponse'>"+item+"</li>";
+		    			});
+		    			$('#SuggestPopupPage').append("<ul>"+liste+"</ul>");		    			
+		    			// 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<tableau.length;i++){
+      if(tableau[i].length>=3){
+	key2 += tableau[i] + ' ';
+      }
+    }
+    var options = {exact:"exact",style_name_suffix:false,style_name:"tagged",keys:key2};
+    jQuery(document).SearchHighlight(options);
+
+};
+
+
+
--- 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
+  });
+};
--- 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<twitters.length; i++){  
-	username = twitters[i].user.screen_name;
-    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
-      return '<a href="'+url+'">'+url+'</a>';
-    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
-      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
-    });
-    statusHTML.push('<li><span>'+status+'</span><a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
-  }
-  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<twitters.length; i++){  
+	username = twitters[i].user.screen_name;
+    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
+      return '<a href="'+url+'">'+url+'</a>';
+    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
+      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
+    });
+    statusHTML.push('<li><span>'+status+'</span><a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>');
+  }
+  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
--- 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 : '&nbsp;');
-                $('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 : '&nbsp');
-                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 : '&nbsp;');
-              }
-              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 = $('<div class="fivestar-widget clear-block"></div>');
-        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 = $('<div class="cancel"><a href="#0" title="' + option.text + '">' + option.text + '</a></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 = $('<div class="star star-' + count + ' star-' + zebra + first + last + '"><a href="#' + option.value + '" title="' + option.text + '">' + option.text + '</a></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 : '&nbsp;');
+                $('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 : '&nbsp');
+                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 : '&nbsp;');
+              }
+              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 = $('<div class="fivestar-widget clear-block"></div>');
+        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 = $('<div class="cancel"><a href="#0" title="' + option.text + '">' + option.text + '</a></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 = $('<div class="star star-' + count + ' star-' + zebra + first + last + '"><a href="#' + option.value + '" title="' + option.text + '">' + option.text + '</a></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
--- 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();
+}
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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<l;i++)q=q.Q(j.H[i][0],j.H[i][1])}x q},10:/((?:\\\\{2})*)([[\\]{}*?|])/g,1v:6(a){4 b=[],m;$.G(a,6(i,n){5(n=j.M(n).Q(j.10,"$1\\\\$2"))b.1J(n)});m=b.1y("|");1I(j.A.E){18"E":m=\'\\\\b(?:\'+m+\')\\\\b\';1z;18"1k":m=\'\\\\b\\\\w*(\'+m+\')\\\\w*\\\\b\';1z}j.m=1V 1W(m,"1E");$.G(b,6(i,n){j.N[n]=j.A.1h+(j.A.1b?i+1:\'\')})},W:/s(?:1C|1Z)|1B/i,1n:6(a,b){4 c=j.A,D,U;D=c.1d?$(c.1d):$("P");5(!D.z)D=$("P");U=c.1x?$(c.1x):$([]);D.G(6(){j.T(F,b,U)})},T:6(a,b,c){5(c.r(a)!=-1)x;4 d=j.A.E=="1k"?1:0;12(4 e=0,S=a.R.z;e<S;e++){4 f=a.R[e];5(f.O!=8){5(f.O==3){4 g=f.2j,1u=j.M(g);4 h="",v,r=0;j.m.11=0;2i(v=j.m.2h(1u)){h+=g.1p(r,v.r-r)+\'<I 2f="\'+j.N[v[d].K()]+\'">\'+g.1p(v.r,v[0].z)+"</I>";r=v.r+v[0].z}5(h){h+=g.2e(r);4 i=$.2d([],$("<I>"+h+"</I>")[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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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<l;i++)q=q.Q(j.H[i][0],j.H[i][1])}x q},10:/((?:\\\\{2})*)([[\\]{}*?|])/g,1v:6(a){4 b=[],m;$.G(a,6(i,n){5(n=j.M(n).Q(j.10,"$1\\\\$2"))b.1J(n)});m=b.1y("|");1I(j.A.E){18"E":m=\'\\\\b(?:\'+m+\')\\\\b\';1z;18"1k":m=\'\\\\b\\\\w*(\'+m+\')\\\\w*\\\\b\';1z}j.m=1V 1W(m,"1E");$.G(b,6(i,n){j.N[n]=j.A.1h+(j.A.1b?i+1:\'\')})},W:/s(?:1C|1Z)|1B/i,1n:6(a,b){4 c=j.A,D,U;D=c.1d?$(c.1d):$("P");5(!D.z)D=$("P");U=c.1x?$(c.1x):$([]);D.G(6(){j.T(F,b,U)})},T:6(a,b,c){5(c.r(a)!=-1)x;4 d=j.A.E=="1k"?1:0;12(4 e=0,S=a.R.z;e<S;e++){4 f=a.R[e];5(f.O!=8){5(f.O==3){4 g=f.2j,1u=j.M(g);4 h="",v,r=0;j.m.11=0;2i(v=j.m.2h(1u)){h+=g.1p(r,v.r-r)+\'<I 2f="\'+j.N[v[d].K()]+\'">\'+g.1p(v.r,v[0].z)+"</I>";r=v.r+v[0].z}5(h){h+=g.2e(r);4 i=$.2d([],$("<I>"+h+"</I>")[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,{}))
--- 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
--- 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
--- 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);
--- 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('<input type="hidden" name="'+u+'" value="'+g.extraData[u]+'" />').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('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),v=t[0];t.css({position:"absolute",top:"-1000px",left:"-1000px"});var i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=
-1;t.attr("src",g.iframeSrc)}},w=g.global;w&&!b.active++&&b.event.trigger("ajaxStart");w&&b.event.trigger("ajaxSend",[i,g]);if(q.beforeSend&&q.beforeSend(i,q)===false)q.global&&b.active--;else if(!i.aborted){var D=false,C=0;if(q=j.clk){var y=q.name;if(y&&!q.disabled){g.extraData=g.extraData||{};g.extraData[y]=q.value;if(q.type=="image"){g.extraData[y+".x"]=j.clk_x;g.extraData[y+".y"]=j.clk_y}}}g.forceSync?r():setTimeout(r,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected");
-return this}if(typeof a=="function")a={success:a};var e=b.trim(this.attr("action"));if(e)e=(e.match(/^([^#]+)/)||[])[1];e=e||window.location.href||"";a=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});e={};this.trigger("form-pre-serialize",[this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback");
-return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var c in a.data)if(a.data[c]instanceof Array)for(var l in a.data[c])f.push({name:c,value:a.data[c][l]});else f.push({name:c,value:a.data[c]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(f);if(a.type.toUpperCase()==
-"GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var h=this,k=[];a.resetForm&&k.push(function(){h.resetForm()});a.clearForm&&k.push(function(){h.clearForm()});if(!a.dataType&&a.target){var x=a.success||function(){};k.push(function(r){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](r).each(x,arguments)})}else a.success&&k.push(a.success);a.success=function(r,s,A){for(var j=0,g=k.length;j<g;j++)k[j].apply(a,[r,s,A||h,h])};c=b("input:file",this).fieldValue();l=false;
-for(e=0;e<c.length;e++)if(c[e])l=true;if(c.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,d):d();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(d){var e=d.target,f=b(e);if(!f.is(":submit,input:image")){e=f.closest(":submit");if(e.length==0)return;e=e[0]}var c=this;c.clk=e;
-if(e.type=="image")if(d.offsetX!=undefined){c.clk_x=d.offsetX;c.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.top}else{c.clk_x=d.pageX-e.offsetLeft;c.clk_y=d.pageY-e.offsetTop}setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var d=[];if(this.length==0)return d;var e=this[0],f=a?e.getElementsByTagName("*"):e.elements;
-if(!f)return d;for(var c=0,l=f.length;c<l;c++){var h=f[c],k=h.name;if(k)if(a&&e.clk&&h.type=="image"){if(!h.disabled&&e.clk==h){d.push({name:k,value:b(h).val()});d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var x=0,r=h.length;x<r;x++)d.push({name:k,value:h[x]});else h!==null&&typeof h!="undefined"&&d.push({name:k,value:h})}if(!a&&e.clk){a=b(e.clk);f=a[0];if((k=f.name)&&!f.disabled&&f.type=="image"){d.push({name:k,value:a.val()});
-d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}return d};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var d=[];this.each(function(){var e=this.name;if(e){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var c=0,l=f.length;c<l;c++)d.push({name:e,value:f[c]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return b.param(d)};b.fn.fieldValue=function(a){for(var d=[],e=0,f=this.length;e<f;e++){var c=
-b.fieldValue(this[e],a);c===null||typeof c=="undefined"||c.constructor==Array&&!c.length||(c.constructor==Array?b.merge(d,c):d.push(c))}return d};b.fieldValue=function(a,d){var e=a.name,f=a.type,c=a.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||c=="select"&&a.selectedIndex==-1))return null;if(c=="select"){c=a.selectedIndex;if(c<0)return null;d=[];a=a.options;
-e=(f=f=="select-one")?c+1:a.length;for(c=f?c:0;c<e;c++){var l=a[c];if(l.selected){var h=l.value;h||(h=l.attributes&&l.attributes.value&&!l.attributes.value.specified?l.text:l.value);if(f)return h;d.push(h)}}return d}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,d=this.tagName.toLowerCase();if(a=="text"||a=="password"||d=="textarea")this.value=
-"";else if(a=="checkbox"||a=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=a;else if(this.tagName.toLowerCase()==
-"option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery);
+/*!
+* 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('<input type="hidden" name="'+u+'" value="'+g.extraData[u]+'" />').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('<iframe id="'+z+'" name="'+z+'" src="'+g.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),v=t[0];t.css({position:"absolute",top:"-1000px",left:"-1000px"});var i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=
+1;t.attr("src",g.iframeSrc)}},w=g.global;w&&!b.active++&&b.event.trigger("ajaxStart");w&&b.event.trigger("ajaxSend",[i,g]);if(q.beforeSend&&q.beforeSend(i,q)===false)q.global&&b.active--;else if(!i.aborted){var D=false,C=0;if(q=j.clk){var y=q.name;if(y&&!q.disabled){g.extraData=g.extraData||{};g.extraData[y]=q.value;if(q.type=="image"){g.extraData[y+".x"]=j.clk_x;g.extraData[y+".y"]=j.clk_y}}}g.forceSync?r():setTimeout(r,10);var G=100}}}if(!this.length){o("ajaxSubmit: skipping submit process - no element selected");
+return this}if(typeof a=="function")a={success:a};var e=b.trim(this.attr("action"));if(e)e=(e.match(/^([^#]+)/)||[])[1];e=e||window.location.href||"";a=b.extend({url:e,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a||{});e={};this.trigger("form-pre-serialize",[this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(a.beforeSerialize&&a.beforeSerialize(this,a)===false){o("ajaxSubmit: submit aborted via beforeSerialize callback");
+return this}var f=this.formToArray(a.semantic);if(a.data){a.extraData=a.data;for(var c in a.data)if(a.data[c]instanceof Array)for(var l in a.data[c])f.push({name:c,value:a.data[c][l]});else f.push({name:c,value:a.data[c]})}if(a.beforeSubmit&&a.beforeSubmit(f,this,a)===false){o("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[f,this,a,e]);if(e.veto){o("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}c=b.param(f);if(a.type.toUpperCase()==
+"GET"){a.url+=(a.url.indexOf("?")>=0?"&":"?")+c;a.data=null}else a.data=c;var h=this,k=[];a.resetForm&&k.push(function(){h.resetForm()});a.clearForm&&k.push(function(){h.clearForm()});if(!a.dataType&&a.target){var x=a.success||function(){};k.push(function(r){var s=a.replaceTarget?"replaceWith":"html";b(a.target)[s](r).each(x,arguments)})}else a.success&&k.push(a.success);a.success=function(r,s,A){for(var j=0,g=k.length;j<g;j++)k[j].apply(a,[r,s,A||h,h])};c=b("input:file",this).fieldValue();l=false;
+for(e=0;e<c.length;e++)if(c[e])l=true;if(c.length&&a.iframe!==false||a.iframe||l||0)a.closeKeepAlive?b.get(a.closeKeepAlive,d):d();else b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(a)}).bind("click.form-plugin",function(d){var e=d.target,f=b(e);if(!f.is(":submit,input:image")){e=f.closest(":submit");if(e.length==0)return;e=e[0]}var c=this;c.clk=e;
+if(e.type=="image")if(d.offsetX!=undefined){c.clk_x=d.offsetX;c.clk_y=d.offsetY}else if(typeof b.fn.offset=="function"){f=f.offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.top}else{c.clk_x=d.pageX-e.offsetLeft;c.clk_y=d.pageY-e.offsetTop}setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},100)})};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var d=[];if(this.length==0)return d;var e=this[0],f=a?e.getElementsByTagName("*"):e.elements;
+if(!f)return d;for(var c=0,l=f.length;c<l;c++){var h=f[c],k=h.name;if(k)if(a&&e.clk&&h.type=="image"){if(!h.disabled&&e.clk==h){d.push({name:k,value:b(h).val()});d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}else if((h=b.fieldValue(h,true))&&h.constructor==Array)for(var x=0,r=h.length;x<r;x++)d.push({name:k,value:h[x]});else h!==null&&typeof h!="undefined"&&d.push({name:k,value:h})}if(!a&&e.clk){a=b(e.clk);f=a[0];if((k=f.name)&&!f.disabled&&f.type=="image"){d.push({name:k,value:a.val()});
+d.push({name:k+".x",value:e.clk_x},{name:k+".y",value:e.clk_y})}}return d};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var d=[];this.each(function(){var e=this.name;if(e){var f=b.fieldValue(this,a);if(f&&f.constructor==Array)for(var c=0,l=f.length;c<l;c++)d.push({name:e,value:f[c]});else f!==null&&typeof f!="undefined"&&d.push({name:this.name,value:f})}});return b.param(d)};b.fn.fieldValue=function(a){for(var d=[],e=0,f=this.length;e<f;e++){var c=
+b.fieldValue(this[e],a);c===null||typeof c=="undefined"||c.constructor==Array&&!c.length||(c.constructor==Array?b.merge(d,c):d.push(c))}return d};b.fieldValue=function(a,d){var e=a.name,f=a.type,c=a.tagName.toLowerCase();if(typeof d=="undefined")d=true;if(d&&(!e||a.disabled||f=="reset"||f=="button"||(f=="checkbox"||f=="radio")&&!a.checked||(f=="submit"||f=="image")&&a.form&&a.form.clk!=a||c=="select"&&a.selectedIndex==-1))return null;if(c=="select"){c=a.selectedIndex;if(c<0)return null;d=[];a=a.options;
+e=(f=f=="select-one")?c+1:a.length;for(c=f?c:0;c<e;c++){var l=a[c];if(l.selected){var h=l.value;h||(h=l.attributes&&l.attributes.value&&!l.attributes.value.specified?l.text:l.value);if(f)return h;d.push(h)}}return d}return a.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var a=this.type,d=this.tagName.toLowerCase();if(a=="text"||a=="password"||d=="textarea")this.value=
+"";else if(a=="checkbox"||a=="radio")this.checked=false;else if(d=="select")this.selectedIndex=-1})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)this.reset()})};b.fn.enable=function(a){if(a==undefined)a=true;return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){if(a==undefined)a=true;return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=a;else if(this.tagName.toLowerCase()==
+"option"){d=b(this).parent("select");a&&d[0]&&d[0].type=="select-one"&&d.find("option").selected(false);this.selected=a}})}})(jQuery);
--- a/web/res/metadataplayer/test/emission_fichiers/jquery_005.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/jquery_005.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,4376 +1,4376 @@
-/*!
- * jQuery JavaScript Library v1.3.2
- * http://jquery.com/
- *
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
- *
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){
-
-var 
-	// Will speed up references to window, and allows munging its name.
-	window = this,
-	// Will speed up references to undefined, and allows munging its name.
-	undefined,
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-	// Map over the $ in case of overwrite
-	_$ = window.$,
-
-	jQuery = window.jQuery = window.$ = function( selector, context ) {
-		// The jQuery object is actually just the init constructor 'enhanced'
-		return new jQuery.fn.init( selector, context );
-	},
-
-	// A simple way to check for HTML strings or ID strings
-	// (both of which we optimize for)
-	quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
-	// Is it a simple selector
-	isSimple = /^.[^:#\[\.,]*$/;
-
-jQuery.fn = jQuery.prototype = {
-	init: function( selector, context ) {
-		// Make sure that a selection was provided
-		selector = selector || document;
-
-		// Handle $(DOMElement)
-		if ( selector.nodeType ) {
-			this[0] = selector;
-			this.length = 1;
-			this.context = selector;
-			return this;
-		}
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			// Are we dealing with HTML string or an ID?
-			var match = quickExpr.exec( selector );
-
-			// Verify a match, and that no context was specified for #id
-			if ( match && (match[1] || !context) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[1] )
-					selector = jQuery.clean( [ match[1] ], context );
-
-				// HANDLE: $("#id")
-				else {
-					var elem = document.getElementById( match[3] );
-
-					// Handle the case where IE and Opera return items
-					// by name instead of ID
-					if ( elem && elem.id != match[3] )
-						return jQuery().find( selector );
-
-					// Otherwise, we inject the element directly into the jQuery object
-					var ret = jQuery( elem || [] );
-					ret.context = document;
-					ret.selector = selector;
-					return ret;
-				}
-
-			// HANDLE: $(expr, [context])
-			// (which is just equivalent to: $(content).find(expr)
-			} else
-				return jQuery( context ).find( selector );
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) )
-			return jQuery( document ).ready( selector );
-
-		// Make sure that old selector state is passed along
-		if ( selector.selector && selector.context ) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return this.setArray(jQuery.isArray( selector ) ?
-			selector :
-			jQuery.makeArray(selector));
-	},
-
-	// Start with an empty selector
-	selector: "",
-
-	// The current version of jQuery being used
-	jquery: "1.3.2",
-
-	// The number of elements contained in the matched element set
-	size: function() {
-		return this.length;
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num === undefined ?
-
-			// Return a 'clean' array
-			Array.prototype.slice.call( this ) :
-
-			// Return just the object
-			this[ num ];
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems, name, selector ) {
-		// Build a new jQuery matched element set
-		var ret = jQuery( elems );
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-
-		ret.context = this.context;
-
-		if ( name === "find" )
-			ret.selector = this.selector + (this.selector ? " " : "") + selector;
-		else if ( name )
-			ret.selector = this.selector + "." + name + "(" + selector + ")";
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Force the current matched set of elements to become
-	// the specified array of elements (destroying the stack in the process)
-	// You should use pushStack() in order to do this, but maintain the stack
-	setArray: function( elems ) {
-		// Resetting the length to 0, then using the native Array push
-		// is a super-fast way to populate an object with array-like properties
-		this.length = 0;
-		Array.prototype.push.apply( this, elems );
-
-		return this;
-	},
-
-	// Execute a callback for every element in the matched set.
-	// (You can seed the arguments with an array of args, but this is
-	// only used internally.)
-	each: function( callback, args ) {
-		return jQuery.each( this, callback, args );
-	},
-
-	// Determine the position of an element within
-	// the matched set of elements
-	index: function( elem ) {
-		// Locate the position of the desired element
-		return jQuery.inArray(
-			// If it receives a jQuery object, the first element is used
-			elem && elem.jquery ? elem[0] : elem
-		, this );
-	},
-
-	attr: function( name, value, type ) {
-		var options = name;
-
-		// Look for the case where we're accessing a style value
-		if ( typeof name === "string" )
-			if ( value === undefined )
-				return this[0] && jQuery[ type || "attr" ]( this[0], name );
-
-			else {
-				options = {};
-				options[ name ] = value;
-			}
-
-		// Check to see if we're setting style values
-		return this.each(function(i){
-			// Set all the styles
-			for ( name in options )
-				jQuery.attr(
-					type ?
-						this.style :
-						this,
-					name, jQuery.prop( this, options[ name ], type, i, name )
-				);
-		});
-	},
-
-	css: function( key, value ) {
-		// ignore negative width and height values
-		if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )
-			value = undefined;
-		return this.attr( key, value, "curCSS" );
-	},
-
-	text: function( text ) {
-		if ( typeof text !== "object" && text != null )
-			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
-
-		var ret = "";
-
-		jQuery.each( text || this, function(){
-			jQuery.each( this.childNodes, function(){
-				if ( this.nodeType != 8 )
-					ret += this.nodeType != 1 ?
-						this.nodeValue :
-						jQuery.fn.text( [ this ] );
-			});
-		});
-
-		return ret;
-	},
-
-	wrapAll: function( html ) {
-		if ( this[0] ) {
-			// The elements to wrap the target around
-			var wrap = jQuery( html, this[0].ownerDocument ).clone();
-
-			if ( this[0].parentNode )
-				wrap.insertBefore( this[0] );
-
-			wrap.map(function(){
-				var elem = this;
-
-				while ( elem.firstChild )
-					elem = elem.firstChild;
-
-				return elem;
-			}).append(this);
-		}
-
-		return this;
-	},
-
-	wrapInner: function( html ) {
-		return this.each(function(){
-			jQuery( this ).contents().wrapAll( html );
-		});
-	},
-
-	wrap: function( html ) {
-		return this.each(function(){
-			jQuery( this ).wrapAll( html );
-		});
-	},
-
-	append: function() {
-		return this.domManip(arguments, true, function(elem){
-			if (this.nodeType == 1)
-				this.appendChild( elem );
-		});
-	},
-
-	prepend: function() {
-		return this.domManip(arguments, true, function(elem){
-			if (this.nodeType == 1)
-				this.insertBefore( elem, this.firstChild );
-		});
-	},
-
-	before: function() {
-		return this.domManip(arguments, false, function(elem){
-			this.parentNode.insertBefore( elem, this );
-		});
-	},
-
-	after: function() {
-		return this.domManip(arguments, false, function(elem){
-			this.parentNode.insertBefore( elem, this.nextSibling );
-		});
-	},
-
-	end: function() {
-		return this.prevObject || jQuery( [] );
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: [].push,
-	sort: [].sort,
-	splice: [].splice,
-
-	find: function( selector ) {
-		if ( this.length === 1 ) {
-			var ret = this.pushStack( [], "find", selector );
-			ret.length = 0;
-			jQuery.find( selector, this[0], ret );
-			return ret;
-		} else {
-			return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
-				return jQuery.find( selector, elem );
-			})), "find", selector );
-		}
-	},
-
-	clone: function( events ) {
-		// Do the clone
-		var ret = this.map(function(){
-			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
-				// IE copies events bound via attachEvent when
-				// using cloneNode. Calling detachEvent on the
-				// clone will also remove the events from the orignal
-				// In order to get around this, we use innerHTML.
-				// Unfortunately, this means some modifications to
-				// attributes in IE that are actually only stored
-				// as properties will not be copied (such as the
-				// the name attribute on an input).
-				var html = this.outerHTML;
-				if ( !html ) {
-					var div = this.ownerDocument.createElement("div");
-					div.appendChild( this.cloneNode(true) );
-					html = div.innerHTML;
-				}
-
-				return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0];
-			} else
-				return this.cloneNode(true);
-		});
-
-		// Copy the events from the original to the clone
-		if ( events === true ) {
-			var orig = this.find("*").andSelf(), i = 0;
-
-			ret.find("*").andSelf().each(function(){
-				if ( this.nodeName !== orig[i].nodeName )
-					return;
-
-				var events = jQuery.data( orig[i], "events" );
-
-				for ( var type in events ) {
-					for ( var handler in events[ type ] ) {
-						jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
-					}
-				}
-
-				i++;
-			});
-		}
-
-		// Return the cloned set
-		return ret;
-	},
-
-	filter: function( selector ) {
-		return this.pushStack(
-			jQuery.isFunction( selector ) &&
-			jQuery.grep(this, function(elem, i){
-				return selector.call( elem, i );
-			}) ||
-
-			jQuery.multiFilter( selector, jQuery.grep(this, function(elem){
-				return elem.nodeType === 1;
-			}) ), "filter", selector );
-	},
-
-	closest: function( selector ) {
-		var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
-			closer = 0;
-
-		return this.map(function(){
-			var cur = this;
-			while ( cur && cur.ownerDocument ) {
-				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
-					jQuery.data(cur, "closest", closer);
-					return cur;
-				}
-				cur = cur.parentNode;
-				closer++;
-			}
-		});
-	},
-
-	not: function( selector ) {
-		if ( typeof selector === "string" )
-			// test special case where just one selector is passed in
-			if ( isSimple.test( selector ) )
-				return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector );
-			else
-				selector = jQuery.multiFilter( selector, this );
-
-		var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
-		return this.filter(function() {
-			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;
-		});
-	},
-
-	add: function( selector ) {
-		return this.pushStack( jQuery.unique( jQuery.merge(
-			this.get(),
-			typeof selector === "string" ?
-				jQuery( selector ) :
-				jQuery.makeArray( selector )
-		)));
-	},
-
-	is: function( selector ) {
-		return !!selector && jQuery.multiFilter( selector, this ).length > 0;
-	},
-
-	hasClass: function( selector ) {
-		return !!selector && this.is( "." + selector );
-	},
-
-	val: function( value ) {
-		if ( value === undefined ) {			
-			var elem = this[0];
-
-			if ( elem ) {
-				if( jQuery.nodeName( elem, 'option' ) )
-					return (elem.attributes.value || {}).specified ? elem.value : elem.text;
-				
-				// We need to handle select boxes special
-				if ( jQuery.nodeName( elem, "select" ) ) {
-					var index = elem.selectedIndex,
-						values = [],
-						options = elem.options,
-						one = elem.type == "select-one";
-
-					// Nothing was selected
-					if ( index < 0 )
-						return null;
-
-					// Loop through all the selected options
-					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
-						var option = options[ i ];
-
-						if ( option.selected ) {
-							// Get the specifc value for the option
-							value = jQuery(option).val();
-
-							// We don't need an array for one selects
-							if ( one )
-								return value;
-
-							// Multi-Selects return an array
-							values.push( value );
-						}
-					}
-
-					return values;				
-				}
-
-				// Everything else, we just grab the value
-				return (elem.value || "").replace(/\r/g, "");
-
-			}
-
-			return undefined;
-		}
-
-		if ( typeof value === "number" )
-			value += '';
-
-		return this.each(function(){
-			if ( this.nodeType != 1 )
-				return;
-
-			if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
-				this.checked = (jQuery.inArray(this.value, value) >= 0 ||
-					jQuery.inArray(this.name, value) >= 0);
-
-			else if ( jQuery.nodeName( this, "select" ) ) {
-				var values = jQuery.makeArray(value);
-
-				jQuery( "option", this ).each(function(){
-					this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
-						jQuery.inArray( this.text, values ) >= 0);
-				});
-
-				if ( !values.length )
-					this.selectedIndex = -1;
-
-			} else
-				this.value = value;
-		});
-	},
-
-	html: function( value ) {
-		return value === undefined ?
-			(this[0] ?
-				this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") :
-				null) :
-			this.empty().append( value );
-	},
-
-	replaceWith: function( value ) {
-		return this.after( value ).remove();
-	},
-
-	eq: function( i ) {
-		return this.slice( i, +i + 1 );
-	},
-
-	slice: function() {
-		return this.pushStack( Array.prototype.slice.apply( this, arguments ),
-			"slice", Array.prototype.slice.call(arguments).join(",") );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map(this, function(elem, i){
-			return callback.call( elem, i, elem );
-		}));
-	},
-
-	andSelf: function() {
-		return this.add( this.prevObject );
-	},
-
-	domManip: function( args, table, callback ) {
-		if ( this[0] ) {
-			var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
-				scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
-				first = fragment.firstChild;
-
-			if ( first )
-				for ( var i = 0, l = this.length; i < l; i++ )
-					callback.call( root(this[i], first), this.length > 1 || i > 0 ?
-							fragment.cloneNode(true) : fragment );
-		
-			if ( scripts )
-				jQuery.each( scripts, evalScript );
-		}
-
-		return this;
-		
-		function root( elem, cur ) {
-			return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ?
-				(elem.getElementsByTagName("tbody")[0] ||
-				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
-				elem;
-		}
-	}
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-function evalScript( i, elem ) {
-	if ( elem.src )
-		jQuery.ajax({
-			url: elem.src,
-			async: false,
-			dataType: "script"
-		});
-
-	else
-		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
-
-	if ( elem.parentNode )
-		elem.parentNode.removeChild( elem );
-}
-
-function now(){
-	return +new Date;
-}
-
-jQuery.extend = jQuery.fn.extend = function() {
-	// copy reference to target object
-	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-		target = arguments[1] || {};
-		// skip the boolean and the target
-		i = 2;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction(target) )
-		target = {};
-
-	// extend jQuery itself if only one argument is passed
-	if ( length == i ) {
-		target = this;
-		--i;
-	}
-
-	for ( ; i < length; i++ )
-		// Only deal with non-null/undefined values
-		if ( (options = arguments[ i ]) != null )
-			// Extend the base object
-			for ( var name in options ) {
-				var src = target[ name ], copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy )
-					continue;
-
-				// Recurse if we're merging object values
-				if ( deep && copy && typeof copy === "object" && !copy.nodeType )
-					target[ name ] = jQuery.extend( deep, 
-						// Never move original objects, clone them
-						src || ( copy.length != null ? [ ] : { } )
-					, copy );
-
-				// Don't bring in undefined values
-				else if ( copy !== undefined )
-					target[ name ] = copy;
-
-			}
-
-	// Return the modified object
-	return target;
-};
-
-// exclude the following css properties to add px
-var	exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
-	// cache defaultView
-	defaultView = document.defaultView || {},
-	toString = Object.prototype.toString;
-
-jQuery.extend({
-	noConflict: function( deep ) {
-		window.$ = _$;
-
-		if ( deep )
-			window.jQuery = _jQuery;
-
-		return jQuery;
-	},
-
-	// See test/unit/core.js for details concerning isFunction.
-	// Since version 1.3, DOM methods and functions like alert
-	// aren't supported. They return false on IE (#2968).
-	isFunction: function( obj ) {
-		return toString.call(obj) === "[object Function]";
-	},
-
-	isArray: function( obj ) {
-		return toString.call(obj) === "[object Array]";
-	},
-
-	// check if an element is in a (or is an) XML document
-	isXMLDoc: function( elem ) {
-		return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
-			!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
-	},
-
-	// Evalulates a script in a global context
-	globalEval: function( data ) {
-		if ( data && /\S/.test(data) ) {
-			// Inspired by code by Andrea Giammarchi
-			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
-			var head = document.getElementsByTagName("head")[0] || document.documentElement,
-				script = document.createElement("script");
-
-			script.type = "text/javascript";
-			if ( jQuery.support.scriptEval )
-				script.appendChild( document.createTextNode( data ) );
-			else
-				script.text = data;
-
-			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
-			// This arises when a base node is used (#2709).
-			head.insertBefore( script, head.firstChild );
-			head.removeChild( script );
-		}
-	},
-
-	nodeName: function( elem, name ) {
-		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
-	},
-
-	// args is for internal usage only
-	each: function( object, callback, args ) {
-		var name, i = 0, length = object.length;
-
-		if ( args ) {
-			if ( length === undefined ) {
-				for ( name in object )
-					if ( callback.apply( object[ name ], args ) === false )
-						break;
-			} else
-				for ( ; i < length; )
-					if ( callback.apply( object[ i++ ], args ) === false )
-						break;
-
-		// A special, fast, case for the most common use of each
-		} else {
-			if ( length === undefined ) {
-				for ( name in object )
-					if ( callback.call( object[ name ], name, object[ name ] ) === false )
-						break;
-			} else
-				for ( var value = object[0];
-					i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
-		}
-
-		return object;
-	},
-
-	prop: function( elem, value, type, i, name ) {
-		// Handle executable functions
-		if ( jQuery.isFunction( value ) )
-			value = value.call( elem, i );
-
-		// Handle passing in a number to a CSS property
-		return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ?
-			value + "px" :
-			value;
-	},
-
-	className: {
-		// internal only, use addClass("class")
-		add: function( elem, classNames ) {
-			jQuery.each((classNames || "").split(/\s+/), function(i, className){
-				if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )
-					elem.className += (elem.className ? " " : "") + className;
-			});
-		},
-
-		// internal only, use removeClass("class")
-		remove: function( elem, classNames ) {
-			if (elem.nodeType == 1)
-				elem.className = classNames !== undefined ?
-					jQuery.grep(elem.className.split(/\s+/), function(className){
-						return !jQuery.className.has( classNames, className );
-					}).join(" ") :
-					"";
-		},
-
-		// internal only, use hasClass("class")
-		has: function( elem, className ) {
-			return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;
-		}
-	},
-
-	// A method for quickly swapping in/out CSS properties to get correct calculations
-	swap: function( elem, options, callback ) {
-		var old = {};
-		// Remember the old values, and insert the new ones
-		for ( var name in options ) {
-			old[ name ] = elem.style[ name ];
-			elem.style[ name ] = options[ name ];
-		}
-
-		callback.call( elem );
-
-		// Revert the old values
-		for ( var name in options )
-			elem.style[ name ] = old[ name ];
-	},
-
-	css: function( elem, name, force, extra ) {
-		if ( name == "width" || name == "height" ) {
-			var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
-
-			function getWH() {
-				val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
-
-				if ( extra === "border" )
-					return;
-
-				jQuery.each( which, function() {
-					if ( !extra )
-						val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
-					if ( extra === "margin" )
-						val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
-					else
-						val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
-				});
-			}
-
-			if ( elem.offsetWidth !== 0 )
-				getWH();
-			else
-				jQuery.swap( elem, props, getWH );
-
-			return Math.max(0, Math.round(val));
-		}
-
-		return jQuery.curCSS( elem, name, force );
-	},
-
-	curCSS: function( elem, name, force ) {
-		var ret, style = elem.style;
-
-		// We need to handle opacity special in IE
-		if ( name == "opacity" && !jQuery.support.opacity ) {
-			ret = jQuery.attr( style, "opacity" );
-
-			return ret == "" ?
-				"1" :
-				ret;
-		}
-
-		// Make sure we're using the right name for getting the float value
-		if ( name.match( /float/i ) )
-			name = styleFloat;
-
-		if ( !force && style && style[ name ] )
-			ret = style[ name ];
-
-		else if ( defaultView.getComputedStyle ) {
-
-			// Only "float" is needed here
-			if ( name.match( /float/i ) )
-				name = "float";
-
-			name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();
-
-			var computedStyle = defaultView.getComputedStyle( elem, null );
-
-			if ( computedStyle )
-				ret = computedStyle.getPropertyValue( name );
-
-			// We should always get a number back from opacity
-			if ( name == "opacity" && ret == "" )
-				ret = "1";
-
-		} else if ( elem.currentStyle ) {
-			var camelCase = name.replace(/\-(\w)/g, function(all, letter){
-				return letter.toUpperCase();
-			});
-
-			ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
-
-			// From the awesome hack by Dean Edwards
-			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
-			// If we're not dealing with a regular pixel number
-			// but a number that has a weird ending, we need to convert it to pixels
-			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
-				// Remember the original values
-				var left = style.left, rsLeft = elem.runtimeStyle.left;
-
-				// Put in the new values to get a computed value out
-				elem.runtimeStyle.left = elem.currentStyle.left;
-				style.left = ret || 0;
-				ret = style.pixelLeft + "px";
-
-				// Revert the changed values
-				style.left = left;
-				elem.runtimeStyle.left = rsLeft;
-			}
-		}
-
-		return ret;
-	},
-
-	clean: function( elems, context, fragment ) {
-		context = context || document;
-
-		// !context.createElement fails in IE with an error but returns typeof 'object'
-		if ( typeof context.createElement === "undefined" )
-			context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
-
-		// If a single string is passed in and it's a single tag
-		// just do a createElement and skip the rest
-		if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) {
-			var match = /^<(\w+)\s*\/?>$/.exec(elems[0]);
-			if ( match )
-				return [ context.createElement( match[1] ) ];
-		}
-
-		var ret = [], scripts = [], div = context.createElement("div");
-
-		jQuery.each(elems, function(i, elem){
-			if ( typeof elem === "number" )
-				elem += '';
-
-			if ( !elem )
-				return;
-
-			// Convert html string into DOM nodes
-			if ( typeof elem === "string" ) {
-				// Fix "XHTML"-style tags in all browsers
-				elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
-					return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
-						all :
-						front + "></" + tag + ">";
-				});
-
-				// Trim whitespace, otherwise indexOf won't work as expected
-				var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();
-
-				var wrap =
-					// option or optgroup
-					!tags.indexOf("<opt") &&
-					[ 1, "<select multiple='multiple'>", "</select>" ] ||
-
-					!tags.indexOf("<leg") &&
-					[ 1, "<fieldset>", "</fieldset>" ] ||
-
-					tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
-					[ 1, "<table>", "</table>" ] ||
-
-					!tags.indexOf("<tr") &&
-					[ 2, "<table><tbody>", "</tbody></table>" ] ||
-
-				 	// <thead> matched above
-					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
-					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
-
-					!tags.indexOf("<col") &&
-					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
-
-					// IE can't serialize <link> and <script> tags normally
-					!jQuery.support.htmlSerialize &&
-					[ 1, "div<div>", "</div>" ] ||
-
-					[ 0, "", "" ];
-
-				// Go to html and back, then peel off extra wrappers
-				div.innerHTML = wrap[1] + elem + wrap[2];
-
-				// Move to the right depth
-				while ( wrap[0]-- )
-					div = div.lastChild;
-
-				// Remove IE's autoinserted <tbody> from table fragments
-				if ( !jQuery.support.tbody ) {
-
-					// String was a <table>, *may* have spurious <tbody>
-					var hasBody = /<tbody/i.test(elem),
-						tbody = !tags.indexOf("<table") && !hasBody ?
-							div.firstChild && div.firstChild.childNodes :
-
-						// String was a bare <thead> or <tfoot>
-						wrap[1] == "<table>" && !hasBody ?
-							div.childNodes :
-							[];
-
-					for ( var j = tbody.length - 1; j >= 0 ; --j )
-						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length )
-							tbody[ j ].parentNode.removeChild( tbody[ j ] );
-
-					}
-
-				// IE completely kills leading whitespace when innerHTML is used
-				if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
-					div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
-				
-				elem = jQuery.makeArray( div.childNodes );
-			}
-
-			if ( elem.nodeType )
-				ret.push( elem );
-			else
-				ret = jQuery.merge( ret, elem );
-
-		});
-
-		if ( fragment ) {
-			for ( var i = 0; ret[i]; i++ ) {
-				if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
-					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
-				} else {
-					if ( ret[i].nodeType === 1 )
-						ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
-					fragment.appendChild( ret[i] );
-				}
-			}
-			
-			return scripts;
-		}
-
-		return ret;
-	},
-
-	attr: function( elem, name, value ) {
-		// don't set attributes on text and comment nodes
-		if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
-			return undefined;
-
-		var notxml = !jQuery.isXMLDoc( elem ),
-			// Whether we are setting (or getting)
-			set = value !== undefined;
-
-		// Try to normalize/fix the name
-		name = notxml && jQuery.props[ name ] || name;
-
-		// Only do all the following if this is a node (faster for style)
-		// IE elem.getAttribute passes even for style
-		if ( elem.tagName ) {
-
-			// These attributes require special treatment
-			var special = /href|src|style/.test( name );
-
-			// Safari mis-reports the default selected property of a hidden option
-			// Accessing the parent's selectedIndex property fixes it
-			if ( name == "selected" && elem.parentNode )
-				elem.parentNode.selectedIndex;
-
-			// If applicable, access the attribute via the DOM 0 way
-			if ( name in elem && notxml && !special ) {
-				if ( set ){
-					// We can't allow the type property to be changed (since it causes problems in IE)
-					if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
-						throw "type property can't be changed";
-
-					elem[ name ] = value;
-				}
-
-				// browsers index elements by id/name on forms, give priority to attributes.
-				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
-					return elem.getAttributeNode( name ).nodeValue;
-
-				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
-				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-				if ( name == "tabIndex" ) {
-					var attributeNode = elem.getAttributeNode( "tabIndex" );
-					return attributeNode && attributeNode.specified
-						? attributeNode.value
-						: elem.nodeName.match(/(button|input|object|select|textarea)/i)
-							? 0
-							: elem.nodeName.match(/^(a|area)$/i) && elem.href
-								? 0
-								: undefined;
-				}
-
-				return elem[ name ];
-			}
-
-			if ( !jQuery.support.style && notxml &&  name == "style" )
-				return jQuery.attr( elem.style, "cssText", value );
-
-			if ( set )
-				// convert the value to a string (all browsers do this but IE) see #1070
-				elem.setAttribute( name, "" + value );
-
-			var attr = !jQuery.support.hrefNormalized && notxml && special
-					// Some attributes require a special call on IE
-					? elem.getAttribute( name, 2 )
-					: elem.getAttribute( name );
-
-			// Non-existent attributes return null, we normalize to undefined
-			return attr === null ? undefined : attr;
-		}
-
-		// elem is actually elem.style ... set the style
-
-		// IE uses filters for opacity
-		if ( !jQuery.support.opacity && name == "opacity" ) {
-			if ( set ) {
-				// IE has trouble with opacity if it does not have layout
-				// Force it by setting the zoom level
-				elem.zoom = 1;
-
-				// Set the alpha filter to set the opacity
-				elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
-					(parseInt( value ) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
-			}
-
-			return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
-				(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
-				"";
-		}
-
-		name = name.replace(/-([a-z])/ig, function(all, letter){
-			return letter.toUpperCase();
-		});
-
-		if ( set )
-			elem[ name ] = value;
-
-		return elem[ name ];
-	},
-
-	trim: function( text ) {
-		return (text || "").replace( /^\s+|\s+$/g, "" );
-	},
-
-	makeArray: function( array ) {
-		var ret = [];
-
-		if( array != null ){
-			var i = array.length;
-			// The window, strings (and functions) also have 'length'
-			if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval )
-				ret[0] = array;
-			else
-				while( i )
-					ret[--i] = array[i];
-		}
-
-		return ret;
-	},
-
-	inArray: function( elem, array ) {
-		for ( var i = 0, length = array.length; i < length; i++ )
-		// Use === because on IE, window == document
-			if ( array[ i ] === elem )
-				return i;
-
-		return -1;
-	},
-
-	merge: function( first, second ) {
-		// We have to loop this way because IE & Opera overwrite the length
-		// expando of getElementsByTagName
-		var i = 0, elem, pos = first.length;
-		// Also, we need to make sure that the correct elements are being returned
-		// (IE returns comment nodes in a '*' query)
-		if ( !jQuery.support.getAll ) {
-			while ( (elem = second[ i++ ]) != null )
-				if ( elem.nodeType != 8 )
-					first[ pos++ ] = elem;
-
-		} else
-			while ( (elem = second[ i++ ]) != null )
-				first[ pos++ ] = elem;
-
-		return first;
-	},
-
-	unique: function( array ) {
-		var ret = [], done = {};
-
-		try {
-
-			for ( var i = 0, length = array.length; i < length; i++ ) {
-				var id = jQuery.data( array[ i ] );
-
-				if ( !done[ id ] ) {
-					done[ id ] = true;
-					ret.push( array[ i ] );
-				}
-			}
-
-		} catch( e ) {
-			ret = array;
-		}
-
-		return ret;
-	},
-
-	grep: function( elems, callback, inv ) {
-		var ret = [];
-
-		// Go through the array, only saving the items
-		// that pass the validator function
-		for ( var i = 0, length = elems.length; i < length; i++ )
-			if ( !inv != !callback( elems[ i ], i ) )
-				ret.push( elems[ i ] );
-
-		return ret;
-	},
-
-	map: function( elems, callback ) {
-		var ret = [];
-
-		// Go through the array, translating each of the items to their
-		// new value (or values).
-		for ( var i = 0, length = elems.length; i < length; i++ ) {
-			var value = callback( elems[ i ], i );
-
-			if ( value != null )
-				ret[ ret.length ] = value;
-		}
-
-		return ret.concat.apply( [], ret );
-	}
-});
-
-// Use of jQuery.browser is deprecated.
-// It's included for backwards compatibility and plugins,
-// although they should work to migrate away.
-
-var userAgent = navigator.userAgent.toLowerCase();
-
-// Figure out what browser is being used
-jQuery.browser = {
-	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
-	safari: /webkit/.test( userAgent ),
-	opera: /opera/.test( userAgent ),
-	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
-	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
-};
-
-jQuery.each({
-	parent: function(elem){return elem.parentNode;},
-	parents: function(elem){return jQuery.dir(elem,"parentNode");},
-	next: function(elem){return jQuery.nth(elem,2,"nextSibling");},
-	prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},
-	nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},
-	prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},
-	siblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},
-	children: function(elem){return jQuery.sibling(elem.firstChild);},
-	contents: function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}
-}, function(name, fn){
-	jQuery.fn[ name ] = function( selector ) {
-		var ret = jQuery.map( this, fn );
-
-		if ( selector && typeof selector == "string" )
-			ret = jQuery.multiFilter( selector, ret );
-
-		return this.pushStack( jQuery.unique( ret ), name, selector );
-	};
-});
-
-jQuery.each({
-	appendTo: "append",
-	prependTo: "prepend",
-	insertBefore: "before",
-	insertAfter: "after",
-	replaceAll: "replaceWith"
-}, function(name, original){
-	jQuery.fn[ name ] = function( selector ) {
-		var ret = [], insert = jQuery( selector );
-
-		for ( var i = 0, l = insert.length; i < l; i++ ) {
-			var elems = (i > 0 ? this.clone(true) : this).get();
-			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
-			ret = ret.concat( elems );
-		}
-
-		return this.pushStack( ret, name, selector );
-	};
-});
-
-jQuery.each({
-	removeAttr: function( name ) {
-		jQuery.attr( this, name, "" );
-		if (this.nodeType == 1)
-			this.removeAttribute( name );
-	},
-
-	addClass: function( classNames ) {
-		jQuery.className.add( this, classNames );
-	},
-
-	removeClass: function( classNames ) {
-		jQuery.className.remove( this, classNames );
-	},
-
-	toggleClass: function( classNames, state ) {
-		if( typeof state !== "boolean" )
-			state = !jQuery.className.has( this, classNames );
-		jQuery.className[ state ? "add" : "remove" ]( this, classNames );
-	},
-
-	remove: function( selector ) {
-		if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
-			// Prevent memory leaks
-			jQuery( "*", this ).add([this]).each(function(){
-				jQuery.event.remove(this);
-				jQuery.removeData(this);
-			});
-			if (this.parentNode)
-				this.parentNode.removeChild( this );
-		}
-	},
-
-	empty: function() {
-		// Remove element nodes and prevent memory leaks
-		jQuery(this).children().remove();
-
-		// Remove any remaining nodes
-		while ( this.firstChild )
-			this.removeChild( this.firstChild );
-	}
-}, function(name, fn){
-	jQuery.fn[ name ] = function(){
-		return this.each( fn, arguments );
-	};
-});
-
-// Helper function used by the dimensions and offset modules
-function num(elem, prop) {
-	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
-}
-var expando = "jQuery" + now(), uuid = 0, windowData = {};
-
-jQuery.extend({
-	cache: {},
-
-	data: function( elem, name, data ) {
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var id = elem[ expando ];
-
-		// Compute a unique ID for the element
-		if ( !id )
-			id = elem[ expando ] = ++uuid;
-
-		// Only generate the data cache if we're
-		// trying to access or manipulate it
-		if ( name && !jQuery.cache[ id ] )
-			jQuery.cache[ id ] = {};
-
-		// Prevent overriding the named cache with undefined values
-		if ( data !== undefined )
-			jQuery.cache[ id ][ name ] = data;
-
-		// Return the named cache data, or the ID for the element
-		return name ?
-			jQuery.cache[ id ][ name ] :
-			id;
-	},
-
-	removeData: function( elem, name ) {
-		elem = elem == window ?
-			windowData :
-			elem;
-
-		var id = elem[ expando ];
-
-		// If we want to remove a specific section of the element's data
-		if ( name ) {
-			if ( jQuery.cache[ id ] ) {
-				// Remove the section of cache data
-				delete jQuery.cache[ id ][ name ];
-
-				// If we've removed all the data, remove the element's cache
-				name = "";
-
-				for ( name in jQuery.cache[ id ] )
-					break;
-
-				if ( !name )
-					jQuery.removeData( elem );
-			}
-
-		// Otherwise, we want to remove all of the element's data
-		} else {
-			// Clean up the element expando
-			try {
-				delete elem[ expando ];
-			} catch(e){
-				// IE has trouble directly removing the expando
-				// but it's ok with using removeAttribute
-				if ( elem.removeAttribute )
-					elem.removeAttribute( expando );
-			}
-
-			// Completely remove the data cache
-			delete jQuery.cache[ id ];
-		}
-	},
-	queue: function( elem, type, data ) {
-		if ( elem ){
-	
-			type = (type || "fx") + "queue";
-	
-			var q = jQuery.data( elem, type );
-	
-			if ( !q || jQuery.isArray(data) )
-				q = jQuery.data( elem, type, jQuery.makeArray(data) );
-			else if( data )
-				q.push( data );
-	
-		}
-		return q;
-	},
-
-	dequeue: function( elem, type ){
-		var queue = jQuery.queue( elem, type ),
-			fn = queue.shift();
-		
-		if( !type || type === "fx" )
-			fn = queue[0];
-			
-		if( fn !== undefined )
-			fn.call(elem);
-	}
-});
-
-jQuery.fn.extend({
-	data: function( key, value ){
-		var parts = key.split(".");
-		parts[1] = parts[1] ? "." + parts[1] : "";
-
-		if ( value === undefined ) {
-			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
-
-			if ( data === undefined && this.length )
-				data = jQuery.data( this[0], key );
-
-			return data === undefined && parts[1] ?
-				this.data( parts[0] ) :
-				data;
-		} else
-			return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
-				jQuery.data( this, key, value );
-			});
-	},
-
-	removeData: function( key ){
-		return this.each(function(){
-			jQuery.removeData( this, key );
-		});
-	},
-	queue: function(type, data){
-		if ( typeof type !== "string" ) {
-			data = type;
-			type = "fx";
-		}
-
-		if ( data === undefined )
-			return jQuery.queue( this[0], type );
-
-		return this.each(function(){
-			var queue = jQuery.queue( this, type, data );
-			
-			 if( type == "fx" && queue.length == 1 )
-				queue[0].call(this);
-		});
-	},
-	dequeue: function(type){
-		return this.each(function(){
-			jQuery.dequeue( this, type );
-		});
-	}
-});/*!
- * Sizzle CSS Selector Engine - v0.9.3
- *  Copyright 2009, The Dojo Foundation
- *  Released under the MIT, BSD, and GPL Licenses.
- *  More information: http://sizzlejs.com/
- */
-(function(){
-
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
-	done = 0,
-	toString = Object.prototype.toString;
-
-var Sizzle = function(selector, context, results, seed) {
-	results = results || [];
-	context = context || document;
-
-	if ( context.nodeType !== 1 && context.nodeType !== 9 )
-		return [];
-	
-	if ( !selector || typeof selector !== "string" ) {
-		return results;
-	}
-
-	var parts = [], m, set, checkSet, check, mode, extra, prune = true;
-	
-	// Reset the position of the chunker regexp (start from head)
-	chunker.lastIndex = 0;
-	
-	while ( (m = chunker.exec(selector)) !== null ) {
-		parts.push( m[1] );
-		
-		if ( m[2] ) {
-			extra = RegExp.rightContext;
-			break;
-		}
-	}
-
-	if ( parts.length > 1 && origPOS.exec( selector ) ) {
-		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
-			set = posProcess( parts[0] + parts[1], context );
-		} else {
-			set = Expr.relative[ parts[0] ] ?
-				[ context ] :
-				Sizzle( parts.shift(), context );
-
-			while ( parts.length ) {
-				selector = parts.shift();
-
-				if ( Expr.relative[ selector ] )
-					selector += parts.shift();
-
-				set = posProcess( selector, set );
-			}
-		}
-	} else {
-		var ret = seed ?
-			{ expr: parts.pop(), set: makeArray(seed) } :
-			Sizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) );
-		set = Sizzle.filter( ret.expr, ret.set );
-
-		if ( parts.length > 0 ) {
-			checkSet = makeArray(set);
-		} else {
-			prune = false;
-		}
-
-		while ( parts.length ) {
-			var cur = parts.pop(), pop = cur;
-
-			if ( !Expr.relative[ cur ] ) {
-				cur = "";
-			} else {
-				pop = parts.pop();
-			}
-
-			if ( pop == null ) {
-				pop = context;
-			}
-
-			Expr.relative[ cur ]( checkSet, pop, isXML(context) );
-		}
-	}
-
-	if ( !checkSet ) {
-		checkSet = set;
-	}
-
-	if ( !checkSet ) {
-		throw "Syntax error, unrecognized expression: " + (cur || selector);
-	}
-
-	if ( toString.call(checkSet) === "[object Array]" ) {
-		if ( !prune ) {
-			results.push.apply( results, checkSet );
-		} else if ( context.nodeType === 1 ) {
-			for ( var i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
-					results.push( set[i] );
-				}
-			}
-		} else {
-			for ( var i = 0; checkSet[i] != null; i++ ) {
-				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
-					results.push( set[i] );
-				}
-			}
-		}
-	} else {
-		makeArray( checkSet, results );
-	}
-
-	if ( extra ) {
-		Sizzle( extra, context, results, seed );
-
-		if ( sortOrder ) {
-			hasDuplicate = false;
-			results.sort(sortOrder);
-
-			if ( hasDuplicate ) {
-				for ( var i = 1; i < results.length; i++ ) {
-					if ( results[i] === results[i-1] ) {
-						results.splice(i--, 1);
-					}
-				}
-			}
-		}
-	}
-
-	return results;
-};
-
-Sizzle.matches = function(expr, set){
-	return Sizzle(expr, null, null, set);
-};
-
-Sizzle.find = function(expr, context, isXML){
-	var set, match;
-
-	if ( !expr ) {
-		return [];
-	}
-
-	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
-		var type = Expr.order[i], match;
-		
-		if ( (match = Expr.match[ type ].exec( expr )) ) {
-			var left = RegExp.leftContext;
-
-			if ( left.substr( left.length - 1 ) !== "\\" ) {
-				match[1] = (match[1] || "").replace(/\\/g, "");
-				set = Expr.find[ type ]( match, context, isXML );
-				if ( set != null ) {
-					expr = expr.replace( Expr.match[ type ], "" );
-					break;
-				}
-			}
-		}
-	}
-
-	if ( !set ) {
-		set = context.getElementsByTagName("*");
-	}
-
-	return {set: set, expr: expr};
-};
-
-Sizzle.filter = function(expr, set, inplace, not){
-	var old = expr, result = [], curLoop = set, match, anyFound,
-		isXMLFilter = set && set[0] && isXML(set[0]);
-
-	while ( expr && set.length ) {
-		for ( var type in Expr.filter ) {
-			if ( (match = Expr.match[ type ].exec( expr )) != null ) {
-				var filter = Expr.filter[ type ], found, item;
-				anyFound = false;
-
-				if ( curLoop == result ) {
-					result = [];
-				}
-
-				if ( Expr.preFilter[ type ] ) {
-					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
-
-					if ( !match ) {
-						anyFound = found = true;
-					} else if ( match === true ) {
-						continue;
-					}
-				}
-
-				if ( match ) {
-					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
-						if ( item ) {
-							found = filter( item, match, i, curLoop );
-							var pass = not ^ !!found;
-
-							if ( inplace && found != null ) {
-								if ( pass ) {
-									anyFound = true;
-								} else {
-									curLoop[i] = false;
-								}
-							} else if ( pass ) {
-								result.push( item );
-								anyFound = true;
-							}
-						}
-					}
-				}
-
-				if ( found !== undefined ) {
-					if ( !inplace ) {
-						curLoop = result;
-					}
-
-					expr = expr.replace( Expr.match[ type ], "" );
-
-					if ( !anyFound ) {
-						return [];
-					}
-
-					break;
-				}
-			}
-		}
-
-		// Improper expression
-		if ( expr == old ) {
-			if ( anyFound == null ) {
-				throw "Syntax error, unrecognized expression: " + expr;
-			} else {
-				break;
-			}
-		}
-
-		old = expr;
-	}
-
-	return curLoop;
-};
-
-var Expr = Sizzle.selectors = {
-	order: [ "ID", "NAME", "TAG" ],
-	match: {
-		ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
-		CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
-		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
-		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
-		TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
-		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
-		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
-		PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
-	},
-	attrMap: {
-		"class": "className",
-		"for": "htmlFor"
-	},
-	attrHandle: {
-		href: function(elem){
-			return elem.getAttribute("href");
-		}
-	},
-	relative: {
-		"+": function(checkSet, part, isXML){
-			var isPartStr = typeof part === "string",
-				isTag = isPartStr && !/\W/.test(part),
-				isPartStrNotTag = isPartStr && !isTag;
-
-			if ( isTag && !isXML ) {
-				part = part.toUpperCase();
-			}
-
-			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
-				if ( (elem = checkSet[i]) ) {
-					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
-
-					checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
-						elem || false :
-						elem === part;
-				}
-			}
-
-			if ( isPartStrNotTag ) {
-				Sizzle.filter( part, checkSet, true );
-			}
-		},
-		">": function(checkSet, part, isXML){
-			var isPartStr = typeof part === "string";
-
-			if ( isPartStr && !/\W/.test(part) ) {
-				part = isXML ? part : part.toUpperCase();
-
-				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
-					var elem = checkSet[i];
-					if ( elem ) {
-						var parent = elem.parentNode;
-						checkSet[i] = parent.nodeName === part ? parent : false;
-					}
-				}
-			} else {
-				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
-					var elem = checkSet[i];
-					if ( elem ) {
-						checkSet[i] = isPartStr ?
-							elem.parentNode :
-							elem.parentNode === part;
-					}
-				}
-
-				if ( isPartStr ) {
-					Sizzle.filter( part, checkSet, true );
-				}
-			}
-		},
-		"": function(checkSet, part, isXML){
-			var doneName = done++, checkFn = dirCheck;
-
-			if ( !part.match(/\W/) ) {
-				var nodeCheck = part = isXML ? part : part.toUpperCase();
-				checkFn = dirNodeCheck;
-			}
-
-			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
-		},
-		"~": function(checkSet, part, isXML){
-			var doneName = done++, checkFn = dirCheck;
-
-			if ( typeof part === "string" && !part.match(/\W/) ) {
-				var nodeCheck = part = isXML ? part : part.toUpperCase();
-				checkFn = dirNodeCheck;
-			}
-
-			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
-		}
-	},
-	find: {
-		ID: function(match, context, isXML){
-			if ( typeof context.getElementById !== "undefined" && !isXML ) {
-				var m = context.getElementById(match[1]);
-				return m ? [m] : [];
-			}
-		},
-		NAME: function(match, context, isXML){
-			if ( typeof context.getElementsByName !== "undefined" ) {
-				var ret = [], results = context.getElementsByName(match[1]);
-
-				for ( var i = 0, l = results.length; i < l; i++ ) {
-					if ( results[i].getAttribute("name") === match[1] ) {
-						ret.push( results[i] );
-					}
-				}
-
-				return ret.length === 0 ? null : ret;
-			}
-		},
-		TAG: function(match, context){
-			return context.getElementsByTagName(match[1]);
-		}
-	},
-	preFilter: {
-		CLASS: function(match, curLoop, inplace, result, not, isXML){
-			match = " " + match[1].replace(/\\/g, "") + " ";
-
-			if ( isXML ) {
-				return match;
-			}
-
-			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
-				if ( elem ) {
-					if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
-						if ( !inplace )
-							result.push( elem );
-					} else if ( inplace ) {
-						curLoop[i] = false;
-					}
-				}
-			}
-
-			return false;
-		},
-		ID: function(match){
-			return match[1].replace(/\\/g, "");
-		},
-		TAG: function(match, curLoop){
-			for ( var i = 0; curLoop[i] === false; i++ ){}
-			return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
-		},
-		CHILD: function(match){
-			if ( match[1] == "nth" ) {
-				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
-				var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
-					match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
-					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
-
-				// calculate the numbers (first)n+(last) including if they are negative
-				match[2] = (test[1] + (test[2] || 1)) - 0;
-				match[3] = test[3] - 0;
-			}
-
-			// TODO: Move to normal caching system
-			match[0] = done++;
-
-			return match;
-		},
-		ATTR: function(match, curLoop, inplace, result, not, isXML){
-			var name = match[1].replace(/\\/g, "");
-			
-			if ( !isXML && Expr.attrMap[name] ) {
-				match[1] = Expr.attrMap[name];
-			}
-
-			if ( match[2] === "~=" ) {
-				match[4] = " " + match[4] + " ";
-			}
-
-			return match;
-		},
-		PSEUDO: function(match, curLoop, inplace, result, not){
-			if ( match[1] === "not" ) {
-				// If we're dealing with a complex expression, or a simple one
-				if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
-					match[3] = Sizzle(match[3], null, null, curLoop);
-				} else {
-					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
-					if ( !inplace ) {
-						result.push.apply( result, ret );
-					}
-					return false;
-				}
-			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
-				return true;
-			}
-			
-			return match;
-		},
-		POS: function(match){
-			match.unshift( true );
-			return match;
-		}
-	},
-	filters: {
-		enabled: function(elem){
-			return elem.disabled === false && elem.type !== "hidden";
-		},
-		disabled: function(elem){
-			return elem.disabled === true;
-		},
-		checked: function(elem){
-			return elem.checked === true;
-		},
-		selected: function(elem){
-			// Accessing this property makes selected-by-default
-			// options in Safari work properly
-			elem.parentNode.selectedIndex;
-			return elem.selected === true;
-		},
-		parent: function(elem){
-			return !!elem.firstChild;
-		},
-		empty: function(elem){
-			return !elem.firstChild;
-		},
-		has: function(elem, i, match){
-			return !!Sizzle( match[3], elem ).length;
-		},
-		header: function(elem){
-			return /h\d/i.test( elem.nodeName );
-		},
-		text: function(elem){
-			return "text" === elem.type;
-		},
-		radio: function(elem){
-			return "radio" === elem.type;
-		},
-		checkbox: function(elem){
-			return "checkbox" === elem.type;
-		},
-		file: function(elem){
-			return "file" === elem.type;
-		},
-		password: function(elem){
-			return "password" === elem.type;
-		},
-		submit: function(elem){
-			return "submit" === elem.type;
-		},
-		image: function(elem){
-			return "image" === elem.type;
-		},
-		reset: function(elem){
-			return "reset" === elem.type;
-		},
-		button: function(elem){
-			return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
-		},
-		input: function(elem){
-			return /input|select|textarea|button/i.test(elem.nodeName);
-		}
-	},
-	setFilters: {
-		first: function(elem, i){
-			return i === 0;
-		},
-		last: function(elem, i, match, array){
-			return i === array.length - 1;
-		},
-		even: function(elem, i){
-			return i % 2 === 0;
-		},
-		odd: function(elem, i){
-			return i % 2 === 1;
-		},
-		lt: function(elem, i, match){
-			return i < match[3] - 0;
-		},
-		gt: function(elem, i, match){
-			return i > match[3] - 0;
-		},
-		nth: function(elem, i, match){
-			return match[3] - 0 == i;
-		},
-		eq: function(elem, i, match){
-			return match[3] - 0 == i;
-		}
-	},
-	filter: {
-		PSEUDO: function(elem, match, i, array){
-			var name = match[1], filter = Expr.filters[ name ];
-
-			if ( filter ) {
-				return filter( elem, i, match, array );
-			} else if ( name === "contains" ) {
-				return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
-			} else if ( name === "not" ) {
-				var not = match[3];
-
-				for ( var i = 0, l = not.length; i < l; i++ ) {
-					if ( not[i] === elem ) {
-						return false;
-					}
-				}
-
-				return true;
-			}
-		},
-		CHILD: function(elem, match){
-			var type = match[1], node = elem;
-			switch (type) {
-				case 'only':
-				case 'first':
-					while (node = node.previousSibling)  {
-						if ( node.nodeType === 1 ) return false;
-					}
-					if ( type == 'first') return true;
-					node = elem;
-				case 'last':
-					while (node = node.nextSibling)  {
-						if ( node.nodeType === 1 ) return false;
-					}
-					return true;
-				case 'nth':
-					var first = match[2], last = match[3];
-
-					if ( first == 1 && last == 0 ) {
-						return true;
-					}
-					
-					var doneName = match[0],
-						parent = elem.parentNode;
-	
-					if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
-						var count = 0;
-						for ( node = parent.firstChild; node; node = node.nextSibling ) {
-							if ( node.nodeType === 1 ) {
-								node.nodeIndex = ++count;
-							}
-						} 
-						parent.sizcache = doneName;
-					}
-					
-					var diff = elem.nodeIndex - last;
-					if ( first == 0 ) {
-						return diff == 0;
-					} else {
-						return ( diff % first == 0 && diff / first >= 0 );
-					}
-			}
-		},
-		ID: function(elem, match){
-			return elem.nodeType === 1 && elem.getAttribute("id") === match;
-		},
-		TAG: function(elem, match){
-			return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
-		},
-		CLASS: function(elem, match){
-			return (" " + (elem.className || elem.getAttribute("class")) + " ")
-				.indexOf( match ) > -1;
-		},
-		ATTR: function(elem, match){
-			var name = match[1],
-				result = Expr.attrHandle[ name ] ?
-					Expr.attrHandle[ name ]( elem ) :
-					elem[ name ] != null ?
-						elem[ name ] :
-						elem.getAttribute( name ),
-				value = result + "",
-				type = match[2],
-				check = match[4];
-
-			return result == null ?
-				type === "!=" :
-				type === "=" ?
-				value === check :
-				type === "*=" ?
-				value.indexOf(check) >= 0 :
-				type === "~=" ?
-				(" " + value + " ").indexOf(check) >= 0 :
-				!check ?
-				value && result !== false :
-				type === "!=" ?
-				value != check :
-				type === "^=" ?
-				value.indexOf(check) === 0 :
-				type === "$=" ?
-				value.substr(value.length - check.length) === check :
-				type === "|=" ?
-				value === check || value.substr(0, check.length + 1) === check + "-" :
-				false;
-		},
-		POS: function(elem, match, i, array){
-			var name = match[2], filter = Expr.setFilters[ name ];
-
-			if ( filter ) {
-				return filter( elem, i, match, array );
-			}
-		}
-	}
-};
-
-var origPOS = Expr.match.POS;
-
-for ( var type in Expr.match ) {
-	Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
-}
-
-var makeArray = function(array, results) {
-	array = Array.prototype.slice.call( array );
-
-	if ( results ) {
-		results.push.apply( results, array );
-		return results;
-	}
-	
-	return array;
-};
-
-// Perform a simple check to determine if the browser is capable of
-// converting a NodeList to an array using builtin methods.
-try {
-	Array.prototype.slice.call( document.documentElement.childNodes );
-
-// Provide a fallback method if it does not work
-} catch(e){
-	makeArray = function(array, results) {
-		var ret = results || [];
-
-		if ( toString.call(array) === "[object Array]" ) {
-			Array.prototype.push.apply( ret, array );
-		} else {
-			if ( typeof array.length === "number" ) {
-				for ( var i = 0, l = array.length; i < l; i++ ) {
-					ret.push( array[i] );
-				}
-			} else {
-				for ( var i = 0; array[i]; i++ ) {
-					ret.push( array[i] );
-				}
-			}
-		}
-
-		return ret;
-	};
-}
-
-var sortOrder;
-
-if ( document.documentElement.compareDocumentPosition ) {
-	sortOrder = function( a, b ) {
-		var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
-		if ( ret === 0 ) {
-			hasDuplicate = true;
-		}
-		return ret;
-	};
-} else if ( "sourceIndex" in document.documentElement ) {
-	sortOrder = function( a, b ) {
-		var ret = a.sourceIndex - b.sourceIndex;
-		if ( ret === 0 ) {
-			hasDuplicate = true;
-		}
-		return ret;
-	};
-} else if ( document.createRange ) {
-	sortOrder = function( a, b ) {
-		var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
-		aRange.selectNode(a);
-		aRange.collapse(true);
-		bRange.selectNode(b);
-		bRange.collapse(true);
-		var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
-		if ( ret === 0 ) {
-			hasDuplicate = true;
-		}
-		return ret;
-	};
-}
-
-// Check to see if the browser returns elements by name when
-// querying by getElementById (and provide a workaround)
-(function(){
-	// We're going to inject a fake input element with a specified name
-	var form = document.createElement("form"),
-		id = "script" + (new Date).getTime();
-	form.innerHTML = "<input name='" + id + "'/>";
-
-	// Inject it into the root element, check its status, and remove it quickly
-	var root = document.documentElement;
-	root.insertBefore( form, root.firstChild );
-
-	// The workaround has to do additional checks after a getElementById
-	// Which slows things down for other browsers (hence the branching)
-	if ( !!document.getElementById( id ) ) {
-		Expr.find.ID = function(match, context, isXML){
-			if ( typeof context.getElementById !== "undefined" && !isXML ) {
-				var m = context.getElementById(match[1]);
-				return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
-			}
-		};
-
-		Expr.filter.ID = function(elem, match){
-			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
-			return elem.nodeType === 1 && node && node.nodeValue === match;
-		};
-	}
-
-	root.removeChild( form );
-})();
-
-(function(){
-	// Check to see if the browser returns only elements
-	// when doing getElementsByTagName("*")
-
-	// Create a fake element
-	var div = document.createElement("div");
-	div.appendChild( document.createComment("") );
-
-	// Make sure no comments are found
-	if ( div.getElementsByTagName("*").length > 0 ) {
-		Expr.find.TAG = function(match, context){
-			var results = context.getElementsByTagName(match[1]);
-
-			// Filter out possible comments
-			if ( match[1] === "*" ) {
-				var tmp = [];
-
-				for ( var i = 0; results[i]; i++ ) {
-					if ( results[i].nodeType === 1 ) {
-						tmp.push( results[i] );
-					}
-				}
-
-				results = tmp;
-			}
-
-			return results;
-		};
-	}
-
-	// Check to see if an attribute returns normalized href attributes
-	div.innerHTML = "<a href='#'></a>";
-	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
-			div.firstChild.getAttribute("href") !== "#" ) {
-		Expr.attrHandle.href = function(elem){
-			return elem.getAttribute("href", 2);
-		};
-	}
-})();
-
-if ( document.querySelectorAll ) (function(){
-	var oldSizzle = Sizzle, div = document.createElement("div");
-	div.innerHTML = "<p class='TEST'></p>";
-
-	// Safari can't handle uppercase or unicode characters when
-	// in quirks mode.
-	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
-		return;
-	}
-	
-	Sizzle = function(query, context, extra, seed){
-		context = context || document;
-
-		// Only use querySelectorAll on non-XML documents
-		// (ID selectors don't work in non-HTML documents)
-		if ( !seed && context.nodeType === 9 && !isXML(context) ) {
-			try {
-				return makeArray( context.querySelectorAll(query), extra );
-			} catch(e){}
-		}
-		
-		return oldSizzle(query, context, extra, seed);
-	};
-
-	Sizzle.find = oldSizzle.find;
-	Sizzle.filter = oldSizzle.filter;
-	Sizzle.selectors = oldSizzle.selectors;
-	Sizzle.matches = oldSizzle.matches;
-})();
-
-if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
-	var div = document.createElement("div");
-	div.innerHTML = "<div class='test e'></div><div class='test'></div>";
-
-	// Opera can't find a second classname (in 9.6)
-	if ( div.getElementsByClassName("e").length === 0 )
-		return;
-
-	// Safari caches class attributes, doesn't catch changes (in 3.2)
-	div.lastChild.className = "e";
-
-	if ( div.getElementsByClassName("e").length === 1 )
-		return;
-
-	Expr.order.splice(1, 0, "CLASS");
-	Expr.find.CLASS = function(match, context, isXML) {
-		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
-			return context.getElementsByClassName(match[1]);
-		}
-	};
-})();
-
-function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
-	var sibDir = dir == "previousSibling" && !isXML;
-	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
-		var elem = checkSet[i];
-		if ( elem ) {
-			if ( sibDir && elem.nodeType === 1 ){
-				elem.sizcache = doneName;
-				elem.sizset = i;
-			}
-			elem = elem[dir];
-			var match = false;
-
-			while ( elem ) {
-				if ( elem.sizcache === doneName ) {
-					match = checkSet[elem.sizset];
-					break;
-				}
-
-				if ( elem.nodeType === 1 && !isXML ){
-					elem.sizcache = doneName;
-					elem.sizset = i;
-				}
-
-				if ( elem.nodeName === cur ) {
-					match = elem;
-					break;
-				}
-
-				elem = elem[dir];
-			}
-
-			checkSet[i] = match;
-		}
-	}
-}
-
-function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
-	var sibDir = dir == "previousSibling" && !isXML;
-	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
-		var elem = checkSet[i];
-		if ( elem ) {
-			if ( sibDir && elem.nodeType === 1 ) {
-				elem.sizcache = doneName;
-				elem.sizset = i;
-			}
-			elem = elem[dir];
-			var match = false;
-
-			while ( elem ) {
-				if ( elem.sizcache === doneName ) {
-					match = checkSet[elem.sizset];
-					break;
-				}
-
-				if ( elem.nodeType === 1 ) {
-					if ( !isXML ) {
-						elem.sizcache = doneName;
-						elem.sizset = i;
-					}
-					if ( typeof cur !== "string" ) {
-						if ( elem === cur ) {
-							match = true;
-							break;
-						}
-
-					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
-						match = elem;
-						break;
-					}
-				}
-
-				elem = elem[dir];
-			}
-
-			checkSet[i] = match;
-		}
-	}
-}
-
-var contains = document.compareDocumentPosition ?  function(a, b){
-	return a.compareDocumentPosition(b) & 16;
-} : function(a, b){
-	return a !== b && (a.contains ? a.contains(b) : true);
-};
-
-var isXML = function(elem){
-	return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
-		!!elem.ownerDocument && isXML( elem.ownerDocument );
-};
-
-var posProcess = function(selector, context){
-	var tmpSet = [], later = "", match,
-		root = context.nodeType ? [context] : context;
-
-	// Position selectors must be done after the filter
-	// And so must :not(positional) so we move all PSEUDOs to the end
-	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
-		later += match[0];
-		selector = selector.replace( Expr.match.PSEUDO, "" );
-	}
-
-	selector = Expr.relative[selector] ? selector + "*" : selector;
-
-	for ( var i = 0, l = root.length; i < l; i++ ) {
-		Sizzle( selector, root[i], tmpSet );
-	}
-
-	return Sizzle.filter( later, tmpSet );
-};
-
-// EXPOSE
-jQuery.find = Sizzle;
-jQuery.filter = Sizzle.filter;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[":"] = jQuery.expr.filters;
-
-Sizzle.selectors.filters.hidden = function(elem){
-	return elem.offsetWidth === 0 || elem.offsetHeight === 0;
-};
-
-Sizzle.selectors.filters.visible = function(elem){
-	return elem.offsetWidth > 0 || elem.offsetHeight > 0;
-};
-
-Sizzle.selectors.filters.animated = function(elem){
-	return jQuery.grep(jQuery.timers, function(fn){
-		return elem === fn.elem;
-	}).length;
-};
-
-jQuery.multiFilter = function( expr, elems, not ) {
-	if ( not ) {
-		expr = ":not(" + expr + ")";
-	}
-
-	return Sizzle.matches(expr, elems);
-};
-
-jQuery.dir = function( elem, dir ){
-	var matched = [], cur = elem[dir];
-	while ( cur && cur != document ) {
-		if ( cur.nodeType == 1 )
-			matched.push( cur );
-		cur = cur[dir];
-	}
-	return matched;
-};
-
-jQuery.nth = function(cur, result, dir, elem){
-	result = result || 1;
-	var num = 0;
-
-	for ( ; cur; cur = cur[dir] )
-		if ( cur.nodeType == 1 && ++num == result )
-			break;
-
-	return cur;
-};
-
-jQuery.sibling = function(n, elem){
-	var r = [];
-
-	for ( ; n; n = n.nextSibling ) {
-		if ( n.nodeType == 1 && n != elem )
-			r.push( n );
-	}
-
-	return r;
-};
-
-return;
-
-window.Sizzle = Sizzle;
-
-})();
-/*
- * A number of helper functions used for managing events.
- * Many of the ideas behind this code originated from
- * Dean Edwards' addEvent library.
- */
-jQuery.event = {
-
-	// Bind an event to an element
-	// Original by Dean Edwards
-	add: function(elem, types, handler, data) {
-		if ( elem.nodeType == 3 || elem.nodeType == 8 )
-			return;
-
-		// For whatever reason, IE has trouble passing the window object
-		// around, causing it to be cloned in the process
-		if ( elem.setInterval && elem != window )
-			elem = window;
-
-		// Make sure that the function being executed has a unique ID
-		if ( !handler.guid )
-			handler.guid = this.guid++;
-
-		// if data is passed, bind to handler
-		if ( data !== undefined ) {
-			// Create temporary function pointer to original handler
-			var fn = handler;
-
-			// Create unique handler function, wrapped around original handler
-			handler = this.proxy( fn );
-
-			// Store data in unique handler
-			handler.data = data;
-		}
-
-		// Init the element's event structure
-		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),
-			handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){
-				// Handle the second event of a trigger and when
-				// an event is called after a page has unloaded
-				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
-					jQuery.event.handle.apply(arguments.callee.elem, arguments) :
-					undefined;
-			});
-		// Add elem as a property of the handle function
-		// This is to prevent a memory leak with non-native
-		// event in IE.
-		handle.elem = elem;
-
-		// Handle multiple events separated by a space
-		// jQuery(...).bind("mouseover mouseout", fn);
-		jQuery.each(types.split(/\s+/), function(index, type) {
-			// Namespaced event handlers
-			var namespaces = type.split(".");
-			type = namespaces.shift();
-			handler.type = namespaces.slice().sort().join(".");
-
-			// Get the current list of functions bound to this event
-			var handlers = events[type];
-			
-			if ( jQuery.event.specialAll[type] )
-				jQuery.event.specialAll[type].setup.call(elem, data, namespaces);
-
-			// Init the event handler queue
-			if (!handlers) {
-				handlers = events[type] = {};
-
-				// Check for a special event handler
-				// Only use addEventListener/attachEvent if the special
-				// events handler returns false
-				if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) {
-					// Bind the global event handler to the element
-					if (elem.addEventListener)
-						elem.addEventListener(type, handle, false);
-					else if (elem.attachEvent)
-						elem.attachEvent("on" + type, handle);
-				}
-			}
-
-			// Add the function to the element's handler list
-			handlers[handler.guid] = handler;
-
-			// Keep track of which events have been used, for global triggering
-			jQuery.event.global[type] = true;
-		});
-
-		// Nullify elem to prevent memory leaks in IE
-		elem = null;
-	},
-
-	guid: 1,
-	global: {},
-
-	// Detach an event or set of events from an element
-	remove: function(elem, types, handler) {
-		// don't do events on text and comment nodes
-		if ( elem.nodeType == 3 || elem.nodeType == 8 )
-			return;
-
-		var events = jQuery.data(elem, "events"), ret, index;
-
-		if ( events ) {
-			// Unbind all events for the element
-			if ( types === undefined || (typeof types === "string" && types.charAt(0) == ".") )
-				for ( var type in events )
-					this.remove( elem, type + (types || "") );
-			else {
-				// types is actually an event object here
-				if ( types.type ) {
-					handler = types.handler;
-					types = types.type;
-				}
-
-				// Handle multiple events seperated by a space
-				// jQuery(...).unbind("mouseover mouseout", fn);
-				jQuery.each(types.split(/\s+/), function(index, type){
-					// Namespaced event handlers
-					var namespaces = type.split(".");
-					type = namespaces.shift();
-					var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
-
-					if ( events[type] ) {
-						// remove the given handler for the given type
-						if ( handler )
-							delete events[type][handler.guid];
-
-						// remove all handlers for the given type
-						else
-							for ( var handle in events[type] )
-								// Handle the removal of namespaced events
-								if ( namespace.test(events[type][handle].type) )
-									delete events[type][handle];
-									
-						if ( jQuery.event.specialAll[type] )
-							jQuery.event.specialAll[type].teardown.call(elem, namespaces);
-
-						// remove generic event handler if no more handlers exist
-						for ( ret in events[type] ) break;
-						if ( !ret ) {
-							if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === false ) {
-								if (elem.removeEventListener)
-									elem.removeEventListener(type, jQuery.data(elem, "handle"), false);
-								else if (elem.detachEvent)
-									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));
-							}
-							ret = null;
-							delete events[type];
-						}
-					}
-				});
-			}
-
-			// Remove the expando if it's no longer used
-			for ( ret in events ) break;
-			if ( !ret ) {
-				var handle = jQuery.data( elem, "handle" );
-				if ( handle ) handle.elem = null;
-				jQuery.removeData( elem, "events" );
-				jQuery.removeData( elem, "handle" );
-			}
-		}
-	},
-
-	// bubbling is internal
-	trigger: function( event, data, elem, bubbling ) {
-		// Event object or event type
-		var type = event.type || event;
-
-		if( !bubbling ){
-			event = typeof event === "object" ?
-				// jQuery.Event object
-				event[expando] ? event :
-				// Object literal
-				jQuery.extend( jQuery.Event(type), event ) :
-				// Just the event type (string)
-				jQuery.Event(type);
-
-			if ( type.indexOf("!") >= 0 ) {
-				event.type = type = type.slice(0, -1);
-				event.exclusive = true;
-			}
-
-			// Handle a global trigger
-			if ( !elem ) {
-				// Don't bubble custom events when global (to avoid too much overhead)
-				event.stopPropagation();
-				// Only trigger if we've ever bound an event for it
-				if ( this.global[type] )
-					jQuery.each( jQuery.cache, function(){
-						if ( this.events && this.events[type] )
-							jQuery.event.trigger( event, data, this.handle.elem );
-					});
-			}
-
-			// Handle triggering a single element
-
-			// don't do events on text and comment nodes
-			if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
-				return undefined;
-			
-			// Clean up in case it is reused
-			event.result = undefined;
-			event.target = elem;
-			
-			// Clone the incoming data, if any
-			data = jQuery.makeArray(data);
-			data.unshift( event );
-		}
-
-		event.currentTarget = elem;
-
-		// Trigger the event, it is assumed that "handle" is a function
-		var handle = jQuery.data(elem, "handle");
-		if ( handle )
-			handle.apply( elem, data );
-
-		// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
-		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
-			event.result = false;
-
-		// Trigger the native events (except for clicks on links)
-		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
-			this.triggered = true;
-			try {
-				elem[ type ]();
-			// prevent IE from throwing an error for some hidden elements
-			} catch (e) {}
-		}
-
-		this.triggered = false;
-
-		if ( !event.isPropagationStopped() ) {
-			var parent = elem.parentNode || elem.ownerDocument;
-			if ( parent )
-				jQuery.event.trigger(event, data, parent, true);
-		}
-	},
-
-	handle: function(event) {
-		// returned undefined or false
-		var all, handlers;
-
-		event = arguments[0] = jQuery.event.fix( event || window.event );
-		event.currentTarget = this;
-		
-		// Namespaced event handlers
-		var namespaces = event.type.split(".");
-		event.type = namespaces.shift();
-
-		// Cache this now, all = true means, any handler
-		all = !namespaces.length && !event.exclusive;
-		
-		var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
-
-		handlers = ( jQuery.data(this, "events") || {} )[event.type];
-
-		for ( var j in handlers ) {
-			var handler = handlers[j];
-
-			// Filter the functions by class
-			if ( all || namespace.test(handler.type) ) {
-				// Pass in a reference to the handler function itself
-				// So that we can later remove it
-				event.handler = handler;
-				event.data = handler.data;
-
-				var ret = handler.apply(this, arguments);
-
-				if( ret !== undefined ){
-					event.result = ret;
-					if ( ret === false ) {
-						event.preventDefault();
-						event.stopPropagation();
-					}
-				}
-
-				if( event.isImmediatePropagationStopped() )
-					break;
-
-			}
-		}
-	},
-
-	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-
-	fix: function(event) {
-		if ( event[expando] )
-			return event;
-
-		// store a copy of the original event object
-		// and "clone" to set read-only properties
-		var originalEvent = event;
-		event = jQuery.Event( originalEvent );
-
-		for ( var i = this.props.length, prop; i; ){
-			prop = this.props[ --i ];
-			event[ prop ] = originalEvent[ prop ];
-		}
-
-		// Fix target property, if necessary
-		if ( !event.target )
-			event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
-
-		// check if target is a textnode (safari)
-		if ( event.target.nodeType == 3 )
-			event.target = event.target.parentNode;
-
-		// Add relatedTarget, if necessary
-		if ( !event.relatedTarget && event.fromElement )
-			event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
-
-		// Calculate pageX/Y if missing and clientX/Y available
-		if ( event.pageX == null && event.clientX != null ) {
-			var doc = document.documentElement, body = document.body;
-			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
-			event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
-		}
-
-		// Add which for key events
-		if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
-			event.which = event.charCode || event.keyCode;
-
-		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
-		if ( !event.metaKey && event.ctrlKey )
-			event.metaKey = event.ctrlKey;
-
-		// Add which for click: 1 == left; 2 == middle; 3 == right
-		// Note: button is not normalized, so don't use it
-		if ( !event.which && event.button )
-			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
-
-		return event;
-	},
-
-	proxy: function( fn, proxy ){
-		proxy = proxy || function(){ return fn.apply(this, arguments); };
-		// Set the guid of unique handler to the same of original handler, so it can be removed
-		proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
-		// So proxy can be declared as an argument
-		return proxy;
-	},
-
-	special: {
-		ready: {
-			// Make sure the ready event is setup
-			setup: bindReady,
-			teardown: function() {}
-		}
-	},
-	
-	specialAll: {
-		live: {
-			setup: function( selector, namespaces ){
-				jQuery.event.add( this, namespaces[0], liveHandler );
-			},
-			teardown:  function( namespaces ){
-				if ( namespaces.length ) {
-					var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
-					
-					jQuery.each( (jQuery.data(this, "events").live || {}), function(){
-						if ( name.test(this.type) )
-							remove++;
-					});
-					
-					if ( remove < 1 )
-						jQuery.event.remove( this, namespaces[0], liveHandler );
-				}
-			}
-		}
-	}
-};
-
-jQuery.Event = function( src ){
-	// Allow instantiation without the 'new' keyword
-	if( !this.preventDefault )
-		return new jQuery.Event(src);
-	
-	// Event object
-	if( src && src.type ){
-		this.originalEvent = src;
-		this.type = src.type;
-	// Event type
-	}else
-		this.type = src;
-
-	// timeStamp is buggy for some events on Firefox(#3843)
-	// So we won't rely on the native value
-	this.timeStamp = now();
-	
-	// Mark it as fixed
-	this[expando] = true;
-};
-
-function returnFalse(){
-	return false;
-}
-function returnTrue(){
-	return true;
-}
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
-	preventDefault: function() {
-		this.isDefaultPrevented = returnTrue;
-
-		var e = this.originalEvent;
-		if( !e )
-			return;
-		// if preventDefault exists run it on the original event
-		if (e.preventDefault)
-			e.preventDefault();
-		// otherwise set the returnValue property of the original event to false (IE)
-		e.returnValue = false;
-	},
-	stopPropagation: function() {
-		this.isPropagationStopped = returnTrue;
-
-		var e = this.originalEvent;
-		if( !e )
-			return;
-		// if stopPropagation exists run it on the original event
-		if (e.stopPropagation)
-			e.stopPropagation();
-		// otherwise set the cancelBubble property of the original event to true (IE)
-		e.cancelBubble = true;
-	},
-	stopImmediatePropagation:function(){
-		this.isImmediatePropagationStopped = returnTrue;
-		this.stopPropagation();
-	},
-	isDefaultPrevented: returnFalse,
-	isPropagationStopped: returnFalse,
-	isImmediatePropagationStopped: returnFalse
-};
-// Checks if an event happened on an element within another element
-// Used in jQuery.event.special.mouseenter and mouseleave handlers
-var withinElement = function(event) {
-	// Check if mouse(over|out) are still within the same parent element
-	var parent = event.relatedTarget;
-	// Traverse up the tree
-	while ( parent && parent != this )
-		try { parent = parent.parentNode; }
-		catch(e) { parent = this; }
-	
-	if( parent != this ){
-		// set the correct event type
-		event.type = event.data;
-		// handle event if we actually just moused on to a non sub-element
-		jQuery.event.handle.apply( this, arguments );
-	}
-};
-	
-jQuery.each({ 
-	mouseover: 'mouseenter', 
-	mouseout: 'mouseleave'
-}, function( orig, fix ){
-	jQuery.event.special[ fix ] = {
-		setup: function(){
-			jQuery.event.add( this, orig, withinElement, fix );
-		},
-		teardown: function(){
-			jQuery.event.remove( this, orig, withinElement );
-		}
-	};			   
-});
-
-jQuery.fn.extend({
-	bind: function( type, data, fn ) {
-		return type == "unload" ? this.one(type, data, fn) : this.each(function(){
-			jQuery.event.add( this, type, fn || data, fn && data );
-		});
-	},
-
-	one: function( type, data, fn ) {
-		var one = jQuery.event.proxy( fn || data, function(event) {
-			jQuery(this).unbind(event, one);
-			return (fn || data).apply( this, arguments );
-		});
-		return this.each(function(){
-			jQuery.event.add( this, type, one, fn && data);
-		});
-	},
-
-	unbind: function( type, fn ) {
-		return this.each(function(){
-			jQuery.event.remove( this, type, fn );
-		});
-	},
-
-	trigger: function( type, data ) {
-		return this.each(function(){
-			jQuery.event.trigger( type, data, this );
-		});
-	},
-
-	triggerHandler: function( type, data ) {
-		if( this[0] ){
-			var event = jQuery.Event(type);
-			event.preventDefault();
-			event.stopPropagation();
-			jQuery.event.trigger( event, data, this[0] );
-			return event.result;
-		}		
-	},
-
-	toggle: function( fn ) {
-		// Save reference to arguments for access in closure
-		var args = arguments, i = 1;
-
-		// link all the functions, so any of them can unbind this click handler
-		while( i < args.length )
-			jQuery.event.proxy( fn, args[i++] );
-
-		return this.click( jQuery.event.proxy( fn, function(event) {
-			// Figure out which function to execute
-			this.lastToggle = ( this.lastToggle || 0 ) % i;
-
-			// Make sure that clicks stop
-			event.preventDefault();
-
-			// and execute the function
-			return args[ this.lastToggle++ ].apply( this, arguments ) || false;
-		}));
-	},
-
-	hover: function(fnOver, fnOut) {
-		return this.mouseenter(fnOver).mouseleave(fnOut);
-	},
-
-	ready: function(fn) {
-		// Attach the listeners
-		bindReady();
-
-		// If the DOM is already ready
-		if ( jQuery.isReady )
-			// Execute the function immediately
-			fn.call( document, jQuery );
-
-		// Otherwise, remember the function for later
-		else
-			// Add the function to the wait list
-			jQuery.readyList.push( fn );
-
-		return this;
-	},
-	
-	live: function( type, fn ){
-		var proxy = jQuery.event.proxy( fn );
-		proxy.guid += this.selector + type;
-
-		jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );
-
-		return this;
-	},
-	
-	die: function( type, fn ){
-		jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );
-		return this;
-	}
-});
-
-function liveHandler( event ){
-	var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
-		stop = true,
-		elems = [];
-
-	jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
-		if ( check.test(fn.type) ) {
-			var elem = jQuery(event.target).closest(fn.data)[0];
-			if ( elem )
-				elems.push({ elem: elem, fn: fn });
-		}
-	});
-
-	elems.sort(function(a,b) {
-		return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
-	});
-	
-	jQuery.each(elems, function(){
-		if ( this.fn.call(this.elem, event, this.fn.data) === false )
-			return (stop = false);
-	});
-
-	return stop;
-}
-
-function liveConvert(type, selector){
-	return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join(".");
-}
-
-jQuery.extend({
-	isReady: false,
-	readyList: [],
-	// Handle when the DOM is ready
-	ready: function() {
-		// Make sure that the DOM is not already loaded
-		if ( !jQuery.isReady ) {
-			// Remember that the DOM is ready
-			jQuery.isReady = true;
-
-			// If there are functions bound, to execute
-			if ( jQuery.readyList ) {
-				// Execute all of them
-				jQuery.each( jQuery.readyList, function(){
-					this.call( document, jQuery );
-				});
-
-				// Reset the list of functions
-				jQuery.readyList = null;
-			}
-
-			// Trigger any bound ready events
-			jQuery(document).triggerHandler("ready");
-		}
-	}
-});
-
-var readyBound = false;
-
-function bindReady(){
-	if ( readyBound ) return;
-	readyBound = true;
-
-	// Mozilla, Opera and webkit nightlies currently support this event
-	if ( document.addEventListener ) {
-		// Use the handy event callback
-		document.addEventListener( "DOMContentLoaded", function(){
-			document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
-			jQuery.ready();
-		}, false );
-
-	// If IE event model is used
-	} else if ( document.attachEvent ) {
-		// ensure firing before onload,
-		// maybe late but safe also for iframes
-		document.attachEvent("onreadystatechange", function(){
-			if ( document.readyState === "complete" ) {
-				document.detachEvent( "onreadystatechange", arguments.callee );
-				jQuery.ready();
-			}
-		});
-
-		// If IE and not an iframe
-		// continually check to see if the document is ready
-		if ( document.documentElement.doScroll && window == window.top ) (function(){
-			if ( jQuery.isReady ) return;
-
-			try {
-				// If IE is used, use the trick by Diego Perini
-				// http://javascript.nwbox.com/IEContentLoaded/
-				document.documentElement.doScroll("left");
-			} catch( error ) {
-				setTimeout( arguments.callee, 0 );
-				return;
-			}
-
-			// and execute any waiting functions
-			jQuery.ready();
-		})();
-	}
-
-	// A fallback to window.onload, that will always work
-	jQuery.event.add( window, "load", jQuery.ready );
-}
-
-jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
-	"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
-	"change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){
-
-	// Handle event binding
-	jQuery.fn[name] = function(fn){
-		return fn ? this.bind(name, fn) : this.trigger(name);
-	};
-});
-
-// Prevent memory leaks in IE
-// And prevent errors on refresh with events like mouseover in other browsers
-// Window isn't included so as not to unbind existing unload events
-jQuery( window ).bind( 'unload', function(){ 
-	for ( var id in jQuery.cache )
-		// Skip the window
-		if ( id != 1 && jQuery.cache[ id ].handle )
-			jQuery.event.remove( jQuery.cache[ id ].handle.elem );
-}); 
-(function(){
-
-	jQuery.support = {};
-
-	var root = document.documentElement,
-		script = document.createElement("script"),
-		div = document.createElement("div"),
-		id = "script" + (new Date).getTime();
-
-	div.style.display = "none";
-	div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
-
-	var all = div.getElementsByTagName("*"),
-		a = div.getElementsByTagName("a")[0];
-
-	// Can't get basic test support
-	if ( !all || !all.length || !a ) {
-		return;
-	}
-
-	jQuery.support = {
-		// IE strips leading whitespace when .innerHTML is used
-		leadingWhitespace: div.firstChild.nodeType == 3,
-		
-		// Make sure that tbody elements aren't automatically inserted
-		// IE will insert them into empty tables
-		tbody: !div.getElementsByTagName("tbody").length,
-		
-		// Make sure that you can get all elements in an <object> element
-		// IE 7 always returns no results
-		objectAll: !!div.getElementsByTagName("object")[0]
-			.getElementsByTagName("*").length,
-		
-		// Make sure that link elements get serialized correctly by innerHTML
-		// This requires a wrapper element in IE
-		htmlSerialize: !!div.getElementsByTagName("link").length,
-		
-		// Get the style information from getAttribute
-		// (IE uses .cssText insted)
-		style: /red/.test( a.getAttribute("style") ),
-		
-		// Make sure that URLs aren't manipulated
-		// (IE normalizes it by default)
-		hrefNormalized: a.getAttribute("href") === "/a",
-		
-		// Make sure that element opacity exists
-		// (IE uses filter instead)
-		opacity: a.style.opacity === "0.5",
-		
-		// Verify style float existence
-		// (IE uses styleFloat instead of cssFloat)
-		cssFloat: !!a.style.cssFloat,
-
-		// Will be defined later
-		scriptEval: false,
-		noCloneEvent: true,
-		boxModel: null
-	};
-	
-	script.type = "text/javascript";
-	try {
-		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
-	} catch(e){}
-
-	root.insertBefore( script, root.firstChild );
-	
-	// Make sure that the execution of code works by injecting a script
-	// tag with appendChild/createTextNode
-	// (IE doesn't support this, fails, and uses .text instead)
-	if ( window[ id ] ) {
-		jQuery.support.scriptEval = true;
-		delete window[ id ];
-	}
-
-	root.removeChild( script );
-
-	if ( div.attachEvent && div.fireEvent ) {
-		div.attachEvent("onclick", function(){
-			// Cloning a node shouldn't copy over any
-			// bound event handlers (IE does this)
-			jQuery.support.noCloneEvent = false;
-			div.detachEvent("onclick", arguments.callee);
-		});
-		div.cloneNode(true).fireEvent("onclick");
-	}
-
-	// Figure out if the W3C box model works as expected
-	// document.body must exist before we can do this
-	jQuery(function(){
-		var div = document.createElement("div");
-		div.style.width = div.style.paddingLeft = "1px";
-
-		document.body.appendChild( div );
-		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
-		document.body.removeChild( div ).style.display = 'none';
-	});
-})();
-
-var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";
-
-jQuery.props = {
-	"for": "htmlFor",
-	"class": "className",
-	"float": styleFloat,
-	cssFloat: styleFloat,
-	styleFloat: styleFloat,
-	readonly: "readOnly",
-	maxlength: "maxLength",
-	cellspacing: "cellSpacing",
-	rowspan: "rowSpan",
-	tabindex: "tabIndex"
-};
-jQuery.fn.extend({
-	// Keep a copy of the old load
-	_load: jQuery.fn.load,
-
-	load: function( url, params, callback ) {
-		if ( typeof url !== "string" )
-			return this._load( url );
-
-		var off = url.indexOf(" ");
-		if ( off >= 0 ) {
-			var selector = url.slice(off, url.length);
-			url = url.slice(0, off);
-		}
-
-		// Default to a GET request
-		var type = "GET";
-
-		// If the second parameter was provided
-		if ( params )
-			// If it's a function
-			if ( jQuery.isFunction( params ) ) {
-				// We assume that it's the callback
-				callback = params;
-				params = null;
-
-			// Otherwise, build a param string
-			} else if( typeof params === "object" ) {
-				params = jQuery.param( params );
-				type = "POST";
-			}
-
-		var self = this;
-
-		// Request the remote document
-		jQuery.ajax({
-			url: url,
-			type: type,
-			dataType: "html",
-			data: params,
-			complete: function(res, status){
-				// If successful, inject the HTML into all the matched elements
-				if ( status == "success" || status == "notmodified" )
-					// See if a selector was specified
-					self.html( selector ?
-						// Create a dummy div to hold the results
-						jQuery("<div/>")
-							// inject the contents of the document in, removing the scripts
-							// to avoid any 'Permission Denied' errors in IE
-							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))
-
-							// Locate the specified elements
-							.find(selector) :
-
-						// If not, just inject the full result
-						res.responseText );
-
-				if( callback )
-					self.each( callback, [res.responseText, status, res] );
-			}
-		});
-		return this;
-	},
-
-	serialize: function() {
-		return jQuery.param(this.serializeArray());
-	},
-	serializeArray: function() {
-		return this.map(function(){
-			return this.elements ? jQuery.makeArray(this.elements) : this;
-		})
-		.filter(function(){
-			return this.name && !this.disabled &&
-				(this.checked || /select|textarea/i.test(this.nodeName) ||
-					/text|hidden|password|search/i.test(this.type));
-		})
-		.map(function(i, elem){
-			var val = jQuery(this).val();
-			return val == null ? null :
-				jQuery.isArray(val) ?
-					jQuery.map( val, function(val, i){
-						return {name: elem.name, value: val};
-					}) :
-					{name: elem.name, value: val};
-		}).get();
-	}
-});
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
-	jQuery.fn[o] = function(f){
-		return this.bind(o, f);
-	};
-});
-
-var jsc = now();
-
-jQuery.extend({
-  
-	get: function( url, data, callback, type ) {
-		// shift arguments if data argument was ommited
-		if ( jQuery.isFunction( data ) ) {
-			callback = data;
-			data = null;
-		}
-
-		return jQuery.ajax({
-			type: "GET",
-			url: url,
-			data: data,
-			success: callback,
-			dataType: type
-		});
-	},
-
-	getScript: function( url, callback ) {
-		return jQuery.get(url, null, callback, "script");
-	},
-
-	getJSON: function( url, data, callback ) {
-		return jQuery.get(url, data, callback, "json");
-	},
-
-	post: function( url, data, callback, type ) {
-		if ( jQuery.isFunction( data ) ) {
-			callback = data;
-			data = {};
-		}
-
-		return jQuery.ajax({
-			type: "POST",
-			url: url,
-			data: data,
-			success: callback,
-			dataType: type
-		});
-	},
-
-	ajaxSetup: function( settings ) {
-		jQuery.extend( jQuery.ajaxSettings, settings );
-	},
-
-	ajaxSettings: {
-		url: location.href,
-		global: true,
-		type: "GET",
-		contentType: "application/x-www-form-urlencoded",
-		processData: true,
-		async: true,
-		/*
-		timeout: 0,
-		data: null,
-		username: null,
-		password: null,
-		*/
-		// Create the request object; Microsoft failed to properly
-		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
-		// This function can be overriden by calling jQuery.ajaxSetup
-		xhr:function(){
-			return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
-		},
-		accepts: {
-			xml: "application/xml, text/xml",
-			html: "text/html",
-			script: "text/javascript, application/javascript",
-			json: "application/json, text/javascript",
-			text: "text/plain",
-			_default: "*/*"
-		}
-	},
-
-	// Last-Modified header cache for next request
-	lastModified: {},
-
-	ajax: function( s ) {
-		// Extend the settings, but re-extend 's' so that it can be
-		// checked again later (in the test suite, specifically)
-		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
-
-		var jsonp, jsre = /=\?(&|$)/g, status, data,
-			type = s.type.toUpperCase();
-
-		// convert data if not already a string
-		if ( s.data && s.processData && typeof s.data !== "string" )
-			s.data = jQuery.param(s.data);
-
-		// Handle JSONP Parameter Callbacks
-		if ( s.dataType == "jsonp" ) {
-			if ( type == "GET" ) {
-				if ( !s.url.match(jsre) )
-					s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?";
-			} else if ( !s.data || !s.data.match(jsre) )
-				s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
-			s.dataType = "json";
-		}
-
-		// Build temporary JSONP function
-		if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) {
-			jsonp = "jsonp" + jsc++;
-
-			// Replace the =? sequence both in the query string and the data
-			if ( s.data )
-				s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
-			s.url = s.url.replace(jsre, "=" + jsonp + "$1");
-
-			// We need to make sure
-			// that a JSONP style response is executed properly
-			s.dataType = "script";
-
-			// Handle JSONP-style loading
-			window[ jsonp ] = function(tmp){
-				data = tmp;
-				success();
-				complete();
-				// Garbage collect
-				window[ jsonp ] = undefined;
-				try{ delete window[ jsonp ]; } catch(e){}
-				if ( head )
-					head.removeChild( script );
-			};
-		}
-
-		if ( s.dataType == "script" && s.cache == null )
-			s.cache = false;
-
-		if ( s.cache === false && type == "GET" ) {
-			var ts = now();
-			// try replacing _= if it is there
-			var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
-			// if nothing was replaced, add timestamp to the end
-			s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
-		}
-
-		// If data is available, append data to url for get requests
-		if ( s.data && type == "GET" ) {
-			s.url += (s.url.match(/\?/) ? "&" : "?") + s.data;
-
-			// IE likes to send both get and post data, prevent this
-			s.data = null;
-		}
-
-		// Watch for a new set of requests
-		if ( s.global && ! jQuery.active++ )
-			jQuery.event.trigger( "ajaxStart" );
-
-		// Matches an absolute URL, and saves the domain
-		var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );
-
-		// If we're requesting a remote document
-		// and trying to load JSON or Script with a GET
-		if ( s.dataType == "script" && type == "GET" && parts
-			&& ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){
-
-			var head = document.getElementsByTagName("head")[0];
-			var script = document.createElement("script");
-			script.src = s.url;
-			if (s.scriptCharset)
-				script.charset = s.scriptCharset;
-
-			// Handle Script loading
-			if ( !jsonp ) {
-				var done = false;
-
-				// Attach handlers for all browsers
-				script.onload = script.onreadystatechange = function(){
-					if ( !done && (!this.readyState ||
-							this.readyState == "loaded" || this.readyState == "complete") ) {
-						done = true;
-						success();
-						complete();
-
-						// Handle memory leak in IE
-						script.onload = script.onreadystatechange = null;
-						head.removeChild( script );
-					}
-				};
-			}
-
-			head.appendChild(script);
-
-			// We handle everything using the script element injection
-			return undefined;
-		}
-
-		var requestDone = false;
-
-		// Create the request object
-		var xhr = s.xhr();
-
-		// Open the socket
-		// Passing null username, generates a login popup on Opera (#2865)
-		if( s.username )
-			xhr.open(type, s.url, s.async, s.username, s.password);
-		else
-			xhr.open(type, s.url, s.async);
-
-		// Need an extra try/catch for cross domain requests in Firefox 3
-		try {
-			// Set the correct header, if data is being sent
-			if ( s.data )
-				xhr.setRequestHeader("Content-Type", s.contentType);
-
-			// Set the If-Modified-Since header, if ifModified mode.
-			if ( s.ifModified )
-				xhr.setRequestHeader("If-Modified-Since",
-					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );
-
-			// Set header so the called script knows that it's an XMLHttpRequest
-			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
-
-			// Set the Accepts header for the server, depending on the dataType
-			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
-				s.accepts[ s.dataType ] + ", */*" :
-				s.accepts._default );
-		} catch(e){}
-
-		// Allow custom headers/mimetypes and early abort
-		if ( s.beforeSend && s.beforeSend(xhr, s) === false ) {
-			// Handle the global AJAX counter
-			if ( s.global && ! --jQuery.active )
-				jQuery.event.trigger( "ajaxStop" );
-			// close opended socket
-			xhr.abort();
-			return false;
-		}
-
-		if ( s.global )
-			jQuery.event.trigger("ajaxSend", [xhr, s]);
-
-		// Wait for a response to come back
-		var onreadystatechange = function(isTimeout){
-			// The request was aborted, clear the interval and decrement jQuery.active
-			if (xhr.readyState == 0) {
-				if (ival) {
-					// clear poll interval
-					clearInterval(ival);
-					ival = null;
-					// Handle the global AJAX counter
-					if ( s.global && ! --jQuery.active )
-						jQuery.event.trigger( "ajaxStop" );
-				}
-			// The transfer is complete and the data is available, or the request timed out
-			} else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout") ) {
-				requestDone = true;
-
-				// clear poll interval
-				if (ival) {
-					clearInterval(ival);
-					ival = null;
-				}
-
-				status = isTimeout == "timeout" ? "timeout" :
-					!jQuery.httpSuccess( xhr ) ? "error" :
-					s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? "notmodified" :
-					"success";
-
-				if ( status == "success" ) {
-					// Watch for, and catch, XML document parse errors
-					try {
-						// process the data (runs the xml through httpData regardless of callback)
-						data = jQuery.httpData( xhr, s.dataType, s );
-					} catch(e) {
-						status = "parsererror";
-					}
-				}
-
-				// Make sure that the request was successful or notmodified
-				if ( status == "success" ) {
-					// Cache Last-Modified header, if ifModified mode.
-					var modRes;
-					try {
-						modRes = xhr.getResponseHeader("Last-Modified");
-					} catch(e) {} // swallow exception thrown by FF if header is not available
-
-					if ( s.ifModified && modRes )
-						jQuery.lastModified[s.url] = modRes;
-
-					// JSONP handles its own success callback
-					if ( !jsonp )
-						success();
-				} else
-					jQuery.handleError(s, xhr, status);
-
-				// Fire the complete handlers
-				complete();
-
-				if ( isTimeout )
-					xhr.abort();
-
-				// Stop memory leaks
-				if ( s.async )
-					xhr = null;
-			}
-		};
-
-		if ( s.async ) {
-			// don't attach the handler to the request, just poll it instead
-			var ival = setInterval(onreadystatechange, 13);
-
-			// Timeout checker
-			if ( s.timeout > 0 )
-				setTimeout(function(){
-					// Check to see if the request is still happening
-					if ( xhr && !requestDone )
-						onreadystatechange( "timeout" );
-				}, s.timeout);
-		}
-
-		// Send the data
-		try {
-			xhr.send(s.data);
-		} catch(e) {
-			jQuery.handleError(s, xhr, null, e);
-		}
-
-		// firefox 1.5 doesn't fire statechange for sync requests
-		if ( !s.async )
-			onreadystatechange();
-
-		function success(){
-			// If a local callback was specified, fire it and pass it the data
-			if ( s.success )
-				s.success( data, status );
-
-			// Fire the global callback
-			if ( s.global )
-				jQuery.event.trigger( "ajaxSuccess", [xhr, s] );
-		}
-
-		function complete(){
-			// Process result
-			if ( s.complete )
-				s.complete(xhr, status);
-
-			// The request was completed
-			if ( s.global )
-				jQuery.event.trigger( "ajaxComplete", [xhr, s] );
-
-			// Handle the global AJAX counter
-			if ( s.global && ! --jQuery.active )
-				jQuery.event.trigger( "ajaxStop" );
-		}
-
-		// return XMLHttpRequest to allow aborting the request etc.
-		return xhr;
-	},
-
-	handleError: function( s, xhr, status, e ) {
-		// If a local callback was specified, fire it
-		if ( s.error ) s.error( xhr, status, e );
-
-		// Fire the global callback
-		if ( s.global )
-			jQuery.event.trigger( "ajaxError", [xhr, s, e] );
-	},
-
-	// Counter for holding the number of active queries
-	active: 0,
-
-	// Determines if an XMLHttpRequest was successful or not
-	httpSuccess: function( xhr ) {
-		try {
-			// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
-			return !xhr.status && location.protocol == "file:" ||
-				( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
-		} catch(e){}
-		return false;
-	},
-
-	// Determines if an XMLHttpRequest returns NotModified
-	httpNotModified: function( xhr, url ) {
-		try {
-			var xhrRes = xhr.getResponseHeader("Last-Modified");
-
-			// Firefox always returns 200. check Last-Modified date
-			return xhr.status == 304 || xhrRes == jQuery.lastModified[url];
-		} catch(e){}
-		return false;
-	},
-
-	httpData: function( xhr, type, s ) {
-		var ct = xhr.getResponseHeader("content-type"),
-			xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
-			data = xml ? xhr.responseXML : xhr.responseText;
-
-		if ( xml && data.documentElement.tagName == "parsererror" )
-			throw "parsererror";
-			
-		// Allow a pre-filtering function to sanitize the response
-		// s != null is checked to keep backwards compatibility
-		if( s && s.dataFilter )
-			data = s.dataFilter( data, type );
-
-		// The filter can actually parse the response
-		if( typeof data === "string" ){
-
-			// If the type is "script", eval it in global context
-			if ( type == "script" )
-				jQuery.globalEval( data );
-
-			// Get the JavaScript object, if JSON is used.
-			if ( type == "json" )
-				data = window["eval"]("(" + data + ")");
-		}
-		
-		return data;
-	},
-
-	// Serialize an array of form elements or a set of
-	// key/values into a query string
-	param: function( a ) {
-		var s = [ ];
-
-		function add( key, value ){
-			s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value);
-		};
-
-		// If an array was passed in, assume that it is an array
-		// of form elements
-		if ( jQuery.isArray(a) || a.jquery )
-			// Serialize the form elements
-			jQuery.each( a, function(){
-				add( this.name, this.value );
-			});
-
-		// Otherwise, assume that it's an object of key/value pairs
-		else
-			// Serialize the key/values
-			for ( var j in a )
-				// If the value is an array then the key names need to be repeated
-				if ( jQuery.isArray(a[j]) )
-					jQuery.each( a[j], function(){
-						add( j, this );
-					});
-				else
-					add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );
-
-		// Return the resulting serialization
-		return s.join("&").replace(/%20/g, "+");
-	}
-
-});
-var elemdisplay = {},
-	timerId,
-	fxAttrs = [
-		// height animations
-		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
-		// width animations
-		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
-		// opacity animations
-		[ "opacity" ]
-	];
-
-function genFx( type, num ){
-	var obj = {};
-	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){
-		obj[ this ] = type;
-	});
-	return obj;
-}
-
-jQuery.fn.extend({
-	show: function(speed,callback){
-		if ( speed ) {
-			return this.animate( genFx("show", 3), speed, callback);
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ){
-				var old = jQuery.data(this[i], "olddisplay");
-				
-				this[i].style.display = old || "";
-				
-				if ( jQuery.css(this[i], "display") === "none" ) {
-					var tagName = this[i].tagName, display;
-					
-					if ( elemdisplay[ tagName ] ) {
-						display = elemdisplay[ tagName ];
-					} else {
-						var elem = jQuery("<" + tagName + " />").appendTo("body");
-						
-						display = elem.css("display");
-						if ( display === "none" )
-							display = "block";
-						
-						elem.remove();
-						
-						elemdisplay[ tagName ] = display;
-					}
-					
-					jQuery.data(this[i], "olddisplay", display);
-				}
-			}
-
-			// Set the display of the elements in a second loop
-			// to avoid the constant reflow
-			for ( var i = 0, l = this.length; i < l; i++ ){
-				this[i].style.display = jQuery.data(this[i], "olddisplay") || "";
-			}
-			
-			return this;
-		}
-	},
-
-	hide: function(speed,callback){
-		if ( speed ) {
-			return this.animate( genFx("hide", 3), speed, callback);
-		} else {
-			for ( var i = 0, l = this.length; i < l; i++ ){
-				var old = jQuery.data(this[i], "olddisplay");
-				if ( !old && old !== "none" )
-					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
-			}
-
-			// Set the display of the elements in a second loop
-			// to avoid the constant reflow
-			for ( var i = 0, l = this.length; i < l; i++ ){
-				this[i].style.display = "none";
-			}
-
-			return this;
-		}
-	},
-
-	// Save the old toggle function
-	_toggle: jQuery.fn.toggle,
-
-	toggle: function( fn, fn2 ){
-		var bool = typeof fn === "boolean";
-
-		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
-			this._toggle.apply( this, arguments ) :
-			fn == null || bool ?
-				this.each(function(){
-					var state = bool ? fn : jQuery(this).is(":hidden");
-					jQuery(this)[ state ? "show" : "hide" ]();
-				}) :
-				this.animate(genFx("toggle", 3), fn, fn2);
-	},
-
-	fadeTo: function(speed,to,callback){
-		return this.animate({opacity: to}, speed, callback);
-	},
-
-	animate: function( prop, speed, easing, callback ) {
-		var optall = jQuery.speed(speed, easing, callback);
-
-		return this[ optall.queue === false ? "each" : "queue" ](function(){
-		
-			var opt = jQuery.extend({}, optall), p,
-				hidden = this.nodeType == 1 && jQuery(this).is(":hidden"),
-				self = this;
-	
-			for ( p in prop ) {
-				if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
-					return opt.complete.call(this);
-
-				if ( ( p == "height" || p == "width" ) && this.style ) {
-					// Store display property
-					opt.display = jQuery.css(this, "display");
-
-					// Make sure that nothing sneaks out
-					opt.overflow = this.style.overflow;
-				}
-			}
-
-			if ( opt.overflow != null )
-				this.style.overflow = "hidden";
-
-			opt.curAnim = jQuery.extend({}, prop);
-
-			jQuery.each( prop, function(name, val){
-				var e = new jQuery.fx( self, opt, name );
-
-				if ( /toggle|show|hide/.test(val) )
-					e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop );
-				else {
-					var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
-						start = e.cur(true) || 0;
-
-					if ( parts ) {
-						var end = parseFloat(parts[2]),
-							unit = parts[3] || "px";
-
-						// We need to compute starting value
-						if ( unit != "px" ) {
-							self.style[ name ] = (end || 1) + unit;
-							start = ((end || 1) / e.cur(true)) * start;
-							self.style[ name ] = start + unit;
-						}
-
-						// If a +=/-= token was provided, we're doing a relative animation
-						if ( parts[1] )
-							end = ((parts[1] == "-=" ? -1 : 1) * end) + start;
-
-						e.custom( start, end, unit );
-					} else
-						e.custom( start, val, "" );
-				}
-			});
-
-			// For JS strict compliance
-			return true;
-		});
-	},
-
-	stop: function(clearQueue, gotoEnd){
-		var timers = jQuery.timers;
-
-		if (clearQueue)
-			this.queue([]);
-
-		this.each(function(){
-			// go in reverse order so anything added to the queue during the loop is ignored
-			for ( var i = timers.length - 1; i >= 0; i-- )
-				if ( timers[i].elem == this ) {
-					if (gotoEnd)
-						// force the next step to be the last
-						timers[i](true);
-					timers.splice(i, 1);
-				}
-		});
-
-		// start the next in the queue if the last step wasn't forced
-		if (!gotoEnd)
-			this.dequeue();
-
-		return this;
-	}
-
-});
-
-// Generate shortcuts for custom animations
-jQuery.each({
-	slideDown: genFx("show", 1),
-	slideUp: genFx("hide", 1),
-	slideToggle: genFx("toggle", 1),
-	fadeIn: { opacity: "show" },
-	fadeOut: { opacity: "hide" }
-}, function( name, props ){
-	jQuery.fn[ name ] = function( speed, callback ){
-		return this.animate( props, speed, callback );
-	};
-});
-
-jQuery.extend({
-
-	speed: function(speed, easing, fn) {
-		var opt = typeof speed === "object" ? speed : {
-			complete: fn || !fn && easing ||
-				jQuery.isFunction( speed ) && speed,
-			duration: speed,
-			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
-		};
-
-		opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
-			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;
-
-		// Queueing
-		opt.old = opt.complete;
-		opt.complete = function(){
-			if ( opt.queue !== false )
-				jQuery(this).dequeue();
-			if ( jQuery.isFunction( opt.old ) )
-				opt.old.call( this );
-		};
-
-		return opt;
-	},
-
-	easing: {
-		linear: function( p, n, firstNum, diff ) {
-			return firstNum + diff * p;
-		},
-		swing: function( p, n, firstNum, diff ) {
-			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
-		}
-	},
-
-	timers: [],
-
-	fx: function( elem, options, prop ){
-		this.options = options;
-		this.elem = elem;
-		this.prop = prop;
-
-		if ( !options.orig )
-			options.orig = {};
-	}
-
-});
-
-jQuery.fx.prototype = {
-
-	// Simple function for setting a style value
-	update: function(){
-		if ( this.options.step )
-			this.options.step.call( this.elem, this.now, this );
-
-		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
-
-		// Set display property to block for height/width animations
-		if ( ( this.prop == "height" || this.prop == "width" ) && this.elem.style )
-			this.elem.style.display = "block";
-	},
-
-	// Get the current size
-	cur: function(force){
-		if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) )
-			return this.elem[ this.prop ];
-
-		var r = parseFloat(jQuery.css(this.elem, this.prop, force));
-		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
-	},
-
-	// Start an animation from one number to another
-	custom: function(from, to, unit){
-		this.startTime = now();
-		this.start = from;
-		this.end = to;
-		this.unit = unit || this.unit || "px";
-		this.now = this.start;
-		this.pos = this.state = 0;
-
-		var self = this;
-		function t(gotoEnd){
-			return self.step(gotoEnd);
-		}
-
-		t.elem = this.elem;
-
-		if ( t() && jQuery.timers.push(t) && !timerId ) {
-			timerId = setInterval(function(){
-				var timers = jQuery.timers;
-
-				for ( var i = 0; i < timers.length; i++ )
-					if ( !timers[i]() )
-						timers.splice(i--, 1);
-
-				if ( !timers.length ) {
-					clearInterval( timerId );
-					timerId = undefined;
-				}
-			}, 13);
-		}
-	},
-
-	// Simple 'show' function
-	show: function(){
-		// Remember where we started, so that we can go back to it later
-		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
-		this.options.show = true;
-
-		// Begin the animation
-		// Make sure that we start at a small width/height to avoid any
-		// flash of content
-		this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
-
-		// Start by showing the element
-		jQuery(this.elem).show();
-	},
-
-	// Simple 'hide' function
-	hide: function(){
-		// Remember where we started, so that we can go back to it later
-		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
-		this.options.hide = true;
-
-		// Begin the animation
-		this.custom(this.cur(), 0);
-	},
-
-	// Each step of an animation
-	step: function(gotoEnd){
-		var t = now();
-
-		if ( gotoEnd || t >= this.options.duration + this.startTime ) {
-			this.now = this.end;
-			this.pos = this.state = 1;
-			this.update();
-
-			this.options.curAnim[ this.prop ] = true;
-
-			var done = true;
-			for ( var i in this.options.curAnim )
-				if ( this.options.curAnim[i] !== true )
-					done = false;
-
-			if ( done ) {
-				if ( this.options.display != null ) {
-					// Reset the overflow
-					this.elem.style.overflow = this.options.overflow;
-
-					// Reset the display
-					this.elem.style.display = this.options.display;
-					if ( jQuery.css(this.elem, "display") == "none" )
-						this.elem.style.display = "block";
-				}
-
-				// Hide the element if the "hide" operation was done
-				if ( this.options.hide )
-					jQuery(this.elem).hide();
-
-				// Reset the properties, if the item has been hidden or shown
-				if ( this.options.hide || this.options.show )
-					for ( var p in this.options.curAnim )
-						jQuery.attr(this.elem.style, p, this.options.orig[p]);
-					
-				// Execute the complete function
-				this.options.complete.call( this.elem );
-			}
-
-			return false;
-		} else {
-			var n = t - this.startTime;
-			this.state = n / this.options.duration;
-
-			// Perform the easing function, defaults to swing
-			this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);
-			this.now = this.start + ((this.end - this.start) * this.pos);
-
-			// Perform the next step of the animation
-			this.update();
-		}
-
-		return true;
-	}
-
-};
-
-jQuery.extend( jQuery.fx, {
-	speeds:{
-		slow: 600,
- 		fast: 200,
- 		// Default speed
- 		_default: 400
-	},
-	step: {
-
-		opacity: function(fx){
-			jQuery.attr(fx.elem.style, "opacity", fx.now);
-		},
-
-		_default: function(fx){
-			if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
-				fx.elem.style[ fx.prop ] = fx.now + fx.unit;
-			else
-				fx.elem[ fx.prop ] = fx.now;
-		}
-	}
-});
-if ( document.documentElement["getBoundingClientRect"] )
-	jQuery.fn.offset = function() {
-		if ( !this[0] ) return { top: 0, left: 0 };
-		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
-		var box  = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement,
-			clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
-			top  = box.top  + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop  || body.scrollTop ) - clientTop,
-			left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
-		return { top: top, left: left };
-	};
-else 
-	jQuery.fn.offset = function() {
-		if ( !this[0] ) return { top: 0, left: 0 };
-		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
-		jQuery.offset.initialized || jQuery.offset.initialize();
-
-		var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem,
-			doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
-			body = doc.body, defaultView = doc.defaultView,
-			prevComputedStyle = defaultView.getComputedStyle(elem, null),
-			top = elem.offsetTop, left = elem.offsetLeft;
-
-		while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
-			computedStyle = defaultView.getComputedStyle(elem, null);
-			top -= elem.scrollTop, left -= elem.scrollLeft;
-			if ( elem === offsetParent ) {
-				top += elem.offsetTop, left += elem.offsetLeft;
-				if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) )
-					top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
-					left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
-				prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
-			}
-			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" )
-				top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
-				left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
-			prevComputedStyle = computedStyle;
-		}
-
-		if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" )
-			top  += body.offsetTop,
-			left += body.offsetLeft;
-
-		if ( prevComputedStyle.position === "fixed" )
-			top  += Math.max(docElem.scrollTop, body.scrollTop),
-			left += Math.max(docElem.scrollLeft, body.scrollLeft);
-
-		return { top: top, left: left };
-	};
-
-jQuery.offset = {
-	initialize: function() {
-		if ( this.initialized ) return;
-		var body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,
-			html = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
-
-		rules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' };
-		for ( prop in rules ) container.style[prop] = rules[prop];
-
-		container.innerHTML = html;
-		body.insertBefore(container, body.firstChild);
-		innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;
-
-		this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
-		this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
-
-		innerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative';
-		this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
-
-		body.style.marginTop = '1px';
-		this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);
-		body.style.marginTop = bodyMarginTop;
-
-		body.removeChild(container);
-		this.initialized = true;
-	},
-
-	bodyOffset: function(body) {
-		jQuery.offset.initialized || jQuery.offset.initialize();
-		var top = body.offsetTop, left = body.offsetLeft;
-		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )
-			top  += parseInt( jQuery.curCSS(body, 'marginTop',  true), 10 ) || 0,
-			left += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0;
-		return { top: top, left: left };
-	}
-};
-
-
-jQuery.fn.extend({
-	position: function() {
-		var left = 0, top = 0, results;
-
-		if ( this[0] ) {
-			// Get *real* offsetParent
-			var offsetParent = this.offsetParent(),
-
-			// Get correct offsets
-			offset       = this.offset(),
-			parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();
-
-			// Subtract element margins
-			// note: when an element has margin: auto the offsetLeft and marginLeft 
-			// are the same in Safari causing offset.left to incorrectly be 0
-			offset.top  -= num( this, 'marginTop'  );
-			offset.left -= num( this, 'marginLeft' );
-
-			// Add offsetParent borders
-			parentOffset.top  += num( offsetParent, 'borderTopWidth'  );
-			parentOffset.left += num( offsetParent, 'borderLeftWidth' );
-
-			// Subtract the two offsets
-			results = {
-				top:  offset.top  - parentOffset.top,
-				left: offset.left - parentOffset.left
-			};
-		}
-
-		return results;
-	},
-
-	offsetParent: function() {
-		var offsetParent = this[0].offsetParent || document.body;
-		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
-			offsetParent = offsetParent.offsetParent;
-		return jQuery(offsetParent);
-	}
-});
-
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( ['Left', 'Top'], function(i, name) {
-	var method = 'scroll' + name;
-	
-	jQuery.fn[ method ] = function(val) {
-		if (!this[0]) return null;
-
-		return val !== undefined ?
-
-			// Set the scroll offset
-			this.each(function() {
-				this == window || this == document ?
-					window.scrollTo(
-						!i ? val : jQuery(window).scrollLeft(),
-						 i ? val : jQuery(window).scrollTop()
-					) :
-					this[ method ] = val;
-			}) :
-
-			// Return the scroll offset
-			this[0] == window || this[0] == document ?
-				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||
-					jQuery.boxModel && document.documentElement[ method ] ||
-					document.body[ method ] :
-				this[0][ method ];
-	};
-});
-// Create innerHeight, innerWidth, outerHeight and outerWidth methods
-jQuery.each([ "Height", "Width" ], function(i, name){
-
-	var tl = i ? "Left"  : "Top",  // top or left
-		br = i ? "Right" : "Bottom", // bottom or right
-		lower = name.toLowerCase();
-
-	// innerHeight and innerWidth
-	jQuery.fn["inner" + name] = function(){
-		return this[0] ?
-			jQuery.css( this[0], lower, false, "padding" ) :
-			null;
-	};
-
-	// outerHeight and outerWidth
-	jQuery.fn["outer" + name] = function(margin) {
-		return this[0] ?
-			jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
-			null;
-	};
-	
-	var type = name.toLowerCase();
-
-	jQuery.fn[ type ] = function( size ) {
-		// Get window width or height
-		return this[0] == window ?
-			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
-			document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] ||
-			document.body[ "client" + name ] :
-
-			// Get document width or height
-			this[0] == document ?
-				// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
-				Math.max(
-					document.documentElement["client" + name],
-					document.body["scroll" + name], document.documentElement["scroll" + name],
-					document.body["offset" + name], document.documentElement["offset" + name]
-				) :
-
-				// Get or set width or height on the element
-				size === undefined ?
-					// Get width or height on the element
-					(this.length ? jQuery.css( this[0], type ) : null) :
-
-					// Set the width or height on the element (default to pixels if value is unitless)
-					this.css( type, typeof size === "string" ? size : size + "px" );
-	};
-
-});
-})();
+/*!
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){
+
+var 
+	// Will speed up references to window, and allows munging its name.
+	window = this,
+	// Will speed up references to undefined, and allows munging its name.
+	undefined,
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+	// Map over the $ in case of overwrite
+	_$ = window.$,
+
+	jQuery = window.jQuery = window.$ = function( selector, context ) {
+		// The jQuery object is actually just the init constructor 'enhanced'
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// A simple way to check for HTML strings or ID strings
+	// (both of which we optimize for)
+	quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
+	// Is it a simple selector
+	isSimple = /^.[^:#\[\.,]*$/;
+
+jQuery.fn = jQuery.prototype = {
+	init: function( selector, context ) {
+		// Make sure that a selection was provided
+		selector = selector || document;
+
+		// Handle $(DOMElement)
+		if ( selector.nodeType ) {
+			this[0] = selector;
+			this.length = 1;
+			this.context = selector;
+			return this;
+		}
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			// Are we dealing with HTML string or an ID?
+			var match = quickExpr.exec( selector );
+
+			// Verify a match, and that no context was specified for #id
+			if ( match && (match[1] || !context) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[1] )
+					selector = jQuery.clean( [ match[1] ], context );
+
+				// HANDLE: $("#id")
+				else {
+					var elem = document.getElementById( match[3] );
+
+					// Handle the case where IE and Opera return items
+					// by name instead of ID
+					if ( elem && elem.id != match[3] )
+						return jQuery().find( selector );
+
+					// Otherwise, we inject the element directly into the jQuery object
+					var ret = jQuery( elem || [] );
+					ret.context = document;
+					ret.selector = selector;
+					return ret;
+				}
+
+			// HANDLE: $(expr, [context])
+			// (which is just equivalent to: $(content).find(expr)
+			} else
+				return jQuery( context ).find( selector );
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) )
+			return jQuery( document ).ready( selector );
+
+		// Make sure that old selector state is passed along
+		if ( selector.selector && selector.context ) {
+			this.selector = selector.selector;
+			this.context = selector.context;
+		}
+
+		return this.setArray(jQuery.isArray( selector ) ?
+			selector :
+			jQuery.makeArray(selector));
+	},
+
+	// Start with an empty selector
+	selector: "",
+
+	// The current version of jQuery being used
+	jquery: "1.3.2",
+
+	// The number of elements contained in the matched element set
+	size: function() {
+		return this.length;
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+		return num === undefined ?
+
+			// Return a 'clean' array
+			Array.prototype.slice.call( this ) :
+
+			// Return just the object
+			this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems, name, selector ) {
+		// Build a new jQuery matched element set
+		var ret = jQuery( elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		ret.context = this.context;
+
+		if ( name === "find" )
+			ret.selector = this.selector + (this.selector ? " " : "") + selector;
+		else if ( name )
+			ret.selector = this.selector + "." + name + "(" + selector + ")";
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Force the current matched set of elements to become
+	// the specified array of elements (destroying the stack in the process)
+	// You should use pushStack() in order to do this, but maintain the stack
+	setArray: function( elems ) {
+		// Resetting the length to 0, then using the native Array push
+		// is a super-fast way to populate an object with array-like properties
+		this.length = 0;
+		Array.prototype.push.apply( this, elems );
+
+		return this;
+	},
+
+	// Execute a callback for every element in the matched set.
+	// (You can seed the arguments with an array of args, but this is
+	// only used internally.)
+	each: function( callback, args ) {
+		return jQuery.each( this, callback, args );
+	},
+
+	// Determine the position of an element within
+	// the matched set of elements
+	index: function( elem ) {
+		// Locate the position of the desired element
+		return jQuery.inArray(
+			// If it receives a jQuery object, the first element is used
+			elem && elem.jquery ? elem[0] : elem
+		, this );
+	},
+
+	attr: function( name, value, type ) {
+		var options = name;
+
+		// Look for the case where we're accessing a style value
+		if ( typeof name === "string" )
+			if ( value === undefined )
+				return this[0] && jQuery[ type || "attr" ]( this[0], name );
+
+			else {
+				options = {};
+				options[ name ] = value;
+			}
+
+		// Check to see if we're setting style values
+		return this.each(function(i){
+			// Set all the styles
+			for ( name in options )
+				jQuery.attr(
+					type ?
+						this.style :
+						this,
+					name, jQuery.prop( this, options[ name ], type, i, name )
+				);
+		});
+	},
+
+	css: function( key, value ) {
+		// ignore negative width and height values
+		if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )
+			value = undefined;
+		return this.attr( key, value, "curCSS" );
+	},
+
+	text: function( text ) {
+		if ( typeof text !== "object" && text != null )
+			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );
+
+		var ret = "";
+
+		jQuery.each( text || this, function(){
+			jQuery.each( this.childNodes, function(){
+				if ( this.nodeType != 8 )
+					ret += this.nodeType != 1 ?
+						this.nodeValue :
+						jQuery.fn.text( [ this ] );
+			});
+		});
+
+		return ret;
+	},
+
+	wrapAll: function( html ) {
+		if ( this[0] ) {
+			// The elements to wrap the target around
+			var wrap = jQuery( html, this[0].ownerDocument ).clone();
+
+			if ( this[0].parentNode )
+				wrap.insertBefore( this[0] );
+
+			wrap.map(function(){
+				var elem = this;
+
+				while ( elem.firstChild )
+					elem = elem.firstChild;
+
+				return elem;
+			}).append(this);
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		return this.each(function(){
+			jQuery( this ).contents().wrapAll( html );
+		});
+	},
+
+	wrap: function( html ) {
+		return this.each(function(){
+			jQuery( this ).wrapAll( html );
+		});
+	},
+
+	append: function() {
+		return this.domManip(arguments, true, function(elem){
+			if (this.nodeType == 1)
+				this.appendChild( elem );
+		});
+	},
+
+	prepend: function() {
+		return this.domManip(arguments, true, function(elem){
+			if (this.nodeType == 1)
+				this.insertBefore( elem, this.firstChild );
+		});
+	},
+
+	before: function() {
+		return this.domManip(arguments, false, function(elem){
+			this.parentNode.insertBefore( elem, this );
+		});
+	},
+
+	after: function() {
+		return this.domManip(arguments, false, function(elem){
+			this.parentNode.insertBefore( elem, this.nextSibling );
+		});
+	},
+
+	end: function() {
+		return this.prevObject || jQuery( [] );
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: [].push,
+	sort: [].sort,
+	splice: [].splice,
+
+	find: function( selector ) {
+		if ( this.length === 1 ) {
+			var ret = this.pushStack( [], "find", selector );
+			ret.length = 0;
+			jQuery.find( selector, this[0], ret );
+			return ret;
+		} else {
+			return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
+				return jQuery.find( selector, elem );
+			})), "find", selector );
+		}
+	},
+
+	clone: function( events ) {
+		// Do the clone
+		var ret = this.map(function(){
+			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
+				// IE copies events bound via attachEvent when
+				// using cloneNode. Calling detachEvent on the
+				// clone will also remove the events from the orignal
+				// In order to get around this, we use innerHTML.
+				// Unfortunately, this means some modifications to
+				// attributes in IE that are actually only stored
+				// as properties will not be copied (such as the
+				// the name attribute on an input).
+				var html = this.outerHTML;
+				if ( !html ) {
+					var div = this.ownerDocument.createElement("div");
+					div.appendChild( this.cloneNode(true) );
+					html = div.innerHTML;
+				}
+
+				return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0];
+			} else
+				return this.cloneNode(true);
+		});
+
+		// Copy the events from the original to the clone
+		if ( events === true ) {
+			var orig = this.find("*").andSelf(), i = 0;
+
+			ret.find("*").andSelf().each(function(){
+				if ( this.nodeName !== orig[i].nodeName )
+					return;
+
+				var events = jQuery.data( orig[i], "events" );
+
+				for ( var type in events ) {
+					for ( var handler in events[ type ] ) {
+						jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
+					}
+				}
+
+				i++;
+			});
+		}
+
+		// Return the cloned set
+		return ret;
+	},
+
+	filter: function( selector ) {
+		return this.pushStack(
+			jQuery.isFunction( selector ) &&
+			jQuery.grep(this, function(elem, i){
+				return selector.call( elem, i );
+			}) ||
+
+			jQuery.multiFilter( selector, jQuery.grep(this, function(elem){
+				return elem.nodeType === 1;
+			}) ), "filter", selector );
+	},
+
+	closest: function( selector ) {
+		var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
+			closer = 0;
+
+		return this.map(function(){
+			var cur = this;
+			while ( cur && cur.ownerDocument ) {
+				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
+					jQuery.data(cur, "closest", closer);
+					return cur;
+				}
+				cur = cur.parentNode;
+				closer++;
+			}
+		});
+	},
+
+	not: function( selector ) {
+		if ( typeof selector === "string" )
+			// test special case where just one selector is passed in
+			if ( isSimple.test( selector ) )
+				return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector );
+			else
+				selector = jQuery.multiFilter( selector, this );
+
+		var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;
+		return this.filter(function() {
+			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;
+		});
+	},
+
+	add: function( selector ) {
+		return this.pushStack( jQuery.unique( jQuery.merge(
+			this.get(),
+			typeof selector === "string" ?
+				jQuery( selector ) :
+				jQuery.makeArray( selector )
+		)));
+	},
+
+	is: function( selector ) {
+		return !!selector && jQuery.multiFilter( selector, this ).length > 0;
+	},
+
+	hasClass: function( selector ) {
+		return !!selector && this.is( "." + selector );
+	},
+
+	val: function( value ) {
+		if ( value === undefined ) {			
+			var elem = this[0];
+
+			if ( elem ) {
+				if( jQuery.nodeName( elem, 'option' ) )
+					return (elem.attributes.value || {}).specified ? elem.value : elem.text;
+				
+				// We need to handle select boxes special
+				if ( jQuery.nodeName( elem, "select" ) ) {
+					var index = elem.selectedIndex,
+						values = [],
+						options = elem.options,
+						one = elem.type == "select-one";
+
+					// Nothing was selected
+					if ( index < 0 )
+						return null;
+
+					// Loop through all the selected options
+					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {
+						var option = options[ i ];
+
+						if ( option.selected ) {
+							// Get the specifc value for the option
+							value = jQuery(option).val();
+
+							// We don't need an array for one selects
+							if ( one )
+								return value;
+
+							// Multi-Selects return an array
+							values.push( value );
+						}
+					}
+
+					return values;				
+				}
+
+				// Everything else, we just grab the value
+				return (elem.value || "").replace(/\r/g, "");
+
+			}
+
+			return undefined;
+		}
+
+		if ( typeof value === "number" )
+			value += '';
+
+		return this.each(function(){
+			if ( this.nodeType != 1 )
+				return;
+
+			if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
+				this.checked = (jQuery.inArray(this.value, value) >= 0 ||
+					jQuery.inArray(this.name, value) >= 0);
+
+			else if ( jQuery.nodeName( this, "select" ) ) {
+				var values = jQuery.makeArray(value);
+
+				jQuery( "option", this ).each(function(){
+					this.selected = (jQuery.inArray( this.value, values ) >= 0 ||
+						jQuery.inArray( this.text, values ) >= 0);
+				});
+
+				if ( !values.length )
+					this.selectedIndex = -1;
+
+			} else
+				this.value = value;
+		});
+	},
+
+	html: function( value ) {
+		return value === undefined ?
+			(this[0] ?
+				this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") :
+				null) :
+			this.empty().append( value );
+	},
+
+	replaceWith: function( value ) {
+		return this.after( value ).remove();
+	},
+
+	eq: function( i ) {
+		return this.slice( i, +i + 1 );
+	},
+
+	slice: function() {
+		return this.pushStack( Array.prototype.slice.apply( this, arguments ),
+			"slice", Array.prototype.slice.call(arguments).join(",") );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map(this, function(elem, i){
+			return callback.call( elem, i, elem );
+		}));
+	},
+
+	andSelf: function() {
+		return this.add( this.prevObject );
+	},
+
+	domManip: function( args, table, callback ) {
+		if ( this[0] ) {
+			var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
+				scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
+				first = fragment.firstChild;
+
+			if ( first )
+				for ( var i = 0, l = this.length; i < l; i++ )
+					callback.call( root(this[i], first), this.length > 1 || i > 0 ?
+							fragment.cloneNode(true) : fragment );
+		
+			if ( scripts )
+				jQuery.each( scripts, evalScript );
+		}
+
+		return this;
+		
+		function root( elem, cur ) {
+			return table && jQuery.nodeName(elem, "table") && jQuery.nodeName(cur, "tr") ?
+				(elem.getElementsByTagName("tbody")[0] ||
+				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
+				elem;
+		}
+	}
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+function evalScript( i, elem ) {
+	if ( elem.src )
+		jQuery.ajax({
+			url: elem.src,
+			async: false,
+			dataType: "script"
+		});
+
+	else
+		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" );
+
+	if ( elem.parentNode )
+		elem.parentNode.removeChild( elem );
+}
+
+function now(){
+	return +new Date;
+}
+
+jQuery.extend = jQuery.fn.extend = function() {
+	// copy reference to target object
+	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+		target = arguments[1] || {};
+		// skip the boolean and the target
+		i = 2;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction(target) )
+		target = {};
+
+	// extend jQuery itself if only one argument is passed
+	if ( length == i ) {
+		target = this;
+		--i;
+	}
+
+	for ( ; i < length; i++ )
+		// Only deal with non-null/undefined values
+		if ( (options = arguments[ i ]) != null )
+			// Extend the base object
+			for ( var name in options ) {
+				var src = target[ name ], copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy )
+					continue;
+
+				// Recurse if we're merging object values
+				if ( deep && copy && typeof copy === "object" && !copy.nodeType )
+					target[ name ] = jQuery.extend( deep, 
+						// Never move original objects, clone them
+						src || ( copy.length != null ? [ ] : { } )
+					, copy );
+
+				// Don't bring in undefined values
+				else if ( copy !== undefined )
+					target[ name ] = copy;
+
+			}
+
+	// Return the modified object
+	return target;
+};
+
+// exclude the following css properties to add px
+var	exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
+	// cache defaultView
+	defaultView = document.defaultView || {},
+	toString = Object.prototype.toString;
+
+jQuery.extend({
+	noConflict: function( deep ) {
+		window.$ = _$;
+
+		if ( deep )
+			window.jQuery = _jQuery;
+
+		return jQuery;
+	},
+
+	// See test/unit/core.js for details concerning isFunction.
+	// Since version 1.3, DOM methods and functions like alert
+	// aren't supported. They return false on IE (#2968).
+	isFunction: function( obj ) {
+		return toString.call(obj) === "[object Function]";
+	},
+
+	isArray: function( obj ) {
+		return toString.call(obj) === "[object Array]";
+	},
+
+	// check if an element is in a (or is an) XML document
+	isXMLDoc: function( elem ) {
+		return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
+			!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
+	},
+
+	// Evalulates a script in a global context
+	globalEval: function( data ) {
+		if ( data && /\S/.test(data) ) {
+			// Inspired by code by Andrea Giammarchi
+			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
+			var head = document.getElementsByTagName("head")[0] || document.documentElement,
+				script = document.createElement("script");
+
+			script.type = "text/javascript";
+			if ( jQuery.support.scriptEval )
+				script.appendChild( document.createTextNode( data ) );
+			else
+				script.text = data;
+
+			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
+			// This arises when a base node is used (#2709).
+			head.insertBefore( script, head.firstChild );
+			head.removeChild( script );
+		}
+	},
+
+	nodeName: function( elem, name ) {
+		return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();
+	},
+
+	// args is for internal usage only
+	each: function( object, callback, args ) {
+		var name, i = 0, length = object.length;
+
+		if ( args ) {
+			if ( length === undefined ) {
+				for ( name in object )
+					if ( callback.apply( object[ name ], args ) === false )
+						break;
+			} else
+				for ( ; i < length; )
+					if ( callback.apply( object[ i++ ], args ) === false )
+						break;
+
+		// A special, fast, case for the most common use of each
+		} else {
+			if ( length === undefined ) {
+				for ( name in object )
+					if ( callback.call( object[ name ], name, object[ name ] ) === false )
+						break;
+			} else
+				for ( var value = object[0];
+					i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
+		}
+
+		return object;
+	},
+
+	prop: function( elem, value, type, i, name ) {
+		// Handle executable functions
+		if ( jQuery.isFunction( value ) )
+			value = value.call( elem, i );
+
+		// Handle passing in a number to a CSS property
+		return typeof value === "number" && type == "curCSS" && !exclude.test( name ) ?
+			value + "px" :
+			value;
+	},
+
+	className: {
+		// internal only, use addClass("class")
+		add: function( elem, classNames ) {
+			jQuery.each((classNames || "").split(/\s+/), function(i, className){
+				if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )
+					elem.className += (elem.className ? " " : "") + className;
+			});
+		},
+
+		// internal only, use removeClass("class")
+		remove: function( elem, classNames ) {
+			if (elem.nodeType == 1)
+				elem.className = classNames !== undefined ?
+					jQuery.grep(elem.className.split(/\s+/), function(className){
+						return !jQuery.className.has( classNames, className );
+					}).join(" ") :
+					"";
+		},
+
+		// internal only, use hasClass("class")
+		has: function( elem, className ) {
+			return elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1;
+		}
+	},
+
+	// A method for quickly swapping in/out CSS properties to get correct calculations
+	swap: function( elem, options, callback ) {
+		var old = {};
+		// Remember the old values, and insert the new ones
+		for ( var name in options ) {
+			old[ name ] = elem.style[ name ];
+			elem.style[ name ] = options[ name ];
+		}
+
+		callback.call( elem );
+
+		// Revert the old values
+		for ( var name in options )
+			elem.style[ name ] = old[ name ];
+	},
+
+	css: function( elem, name, force, extra ) {
+		if ( name == "width" || name == "height" ) {
+			var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
+
+			function getWH() {
+				val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
+
+				if ( extra === "border" )
+					return;
+
+				jQuery.each( which, function() {
+					if ( !extra )
+						val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
+					if ( extra === "margin" )
+						val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
+					else
+						val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
+				});
+			}
+
+			if ( elem.offsetWidth !== 0 )
+				getWH();
+			else
+				jQuery.swap( elem, props, getWH );
+
+			return Math.max(0, Math.round(val));
+		}
+
+		return jQuery.curCSS( elem, name, force );
+	},
+
+	curCSS: function( elem, name, force ) {
+		var ret, style = elem.style;
+
+		// We need to handle opacity special in IE
+		if ( name == "opacity" && !jQuery.support.opacity ) {
+			ret = jQuery.attr( style, "opacity" );
+
+			return ret == "" ?
+				"1" :
+				ret;
+		}
+
+		// Make sure we're using the right name for getting the float value
+		if ( name.match( /float/i ) )
+			name = styleFloat;
+
+		if ( !force && style && style[ name ] )
+			ret = style[ name ];
+
+		else if ( defaultView.getComputedStyle ) {
+
+			// Only "float" is needed here
+			if ( name.match( /float/i ) )
+				name = "float";
+
+			name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase();
+
+			var computedStyle = defaultView.getComputedStyle( elem, null );
+
+			if ( computedStyle )
+				ret = computedStyle.getPropertyValue( name );
+
+			// We should always get a number back from opacity
+			if ( name == "opacity" && ret == "" )
+				ret = "1";
+
+		} else if ( elem.currentStyle ) {
+			var camelCase = name.replace(/\-(\w)/g, function(all, letter){
+				return letter.toUpperCase();
+			});
+
+			ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];
+
+			// From the awesome hack by Dean Edwards
+			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+
+			// If we're not dealing with a regular pixel number
+			// but a number that has a weird ending, we need to convert it to pixels
+			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
+				// Remember the original values
+				var left = style.left, rsLeft = elem.runtimeStyle.left;
+
+				// Put in the new values to get a computed value out
+				elem.runtimeStyle.left = elem.currentStyle.left;
+				style.left = ret || 0;
+				ret = style.pixelLeft + "px";
+
+				// Revert the changed values
+				style.left = left;
+				elem.runtimeStyle.left = rsLeft;
+			}
+		}
+
+		return ret;
+	},
+
+	clean: function( elems, context, fragment ) {
+		context = context || document;
+
+		// !context.createElement fails in IE with an error but returns typeof 'object'
+		if ( typeof context.createElement === "undefined" )
+			context = context.ownerDocument || context[0] && context[0].ownerDocument || document;
+
+		// If a single string is passed in and it's a single tag
+		// just do a createElement and skip the rest
+		if ( !fragment && elems.length === 1 && typeof elems[0] === "string" ) {
+			var match = /^<(\w+)\s*\/?>$/.exec(elems[0]);
+			if ( match )
+				return [ context.createElement( match[1] ) ];
+		}
+
+		var ret = [], scripts = [], div = context.createElement("div");
+
+		jQuery.each(elems, function(i, elem){
+			if ( typeof elem === "number" )
+				elem += '';
+
+			if ( !elem )
+				return;
+
+			// Convert html string into DOM nodes
+			if ( typeof elem === "string" ) {
+				// Fix "XHTML"-style tags in all browsers
+				elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
+					return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
+						all :
+						front + "></" + tag + ">";
+				});
+
+				// Trim whitespace, otherwise indexOf won't work as expected
+				var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();
+
+				var wrap =
+					// option or optgroup
+					!tags.indexOf("<opt") &&
+					[ 1, "<select multiple='multiple'>", "</select>" ] ||
+
+					!tags.indexOf("<leg") &&
+					[ 1, "<fieldset>", "</fieldset>" ] ||
+
+					tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
+					[ 1, "<table>", "</table>" ] ||
+
+					!tags.indexOf("<tr") &&
+					[ 2, "<table><tbody>", "</tbody></table>" ] ||
+
+				 	// <thead> matched above
+					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
+					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||
+
+					!tags.indexOf("<col") &&
+					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||
+
+					// IE can't serialize <link> and <script> tags normally
+					!jQuery.support.htmlSerialize &&
+					[ 1, "div<div>", "</div>" ] ||
+
+					[ 0, "", "" ];
+
+				// Go to html and back, then peel off extra wrappers
+				div.innerHTML = wrap[1] + elem + wrap[2];
+
+				// Move to the right depth
+				while ( wrap[0]-- )
+					div = div.lastChild;
+
+				// Remove IE's autoinserted <tbody> from table fragments
+				if ( !jQuery.support.tbody ) {
+
+					// String was a <table>, *may* have spurious <tbody>
+					var hasBody = /<tbody/i.test(elem),
+						tbody = !tags.indexOf("<table") && !hasBody ?
+							div.firstChild && div.firstChild.childNodes :
+
+						// String was a bare <thead> or <tfoot>
+						wrap[1] == "<table>" && !hasBody ?
+							div.childNodes :
+							[];
+
+					for ( var j = tbody.length - 1; j >= 0 ; --j )
+						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length )
+							tbody[ j ].parentNode.removeChild( tbody[ j ] );
+
+					}
+
+				// IE completely kills leading whitespace when innerHTML is used
+				if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
+					div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
+				
+				elem = jQuery.makeArray( div.childNodes );
+			}
+
+			if ( elem.nodeType )
+				ret.push( elem );
+			else
+				ret = jQuery.merge( ret, elem );
+
+		});
+
+		if ( fragment ) {
+			for ( var i = 0; ret[i]; i++ ) {
+				if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
+					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
+				} else {
+					if ( ret[i].nodeType === 1 )
+						ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
+					fragment.appendChild( ret[i] );
+				}
+			}
+			
+			return scripts;
+		}
+
+		return ret;
+	},
+
+	attr: function( elem, name, value ) {
+		// don't set attributes on text and comment nodes
+		if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
+			return undefined;
+
+		var notxml = !jQuery.isXMLDoc( elem ),
+			// Whether we are setting (or getting)
+			set = value !== undefined;
+
+		// Try to normalize/fix the name
+		name = notxml && jQuery.props[ name ] || name;
+
+		// Only do all the following if this is a node (faster for style)
+		// IE elem.getAttribute passes even for style
+		if ( elem.tagName ) {
+
+			// These attributes require special treatment
+			var special = /href|src|style/.test( name );
+
+			// Safari mis-reports the default selected property of a hidden option
+			// Accessing the parent's selectedIndex property fixes it
+			if ( name == "selected" && elem.parentNode )
+				elem.parentNode.selectedIndex;
+
+			// If applicable, access the attribute via the DOM 0 way
+			if ( name in elem && notxml && !special ) {
+				if ( set ){
+					// We can't allow the type property to be changed (since it causes problems in IE)
+					if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode )
+						throw "type property can't be changed";
+
+					elem[ name ] = value;
+				}
+
+				// browsers index elements by id/name on forms, give priority to attributes.
+				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
+					return elem.getAttributeNode( name ).nodeValue;
+
+				// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
+				// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				if ( name == "tabIndex" ) {
+					var attributeNode = elem.getAttributeNode( "tabIndex" );
+					return attributeNode && attributeNode.specified
+						? attributeNode.value
+						: elem.nodeName.match(/(button|input|object|select|textarea)/i)
+							? 0
+							: elem.nodeName.match(/^(a|area)$/i) && elem.href
+								? 0
+								: undefined;
+				}
+
+				return elem[ name ];
+			}
+
+			if ( !jQuery.support.style && notxml &&  name == "style" )
+				return jQuery.attr( elem.style, "cssText", value );
+
+			if ( set )
+				// convert the value to a string (all browsers do this but IE) see #1070
+				elem.setAttribute( name, "" + value );
+
+			var attr = !jQuery.support.hrefNormalized && notxml && special
+					// Some attributes require a special call on IE
+					? elem.getAttribute( name, 2 )
+					: elem.getAttribute( name );
+
+			// Non-existent attributes return null, we normalize to undefined
+			return attr === null ? undefined : attr;
+		}
+
+		// elem is actually elem.style ... set the style
+
+		// IE uses filters for opacity
+		if ( !jQuery.support.opacity && name == "opacity" ) {
+			if ( set ) {
+				// IE has trouble with opacity if it does not have layout
+				// Force it by setting the zoom level
+				elem.zoom = 1;
+
+				// Set the alpha filter to set the opacity
+				elem.filter = (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +
+					(parseInt( value ) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")");
+			}
+
+			return elem.filter && elem.filter.indexOf("opacity=") >= 0 ?
+				(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':
+				"";
+		}
+
+		name = name.replace(/-([a-z])/ig, function(all, letter){
+			return letter.toUpperCase();
+		});
+
+		if ( set )
+			elem[ name ] = value;
+
+		return elem[ name ];
+	},
+
+	trim: function( text ) {
+		return (text || "").replace( /^\s+|\s+$/g, "" );
+	},
+
+	makeArray: function( array ) {
+		var ret = [];
+
+		if( array != null ){
+			var i = array.length;
+			// The window, strings (and functions) also have 'length'
+			if( i == null || typeof array === "string" || jQuery.isFunction(array) || array.setInterval )
+				ret[0] = array;
+			else
+				while( i )
+					ret[--i] = array[i];
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, array ) {
+		for ( var i = 0, length = array.length; i < length; i++ )
+		// Use === because on IE, window == document
+			if ( array[ i ] === elem )
+				return i;
+
+		return -1;
+	},
+
+	merge: function( first, second ) {
+		// We have to loop this way because IE & Opera overwrite the length
+		// expando of getElementsByTagName
+		var i = 0, elem, pos = first.length;
+		// Also, we need to make sure that the correct elements are being returned
+		// (IE returns comment nodes in a '*' query)
+		if ( !jQuery.support.getAll ) {
+			while ( (elem = second[ i++ ]) != null )
+				if ( elem.nodeType != 8 )
+					first[ pos++ ] = elem;
+
+		} else
+			while ( (elem = second[ i++ ]) != null )
+				first[ pos++ ] = elem;
+
+		return first;
+	},
+
+	unique: function( array ) {
+		var ret = [], done = {};
+
+		try {
+
+			for ( var i = 0, length = array.length; i < length; i++ ) {
+				var id = jQuery.data( array[ i ] );
+
+				if ( !done[ id ] ) {
+					done[ id ] = true;
+					ret.push( array[ i ] );
+				}
+			}
+
+		} catch( e ) {
+			ret = array;
+		}
+
+		return ret;
+	},
+
+	grep: function( elems, callback, inv ) {
+		var ret = [];
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( var i = 0, length = elems.length; i < length; i++ )
+			if ( !inv != !callback( elems[ i ], i ) )
+				ret.push( elems[ i ] );
+
+		return ret;
+	},
+
+	map: function( elems, callback ) {
+		var ret = [];
+
+		// Go through the array, translating each of the items to their
+		// new value (or values).
+		for ( var i = 0, length = elems.length; i < length; i++ ) {
+			var value = callback( elems[ i ], i );
+
+			if ( value != null )
+				ret[ ret.length ] = value;
+		}
+
+		return ret.concat.apply( [], ret );
+	}
+});
+
+// Use of jQuery.browser is deprecated.
+// It's included for backwards compatibility and plugins,
+// although they should work to migrate away.
+
+var userAgent = navigator.userAgent.toLowerCase();
+
+// Figure out what browser is being used
+jQuery.browser = {
+	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
+	safari: /webkit/.test( userAgent ),
+	opera: /opera/.test( userAgent ),
+	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
+	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
+};
+
+jQuery.each({
+	parent: function(elem){return elem.parentNode;},
+	parents: function(elem){return jQuery.dir(elem,"parentNode");},
+	next: function(elem){return jQuery.nth(elem,2,"nextSibling");},
+	prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},
+	nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},
+	prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},
+	siblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},
+	children: function(elem){return jQuery.sibling(elem.firstChild);},
+	contents: function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}
+}, function(name, fn){
+	jQuery.fn[ name ] = function( selector ) {
+		var ret = jQuery.map( this, fn );
+
+		if ( selector && typeof selector == "string" )
+			ret = jQuery.multiFilter( selector, ret );
+
+		return this.pushStack( jQuery.unique( ret ), name, selector );
+	};
+});
+
+jQuery.each({
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function(name, original){
+	jQuery.fn[ name ] = function( selector ) {
+		var ret = [], insert = jQuery( selector );
+
+		for ( var i = 0, l = insert.length; i < l; i++ ) {
+			var elems = (i > 0 ? this.clone(true) : this).get();
+			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
+			ret = ret.concat( elems );
+		}
+
+		return this.pushStack( ret, name, selector );
+	};
+});
+
+jQuery.each({
+	removeAttr: function( name ) {
+		jQuery.attr( this, name, "" );
+		if (this.nodeType == 1)
+			this.removeAttribute( name );
+	},
+
+	addClass: function( classNames ) {
+		jQuery.className.add( this, classNames );
+	},
+
+	removeClass: function( classNames ) {
+		jQuery.className.remove( this, classNames );
+	},
+
+	toggleClass: function( classNames, state ) {
+		if( typeof state !== "boolean" )
+			state = !jQuery.className.has( this, classNames );
+		jQuery.className[ state ? "add" : "remove" ]( this, classNames );
+	},
+
+	remove: function( selector ) {
+		if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
+			// Prevent memory leaks
+			jQuery( "*", this ).add([this]).each(function(){
+				jQuery.event.remove(this);
+				jQuery.removeData(this);
+			});
+			if (this.parentNode)
+				this.parentNode.removeChild( this );
+		}
+	},
+
+	empty: function() {
+		// Remove element nodes and prevent memory leaks
+		jQuery(this).children().remove();
+
+		// Remove any remaining nodes
+		while ( this.firstChild )
+			this.removeChild( this.firstChild );
+	}
+}, function(name, fn){
+	jQuery.fn[ name ] = function(){
+		return this.each( fn, arguments );
+	};
+});
+
+// Helper function used by the dimensions and offset modules
+function num(elem, prop) {
+	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;
+}
+var expando = "jQuery" + now(), uuid = 0, windowData = {};
+
+jQuery.extend({
+	cache: {},
+
+	data: function( elem, name, data ) {
+		elem = elem == window ?
+			windowData :
+			elem;
+
+		var id = elem[ expando ];
+
+		// Compute a unique ID for the element
+		if ( !id )
+			id = elem[ expando ] = ++uuid;
+
+		// Only generate the data cache if we're
+		// trying to access or manipulate it
+		if ( name && !jQuery.cache[ id ] )
+			jQuery.cache[ id ] = {};
+
+		// Prevent overriding the named cache with undefined values
+		if ( data !== undefined )
+			jQuery.cache[ id ][ name ] = data;
+
+		// Return the named cache data, or the ID for the element
+		return name ?
+			jQuery.cache[ id ][ name ] :
+			id;
+	},
+
+	removeData: function( elem, name ) {
+		elem = elem == window ?
+			windowData :
+			elem;
+
+		var id = elem[ expando ];
+
+		// If we want to remove a specific section of the element's data
+		if ( name ) {
+			if ( jQuery.cache[ id ] ) {
+				// Remove the section of cache data
+				delete jQuery.cache[ id ][ name ];
+
+				// If we've removed all the data, remove the element's cache
+				name = "";
+
+				for ( name in jQuery.cache[ id ] )
+					break;
+
+				if ( !name )
+					jQuery.removeData( elem );
+			}
+
+		// Otherwise, we want to remove all of the element's data
+		} else {
+			// Clean up the element expando
+			try {
+				delete elem[ expando ];
+			} catch(e){
+				// IE has trouble directly removing the expando
+				// but it's ok with using removeAttribute
+				if ( elem.removeAttribute )
+					elem.removeAttribute( expando );
+			}
+
+			// Completely remove the data cache
+			delete jQuery.cache[ id ];
+		}
+	},
+	queue: function( elem, type, data ) {
+		if ( elem ){
+	
+			type = (type || "fx") + "queue";
+	
+			var q = jQuery.data( elem, type );
+	
+			if ( !q || jQuery.isArray(data) )
+				q = jQuery.data( elem, type, jQuery.makeArray(data) );
+			else if( data )
+				q.push( data );
+	
+		}
+		return q;
+	},
+
+	dequeue: function( elem, type ){
+		var queue = jQuery.queue( elem, type ),
+			fn = queue.shift();
+		
+		if( !type || type === "fx" )
+			fn = queue[0];
+			
+		if( fn !== undefined )
+			fn.call(elem);
+	}
+});
+
+jQuery.fn.extend({
+	data: function( key, value ){
+		var parts = key.split(".");
+		parts[1] = parts[1] ? "." + parts[1] : "";
+
+		if ( value === undefined ) {
+			var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+			if ( data === undefined && this.length )
+				data = jQuery.data( this[0], key );
+
+			return data === undefined && parts[1] ?
+				this.data( parts[0] ) :
+				data;
+		} else
+			return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){
+				jQuery.data( this, key, value );
+			});
+	},
+
+	removeData: function( key ){
+		return this.each(function(){
+			jQuery.removeData( this, key );
+		});
+	},
+	queue: function(type, data){
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+		}
+
+		if ( data === undefined )
+			return jQuery.queue( this[0], type );
+
+		return this.each(function(){
+			var queue = jQuery.queue( this, type, data );
+			
+			 if( type == "fx" && queue.length == 1 )
+				queue[0].call(this);
+		});
+	},
+	dequeue: function(type){
+		return this.each(function(){
+			jQuery.dequeue( this, type );
+		});
+	}
+});/*!
+ * Sizzle CSS Selector Engine - v0.9.3
+ *  Copyright 2009, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){
+
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
+	done = 0,
+	toString = Object.prototype.toString;
+
+var Sizzle = function(selector, context, results, seed) {
+	results = results || [];
+	context = context || document;
+
+	if ( context.nodeType !== 1 && context.nodeType !== 9 )
+		return [];
+	
+	if ( !selector || typeof selector !== "string" ) {
+		return results;
+	}
+
+	var parts = [], m, set, checkSet, check, mode, extra, prune = true;
+	
+	// Reset the position of the chunker regexp (start from head)
+	chunker.lastIndex = 0;
+	
+	while ( (m = chunker.exec(selector)) !== null ) {
+		parts.push( m[1] );
+		
+		if ( m[2] ) {
+			extra = RegExp.rightContext;
+			break;
+		}
+	}
+
+	if ( parts.length > 1 && origPOS.exec( selector ) ) {
+		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
+			set = posProcess( parts[0] + parts[1], context );
+		} else {
+			set = Expr.relative[ parts[0] ] ?
+				[ context ] :
+				Sizzle( parts.shift(), context );
+
+			while ( parts.length ) {
+				selector = parts.shift();
+
+				if ( Expr.relative[ selector ] )
+					selector += parts.shift();
+
+				set = posProcess( selector, set );
+			}
+		}
+	} else {
+		var ret = seed ?
+			{ expr: parts.pop(), set: makeArray(seed) } :
+			Sizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) );
+		set = Sizzle.filter( ret.expr, ret.set );
+
+		if ( parts.length > 0 ) {
+			checkSet = makeArray(set);
+		} else {
+			prune = false;
+		}
+
+		while ( parts.length ) {
+			var cur = parts.pop(), pop = cur;
+
+			if ( !Expr.relative[ cur ] ) {
+				cur = "";
+			} else {
+				pop = parts.pop();
+			}
+
+			if ( pop == null ) {
+				pop = context;
+			}
+
+			Expr.relative[ cur ]( checkSet, pop, isXML(context) );
+		}
+	}
+
+	if ( !checkSet ) {
+		checkSet = set;
+	}
+
+	if ( !checkSet ) {
+		throw "Syntax error, unrecognized expression: " + (cur || selector);
+	}
+
+	if ( toString.call(checkSet) === "[object Array]" ) {
+		if ( !prune ) {
+			results.push.apply( results, checkSet );
+		} else if ( context.nodeType === 1 ) {
+			for ( var i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {
+					results.push( set[i] );
+				}
+			}
+		} else {
+			for ( var i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
+					results.push( set[i] );
+				}
+			}
+		}
+	} else {
+		makeArray( checkSet, results );
+	}
+
+	if ( extra ) {
+		Sizzle( extra, context, results, seed );
+
+		if ( sortOrder ) {
+			hasDuplicate = false;
+			results.sort(sortOrder);
+
+			if ( hasDuplicate ) {
+				for ( var i = 1; i < results.length; i++ ) {
+					if ( results[i] === results[i-1] ) {
+						results.splice(i--, 1);
+					}
+				}
+			}
+		}
+	}
+
+	return results;
+};
+
+Sizzle.matches = function(expr, set){
+	return Sizzle(expr, null, null, set);
+};
+
+Sizzle.find = function(expr, context, isXML){
+	var set, match;
+
+	if ( !expr ) {
+		return [];
+	}
+
+	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
+		var type = Expr.order[i], match;
+		
+		if ( (match = Expr.match[ type ].exec( expr )) ) {
+			var left = RegExp.leftContext;
+
+			if ( left.substr( left.length - 1 ) !== "\\" ) {
+				match[1] = (match[1] || "").replace(/\\/g, "");
+				set = Expr.find[ type ]( match, context, isXML );
+				if ( set != null ) {
+					expr = expr.replace( Expr.match[ type ], "" );
+					break;
+				}
+			}
+		}
+	}
+
+	if ( !set ) {
+		set = context.getElementsByTagName("*");
+	}
+
+	return {set: set, expr: expr};
+};
+
+Sizzle.filter = function(expr, set, inplace, not){
+	var old = expr, result = [], curLoop = set, match, anyFound,
+		isXMLFilter = set && set[0] && isXML(set[0]);
+
+	while ( expr && set.length ) {
+		for ( var type in Expr.filter ) {
+			if ( (match = Expr.match[ type ].exec( expr )) != null ) {
+				var filter = Expr.filter[ type ], found, item;
+				anyFound = false;
+
+				if ( curLoop == result ) {
+					result = [];
+				}
+
+				if ( Expr.preFilter[ type ] ) {
+					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
+
+					if ( !match ) {
+						anyFound = found = true;
+					} else if ( match === true ) {
+						continue;
+					}
+				}
+
+				if ( match ) {
+					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
+						if ( item ) {
+							found = filter( item, match, i, curLoop );
+							var pass = not ^ !!found;
+
+							if ( inplace && found != null ) {
+								if ( pass ) {
+									anyFound = true;
+								} else {
+									curLoop[i] = false;
+								}
+							} else if ( pass ) {
+								result.push( item );
+								anyFound = true;
+							}
+						}
+					}
+				}
+
+				if ( found !== undefined ) {
+					if ( !inplace ) {
+						curLoop = result;
+					}
+
+					expr = expr.replace( Expr.match[ type ], "" );
+
+					if ( !anyFound ) {
+						return [];
+					}
+
+					break;
+				}
+			}
+		}
+
+		// Improper expression
+		if ( expr == old ) {
+			if ( anyFound == null ) {
+				throw "Syntax error, unrecognized expression: " + expr;
+			} else {
+				break;
+			}
+		}
+
+		old = expr;
+	}
+
+	return curLoop;
+};
+
+var Expr = Sizzle.selectors = {
+	order: [ "ID", "NAME", "TAG" ],
+	match: {
+		ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
+		CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
+		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
+		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
+		TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
+		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
+		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
+		PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
+	},
+	attrMap: {
+		"class": "className",
+		"for": "htmlFor"
+	},
+	attrHandle: {
+		href: function(elem){
+			return elem.getAttribute("href");
+		}
+	},
+	relative: {
+		"+": function(checkSet, part, isXML){
+			var isPartStr = typeof part === "string",
+				isTag = isPartStr && !/\W/.test(part),
+				isPartStrNotTag = isPartStr && !isTag;
+
+			if ( isTag && !isXML ) {
+				part = part.toUpperCase();
+			}
+
+			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
+				if ( (elem = checkSet[i]) ) {
+					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
+
+					checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
+						elem || false :
+						elem === part;
+				}
+			}
+
+			if ( isPartStrNotTag ) {
+				Sizzle.filter( part, checkSet, true );
+			}
+		},
+		">": function(checkSet, part, isXML){
+			var isPartStr = typeof part === "string";
+
+			if ( isPartStr && !/\W/.test(part) ) {
+				part = isXML ? part : part.toUpperCase();
+
+				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+					var elem = checkSet[i];
+					if ( elem ) {
+						var parent = elem.parentNode;
+						checkSet[i] = parent.nodeName === part ? parent : false;
+					}
+				}
+			} else {
+				for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+					var elem = checkSet[i];
+					if ( elem ) {
+						checkSet[i] = isPartStr ?
+							elem.parentNode :
+							elem.parentNode === part;
+					}
+				}
+
+				if ( isPartStr ) {
+					Sizzle.filter( part, checkSet, true );
+				}
+			}
+		},
+		"": function(checkSet, part, isXML){
+			var doneName = done++, checkFn = dirCheck;
+
+			if ( !part.match(/\W/) ) {
+				var nodeCheck = part = isXML ? part : part.toUpperCase();
+				checkFn = dirNodeCheck;
+			}
+
+			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
+		},
+		"~": function(checkSet, part, isXML){
+			var doneName = done++, checkFn = dirCheck;
+
+			if ( typeof part === "string" && !part.match(/\W/) ) {
+				var nodeCheck = part = isXML ? part : part.toUpperCase();
+				checkFn = dirNodeCheck;
+			}
+
+			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
+		}
+	},
+	find: {
+		ID: function(match, context, isXML){
+			if ( typeof context.getElementById !== "undefined" && !isXML ) {
+				var m = context.getElementById(match[1]);
+				return m ? [m] : [];
+			}
+		},
+		NAME: function(match, context, isXML){
+			if ( typeof context.getElementsByName !== "undefined" ) {
+				var ret = [], results = context.getElementsByName(match[1]);
+
+				for ( var i = 0, l = results.length; i < l; i++ ) {
+					if ( results[i].getAttribute("name") === match[1] ) {
+						ret.push( results[i] );
+					}
+				}
+
+				return ret.length === 0 ? null : ret;
+			}
+		},
+		TAG: function(match, context){
+			return context.getElementsByTagName(match[1]);
+		}
+	},
+	preFilter: {
+		CLASS: function(match, curLoop, inplace, result, not, isXML){
+			match = " " + match[1].replace(/\\/g, "") + " ";
+
+			if ( isXML ) {
+				return match;
+			}
+
+			for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
+				if ( elem ) {
+					if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
+						if ( !inplace )
+							result.push( elem );
+					} else if ( inplace ) {
+						curLoop[i] = false;
+					}
+				}
+			}
+
+			return false;
+		},
+		ID: function(match){
+			return match[1].replace(/\\/g, "");
+		},
+		TAG: function(match, curLoop){
+			for ( var i = 0; curLoop[i] === false; i++ ){}
+			return curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();
+		},
+		CHILD: function(match){
+			if ( match[1] == "nth" ) {
+				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'
+				var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
+					match[2] == "even" && "2n" || match[2] == "odd" && "2n+1" ||
+					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);
+
+				// calculate the numbers (first)n+(last) including if they are negative
+				match[2] = (test[1] + (test[2] || 1)) - 0;
+				match[3] = test[3] - 0;
+			}
+
+			// TODO: Move to normal caching system
+			match[0] = done++;
+
+			return match;
+		},
+		ATTR: function(match, curLoop, inplace, result, not, isXML){
+			var name = match[1].replace(/\\/g, "");
+			
+			if ( !isXML && Expr.attrMap[name] ) {
+				match[1] = Expr.attrMap[name];
+			}
+
+			if ( match[2] === "~=" ) {
+				match[4] = " " + match[4] + " ";
+			}
+
+			return match;
+		},
+		PSEUDO: function(match, curLoop, inplace, result, not){
+			if ( match[1] === "not" ) {
+				// If we're dealing with a complex expression, or a simple one
+				if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
+					match[3] = Sizzle(match[3], null, null, curLoop);
+				} else {
+					var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
+					if ( !inplace ) {
+						result.push.apply( result, ret );
+					}
+					return false;
+				}
+			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
+				return true;
+			}
+			
+			return match;
+		},
+		POS: function(match){
+			match.unshift( true );
+			return match;
+		}
+	},
+	filters: {
+		enabled: function(elem){
+			return elem.disabled === false && elem.type !== "hidden";
+		},
+		disabled: function(elem){
+			return elem.disabled === true;
+		},
+		checked: function(elem){
+			return elem.checked === true;
+		},
+		selected: function(elem){
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			elem.parentNode.selectedIndex;
+			return elem.selected === true;
+		},
+		parent: function(elem){
+			return !!elem.firstChild;
+		},
+		empty: function(elem){
+			return !elem.firstChild;
+		},
+		has: function(elem, i, match){
+			return !!Sizzle( match[3], elem ).length;
+		},
+		header: function(elem){
+			return /h\d/i.test( elem.nodeName );
+		},
+		text: function(elem){
+			return "text" === elem.type;
+		},
+		radio: function(elem){
+			return "radio" === elem.type;
+		},
+		checkbox: function(elem){
+			return "checkbox" === elem.type;
+		},
+		file: function(elem){
+			return "file" === elem.type;
+		},
+		password: function(elem){
+			return "password" === elem.type;
+		},
+		submit: function(elem){
+			return "submit" === elem.type;
+		},
+		image: function(elem){
+			return "image" === elem.type;
+		},
+		reset: function(elem){
+			return "reset" === elem.type;
+		},
+		button: function(elem){
+			return "button" === elem.type || elem.nodeName.toUpperCase() === "BUTTON";
+		},
+		input: function(elem){
+			return /input|select|textarea|button/i.test(elem.nodeName);
+		}
+	},
+	setFilters: {
+		first: function(elem, i){
+			return i === 0;
+		},
+		last: function(elem, i, match, array){
+			return i === array.length - 1;
+		},
+		even: function(elem, i){
+			return i % 2 === 0;
+		},
+		odd: function(elem, i){
+			return i % 2 === 1;
+		},
+		lt: function(elem, i, match){
+			return i < match[3] - 0;
+		},
+		gt: function(elem, i, match){
+			return i > match[3] - 0;
+		},
+		nth: function(elem, i, match){
+			return match[3] - 0 == i;
+		},
+		eq: function(elem, i, match){
+			return match[3] - 0 == i;
+		}
+	},
+	filter: {
+		PSEUDO: function(elem, match, i, array){
+			var name = match[1], filter = Expr.filters[ name ];
+
+			if ( filter ) {
+				return filter( elem, i, match, array );
+			} else if ( name === "contains" ) {
+				return (elem.textContent || elem.innerText || "").indexOf(match[3]) >= 0;
+			} else if ( name === "not" ) {
+				var not = match[3];
+
+				for ( var i = 0, l = not.length; i < l; i++ ) {
+					if ( not[i] === elem ) {
+						return false;
+					}
+				}
+
+				return true;
+			}
+		},
+		CHILD: function(elem, match){
+			var type = match[1], node = elem;
+			switch (type) {
+				case 'only':
+				case 'first':
+					while (node = node.previousSibling)  {
+						if ( node.nodeType === 1 ) return false;
+					}
+					if ( type == 'first') return true;
+					node = elem;
+				case 'last':
+					while (node = node.nextSibling)  {
+						if ( node.nodeType === 1 ) return false;
+					}
+					return true;
+				case 'nth':
+					var first = match[2], last = match[3];
+
+					if ( first == 1 && last == 0 ) {
+						return true;
+					}
+					
+					var doneName = match[0],
+						parent = elem.parentNode;
+	
+					if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
+						var count = 0;
+						for ( node = parent.firstChild; node; node = node.nextSibling ) {
+							if ( node.nodeType === 1 ) {
+								node.nodeIndex = ++count;
+							}
+						} 
+						parent.sizcache = doneName;
+					}
+					
+					var diff = elem.nodeIndex - last;
+					if ( first == 0 ) {
+						return diff == 0;
+					} else {
+						return ( diff % first == 0 && diff / first >= 0 );
+					}
+			}
+		},
+		ID: function(elem, match){
+			return elem.nodeType === 1 && elem.getAttribute("id") === match;
+		},
+		TAG: function(elem, match){
+			return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
+		},
+		CLASS: function(elem, match){
+			return (" " + (elem.className || elem.getAttribute("class")) + " ")
+				.indexOf( match ) > -1;
+		},
+		ATTR: function(elem, match){
+			var name = match[1],
+				result = Expr.attrHandle[ name ] ?
+					Expr.attrHandle[ name ]( elem ) :
+					elem[ name ] != null ?
+						elem[ name ] :
+						elem.getAttribute( name ),
+				value = result + "",
+				type = match[2],
+				check = match[4];
+
+			return result == null ?
+				type === "!=" :
+				type === "=" ?
+				value === check :
+				type === "*=" ?
+				value.indexOf(check) >= 0 :
+				type === "~=" ?
+				(" " + value + " ").indexOf(check) >= 0 :
+				!check ?
+				value && result !== false :
+				type === "!=" ?
+				value != check :
+				type === "^=" ?
+				value.indexOf(check) === 0 :
+				type === "$=" ?
+				value.substr(value.length - check.length) === check :
+				type === "|=" ?
+				value === check || value.substr(0, check.length + 1) === check + "-" :
+				false;
+		},
+		POS: function(elem, match, i, array){
+			var name = match[2], filter = Expr.setFilters[ name ];
+
+			if ( filter ) {
+				return filter( elem, i, match, array );
+			}
+		}
+	}
+};
+
+var origPOS = Expr.match.POS;
+
+for ( var type in Expr.match ) {
+	Expr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\[]*\])(?![^\(]*\))/.source );
+}
+
+var makeArray = function(array, results) {
+	array = Array.prototype.slice.call( array );
+
+	if ( results ) {
+		results.push.apply( results, array );
+		return results;
+	}
+	
+	return array;
+};
+
+// Perform a simple check to determine if the browser is capable of
+// converting a NodeList to an array using builtin methods.
+try {
+	Array.prototype.slice.call( document.documentElement.childNodes );
+
+// Provide a fallback method if it does not work
+} catch(e){
+	makeArray = function(array, results) {
+		var ret = results || [];
+
+		if ( toString.call(array) === "[object Array]" ) {
+			Array.prototype.push.apply( ret, array );
+		} else {
+			if ( typeof array.length === "number" ) {
+				for ( var i = 0, l = array.length; i < l; i++ ) {
+					ret.push( array[i] );
+				}
+			} else {
+				for ( var i = 0; array[i]; i++ ) {
+					ret.push( array[i] );
+				}
+			}
+		}
+
+		return ret;
+	};
+}
+
+var sortOrder;
+
+if ( document.documentElement.compareDocumentPosition ) {
+	sortOrder = function( a, b ) {
+		var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
+		if ( ret === 0 ) {
+			hasDuplicate = true;
+		}
+		return ret;
+	};
+} else if ( "sourceIndex" in document.documentElement ) {
+	sortOrder = function( a, b ) {
+		var ret = a.sourceIndex - b.sourceIndex;
+		if ( ret === 0 ) {
+			hasDuplicate = true;
+		}
+		return ret;
+	};
+} else if ( document.createRange ) {
+	sortOrder = function( a, b ) {
+		var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
+		aRange.selectNode(a);
+		aRange.collapse(true);
+		bRange.selectNode(b);
+		bRange.collapse(true);
+		var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
+		if ( ret === 0 ) {
+			hasDuplicate = true;
+		}
+		return ret;
+	};
+}
+
+// Check to see if the browser returns elements by name when
+// querying by getElementById (and provide a workaround)
+(function(){
+	// We're going to inject a fake input element with a specified name
+	var form = document.createElement("form"),
+		id = "script" + (new Date).getTime();
+	form.innerHTML = "<input name='" + id + "'/>";
+
+	// Inject it into the root element, check its status, and remove it quickly
+	var root = document.documentElement;
+	root.insertBefore( form, root.firstChild );
+
+	// The workaround has to do additional checks after a getElementById
+	// Which slows things down for other browsers (hence the branching)
+	if ( !!document.getElementById( id ) ) {
+		Expr.find.ID = function(match, context, isXML){
+			if ( typeof context.getElementById !== "undefined" && !isXML ) {
+				var m = context.getElementById(match[1]);
+				return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
+			}
+		};
+
+		Expr.filter.ID = function(elem, match){
+			var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
+			return elem.nodeType === 1 && node && node.nodeValue === match;
+		};
+	}
+
+	root.removeChild( form );
+})();
+
+(function(){
+	// Check to see if the browser returns only elements
+	// when doing getElementsByTagName("*")
+
+	// Create a fake element
+	var div = document.createElement("div");
+	div.appendChild( document.createComment("") );
+
+	// Make sure no comments are found
+	if ( div.getElementsByTagName("*").length > 0 ) {
+		Expr.find.TAG = function(match, context){
+			var results = context.getElementsByTagName(match[1]);
+
+			// Filter out possible comments
+			if ( match[1] === "*" ) {
+				var tmp = [];
+
+				for ( var i = 0; results[i]; i++ ) {
+					if ( results[i].nodeType === 1 ) {
+						tmp.push( results[i] );
+					}
+				}
+
+				results = tmp;
+			}
+
+			return results;
+		};
+	}
+
+	// Check to see if an attribute returns normalized href attributes
+	div.innerHTML = "<a href='#'></a>";
+	if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
+			div.firstChild.getAttribute("href") !== "#" ) {
+		Expr.attrHandle.href = function(elem){
+			return elem.getAttribute("href", 2);
+		};
+	}
+})();
+
+if ( document.querySelectorAll ) (function(){
+	var oldSizzle = Sizzle, div = document.createElement("div");
+	div.innerHTML = "<p class='TEST'></p>";
+
+	// Safari can't handle uppercase or unicode characters when
+	// in quirks mode.
+	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
+		return;
+	}
+	
+	Sizzle = function(query, context, extra, seed){
+		context = context || document;
+
+		// Only use querySelectorAll on non-XML documents
+		// (ID selectors don't work in non-HTML documents)
+		if ( !seed && context.nodeType === 9 && !isXML(context) ) {
+			try {
+				return makeArray( context.querySelectorAll(query), extra );
+			} catch(e){}
+		}
+		
+		return oldSizzle(query, context, extra, seed);
+	};
+
+	Sizzle.find = oldSizzle.find;
+	Sizzle.filter = oldSizzle.filter;
+	Sizzle.selectors = oldSizzle.selectors;
+	Sizzle.matches = oldSizzle.matches;
+})();
+
+if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
+	var div = document.createElement("div");
+	div.innerHTML = "<div class='test e'></div><div class='test'></div>";
+
+	// Opera can't find a second classname (in 9.6)
+	if ( div.getElementsByClassName("e").length === 0 )
+		return;
+
+	// Safari caches class attributes, doesn't catch changes (in 3.2)
+	div.lastChild.className = "e";
+
+	if ( div.getElementsByClassName("e").length === 1 )
+		return;
+
+	Expr.order.splice(1, 0, "CLASS");
+	Expr.find.CLASS = function(match, context, isXML) {
+		if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
+			return context.getElementsByClassName(match[1]);
+		}
+	};
+})();
+
+function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+	var sibDir = dir == "previousSibling" && !isXML;
+	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+		var elem = checkSet[i];
+		if ( elem ) {
+			if ( sibDir && elem.nodeType === 1 ){
+				elem.sizcache = doneName;
+				elem.sizset = i;
+			}
+			elem = elem[dir];
+			var match = false;
+
+			while ( elem ) {
+				if ( elem.sizcache === doneName ) {
+					match = checkSet[elem.sizset];
+					break;
+				}
+
+				if ( elem.nodeType === 1 && !isXML ){
+					elem.sizcache = doneName;
+					elem.sizset = i;
+				}
+
+				if ( elem.nodeName === cur ) {
+					match = elem;
+					break;
+				}
+
+				elem = elem[dir];
+			}
+
+			checkSet[i] = match;
+		}
+	}
+}
+
+function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+	var sibDir = dir == "previousSibling" && !isXML;
+	for ( var i = 0, l = checkSet.length; i < l; i++ ) {
+		var elem = checkSet[i];
+		if ( elem ) {
+			if ( sibDir && elem.nodeType === 1 ) {
+				elem.sizcache = doneName;
+				elem.sizset = i;
+			}
+			elem = elem[dir];
+			var match = false;
+
+			while ( elem ) {
+				if ( elem.sizcache === doneName ) {
+					match = checkSet[elem.sizset];
+					break;
+				}
+
+				if ( elem.nodeType === 1 ) {
+					if ( !isXML ) {
+						elem.sizcache = doneName;
+						elem.sizset = i;
+					}
+					if ( typeof cur !== "string" ) {
+						if ( elem === cur ) {
+							match = true;
+							break;
+						}
+
+					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
+						match = elem;
+						break;
+					}
+				}
+
+				elem = elem[dir];
+			}
+
+			checkSet[i] = match;
+		}
+	}
+}
+
+var contains = document.compareDocumentPosition ?  function(a, b){
+	return a.compareDocumentPosition(b) & 16;
+} : function(a, b){
+	return a !== b && (a.contains ? a.contains(b) : true);
+};
+
+var isXML = function(elem){
+	return elem.nodeType === 9 && elem.documentElement.nodeName !== "HTML" ||
+		!!elem.ownerDocument && isXML( elem.ownerDocument );
+};
+
+var posProcess = function(selector, context){
+	var tmpSet = [], later = "", match,
+		root = context.nodeType ? [context] : context;
+
+	// Position selectors must be done after the filter
+	// And so must :not(positional) so we move all PSEUDOs to the end
+	while ( (match = Expr.match.PSEUDO.exec( selector )) ) {
+		later += match[0];
+		selector = selector.replace( Expr.match.PSEUDO, "" );
+	}
+
+	selector = Expr.relative[selector] ? selector + "*" : selector;
+
+	for ( var i = 0, l = root.length; i < l; i++ ) {
+		Sizzle( selector, root[i], tmpSet );
+	}
+
+	return Sizzle.filter( later, tmpSet );
+};
+
+// EXPOSE
+jQuery.find = Sizzle;
+jQuery.filter = Sizzle.filter;
+jQuery.expr = Sizzle.selectors;
+jQuery.expr[":"] = jQuery.expr.filters;
+
+Sizzle.selectors.filters.hidden = function(elem){
+	return elem.offsetWidth === 0 || elem.offsetHeight === 0;
+};
+
+Sizzle.selectors.filters.visible = function(elem){
+	return elem.offsetWidth > 0 || elem.offsetHeight > 0;
+};
+
+Sizzle.selectors.filters.animated = function(elem){
+	return jQuery.grep(jQuery.timers, function(fn){
+		return elem === fn.elem;
+	}).length;
+};
+
+jQuery.multiFilter = function( expr, elems, not ) {
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	return Sizzle.matches(expr, elems);
+};
+
+jQuery.dir = function( elem, dir ){
+	var matched = [], cur = elem[dir];
+	while ( cur && cur != document ) {
+		if ( cur.nodeType == 1 )
+			matched.push( cur );
+		cur = cur[dir];
+	}
+	return matched;
+};
+
+jQuery.nth = function(cur, result, dir, elem){
+	result = result || 1;
+	var num = 0;
+
+	for ( ; cur; cur = cur[dir] )
+		if ( cur.nodeType == 1 && ++num == result )
+			break;
+
+	return cur;
+};
+
+jQuery.sibling = function(n, elem){
+	var r = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType == 1 && n != elem )
+			r.push( n );
+	}
+
+	return r;
+};
+
+return;
+
+window.Sizzle = Sizzle;
+
+})();
+/*
+ * A number of helper functions used for managing events.
+ * Many of the ideas behind this code originated from
+ * Dean Edwards' addEvent library.
+ */
+jQuery.event = {
+
+	// Bind an event to an element
+	// Original by Dean Edwards
+	add: function(elem, types, handler, data) {
+		if ( elem.nodeType == 3 || elem.nodeType == 8 )
+			return;
+
+		// For whatever reason, IE has trouble passing the window object
+		// around, causing it to be cloned in the process
+		if ( elem.setInterval && elem != window )
+			elem = window;
+
+		// Make sure that the function being executed has a unique ID
+		if ( !handler.guid )
+			handler.guid = this.guid++;
+
+		// if data is passed, bind to handler
+		if ( data !== undefined ) {
+			// Create temporary function pointer to original handler
+			var fn = handler;
+
+			// Create unique handler function, wrapped around original handler
+			handler = this.proxy( fn );
+
+			// Store data in unique handler
+			handler.data = data;
+		}
+
+		// Init the element's event structure
+		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),
+			handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){
+				// Handle the second event of a trigger and when
+				// an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
+					jQuery.event.handle.apply(arguments.callee.elem, arguments) :
+					undefined;
+			});
+		// Add elem as a property of the handle function
+		// This is to prevent a memory leak with non-native
+		// event in IE.
+		handle.elem = elem;
+
+		// Handle multiple events separated by a space
+		// jQuery(...).bind("mouseover mouseout", fn);
+		jQuery.each(types.split(/\s+/), function(index, type) {
+			// Namespaced event handlers
+			var namespaces = type.split(".");
+			type = namespaces.shift();
+			handler.type = namespaces.slice().sort().join(".");
+
+			// Get the current list of functions bound to this event
+			var handlers = events[type];
+			
+			if ( jQuery.event.specialAll[type] )
+				jQuery.event.specialAll[type].setup.call(elem, data, namespaces);
+
+			// Init the event handler queue
+			if (!handlers) {
+				handlers = events[type] = {};
+
+				// Check for a special event handler
+				// Only use addEventListener/attachEvent if the special
+				// events handler returns false
+				if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) {
+					// Bind the global event handler to the element
+					if (elem.addEventListener)
+						elem.addEventListener(type, handle, false);
+					else if (elem.attachEvent)
+						elem.attachEvent("on" + type, handle);
+				}
+			}
+
+			// Add the function to the element's handler list
+			handlers[handler.guid] = handler;
+
+			// Keep track of which events have been used, for global triggering
+			jQuery.event.global[type] = true;
+		});
+
+		// Nullify elem to prevent memory leaks in IE
+		elem = null;
+	},
+
+	guid: 1,
+	global: {},
+
+	// Detach an event or set of events from an element
+	remove: function(elem, types, handler) {
+		// don't do events on text and comment nodes
+		if ( elem.nodeType == 3 || elem.nodeType == 8 )
+			return;
+
+		var events = jQuery.data(elem, "events"), ret, index;
+
+		if ( events ) {
+			// Unbind all events for the element
+			if ( types === undefined || (typeof types === "string" && types.charAt(0) == ".") )
+				for ( var type in events )
+					this.remove( elem, type + (types || "") );
+			else {
+				// types is actually an event object here
+				if ( types.type ) {
+					handler = types.handler;
+					types = types.type;
+				}
+
+				// Handle multiple events seperated by a space
+				// jQuery(...).unbind("mouseover mouseout", fn);
+				jQuery.each(types.split(/\s+/), function(index, type){
+					// Namespaced event handlers
+					var namespaces = type.split(".");
+					type = namespaces.shift();
+					var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+
+					if ( events[type] ) {
+						// remove the given handler for the given type
+						if ( handler )
+							delete events[type][handler.guid];
+
+						// remove all handlers for the given type
+						else
+							for ( var handle in events[type] )
+								// Handle the removal of namespaced events
+								if ( namespace.test(events[type][handle].type) )
+									delete events[type][handle];
+									
+						if ( jQuery.event.specialAll[type] )
+							jQuery.event.specialAll[type].teardown.call(elem, namespaces);
+
+						// remove generic event handler if no more handlers exist
+						for ( ret in events[type] ) break;
+						if ( !ret ) {
+							if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === false ) {
+								if (elem.removeEventListener)
+									elem.removeEventListener(type, jQuery.data(elem, "handle"), false);
+								else if (elem.detachEvent)
+									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));
+							}
+							ret = null;
+							delete events[type];
+						}
+					}
+				});
+			}
+
+			// Remove the expando if it's no longer used
+			for ( ret in events ) break;
+			if ( !ret ) {
+				var handle = jQuery.data( elem, "handle" );
+				if ( handle ) handle.elem = null;
+				jQuery.removeData( elem, "events" );
+				jQuery.removeData( elem, "handle" );
+			}
+		}
+	},
+
+	// bubbling is internal
+	trigger: function( event, data, elem, bubbling ) {
+		// Event object or event type
+		var type = event.type || event;
+
+		if( !bubbling ){
+			event = typeof event === "object" ?
+				// jQuery.Event object
+				event[expando] ? event :
+				// Object literal
+				jQuery.extend( jQuery.Event(type), event ) :
+				// Just the event type (string)
+				jQuery.Event(type);
+
+			if ( type.indexOf("!") >= 0 ) {
+				event.type = type = type.slice(0, -1);
+				event.exclusive = true;
+			}
+
+			// Handle a global trigger
+			if ( !elem ) {
+				// Don't bubble custom events when global (to avoid too much overhead)
+				event.stopPropagation();
+				// Only trigger if we've ever bound an event for it
+				if ( this.global[type] )
+					jQuery.each( jQuery.cache, function(){
+						if ( this.events && this.events[type] )
+							jQuery.event.trigger( event, data, this.handle.elem );
+					});
+			}
+
+			// Handle triggering a single element
+
+			// don't do events on text and comment nodes
+			if ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )
+				return undefined;
+			
+			// Clean up in case it is reused
+			event.result = undefined;
+			event.target = elem;
+			
+			// Clone the incoming data, if any
+			data = jQuery.makeArray(data);
+			data.unshift( event );
+		}
+
+		event.currentTarget = elem;
+
+		// Trigger the event, it is assumed that "handle" is a function
+		var handle = jQuery.data(elem, "handle");
+		if ( handle )
+			handle.apply( elem, data );
+
+		// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)
+		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )
+			event.result = false;
+
+		// Trigger the native events (except for clicks on links)
+		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == "click") ) {
+			this.triggered = true;
+			try {
+				elem[ type ]();
+			// prevent IE from throwing an error for some hidden elements
+			} catch (e) {}
+		}
+
+		this.triggered = false;
+
+		if ( !event.isPropagationStopped() ) {
+			var parent = elem.parentNode || elem.ownerDocument;
+			if ( parent )
+				jQuery.event.trigger(event, data, parent, true);
+		}
+	},
+
+	handle: function(event) {
+		// returned undefined or false
+		var all, handlers;
+
+		event = arguments[0] = jQuery.event.fix( event || window.event );
+		event.currentTarget = this;
+		
+		// Namespaced event handlers
+		var namespaces = event.type.split(".");
+		event.type = namespaces.shift();
+
+		// Cache this now, all = true means, any handler
+		all = !namespaces.length && !event.exclusive;
+		
+		var namespace = RegExp("(^|\\.)" + namespaces.slice().sort().join(".*\\.") + "(\\.|$)");
+
+		handlers = ( jQuery.data(this, "events") || {} )[event.type];
+
+		for ( var j in handlers ) {
+			var handler = handlers[j];
+
+			// Filter the functions by class
+			if ( all || namespace.test(handler.type) ) {
+				// Pass in a reference to the handler function itself
+				// So that we can later remove it
+				event.handler = handler;
+				event.data = handler.data;
+
+				var ret = handler.apply(this, arguments);
+
+				if( ret !== undefined ){
+					event.result = ret;
+					if ( ret === false ) {
+						event.preventDefault();
+						event.stopPropagation();
+					}
+				}
+
+				if( event.isImmediatePropagationStopped() )
+					break;
+
+			}
+		}
+	},
+
+	props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+
+	fix: function(event) {
+		if ( event[expando] )
+			return event;
+
+		// store a copy of the original event object
+		// and "clone" to set read-only properties
+		var originalEvent = event;
+		event = jQuery.Event( originalEvent );
+
+		for ( var i = this.props.length, prop; i; ){
+			prop = this.props[ --i ];
+			event[ prop ] = originalEvent[ prop ];
+		}
+
+		// Fix target property, if necessary
+		if ( !event.target )
+			event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either
+
+		// check if target is a textnode (safari)
+		if ( event.target.nodeType == 3 )
+			event.target = event.target.parentNode;
+
+		// Add relatedTarget, if necessary
+		if ( !event.relatedTarget && event.fromElement )
+			event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;
+
+		// Calculate pageX/Y if missing and clientX/Y available
+		if ( event.pageX == null && event.clientX != null ) {
+			var doc = document.documentElement, body = document.body;
+			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
+			event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
+		}
+
+		// Add which for key events
+		if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )
+			event.which = event.charCode || event.keyCode;
+
+		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
+		if ( !event.metaKey && event.ctrlKey )
+			event.metaKey = event.ctrlKey;
+
+		// Add which for click: 1 == left; 2 == middle; 3 == right
+		// Note: button is not normalized, so don't use it
+		if ( !event.which && event.button )
+			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));
+
+		return event;
+	},
+
+	proxy: function( fn, proxy ){
+		proxy = proxy || function(){ return fn.apply(this, arguments); };
+		// Set the guid of unique handler to the same of original handler, so it can be removed
+		proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;
+		// So proxy can be declared as an argument
+		return proxy;
+	},
+
+	special: {
+		ready: {
+			// Make sure the ready event is setup
+			setup: bindReady,
+			teardown: function() {}
+		}
+	},
+	
+	specialAll: {
+		live: {
+			setup: function( selector, namespaces ){
+				jQuery.event.add( this, namespaces[0], liveHandler );
+			},
+			teardown:  function( namespaces ){
+				if ( namespaces.length ) {
+					var remove = 0, name = RegExp("(^|\\.)" + namespaces[0] + "(\\.|$)");
+					
+					jQuery.each( (jQuery.data(this, "events").live || {}), function(){
+						if ( name.test(this.type) )
+							remove++;
+					});
+					
+					if ( remove < 1 )
+						jQuery.event.remove( this, namespaces[0], liveHandler );
+				}
+			}
+		}
+	}
+};
+
+jQuery.Event = function( src ){
+	// Allow instantiation without the 'new' keyword
+	if( !this.preventDefault )
+		return new jQuery.Event(src);
+	
+	// Event object
+	if( src && src.type ){
+		this.originalEvent = src;
+		this.type = src.type;
+	// Event type
+	}else
+		this.type = src;
+
+	// timeStamp is buggy for some events on Firefox(#3843)
+	// So we won't rely on the native value
+	this.timeStamp = now();
+	
+	// Mark it as fixed
+	this[expando] = true;
+};
+
+function returnFalse(){
+	return false;
+}
+function returnTrue(){
+	return true;
+}
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	preventDefault: function() {
+		this.isDefaultPrevented = returnTrue;
+
+		var e = this.originalEvent;
+		if( !e )
+			return;
+		// if preventDefault exists run it on the original event
+		if (e.preventDefault)
+			e.preventDefault();
+		// otherwise set the returnValue property of the original event to false (IE)
+		e.returnValue = false;
+	},
+	stopPropagation: function() {
+		this.isPropagationStopped = returnTrue;
+
+		var e = this.originalEvent;
+		if( !e )
+			return;
+		// if stopPropagation exists run it on the original event
+		if (e.stopPropagation)
+			e.stopPropagation();
+		// otherwise set the cancelBubble property of the original event to true (IE)
+		e.cancelBubble = true;
+	},
+	stopImmediatePropagation:function(){
+		this.isImmediatePropagationStopped = returnTrue;
+		this.stopPropagation();
+	},
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse
+};
+// Checks if an event happened on an element within another element
+// Used in jQuery.event.special.mouseenter and mouseleave handlers
+var withinElement = function(event) {
+	// Check if mouse(over|out) are still within the same parent element
+	var parent = event.relatedTarget;
+	// Traverse up the tree
+	while ( parent && parent != this )
+		try { parent = parent.parentNode; }
+		catch(e) { parent = this; }
+	
+	if( parent != this ){
+		// set the correct event type
+		event.type = event.data;
+		// handle event if we actually just moused on to a non sub-element
+		jQuery.event.handle.apply( this, arguments );
+	}
+};
+	
+jQuery.each({ 
+	mouseover: 'mouseenter', 
+	mouseout: 'mouseleave'
+}, function( orig, fix ){
+	jQuery.event.special[ fix ] = {
+		setup: function(){
+			jQuery.event.add( this, orig, withinElement, fix );
+		},
+		teardown: function(){
+			jQuery.event.remove( this, orig, withinElement );
+		}
+	};			   
+});
+
+jQuery.fn.extend({
+	bind: function( type, data, fn ) {
+		return type == "unload" ? this.one(type, data, fn) : this.each(function(){
+			jQuery.event.add( this, type, fn || data, fn && data );
+		});
+	},
+
+	one: function( type, data, fn ) {
+		var one = jQuery.event.proxy( fn || data, function(event) {
+			jQuery(this).unbind(event, one);
+			return (fn || data).apply( this, arguments );
+		});
+		return this.each(function(){
+			jQuery.event.add( this, type, one, fn && data);
+		});
+	},
+
+	unbind: function( type, fn ) {
+		return this.each(function(){
+			jQuery.event.remove( this, type, fn );
+		});
+	},
+
+	trigger: function( type, data ) {
+		return this.each(function(){
+			jQuery.event.trigger( type, data, this );
+		});
+	},
+
+	triggerHandler: function( type, data ) {
+		if( this[0] ){
+			var event = jQuery.Event(type);
+			event.preventDefault();
+			event.stopPropagation();
+			jQuery.event.trigger( event, data, this[0] );
+			return event.result;
+		}		
+	},
+
+	toggle: function( fn ) {
+		// Save reference to arguments for access in closure
+		var args = arguments, i = 1;
+
+		// link all the functions, so any of them can unbind this click handler
+		while( i < args.length )
+			jQuery.event.proxy( fn, args[i++] );
+
+		return this.click( jQuery.event.proxy( fn, function(event) {
+			// Figure out which function to execute
+			this.lastToggle = ( this.lastToggle || 0 ) % i;
+
+			// Make sure that clicks stop
+			event.preventDefault();
+
+			// and execute the function
+			return args[ this.lastToggle++ ].apply( this, arguments ) || false;
+		}));
+	},
+
+	hover: function(fnOver, fnOut) {
+		return this.mouseenter(fnOver).mouseleave(fnOut);
+	},
+
+	ready: function(fn) {
+		// Attach the listeners
+		bindReady();
+
+		// If the DOM is already ready
+		if ( jQuery.isReady )
+			// Execute the function immediately
+			fn.call( document, jQuery );
+
+		// Otherwise, remember the function for later
+		else
+			// Add the function to the wait list
+			jQuery.readyList.push( fn );
+
+		return this;
+	},
+	
+	live: function( type, fn ){
+		var proxy = jQuery.event.proxy( fn );
+		proxy.guid += this.selector + type;
+
+		jQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );
+
+		return this;
+	},
+	
+	die: function( type, fn ){
+		jQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );
+		return this;
+	}
+});
+
+function liveHandler( event ){
+	var check = RegExp("(^|\\.)" + event.type + "(\\.|$)"),
+		stop = true,
+		elems = [];
+
+	jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
+		if ( check.test(fn.type) ) {
+			var elem = jQuery(event.target).closest(fn.data)[0];
+			if ( elem )
+				elems.push({ elem: elem, fn: fn });
+		}
+	});
+
+	elems.sort(function(a,b) {
+		return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
+	});
+	
+	jQuery.each(elems, function(){
+		if ( this.fn.call(this.elem, event, this.fn.data) === false )
+			return (stop = false);
+	});
+
+	return stop;
+}
+
+function liveConvert(type, selector){
+	return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "|")].join(".");
+}
+
+jQuery.extend({
+	isReady: false,
+	readyList: [],
+	// Handle when the DOM is ready
+	ready: function() {
+		// Make sure that the DOM is not already loaded
+		if ( !jQuery.isReady ) {
+			// Remember that the DOM is ready
+			jQuery.isReady = true;
+
+			// If there are functions bound, to execute
+			if ( jQuery.readyList ) {
+				// Execute all of them
+				jQuery.each( jQuery.readyList, function(){
+					this.call( document, jQuery );
+				});
+
+				// Reset the list of functions
+				jQuery.readyList = null;
+			}
+
+			// Trigger any bound ready events
+			jQuery(document).triggerHandler("ready");
+		}
+	}
+});
+
+var readyBound = false;
+
+function bindReady(){
+	if ( readyBound ) return;
+	readyBound = true;
+
+	// Mozilla, Opera and webkit nightlies currently support this event
+	if ( document.addEventListener ) {
+		// Use the handy event callback
+		document.addEventListener( "DOMContentLoaded", function(){
+			document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
+			jQuery.ready();
+		}, false );
+
+	// If IE event model is used
+	} else if ( document.attachEvent ) {
+		// ensure firing before onload,
+		// maybe late but safe also for iframes
+		document.attachEvent("onreadystatechange", function(){
+			if ( document.readyState === "complete" ) {
+				document.detachEvent( "onreadystatechange", arguments.callee );
+				jQuery.ready();
+			}
+		});
+
+		// If IE and not an iframe
+		// continually check to see if the document is ready
+		if ( document.documentElement.doScroll && window == window.top ) (function(){
+			if ( jQuery.isReady ) return;
+
+			try {
+				// If IE is used, use the trick by Diego Perini
+				// http://javascript.nwbox.com/IEContentLoaded/
+				document.documentElement.doScroll("left");
+			} catch( error ) {
+				setTimeout( arguments.callee, 0 );
+				return;
+			}
+
+			// and execute any waiting functions
+			jQuery.ready();
+		})();
+	}
+
+	// A fallback to window.onload, that will always work
+	jQuery.event.add( window, "load", jQuery.ready );
+}
+
+jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
+	"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
+	"change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){
+
+	// Handle event binding
+	jQuery.fn[name] = function(fn){
+		return fn ? this.bind(name, fn) : this.trigger(name);
+	};
+});
+
+// Prevent memory leaks in IE
+// And prevent errors on refresh with events like mouseover in other browsers
+// Window isn't included so as not to unbind existing unload events
+jQuery( window ).bind( 'unload', function(){ 
+	for ( var id in jQuery.cache )
+		// Skip the window
+		if ( id != 1 && jQuery.cache[ id ].handle )
+			jQuery.event.remove( jQuery.cache[ id ].handle.elem );
+}); 
+(function(){
+
+	jQuery.support = {};
+
+	var root = document.documentElement,
+		script = document.createElement("script"),
+		div = document.createElement("div"),
+		id = "script" + (new Date).getTime();
+
+	div.style.display = "none";
+	div.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
+
+	var all = div.getElementsByTagName("*"),
+		a = div.getElementsByTagName("a")[0];
+
+	// Can't get basic test support
+	if ( !all || !all.length || !a ) {
+		return;
+	}
+
+	jQuery.support = {
+		// IE strips leading whitespace when .innerHTML is used
+		leadingWhitespace: div.firstChild.nodeType == 3,
+		
+		// Make sure that tbody elements aren't automatically inserted
+		// IE will insert them into empty tables
+		tbody: !div.getElementsByTagName("tbody").length,
+		
+		// Make sure that you can get all elements in an <object> element
+		// IE 7 always returns no results
+		objectAll: !!div.getElementsByTagName("object")[0]
+			.getElementsByTagName("*").length,
+		
+		// Make sure that link elements get serialized correctly by innerHTML
+		// This requires a wrapper element in IE
+		htmlSerialize: !!div.getElementsByTagName("link").length,
+		
+		// Get the style information from getAttribute
+		// (IE uses .cssText insted)
+		style: /red/.test( a.getAttribute("style") ),
+		
+		// Make sure that URLs aren't manipulated
+		// (IE normalizes it by default)
+		hrefNormalized: a.getAttribute("href") === "/a",
+		
+		// Make sure that element opacity exists
+		// (IE uses filter instead)
+		opacity: a.style.opacity === "0.5",
+		
+		// Verify style float existence
+		// (IE uses styleFloat instead of cssFloat)
+		cssFloat: !!a.style.cssFloat,
+
+		// Will be defined later
+		scriptEval: false,
+		noCloneEvent: true,
+		boxModel: null
+	};
+	
+	script.type = "text/javascript";
+	try {
+		script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
+	} catch(e){}
+
+	root.insertBefore( script, root.firstChild );
+	
+	// Make sure that the execution of code works by injecting a script
+	// tag with appendChild/createTextNode
+	// (IE doesn't support this, fails, and uses .text instead)
+	if ( window[ id ] ) {
+		jQuery.support.scriptEval = true;
+		delete window[ id ];
+	}
+
+	root.removeChild( script );
+
+	if ( div.attachEvent && div.fireEvent ) {
+		div.attachEvent("onclick", function(){
+			// Cloning a node shouldn't copy over any
+			// bound event handlers (IE does this)
+			jQuery.support.noCloneEvent = false;
+			div.detachEvent("onclick", arguments.callee);
+		});
+		div.cloneNode(true).fireEvent("onclick");
+	}
+
+	// Figure out if the W3C box model works as expected
+	// document.body must exist before we can do this
+	jQuery(function(){
+		var div = document.createElement("div");
+		div.style.width = div.style.paddingLeft = "1px";
+
+		document.body.appendChild( div );
+		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
+		document.body.removeChild( div ).style.display = 'none';
+	});
+})();
+
+var styleFloat = jQuery.support.cssFloat ? "cssFloat" : "styleFloat";
+
+jQuery.props = {
+	"for": "htmlFor",
+	"class": "className",
+	"float": styleFloat,
+	cssFloat: styleFloat,
+	styleFloat: styleFloat,
+	readonly: "readOnly",
+	maxlength: "maxLength",
+	cellspacing: "cellSpacing",
+	rowspan: "rowSpan",
+	tabindex: "tabIndex"
+};
+jQuery.fn.extend({
+	// Keep a copy of the old load
+	_load: jQuery.fn.load,
+
+	load: function( url, params, callback ) {
+		if ( typeof url !== "string" )
+			return this._load( url );
+
+		var off = url.indexOf(" ");
+		if ( off >= 0 ) {
+			var selector = url.slice(off, url.length);
+			url = url.slice(0, off);
+		}
+
+		// Default to a GET request
+		var type = "GET";
+
+		// If the second parameter was provided
+		if ( params )
+			// If it's a function
+			if ( jQuery.isFunction( params ) ) {
+				// We assume that it's the callback
+				callback = params;
+				params = null;
+
+			// Otherwise, build a param string
+			} else if( typeof params === "object" ) {
+				params = jQuery.param( params );
+				type = "POST";
+			}
+
+		var self = this;
+
+		// Request the remote document
+		jQuery.ajax({
+			url: url,
+			type: type,
+			dataType: "html",
+			data: params,
+			complete: function(res, status){
+				// If successful, inject the HTML into all the matched elements
+				if ( status == "success" || status == "notmodified" )
+					// See if a selector was specified
+					self.html( selector ?
+						// Create a dummy div to hold the results
+						jQuery("<div/>")
+							// inject the contents of the document in, removing the scripts
+							// to avoid any 'Permission Denied' errors in IE
+							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))
+
+							// Locate the specified elements
+							.find(selector) :
+
+						// If not, just inject the full result
+						res.responseText );
+
+				if( callback )
+					self.each( callback, [res.responseText, status, res] );
+			}
+		});
+		return this;
+	},
+
+	serialize: function() {
+		return jQuery.param(this.serializeArray());
+	},
+	serializeArray: function() {
+		return this.map(function(){
+			return this.elements ? jQuery.makeArray(this.elements) : this;
+		})
+		.filter(function(){
+			return this.name && !this.disabled &&
+				(this.checked || /select|textarea/i.test(this.nodeName) ||
+					/text|hidden|password|search/i.test(this.type));
+		})
+		.map(function(i, elem){
+			var val = jQuery(this).val();
+			return val == null ? null :
+				jQuery.isArray(val) ?
+					jQuery.map( val, function(val, i){
+						return {name: elem.name, value: val};
+					}) :
+					{name: elem.name, value: val};
+		}).get();
+	}
+});
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
+	jQuery.fn[o] = function(f){
+		return this.bind(o, f);
+	};
+});
+
+var jsc = now();
+
+jQuery.extend({
+  
+	get: function( url, data, callback, type ) {
+		// shift arguments if data argument was ommited
+		if ( jQuery.isFunction( data ) ) {
+			callback = data;
+			data = null;
+		}
+
+		return jQuery.ajax({
+			type: "GET",
+			url: url,
+			data: data,
+			success: callback,
+			dataType: type
+		});
+	},
+
+	getScript: function( url, callback ) {
+		return jQuery.get(url, null, callback, "script");
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get(url, data, callback, "json");
+	},
+
+	post: function( url, data, callback, type ) {
+		if ( jQuery.isFunction( data ) ) {
+			callback = data;
+			data = {};
+		}
+
+		return jQuery.ajax({
+			type: "POST",
+			url: url,
+			data: data,
+			success: callback,
+			dataType: type
+		});
+	},
+
+	ajaxSetup: function( settings ) {
+		jQuery.extend( jQuery.ajaxSettings, settings );
+	},
+
+	ajaxSettings: {
+		url: location.href,
+		global: true,
+		type: "GET",
+		contentType: "application/x-www-form-urlencoded",
+		processData: true,
+		async: true,
+		/*
+		timeout: 0,
+		data: null,
+		username: null,
+		password: null,
+		*/
+		// Create the request object; Microsoft failed to properly
+		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
+		// This function can be overriden by calling jQuery.ajaxSetup
+		xhr:function(){
+			return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
+		},
+		accepts: {
+			xml: "application/xml, text/xml",
+			html: "text/html",
+			script: "text/javascript, application/javascript",
+			json: "application/json, text/javascript",
+			text: "text/plain",
+			_default: "*/*"
+		}
+	},
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+
+	ajax: function( s ) {
+		// Extend the settings, but re-extend 's' so that it can be
+		// checked again later (in the test suite, specifically)
+		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
+
+		var jsonp, jsre = /=\?(&|$)/g, status, data,
+			type = s.type.toUpperCase();
+
+		// convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" )
+			s.data = jQuery.param(s.data);
+
+		// Handle JSONP Parameter Callbacks
+		if ( s.dataType == "jsonp" ) {
+			if ( type == "GET" ) {
+				if ( !s.url.match(jsre) )
+					s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?";
+			} else if ( !s.data || !s.data.match(jsre) )
+				s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
+			s.dataType = "json";
+		}
+
+		// Build temporary JSONP function
+		if ( s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) {
+			jsonp = "jsonp" + jsc++;
+
+			// Replace the =? sequence both in the query string and the data
+			if ( s.data )
+				s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1");
+			s.url = s.url.replace(jsre, "=" + jsonp + "$1");
+
+			// We need to make sure
+			// that a JSONP style response is executed properly
+			s.dataType = "script";
+
+			// Handle JSONP-style loading
+			window[ jsonp ] = function(tmp){
+				data = tmp;
+				success();
+				complete();
+				// Garbage collect
+				window[ jsonp ] = undefined;
+				try{ delete window[ jsonp ]; } catch(e){}
+				if ( head )
+					head.removeChild( script );
+			};
+		}
+
+		if ( s.dataType == "script" && s.cache == null )
+			s.cache = false;
+
+		if ( s.cache === false && type == "GET" ) {
+			var ts = now();
+			// try replacing _= if it is there
+			var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
+			// if nothing was replaced, add timestamp to the end
+			s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : "");
+		}
+
+		// If data is available, append data to url for get requests
+		if ( s.data && type == "GET" ) {
+			s.url += (s.url.match(/\?/) ? "&" : "?") + s.data;
+
+			// IE likes to send both get and post data, prevent this
+			s.data = null;
+		}
+
+		// Watch for a new set of requests
+		if ( s.global && ! jQuery.active++ )
+			jQuery.event.trigger( "ajaxStart" );
+
+		// Matches an absolute URL, and saves the domain
+		var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );
+
+		// If we're requesting a remote document
+		// and trying to load JSON or Script with a GET
+		if ( s.dataType == "script" && type == "GET" && parts
+			&& ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){
+
+			var head = document.getElementsByTagName("head")[0];
+			var script = document.createElement("script");
+			script.src = s.url;
+			if (s.scriptCharset)
+				script.charset = s.scriptCharset;
+
+			// Handle Script loading
+			if ( !jsonp ) {
+				var done = false;
+
+				// Attach handlers for all browsers
+				script.onload = script.onreadystatechange = function(){
+					if ( !done && (!this.readyState ||
+							this.readyState == "loaded" || this.readyState == "complete") ) {
+						done = true;
+						success();
+						complete();
+
+						// Handle memory leak in IE
+						script.onload = script.onreadystatechange = null;
+						head.removeChild( script );
+					}
+				};
+			}
+
+			head.appendChild(script);
+
+			// We handle everything using the script element injection
+			return undefined;
+		}
+
+		var requestDone = false;
+
+		// Create the request object
+		var xhr = s.xhr();
+
+		// Open the socket
+		// Passing null username, generates a login popup on Opera (#2865)
+		if( s.username )
+			xhr.open(type, s.url, s.async, s.username, s.password);
+		else
+			xhr.open(type, s.url, s.async);
+
+		// Need an extra try/catch for cross domain requests in Firefox 3
+		try {
+			// Set the correct header, if data is being sent
+			if ( s.data )
+				xhr.setRequestHeader("Content-Type", s.contentType);
+
+			// Set the If-Modified-Since header, if ifModified mode.
+			if ( s.ifModified )
+				xhr.setRequestHeader("If-Modified-Since",
+					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );
+
+			// Set header so the called script knows that it's an XMLHttpRequest
+			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
+
+			// Set the Accepts header for the server, depending on the dataType
+			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?
+				s.accepts[ s.dataType ] + ", */*" :
+				s.accepts._default );
+		} catch(e){}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend && s.beforeSend(xhr, s) === false ) {
+			// Handle the global AJAX counter
+			if ( s.global && ! --jQuery.active )
+				jQuery.event.trigger( "ajaxStop" );
+			// close opended socket
+			xhr.abort();
+			return false;
+		}
+
+		if ( s.global )
+			jQuery.event.trigger("ajaxSend", [xhr, s]);
+
+		// Wait for a response to come back
+		var onreadystatechange = function(isTimeout){
+			// The request was aborted, clear the interval and decrement jQuery.active
+			if (xhr.readyState == 0) {
+				if (ival) {
+					// clear poll interval
+					clearInterval(ival);
+					ival = null;
+					// Handle the global AJAX counter
+					if ( s.global && ! --jQuery.active )
+						jQuery.event.trigger( "ajaxStop" );
+				}
+			// The transfer is complete and the data is available, or the request timed out
+			} else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout") ) {
+				requestDone = true;
+
+				// clear poll interval
+				if (ival) {
+					clearInterval(ival);
+					ival = null;
+				}
+
+				status = isTimeout == "timeout" ? "timeout" :
+					!jQuery.httpSuccess( xhr ) ? "error" :
+					s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? "notmodified" :
+					"success";
+
+				if ( status == "success" ) {
+					// Watch for, and catch, XML document parse errors
+					try {
+						// process the data (runs the xml through httpData regardless of callback)
+						data = jQuery.httpData( xhr, s.dataType, s );
+					} catch(e) {
+						status = "parsererror";
+					}
+				}
+
+				// Make sure that the request was successful or notmodified
+				if ( status == "success" ) {
+					// Cache Last-Modified header, if ifModified mode.
+					var modRes;
+					try {
+						modRes = xhr.getResponseHeader("Last-Modified");
+					} catch(e) {} // swallow exception thrown by FF if header is not available
+
+					if ( s.ifModified && modRes )
+						jQuery.lastModified[s.url] = modRes;
+
+					// JSONP handles its own success callback
+					if ( !jsonp )
+						success();
+				} else
+					jQuery.handleError(s, xhr, status);
+
+				// Fire the complete handlers
+				complete();
+
+				if ( isTimeout )
+					xhr.abort();
+
+				// Stop memory leaks
+				if ( s.async )
+					xhr = null;
+			}
+		};
+
+		if ( s.async ) {
+			// don't attach the handler to the request, just poll it instead
+			var ival = setInterval(onreadystatechange, 13);
+
+			// Timeout checker
+			if ( s.timeout > 0 )
+				setTimeout(function(){
+					// Check to see if the request is still happening
+					if ( xhr && !requestDone )
+						onreadystatechange( "timeout" );
+				}, s.timeout);
+		}
+
+		// Send the data
+		try {
+			xhr.send(s.data);
+		} catch(e) {
+			jQuery.handleError(s, xhr, null, e);
+		}
+
+		// firefox 1.5 doesn't fire statechange for sync requests
+		if ( !s.async )
+			onreadystatechange();
+
+		function success(){
+			// If a local callback was specified, fire it and pass it the data
+			if ( s.success )
+				s.success( data, status );
+
+			// Fire the global callback
+			if ( s.global )
+				jQuery.event.trigger( "ajaxSuccess", [xhr, s] );
+		}
+
+		function complete(){
+			// Process result
+			if ( s.complete )
+				s.complete(xhr, status);
+
+			// The request was completed
+			if ( s.global )
+				jQuery.event.trigger( "ajaxComplete", [xhr, s] );
+
+			// Handle the global AJAX counter
+			if ( s.global && ! --jQuery.active )
+				jQuery.event.trigger( "ajaxStop" );
+		}
+
+		// return XMLHttpRequest to allow aborting the request etc.
+		return xhr;
+	},
+
+	handleError: function( s, xhr, status, e ) {
+		// If a local callback was specified, fire it
+		if ( s.error ) s.error( xhr, status, e );
+
+		// Fire the global callback
+		if ( s.global )
+			jQuery.event.trigger( "ajaxError", [xhr, s, e] );
+	},
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Determines if an XMLHttpRequest was successful or not
+	httpSuccess: function( xhr ) {
+		try {
+			// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450
+			return !xhr.status && location.protocol == "file:" ||
+				( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;
+		} catch(e){}
+		return false;
+	},
+
+	// Determines if an XMLHttpRequest returns NotModified
+	httpNotModified: function( xhr, url ) {
+		try {
+			var xhrRes = xhr.getResponseHeader("Last-Modified");
+
+			// Firefox always returns 200. check Last-Modified date
+			return xhr.status == 304 || xhrRes == jQuery.lastModified[url];
+		} catch(e){}
+		return false;
+	},
+
+	httpData: function( xhr, type, s ) {
+		var ct = xhr.getResponseHeader("content-type"),
+			xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0,
+			data = xml ? xhr.responseXML : xhr.responseText;
+
+		if ( xml && data.documentElement.tagName == "parsererror" )
+			throw "parsererror";
+			
+		// Allow a pre-filtering function to sanitize the response
+		// s != null is checked to keep backwards compatibility
+		if( s && s.dataFilter )
+			data = s.dataFilter( data, type );
+
+		// The filter can actually parse the response
+		if( typeof data === "string" ){
+
+			// If the type is "script", eval it in global context
+			if ( type == "script" )
+				jQuery.globalEval( data );
+
+			// Get the JavaScript object, if JSON is used.
+			if ( type == "json" )
+				data = window["eval"]("(" + data + ")");
+		}
+		
+		return data;
+	},
+
+	// Serialize an array of form elements or a set of
+	// key/values into a query string
+	param: function( a ) {
+		var s = [ ];
+
+		function add( key, value ){
+			s[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value);
+		};
+
+		// If an array was passed in, assume that it is an array
+		// of form elements
+		if ( jQuery.isArray(a) || a.jquery )
+			// Serialize the form elements
+			jQuery.each( a, function(){
+				add( this.name, this.value );
+			});
+
+		// Otherwise, assume that it's an object of key/value pairs
+		else
+			// Serialize the key/values
+			for ( var j in a )
+				// If the value is an array then the key names need to be repeated
+				if ( jQuery.isArray(a[j]) )
+					jQuery.each( a[j], function(){
+						add( j, this );
+					});
+				else
+					add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );
+
+		// Return the resulting serialization
+		return s.join("&").replace(/%20/g, "+");
+	}
+
+});
+var elemdisplay = {},
+	timerId,
+	fxAttrs = [
+		// height animations
+		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" ],
+		// width animations
+		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" ],
+		// opacity animations
+		[ "opacity" ]
+	];
+
+function genFx( type, num ){
+	var obj = {};
+	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){
+		obj[ this ] = type;
+	});
+	return obj;
+}
+
+jQuery.fn.extend({
+	show: function(speed,callback){
+		if ( speed ) {
+			return this.animate( genFx("show", 3), speed, callback);
+		} else {
+			for ( var i = 0, l = this.length; i < l; i++ ){
+				var old = jQuery.data(this[i], "olddisplay");
+				
+				this[i].style.display = old || "";
+				
+				if ( jQuery.css(this[i], "display") === "none" ) {
+					var tagName = this[i].tagName, display;
+					
+					if ( elemdisplay[ tagName ] ) {
+						display = elemdisplay[ tagName ];
+					} else {
+						var elem = jQuery("<" + tagName + " />").appendTo("body");
+						
+						display = elem.css("display");
+						if ( display === "none" )
+							display = "block";
+						
+						elem.remove();
+						
+						elemdisplay[ tagName ] = display;
+					}
+					
+					jQuery.data(this[i], "olddisplay", display);
+				}
+			}
+
+			// Set the display of the elements in a second loop
+			// to avoid the constant reflow
+			for ( var i = 0, l = this.length; i < l; i++ ){
+				this[i].style.display = jQuery.data(this[i], "olddisplay") || "";
+			}
+			
+			return this;
+		}
+	},
+
+	hide: function(speed,callback){
+		if ( speed ) {
+			return this.animate( genFx("hide", 3), speed, callback);
+		} else {
+			for ( var i = 0, l = this.length; i < l; i++ ){
+				var old = jQuery.data(this[i], "olddisplay");
+				if ( !old && old !== "none" )
+					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
+			}
+
+			// Set the display of the elements in a second loop
+			// to avoid the constant reflow
+			for ( var i = 0, l = this.length; i < l; i++ ){
+				this[i].style.display = "none";
+			}
+
+			return this;
+		}
+	},
+
+	// Save the old toggle function
+	_toggle: jQuery.fn.toggle,
+
+	toggle: function( fn, fn2 ){
+		var bool = typeof fn === "boolean";
+
+		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
+			this._toggle.apply( this, arguments ) :
+			fn == null || bool ?
+				this.each(function(){
+					var state = bool ? fn : jQuery(this).is(":hidden");
+					jQuery(this)[ state ? "show" : "hide" ]();
+				}) :
+				this.animate(genFx("toggle", 3), fn, fn2);
+	},
+
+	fadeTo: function(speed,to,callback){
+		return this.animate({opacity: to}, speed, callback);
+	},
+
+	animate: function( prop, speed, easing, callback ) {
+		var optall = jQuery.speed(speed, easing, callback);
+
+		return this[ optall.queue === false ? "each" : "queue" ](function(){
+		
+			var opt = jQuery.extend({}, optall), p,
+				hidden = this.nodeType == 1 && jQuery(this).is(":hidden"),
+				self = this;
+	
+			for ( p in prop ) {
+				if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden )
+					return opt.complete.call(this);
+
+				if ( ( p == "height" || p == "width" ) && this.style ) {
+					// Store display property
+					opt.display = jQuery.css(this, "display");
+
+					// Make sure that nothing sneaks out
+					opt.overflow = this.style.overflow;
+				}
+			}
+
+			if ( opt.overflow != null )
+				this.style.overflow = "hidden";
+
+			opt.curAnim = jQuery.extend({}, prop);
+
+			jQuery.each( prop, function(name, val){
+				var e = new jQuery.fx( self, opt, name );
+
+				if ( /toggle|show|hide/.test(val) )
+					e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop );
+				else {
+					var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
+						start = e.cur(true) || 0;
+
+					if ( parts ) {
+						var end = parseFloat(parts[2]),
+							unit = parts[3] || "px";
+
+						// We need to compute starting value
+						if ( unit != "px" ) {
+							self.style[ name ] = (end || 1) + unit;
+							start = ((end || 1) / e.cur(true)) * start;
+							self.style[ name ] = start + unit;
+						}
+
+						// If a +=/-= token was provided, we're doing a relative animation
+						if ( parts[1] )
+							end = ((parts[1] == "-=" ? -1 : 1) * end) + start;
+
+						e.custom( start, end, unit );
+					} else
+						e.custom( start, val, "" );
+				}
+			});
+
+			// For JS strict compliance
+			return true;
+		});
+	},
+
+	stop: function(clearQueue, gotoEnd){
+		var timers = jQuery.timers;
+
+		if (clearQueue)
+			this.queue([]);
+
+		this.each(function(){
+			// go in reverse order so anything added to the queue during the loop is ignored
+			for ( var i = timers.length - 1; i >= 0; i-- )
+				if ( timers[i].elem == this ) {
+					if (gotoEnd)
+						// force the next step to be the last
+						timers[i](true);
+					timers.splice(i, 1);
+				}
+		});
+
+		// start the next in the queue if the last step wasn't forced
+		if (!gotoEnd)
+			this.dequeue();
+
+		return this;
+	}
+
+});
+
+// Generate shortcuts for custom animations
+jQuery.each({
+	slideDown: genFx("show", 1),
+	slideUp: genFx("hide", 1),
+	slideToggle: genFx("toggle", 1),
+	fadeIn: { opacity: "show" },
+	fadeOut: { opacity: "hide" }
+}, function( name, props ){
+	jQuery.fn[ name ] = function( speed, callback ){
+		return this.animate( props, speed, callback );
+	};
+});
+
+jQuery.extend({
+
+	speed: function(speed, easing, fn) {
+		var opt = typeof speed === "object" ? speed : {
+			complete: fn || !fn && easing ||
+				jQuery.isFunction( speed ) && speed,
+			duration: speed,
+			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing
+		};
+
+		opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
+			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;
+
+		// Queueing
+		opt.old = opt.complete;
+		opt.complete = function(){
+			if ( opt.queue !== false )
+				jQuery(this).dequeue();
+			if ( jQuery.isFunction( opt.old ) )
+				opt.old.call( this );
+		};
+
+		return opt;
+	},
+
+	easing: {
+		linear: function( p, n, firstNum, diff ) {
+			return firstNum + diff * p;
+		},
+		swing: function( p, n, firstNum, diff ) {
+			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
+		}
+	},
+
+	timers: [],
+
+	fx: function( elem, options, prop ){
+		this.options = options;
+		this.elem = elem;
+		this.prop = prop;
+
+		if ( !options.orig )
+			options.orig = {};
+	}
+
+});
+
+jQuery.fx.prototype = {
+
+	// Simple function for setting a style value
+	update: function(){
+		if ( this.options.step )
+			this.options.step.call( this.elem, this.now, this );
+
+		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );
+
+		// Set display property to block for height/width animations
+		if ( ( this.prop == "height" || this.prop == "width" ) && this.elem.style )
+			this.elem.style.display = "block";
+	},
+
+	// Get the current size
+	cur: function(force){
+		if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) )
+			return this.elem[ this.prop ];
+
+		var r = parseFloat(jQuery.css(this.elem, this.prop, force));
+		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
+	},
+
+	// Start an animation from one number to another
+	custom: function(from, to, unit){
+		this.startTime = now();
+		this.start = from;
+		this.end = to;
+		this.unit = unit || this.unit || "px";
+		this.now = this.start;
+		this.pos = this.state = 0;
+
+		var self = this;
+		function t(gotoEnd){
+			return self.step(gotoEnd);
+		}
+
+		t.elem = this.elem;
+
+		if ( t() && jQuery.timers.push(t) && !timerId ) {
+			timerId = setInterval(function(){
+				var timers = jQuery.timers;
+
+				for ( var i = 0; i < timers.length; i++ )
+					if ( !timers[i]() )
+						timers.splice(i--, 1);
+
+				if ( !timers.length ) {
+					clearInterval( timerId );
+					timerId = undefined;
+				}
+			}, 13);
+		}
+	},
+
+	// Simple 'show' function
+	show: function(){
+		// Remember where we started, so that we can go back to it later
+		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
+		this.options.show = true;
+
+		// Begin the animation
+		// Make sure that we start at a small width/height to avoid any
+		// flash of content
+		this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
+
+		// Start by showing the element
+		jQuery(this.elem).show();
+	},
+
+	// Simple 'hide' function
+	hide: function(){
+		// Remember where we started, so that we can go back to it later
+		this.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );
+		this.options.hide = true;
+
+		// Begin the animation
+		this.custom(this.cur(), 0);
+	},
+
+	// Each step of an animation
+	step: function(gotoEnd){
+		var t = now();
+
+		if ( gotoEnd || t >= this.options.duration + this.startTime ) {
+			this.now = this.end;
+			this.pos = this.state = 1;
+			this.update();
+
+			this.options.curAnim[ this.prop ] = true;
+
+			var done = true;
+			for ( var i in this.options.curAnim )
+				if ( this.options.curAnim[i] !== true )
+					done = false;
+
+			if ( done ) {
+				if ( this.options.display != null ) {
+					// Reset the overflow
+					this.elem.style.overflow = this.options.overflow;
+
+					// Reset the display
+					this.elem.style.display = this.options.display;
+					if ( jQuery.css(this.elem, "display") == "none" )
+						this.elem.style.display = "block";
+				}
+
+				// Hide the element if the "hide" operation was done
+				if ( this.options.hide )
+					jQuery(this.elem).hide();
+
+				// Reset the properties, if the item has been hidden or shown
+				if ( this.options.hide || this.options.show )
+					for ( var p in this.options.curAnim )
+						jQuery.attr(this.elem.style, p, this.options.orig[p]);
+					
+				// Execute the complete function
+				this.options.complete.call( this.elem );
+			}
+
+			return false;
+		} else {
+			var n = t - this.startTime;
+			this.state = n / this.options.duration;
+
+			// Perform the easing function, defaults to swing
+			this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);
+			this.now = this.start + ((this.end - this.start) * this.pos);
+
+			// Perform the next step of the animation
+			this.update();
+		}
+
+		return true;
+	}
+
+};
+
+jQuery.extend( jQuery.fx, {
+	speeds:{
+		slow: 600,
+ 		fast: 200,
+ 		// Default speed
+ 		_default: 400
+	},
+	step: {
+
+		opacity: function(fx){
+			jQuery.attr(fx.elem.style, "opacity", fx.now);
+		},
+
+		_default: function(fx){
+			if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
+				fx.elem.style[ fx.prop ] = fx.now + fx.unit;
+			else
+				fx.elem[ fx.prop ] = fx.now;
+		}
+	}
+});
+if ( document.documentElement["getBoundingClientRect"] )
+	jQuery.fn.offset = function() {
+		if ( !this[0] ) return { top: 0, left: 0 };
+		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
+		var box  = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement,
+			clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,
+			top  = box.top  + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop  || body.scrollTop ) - clientTop,
+			left = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;
+		return { top: top, left: left };
+	};
+else 
+	jQuery.fn.offset = function() {
+		if ( !this[0] ) return { top: 0, left: 0 };
+		if ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );
+		jQuery.offset.initialized || jQuery.offset.initialize();
+
+		var elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem,
+			doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
+			body = doc.body, defaultView = doc.defaultView,
+			prevComputedStyle = defaultView.getComputedStyle(elem, null),
+			top = elem.offsetTop, left = elem.offsetLeft;
+
+		while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
+			computedStyle = defaultView.getComputedStyle(elem, null);
+			top -= elem.scrollTop, left -= elem.scrollLeft;
+			if ( elem === offsetParent ) {
+				top += elem.offsetTop, left += elem.offsetLeft;
+				if ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) )
+					top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
+					left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
+				prevOffsetParent = offsetParent, offsetParent = elem.offsetParent;
+			}
+			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== "visible" )
+				top  += parseInt( computedStyle.borderTopWidth,  10) || 0,
+				left += parseInt( computedStyle.borderLeftWidth, 10) || 0;
+			prevComputedStyle = computedStyle;
+		}
+
+		if ( prevComputedStyle.position === "relative" || prevComputedStyle.position === "static" )
+			top  += body.offsetTop,
+			left += body.offsetLeft;
+
+		if ( prevComputedStyle.position === "fixed" )
+			top  += Math.max(docElem.scrollTop, body.scrollTop),
+			left += Math.max(docElem.scrollLeft, body.scrollLeft);
+
+		return { top: top, left: left };
+	};
+
+jQuery.offset = {
+	initialize: function() {
+		if ( this.initialized ) return;
+		var body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,
+			html = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
+
+		rules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' };
+		for ( prop in rules ) container.style[prop] = rules[prop];
+
+		container.innerHTML = html;
+		body.insertBefore(container, body.firstChild);
+		innerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;
+
+		this.doesNotAddBorder = (checkDiv.offsetTop !== 5);
+		this.doesAddBorderForTableAndCells = (td.offsetTop === 5);
+
+		innerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative';
+		this.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);
+
+		body.style.marginTop = '1px';
+		this.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);
+		body.style.marginTop = bodyMarginTop;
+
+		body.removeChild(container);
+		this.initialized = true;
+	},
+
+	bodyOffset: function(body) {
+		jQuery.offset.initialized || jQuery.offset.initialize();
+		var top = body.offsetTop, left = body.offsetLeft;
+		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )
+			top  += parseInt( jQuery.curCSS(body, 'marginTop',  true), 10 ) || 0,
+			left += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0;
+		return { top: top, left: left };
+	}
+};
+
+
+jQuery.fn.extend({
+	position: function() {
+		var left = 0, top = 0, results;
+
+		if ( this[0] ) {
+			// Get *real* offsetParent
+			var offsetParent = this.offsetParent(),
+
+			// Get correct offsets
+			offset       = this.offset(),
+			parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();
+
+			// Subtract element margins
+			// note: when an element has margin: auto the offsetLeft and marginLeft 
+			// are the same in Safari causing offset.left to incorrectly be 0
+			offset.top  -= num( this, 'marginTop'  );
+			offset.left -= num( this, 'marginLeft' );
+
+			// Add offsetParent borders
+			parentOffset.top  += num( offsetParent, 'borderTopWidth'  );
+			parentOffset.left += num( offsetParent, 'borderLeftWidth' );
+
+			// Subtract the two offsets
+			results = {
+				top:  offset.top  - parentOffset.top,
+				left: offset.left - parentOffset.left
+			};
+		}
+
+		return results;
+	},
+
+	offsetParent: function() {
+		var offsetParent = this[0].offsetParent || document.body;
+		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )
+			offsetParent = offsetParent.offsetParent;
+		return jQuery(offsetParent);
+	}
+});
+
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( ['Left', 'Top'], function(i, name) {
+	var method = 'scroll' + name;
+	
+	jQuery.fn[ method ] = function(val) {
+		if (!this[0]) return null;
+
+		return val !== undefined ?
+
+			// Set the scroll offset
+			this.each(function() {
+				this == window || this == document ?
+					window.scrollTo(
+						!i ? val : jQuery(window).scrollLeft(),
+						 i ? val : jQuery(window).scrollTop()
+					) :
+					this[ method ] = val;
+			}) :
+
+			// Return the scroll offset
+			this[0] == window || this[0] == document ?
+				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||
+					jQuery.boxModel && document.documentElement[ method ] ||
+					document.body[ method ] :
+				this[0][ method ];
+	};
+});
+// Create innerHeight, innerWidth, outerHeight and outerWidth methods
+jQuery.each([ "Height", "Width" ], function(i, name){
+
+	var tl = i ? "Left"  : "Top",  // top or left
+		br = i ? "Right" : "Bottom", // bottom or right
+		lower = name.toLowerCase();
+
+	// innerHeight and innerWidth
+	jQuery.fn["inner" + name] = function(){
+		return this[0] ?
+			jQuery.css( this[0], lower, false, "padding" ) :
+			null;
+	};
+
+	// outerHeight and outerWidth
+	jQuery.fn["outer" + name] = function(margin) {
+		return this[0] ?
+			jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
+			null;
+	};
+	
+	var type = name.toLowerCase();
+
+	jQuery.fn[ type ] = function( size ) {
+		// Get window width or height
+		return this[0] == window ?
+			// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode
+			document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] ||
+			document.body[ "client" + name ] :
+
+			// Get document width or height
+			this[0] == document ?
+				// Either scroll[Width/Height] or offset[Width/Height], whichever is greater
+				Math.max(
+					document.documentElement["client" + name],
+					document.body["scroll" + name], document.documentElement["scroll" + name],
+					document.body["offset" + name], document.documentElement["offset" + name]
+				) :
+
+				// Get or set width or height on the element
+				size === undefined ?
+					// Get width or height on the element
+					(this.length ? jQuery.css( this[0], type ) : null) :
+
+					// Set the width or height on the element (default to pixels if value is unitless)
+					this.css( type, typeof size === "string" ? size : size + "px" );
+	};
+
+});
+})();
--- a/web/res/metadataplayer/test/emission_fichiers/jquery_006.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/jquery_006.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,70 +1,70 @@
-
-
-(function($){
-	$.fn.popupWindow = function(instanceSettings){
-		var myWin = null;
-		return this.each(function(){
-		
-		$(this).click(function(){
-		
-		$.fn.popupWindow.defaultSettings = {
-			centerBrowser:0, // center window over browser window? {1 (YES) or 0 (NO)}. overrides top and left
-			centerScreen:0, // center window over entire screen? {1 (YES) or 0 (NO)}. overrides top and left
-			height:500, // sets the height in pixels of the window.
-			left:0, // left position when the window appears.
-			location:0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}.
-			menubar:0, // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}.
-			resizable:0, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
-			scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
-			status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
-			width:500, // sets the width in pixels of the window.
-			windowName:null, // name of window set from the name attribute of the element that invokes the click
-			windowURL:null, // url used for the popup
-			top:0, // top position when the window appears.
-			toolbar:0 // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
-		};
-		
-		settings = $.extend({}, $.fn.popupWindow.defaultSettings, instanceSettings || {});
-		
-		var windowFeatures =    'height=' + settings.height +
-								',width=' + settings.width +
-								',toolbar=' + settings.toolbar +
-								',scrollbars=' + settings.scrollbars +
-								',status=' + settings.status + 
-								',resizable=' + settings.resizable +
-								',location=' + settings.location +
-								',menuBar=' + settings.menubar;
-
-				settings.windowName = this.name || settings.windowName;
-				settings.windowURL = this.href || settings.windowURL;
-				var centeredY,centeredX;
-				if(settings.centerBrowser){
-						
-					if ($.browser.msie) {//hacked together for IE browsers
-						centeredY = (window.screenTop - 120) + ((((document.documentElement.clientHeight + 120)/2) - (settings.height/2)));
-						centeredX = window.screenLeft + ((((document.body.offsetWidth + 20)/2) - (settings.width/2)));
-					}else{
-						centeredY = window.screenY + (((window.outerHeight/2) - (settings.height/2)));
-						centeredX = window.screenX + (((window.outerWidth/2) - (settings.width/2)));
-					}
-					if (myWin == null || myWin.closed) {
-					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY);
-					}
-				}else if(settings.centerScreen){
-					centeredY = (screen.height - settings.height)/2;
-					centeredX = (screen.width - settings.width)/2;
-					if (myWin == null || myWin.closed) {
-					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY);
-				  }
-				}else{
-				  if (myWin == null || myWin.closed) {
-					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + settings.left +',top=' + settings.top);	
-					}
-				}
-				myWin.focus();
-				return false;
-			});
-			
-		});	
-	};
+
+
+(function($){
+	$.fn.popupWindow = function(instanceSettings){
+		var myWin = null;
+		return this.each(function(){
+		
+		$(this).click(function(){
+		
+		$.fn.popupWindow.defaultSettings = {
+			centerBrowser:0, // center window over browser window? {1 (YES) or 0 (NO)}. overrides top and left
+			centerScreen:0, // center window over entire screen? {1 (YES) or 0 (NO)}. overrides top and left
+			height:500, // sets the height in pixels of the window.
+			left:0, // left position when the window appears.
+			location:0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}.
+			menubar:0, // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}.
+			resizable:0, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
+			scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
+			status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
+			width:500, // sets the width in pixels of the window.
+			windowName:null, // name of window set from the name attribute of the element that invokes the click
+			windowURL:null, // url used for the popup
+			top:0, // top position when the window appears.
+			toolbar:0 // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
+		};
+		
+		settings = $.extend({}, $.fn.popupWindow.defaultSettings, instanceSettings || {});
+		
+		var windowFeatures =    'height=' + settings.height +
+								',width=' + settings.width +
+								',toolbar=' + settings.toolbar +
+								',scrollbars=' + settings.scrollbars +
+								',status=' + settings.status + 
+								',resizable=' + settings.resizable +
+								',location=' + settings.location +
+								',menuBar=' + settings.menubar;
+
+				settings.windowName = this.name || settings.windowName;
+				settings.windowURL = this.href || settings.windowURL;
+				var centeredY,centeredX;
+				if(settings.centerBrowser){
+						
+					if ($.browser.msie) {//hacked together for IE browsers
+						centeredY = (window.screenTop - 120) + ((((document.documentElement.clientHeight + 120)/2) - (settings.height/2)));
+						centeredX = window.screenLeft + ((((document.body.offsetWidth + 20)/2) - (settings.width/2)));
+					}else{
+						centeredY = window.screenY + (((window.outerHeight/2) - (settings.height/2)));
+						centeredX = window.screenX + (((window.outerWidth/2) - (settings.width/2)));
+					}
+					if (myWin == null || myWin.closed) {
+					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY);
+					}
+				}else if(settings.centerScreen){
+					centeredY = (screen.height - settings.height)/2;
+					centeredX = (screen.width - settings.width)/2;
+					if (myWin == null || myWin.closed) {
+					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY);
+				  }
+				}else{
+				  if (myWin == null || myWin.closed) {
+					  myWin = window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + settings.left +',top=' + settings.top);	
+					}
+				}
+				myWin.focus();
+				return false;
+			});
+			
+		});	
+	};
 })(jQuery);
\ No newline at end of file
--- a/web/res/metadataplayer/test/emission_fichiers/panels.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/panels.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,29 +1,29 @@
-// $Id: panels.js,v 1.2.4.1 2009/10/05 22:40:35 merlinofchaos Exp $
-
-(function ($) {
-  Drupal.Panels = {};
-
-  Drupal.Panels.autoAttach = function() {
-    if ($.browser.msie) {
-      // If IE, attach a hover event so we can see our admin links.
-      $("div.panel-pane").hover(
-        function() {
-          $('div.panel-hide', this).addClass("panel-hide-hover"); return true;
-        },
-        function() {
-          $('div.panel-hide', this).removeClass("panel-hide-hover"); return true;
-        }
-      );
-      $("div.admin-links").hover(
-        function() {
-          $(this).addClass("admin-links-hover"); return true;
-        },
-        function(){
-          $(this).removeClass("admin-links-hover"); return true;
-        }
-      );
-    }
-  };
-
-  $(Drupal.Panels.autoAttach);
-})(jQuery);
+// $Id: panels.js,v 1.2.4.1 2009/10/05 22:40:35 merlinofchaos Exp $
+
+(function ($) {
+  Drupal.Panels = {};
+
+  Drupal.Panels.autoAttach = function() {
+    if ($.browser.msie) {
+      // If IE, attach a hover event so we can see our admin links.
+      $("div.panel-pane").hover(
+        function() {
+          $('div.panel-hide', this).addClass("panel-hide-hover"); return true;
+        },
+        function() {
+          $('div.panel-hide', this).removeClass("panel-hide-hover"); return true;
+        }
+      );
+      $("div.admin-links").hover(
+        function() {
+          $(this).addClass("admin-links-hover"); return true;
+        },
+        function(){
+          $(this).removeClass("admin-links-hover"); return true;
+        }
+      );
+    }
+  };
+
+  $(Drupal.Panels.autoAttach);
+})(jQuery);
--- a/web/res/metadataplayer/test/emission_fichiers/popups.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/popups.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,16 +1,16 @@
-Drupal.theme.popupTemplate = function(popupId) {
-  var template;
-  template += '<div id="'+ popupId + '" class="popups-box">';
-  template += "  <div class='popups-inner'>";
-  template += '    <div class="popups-title">';
-  template += '      <div class="popups-close"><a href="#">' + Drupal.t('Close') + '</a></div>';
-  template += '      <div class="title">%title</div>';
-  template += '      <div class="clear-block"></div>';
-  template += '    </div>';
-  template += '    <div class="popups-body">%body</div>';
-  template += '    <div class="popups-buttons">%buttons</div>';
-  template += '    <div class="popups-footer"></div>';
-  template += '  </div>';
-  template += '</div>';
-  return template;
-};
+Drupal.theme.popupTemplate = function(popupId) {
+  var template;
+  template += '<div id="'+ popupId + '" class="popups-box">';
+  template += "  <div class='popups-inner'>";
+  template += '    <div class="popups-title">';
+  template += '      <div class="popups-close"><a href="#">' + Drupal.t('Close') + '</a></div>';
+  template += '      <div class="title">%title</div>';
+  template += '      <div class="clear-block"></div>';
+  template += '    </div>';
+  template += '    <div class="popups-body">%body</div>';
+  template += '    <div class="popups-buttons">%buttons</div>';
+  template += '    <div class="popups-footer"></div>';
+  template += '  </div>';
+  template += '</div>';
+  return template;
+};
--- a/web/res/metadataplayer/test/emission_fichiers/popups_002.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/popups_002.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,1161 +1,1161 @@
-// $Id: popups.js,v 1.9.8.12 2009/03/21 00:57:15 starbow Exp $
-
-/**
- * Popup Modal Dialog API
- *
- * Provide an API for building and displaying JavaScript, in-page, popups modal dialogs.
- * Modality is provided by a fixed, semi-opaque div, positioned in front of the page contents.
- *
- */
-
-/*
- * TODO
- * * Return key in add node form not working.
- * * Tabledrag breaking after ahah reload.
- */
-
-// ***************************************************************************
-// DRUPAL Namespace
-// ***************************************************************************
-
-/**
- * Attach the popups bevior to the all the requested links on the page.
- *
- * @param context
- *   The jQuery object to apply the behaviors to.
- */
-
-Drupal.behaviors.popups = function(context) {
-  Popups.saveSettings();
-  
-  var $body = $('body');
-  if(!$body.hasClass('popups-processed')) {
-    $body.addClass('popups-processed');
-    $(document).bind('keydown', Popups.keyHandle);
-    var $popit = $('#popit');
-    if ($popit.length) {
-      $popit.remove();
-      Popups.message($popit.html());
-    }
-  }
-  
-  // Add the popups-link-in-dialog behavior to links defined in Drupal.settings.popups.links array.
-  // Get these from current Drupal.settings, not Popups.originalSettings, as each page has it's own hooks.
-  if (Drupal.settings.popups && Drupal.settings.popups.links) {
-    jQuery.each(Drupal.settings.popups.links, function (link, options) { 
-      Popups.attach(context, link, Popups.options(options));
-    });
-  }
-  
-  Popups.attach(context, '.popups', Popups.options({updateMethod: 'none'}));  
-  Popups.attach(context, '.popups-form', Popups.options({updateMethod: 'ajax'})); // ajax reload.
-  Popups.attach(context, '.popups-form-reload', Popups.options({updateMethod: 'reload'})); // whole page reload. 
-  Popups.attach(context, '.popups-form-noupdate', Popups.options({updateMethod: 'none'}));  // no reload at all.
-};
-
-// ***************************************************************************
-// Popups Namespace **********************************************************
-// ***************************************************************************
-/**
- * The Popups namespace contains:
- * * An ordered stack of Popup objects,
- * * The state of the original page,
- * * Functions for managing both of the above.
- */
-Popups = function(){};
-
-/**
- * Static variables in the Popups namespace.
- */
-Popups.popupStack = []; 
-Popups.addedCSS = [];
-Popups.addedJS = [];
-Popups.originalSettings = null; // The initial popup options of the page.
-/**
- * Each popup object gets it's own set of options.
- * These are the defaults.
- */
-Popups.defaultOptions = {
-  doneTest: null, // null, *path*, *regexp*. how do we know when a multiform flow is done?
-  updateMethod: 'ajax', // none, ajax, reload, callback
-  updateSource: 'initial', // initial, final. Only used if updateMethod != none.
-  href: null, 
-  width: null, // Override the width specified in the css.
-  targetSelectors: null, // Hash of jQuery selectors that define the content to be swapped out.
-  titleSelectors: null, // Array of jQuery selectors to place the new page title.
-  reloadOnError: false, // Force the entire page to reload if the popup href is unaccessable.
-  noMessage: false, // Don't show drupal_set_message messages.   
-  skipDirtyCheck: false, // If true, this popup will not check for edits on the originating page.  
-  hijackDestination: true, // Use the destiination param to force a form submit to return to the originating page. 
-  onUpdate: null // Callback used for the updateMethod: 'callback' type
-};
-
-// ***************************************************************************
-// Popups.Popup Object *******************************************************
-// ***************************************************************************
-/**
- * A Popup is a single modal dialog.
- * The popup object encapslated all the info about a single popup.
- */
-Popups.Popup = function() {
-  this.id = 'popups-' + Popups.nextCounter();
-  
-  // These properties are needed if the popup contains a form that will be ajax submitted.
-  this.parent = null; // The popup that spawned this one. If parent is null, this popup was spawned by the original page.
-  this.path = null; // If popup is showing content from a url, this is that path.
-  this.element = null; // The DOM element that was clicked to launch this popup.
-  this.options = null; // An option array that control how the popup behaves.  See Popups.defaultOptions for explainations.
-};
-Popups.Popup.prototype.$popup = function() {
-  return $('#' + this.id);
-};
-Popups.Popup.prototype.$popupBody = function() {
-  return $('#' + this.id + ' .popups-body');
-};
-Popups.Popup.prototype.$popupClose = function() {
-  return $('#' + this.id + ' .popups-close');
-};
-Popups.Popup.prototype.$popupTitle = function() {
-  return $('#' + this.id + ' .popups-title');
-};
-Popups.Popup.prototype.$popupButtons = function() {
-  return $('#' + this.id + ' .popups-buttons');
-};
-Popups.Popup.prototype.$popupFooter = function() {
-  return $('#' + this.id + ' .popups-footer');
-};
-
-/**
- * Create the jQuery wrapped html at the heart of the popup object.
- * 
- * @param title
- *   String
- * @param body
- *   String/HTML
- * @param buttons
- *   Hash/Object
- * @return
- *   The $popup.
- */
-Popups.Popup.prototype.fill = function(title, body, buttons) {
-  return $(Drupal.theme('popupDialog', this.id, title, body, buttons));
-}
-
-/**
- * Hide the popup by pushing it off to the side. 
- * Just making it display:none causes flash in FF2.
- */
-Popups.Popup.prototype.hide = function() {
-  this.$popup().css('left', '-9999px');
-};
-
-Popups.Popup.prototype.show = function() {
-  Popups.resizeAndCenter(this);
-};
-
-Popups.Popup.prototype.open = function(title, body, buttons, width){
-  return Popups.open(this, title, body, buttons, width);
-};
-
-Popups.Popup.prototype.removePopup = function() { 
-  Popups.removePopup(this);
-}; 
-
-/**
- * Remove everything.
- */
-Popups.Popup.prototype.close = function() {
-  return Popups.close(this);
-};
-
-/**
- * Set the focus on the popups to the first visible, enabled form element, or the close link.
- */
-Popups.Popup.prototype.refocus = function() {
-  // Select the first visible enabled input element.
-  var $popup = this.$popup();
-  var $focus = $popup.find(':input:visible:enabled:first');
-  if (!$focus.length) {
-    // There is no visible enabled input element, so select the close link.
-    $focus = $popup.find('.popups-close a');
-  }
-  $focus.focus();
-};
-
-/**
- * Return a selector that will find target content on the layer that spawned this popup.
- * This is needed for the popup to do ajax updates. 
- */
-Popups.Popup.prototype.targetLayerSelector = function() {
-  if (this.parent === null) {
-    return 'body'; // Select content in the original page.
-  }
-  else {
-    return '#' + this.parent.id; // Select content in the parent popup.
-  } 
-};
-
-/**
- * Determine if we are at an end point of a form flow, or just moving from one popups to another.
- * 
- * @param path
- *   The path of the page that the form flow has moved to.
- *   This path is relative to the base_path.  
- *   Ex: node/add/story, not http://localhost/drupal6/node/add/story or drupa6/node/add/story.
- * @return bool
- */ 
-Popups.Popup.prototype.isDone = function(path) {
-//  console.log("Doing isDone for popup: " + this.id + ", now at " + path );
-  var done;
-  if (this.options.doneTest) {
-    // Test if we are at the path specified by doneTest.
-    done = (path === this.options.doneTest || path.match(this.options.doneTest));    
-  }
-  else { 
-    if (this.parent) {
-       // Test if we are back to the parent popup's path.
-      done = (path === this.parent.path);     
-//      console.log("Lookin at parent: " + this.parent.path + ". Done = " + done); 
-    }
-    else {
-       // Test if we are back to the original page's path.
-      done = (path === Popups.originalSettings.popups.originalPath);
-//      console.log("Lookin at original page: " + Popups.originalSettings.popups.originalPath + ". Done = " + done); 
-    }
-  }; 
-  return done;  
-};
-
-
-// ***************************************************************************
-// Popups Functions **********************************************************
-// ***************************************************************************
-
-/**
- * Test if the param has been set. 
- * Used to distinguish between a value set to null or false and on not yet unset.
- */
-Popups.isset = function(v) {
-  return (typeof(v) !== 'undefined');
-};
-
-/**
- * Get the currently active popup in the page.
- * Currently it is the only one visible, but that could change.
- */
-Popups.activePopup = function() {
-  if (Popups.popupStack.length) {
-    return Popups.popupStack[Popups.popupStack.length - 1]; // top of stack.
-  }
-  else {
-    return null;
-  }
-};
-
-/**
- * Manage the page wide popupStack.
- */
-Popups.push = function(popup) {
-  Popups.popupStack.push(popup);
-};
-// Should I integrate this with popupRemove??
-Popups.pop = function(popup) {
-  return Popups.popupStack.pop();
-};
-
-/**
- * Build an options hash from defaults.
- * 
- * @param overrides
- *   Hash of values to override the defaults.
- */
-Popups.options = function(overrides) {
-  var defaults = Popups.defaultOptions;
-  return Popups.overrideOptions(defaults, overrides);  
-}
-
-/**
- * Build an options hash.  
- * Also maps deprecated options to current options.
- * 
- * @param defaults
- *   Hash of default values
- * @param overrides
- *   Hash of values to override the defaults with.
- */
-Popups.overrideOptions = function(defaults, overrides) {
-  var options = {};
-  for(var option in defaults) {
-    var value;
-    if (Popups.isset(overrides[option])) {
-      options[option] = overrides[option];
-    }
-    else {     
-      options[option] = defaults[option];
-    }
-  }
-  // Map deprecated options.
-  if (overrides['noReload'] || overrides['noUpdate']) {
-    options['updateMethod'] = 'none';
-  } 
-  if (overrides['reloadWhenDone']) {
-    options['updateMethod'] = 'reload';
-  } 
-  if (overrides['afterSubmit']) {
-    options['updateMethod'] = 'callback';
-    options['onUpdate'] = overrides['afterSubmit'];
-  } 
-  if (overrides['forceReturn']) {
-    options['doneTest'] = overrides['forceReturn'];
-  } 
-  return options;
-}
-
-/**
- * Attach the popups behavior to all elements inside the context that match the selector.
- *
- * @param context
- *   Chunk of html to search.
- * @param selector
- *   jQuery selector for elements to attach popups behavior to.
- * @param options
- *   Hash of options associated with these links.
- */
-Popups.attach = function(context, selector, options) {
-//  console.log(options);
-  $(selector, context).not('.popups-processed').each(function() {
-    var $element = $(this);  
-    
-    // Mark the element as processed.    
-    $element.addClass('popups-processed');
-    
-    // Append note to link title.
-    var title = '';
-    if ($element.attr('title')) {
-      title = $element.attr('title') + ' ';
-    }
-    title += Drupal.t('[Popup]');
-    $element.attr('title', title); 
-    
-    // Attach the on-click popup behavior to the element.
-    $element.click(function(event){
-      return Popups.clickPopupElement(this, options);
-    });
-  });
-};    
-
-/**
- * Respond to click by opening a popup.
- * 
- * @param element
- *   The element that was clicked.
- * @param options
- *   Hash of options associated with the element.
- */
-Popups.clickPopupElement = function(element, options) {
-  Popups.saveSettings();
-  
-  // If the element contains a on-popups-options attribute, override default options param.
-  if ($(element).attr('on-popups-options')) {
-    var overrides = Drupal.parseJson($(element).attr('on-popups-options')); 
-    options = Popups.overrideOptions(options, overrides);
-  }
-	
-  // The parent of the new popup is the currently active popup.
-  var parent = Popups.activePopup();
-  
-  // If the option is distructive, check if the page is already modified, and offer to save.
-  var willModifyOriginal = !(options.updateMethod === 'none' || options.skipDirtyCheck);
-  if (willModifyOriginal && Popups.activeLayerIsEdited()) {
-    // The user will lose modifications, so show dialog offering to save current state.
-    Popups.offerToSave(element, options, parent);
-  }
-  else {
-    // Page is clean, or popup is safe, so just open it.
-    Popups.openPath(element, options, parent);
-  }
-  return false; 
-};
-
-/**
- * Test if the active layer been edited.
- * Active layer is either the original page, or the active Popup.
- */
-Popups.activeLayerIsEdited = function() {
-  var layer = Popups.activePopup();
-  var $context = Popups.getLayerContext(layer);
-  // TODO: better test for edited page, maybe capture change event on :inputs.   
-  var edited = $context.find('span.tabledrag-changed').length;  
-  return edited;
-}
-
-/**
- * Show dialog offering to save form on parent layer.
- * 
- * @param element
- *   The DOM element that was clicked.
- * @param options
- *   The options associated with that element.
- * @param parent
- *   The layer that has the unsaved edits.  Null means the underlying page.
- */
-Popups.offerToSave = function(element, options, parent) {
-  var popup = new Popups.Popup();
-  var body = Drupal.t("There are unsaved changes in the form, which you will lose if you continue.");
-  var buttons = {
-   'popup_save': {title: Drupal.t('Save Changes'), func: function(){Popups.saveFormOnLayer(element, options, parent);}},
-   'popup_submit': {title: Drupal.t('Continue'), func: function(){popup.removePopup(); Popups.openPath(element, options, parent);}},
-   'popup_cancel': {title: Drupal.t('Cancel'), func: function(){popup.close();}}
-  };
-  popup.open(Drupal.t('Warning: Please Confirm'), body, buttons);  
-};
-
-/**
- * Generic dialog builder.
- * Adds the newly built popup into the DOM.
- * 
- * TODO: capture the focus if it tabs out of the dialog.
- *
- * @param popup
- *   Popups.Popup object to fill with content, place in the DOM, and show on the screen.
- * @param String title
- *   String: title of new dialog.
- * @param body (optional)
- *   String: body of new dialog.
- * @param buttons (optional)
- *   Hash of button parameters.
- * @param width (optional)
- *   Width of new dialog.
- *   
- * @return popup object
- */
-Popups.open = function(popup, title, body, buttons, width){
-  Popups.addOverlay();
-  
-  if (Popups.activePopup()) {
-    // Hiding previously active popup.
-    Popups.activePopup().hide();
-  }
-  
-  if (!popup) {
-    // Popup object was not handed in, so create a new one.
-    popup = new Popups.Popup();
-  }
-  Popups.push(popup); // Put this popup at the top of the stack.
-
-  // Create the jQuery wrapped html for the new popup.
-  var $popup = popup.fill(title, body, buttons);
-  popup.hide(); // Hide the new popup until it is finished and sized.
-
-  if (width) {
-    $popup.css('width', width);
-  }
-  
-  // Add the new popup to the DOM.
-  $('body').append($popup); 
-
-  // Add button function callbacks.
-  if (buttons) {
-    jQuery.each(buttons, function(id, button){
-      $('#' + id).click(button.func);
-    });
-  }
-    
-  // Add the default click-to-close behavior.
-  popup.$popupClose().click(function(){
-    return Popups.close(popup);
-  });
-
-  Popups.resizeAndCenter(popup);
-
-  // Focus on the first input element in the popup window.
-  popup.refocus(); 
-  
-  // TODO - this isn't the place for this - should mirror addLoading calls.
-  // Remove the loading image.
-  Popups.removeLoading();
-   
-  return popup;
-};  
-
-/**
- * Adjust the popup's height to fit it's content.
- * Move it to be centered on the screen.
- * This undoes the effects of popup.hide().
- * 
- * @param popup
- */
-Popups.resizeAndCenter = function(popup) {
-  var $popup = popup.$popup();
-  
-  // center on the screen, adding in offsets if the window has been scrolled
-  var popupWidth = $popup.width();  
-  var windowWidth = Popups.windowWidth();
-  var left = (windowWidth / 2) - (popupWidth / 2) + Popups.scrollLeft();
-  
-  // Get popups's height on the page.
-  $popup.css('height', 'auto'); // Reset height.
-  var popupHeight = $popup.height(); 
-  $popup.height(popupHeight);
-  var windowHeight = Popups.windowHeight();
-   
-  if (popupHeight > (0.9 * windowHeight) ) { // Must fit in 90% of window.
-    popupHeight = 0.9 * windowHeight;
-    $popup.height(popupHeight);
-  }  
-  var top = (windowHeight / 2) - (popupHeight / 2) + Popups.scrollTop();
-
-  $popup.css('top', top).css('left', left); // Position the popups to be visible. 
-};
-  
-
-/**
- *  Create and show a simple popup dialog that functions like the browser's alert box.
- */
-Popups.message = function(title, message) {
-  message = message || '';
-  var popup = new Popups.Popup();
-  var buttons = {
-    'popup_ok': {title: Drupal.t('OK'), func: function(){popup.close();}}
-  };
-  popup.open(title, message, buttons);
-  return popup;
-};
-
-/**
- * Handle any special keys when popups is active.
- */
-Popups.keyHandle = function(e) {
-  if (!e) {
-    e = window.event;
-  }
-  switch (e.keyCode) {
-    case 27: // esc
-      Popups.close();
-      break;
-    case 191: // '?' key, show help.
-      if (e.shiftKey && e.ctrlKey) {
-        var $help = $('a.popups.more-help');
-        if ($help.size()) {
-          $help.click();
-        }
-        else {
-          Popups.message(Drupal.t("Sorry, there is no additional help for this page"));
-        }
-      }
-      break;
-  }
-};
-
-/*****************************************************************************
- * Appearence Functions (overlay, loading graphic, remove popups)     *********
- *****************************************************************************/
- 
-/**
- * Add full page div between the page and the dialog, to make the popup modal.
- */
-Popups.addOverlay = function() {
-  var $overlay = $('#popups-overlay');
-  if (!$overlay.length) { // Overlay does not already exist, so create it.
-    $overlay = $(Drupal.theme('popupOverlay'));
-    $overlay.css('opacity', '0.4'); // for ie6(?)
-    // Doing absolute positioning, so make overlay's size equal the entire body.
-    var $doc = $(document);
-    $overlay.width($doc.width()).height($doc.height()); 
-    $overlay.click(function(){Popups.close();});
-    $('body').prepend($overlay);
-  }
-};
-
-/**
- * Remove overlay if popupStack is empty.
- */
-Popups.removeOverlay = function() {
-  if (!Popups.popupStack.length) {
-    $('#popups-overlay').remove();
-  }
-};
-
-/**
- * Add a "Loading" message while we are waiting for the ajax response.
- */
-Popups.addLoading = function() {
-  var $loading = $('#popups-loading');
-  if (!$loading.length) { // Loading image does not already exist, so create it.
-    $loading = $(Drupal.theme('popupLoading'));
-    $('body').prepend($loading); // Loading div is initially display:none.
-    var width = $loading.width();
-    var height = $loading.height();
-    var left = (Popups.windowWidth() / 2) - (width / 2) + Popups.scrollLeft();
-    var top = (Popups.windowHeight() / 2) - (height / 2) + Popups.scrollTop();
-    $loading.css({'top': top, 'left': left, 'display': 'block'}); // Center it and make it visible.
-  }
-};
-
-Popups.removeLoading = function() {
-  $('#popups-loading').remove();
-};
-
-// Should I fold this function into Popups.pop?
-Popups.removePopup = function(popup) {  
-//  console.log("Popups.removePopup: " + popup);
-  if (!Popups.isset(popup)) {
-    popup = Popups.activePopup();
-  }
-  if (popup) {
-//    console.log('removing '+popup.id);
-    popup.$popup().remove();
-//    Popups.popupStack.splice(Popups.popupStack.indexOf(popup), 1); // Remove popup from stack.  Probably should rework into .pop()
-    Popups.popupStack.pop();
-  }  
-//  else {
-//    console.log("Popups.removePopup - there is no popup to remove.");
-//  }
-}; 
-
-/**
- * Remove everything.
- */
-Popups.close = function(popup) {
-  if (!Popups.isset(popup)) {
-    popup = Popups.activePopup();
-  }
-  Popups.removePopup(popup);  // Should this be a pop??
-  Popups.removeLoading();
-  if (Popups.activePopup()) {
-    Popups.activePopup().show();
-    Popups.activePopup().refocus();
-  }
-  else {
-    Popups.removeOverlay();
-    Popups.restorePage();
-  }
-  return false;
-};
-
-/**
- * Save the page's original Drupal.settings.
- */
-Popups.saveSettings = function() {
-  if (!Popups.originalSettings) {
-    Popups.originalSettings = Drupal.settings;
-  }
-};
-
-/**
- * Restore the page's original Drupal.settings.
- */
-Popups.restoreSettings = function() {
-  Drupal.settings = Popups.originalSettings;  
-};
-
-/**
- * Remove as much of the effects of jit loading as possible.
- */
-Popups.restorePage = function() {
-  Popups.restoreSettings();
-  // Remove the CSS files that were jit loaded for popup.
-  for (var i in Popups.addedCSS) {
-    var link = Popups.addedCSS[i];
-    $('link[href='+ $(link).attr('href') + ']').remove();
-  }
-  Popups.addedCSS = [];
-};
-
-
-/****************************************************************************
- * Utility Functions   ******************************************************
- ****************************************************************************/
-
-/**
- * Get the position of the left side of the browser window.
- */
-Popups.scrollLeft = function() {
-  return Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
-};
-
-/**
- * Get the position of the top of the browser window.
- */
-Popups.scrollTop = function() {
-  return Math.max(document.documentElement.scrollTop, document.body.scrollTop);
-};
-
-/**
- * Get the height of the browser window.
- * Fixes jQuery & Opera bug - http://drupal.org/node/366093
- */
-Popups.windowHeight = function() {
-  if ($.browser.opera && $.browser.version > "9.5" && $.fn.jquery <= "1.2.6") { 
-    return document.documentElement.clientHeight;
-  }
-  return $(window).height();
-};
-
-/**
- * Get the height of the browser window.
- * Fixes jQuery & Opera bug - http://drupal.org/node/366093
- */
-Popups.windowWidth = function() {
-  if ($.browser.opera && $.browser.version > "9.5" && $.fn.jquery <= "1.2.6") { 
-    return document.documentElement.clientWidth;
-  }
-  return $(window).width();
-};
-
-Popups.nextCounter = function() {
-  if (this.counter === undefined) {
-    this.counter = 0;
-  }
-  else {
-    this.counter++;
-  }
-  return this.counter;
-};
-
-/****************************************************************************
- * Ajax Functions   ******************************************************
- ****************************************************************************/
-
-/**
- * Add additional CSS to the page.
- */
-Popups.addCSS = function(css) {
-  Popups.addedCSS = [];
-  for (var type in css) {
-    for (var file in css[type]) {
-      var link = css[type][file];
-      // Does the page already contain this stylesheet?
-      if (!$('link[href='+ $(link).attr('href') + ']').length) {
-        $('head').append(link);
-        Popups.addedCSS.push(link); // Keep a list, so we can remove them later.
-      }
-    }
-  }
-};
-
-/**
- * Add additional Javascript to the page.
- */
-Popups.addJS = function(js) {
-  // Parse the json info about the new context.
-  var scripts = [];
-  var inlines = [];
-  for (var type in js) {
-    if (type != 'setting') {
-      for (var file in js[type]) {
-        if (type == 'inline') {
-          inlines.push($(js[type][file]).text());
-        }
-        else {
-          scripts.push($(js[type][file]).attr('src'));
-        }
-      }
-    }
-  }
-
-  // Add new JS settings to the page, needed for #ahah properties to work.
-  Drupal.settings = js.setting;
-//  console.log('js.setting...');
-//  console.log(js.setting);
-
-  for (var i in scripts) {
-    var src = scripts[i];
-    if (!$("script[src='"+ src + "']").length && !Popups.addedJS[src]) {
-      // Get the script from the server and execute it.
-      $.ajax({ 
-        type: 'GET',
-        url: src,
-        dataType: 'script',
-        async : false,
-        success: function(script) {
-          eval(script);
-        }
-      });
-      // Mark the js as added to the underlying page.
-      Popups.addedJS[src] = true;
-    }
-  }
-
-  return inlines;
-};
-
-/**
- * Execute the jit loaded inline scripts.
- * Q: Do we want to re-excute the ones already in the page?
- * 
- * @param inlines
- *   Array of inline scripts.
- */
-Popups.addInlineJS = function(inlines) {
-  // Load the inlines into the page.
-  for (var n in inlines) {
-    // If the script is not already in the page, execute it.
-    if (!$('script:not([src]):contains(' + inlines[n] + ')').length) {
-      eval(inlines[n]);
-    }
-  }
-};
-
-Popups.beforeSend = function(xhr) {
-  xhr.setRequestHeader("X-Drupal-Render-Mode", 'json/popups');
-};
-
-/**
- * Do before the form in the popups is submitted.
- */
-Popups.beforeSubmit = function(formData, $form, options) {
-  Popups.removePopup(); // Remove just the dialog, but not the overlay.
-  Popups.addLoading();
-};
-
-
-/****************************************************************************
- * Page & Form in popups functions                                         ***
- ****************************************************************************/
-
-/**
- * Use Ajax to open a link in a popups window.
- *
- * @param element
- *   Element that was clicked to open the popups.
- * @param options
- *   Hash of options controlling how the popups interacts with the underlying page.
- * @param parent
- *   If path is being opened from inside another popup, that popup is the parent.
- */
-Popups.openPath = function(element, options, parent) {
-  Popups.saveSettings();
-
-  // Let the user know something is happening.
-  $('body').css("cursor", "wait");
-  
-  // TODO - get nonmodal working.
-  if (!options.nonModal) {
-    Popups.addOverlay(); 
-  }
-  Popups.addLoading();
-  
-  var href = options.href ? options.href : element.href;
-  $(document).trigger('popups_open_path', [element, href]); // Broadcast Popup Open Path event.
-  
-  var params = {}; 
-  // Force the popups to return back to the orignal page when forms are done, unless hijackDestination option is set to FALSE.
-  if (options.hijackDestination) { 
-    var returnPath;
-    if (parent) {
-      returnPath = parent.path;
-//      console.log('Popup parent is ...');
-//      console.log(parent);
-    }
-    else { // No parent, so bring flow back to original page.
-      returnPath = Popups.originalSettings.popups.originalPath;
-    }    
-    href = href.replace(/destination=[^;&]*[;&]?/, ''); // Strip out any existing destination param.
-//    console.log("Hijacking destination to " + returnPath);
-    params.destination = returnPath; // Set the destination to return to the parent's path.    
-  }
-
-  var ajaxOptions = {
-    url: href,
-    dataType: 'json',
-    data: params,
-    beforeSend: Popups.beforeSend,
-    success: function(json) { 
-      // Add additional CSS to the page.
-      Popups.addCSS(json.css);
-      var inlines = Popups.addJS(json.js);
-      var popup = Popups.openPathContent(json.path, json.title, json.messages + json.content, element, options, parent);
-      Popups.addInlineJS(inlines);   
-      // Broadcast an event that the path was opened.
-      $(document).trigger('popups_open_path_done', [element, href, popup]);  
-    },
-    complete: function() {
-      $('body').css("cursor", "auto"); // Return the cursor to normal state.      
-    }
-  };
-
-  var ajaxOptions;
-  if (options.reloadOnError) {
-    ajaxOptions.error = function() {
-      location.reload(); // Reload on error. Is this working?
-    };    
-  }
-  else {
-    ajaxOptions.error = function() {
-      Popups.message("Unable to open: " + href);
-    };
-  }
-  $.ajax(ajaxOptions);
-        
-  return false;         
-};
-
-/**
- * Open path's content in an ajax popups.
- *
- * @param title
- *   String title of the popups.
- * @param content
- *   HTML to show in the popups.
- * @param element
- *   A DOM object containing the element that was clicked to initiate the popup. 
- * @param options
- *   Hash of options controlling how the popups interacts with the underlying page.
- * @param parent
- *   Spawning popup, or null if spawned from original page. 
- */
-Popups.openPathContent = function(path, title, content, element, options, parent) {  
-  var popup = new Popups.Popup();
-  Popups.open(popup, title, content, null, options.width); 
-
-  // Set properties on new popup.  
-  popup.parent = parent;
-  popup.path = path;
-//  console.log("Setting popup " + popup.id + " originalPath to " + path);
-  popup.options = options;
-  popup.element = element;
-
-  // Add behaviors to content in popups. 
-  delete Drupal.behaviors.tableHeader; // Work-around for bug in tableheader.js (http://drupal.org/node/234377)
-  delete Drupal.behaviors.teaser; // Work-around for bug in teaser.js (sigh).
-  Drupal.attachBehaviors(popup.$popupBody());
-  // Adding collapse moves focus.
-  popup.refocus();
-
-  // If the popups contains a form, capture submits.
-  var $form = $('form:not(.no-popup)', popup.$popupBody());
-  if ($form.length) {
-    $form.ajaxForm({   
-      dataType: 'json',   
-      iframe: false,
-      beforeSubmit: Popups.beforeSubmit,
-      beforeSend: Popups.beforeSend,
-      success: function(json, status) {
-        Popups.formSuccess(popup, json);
-      },
-      error: function() {
-        Popups.message(Drupal.t("Bad Response form submission"));
-      }
-    });
-  }
-  return popup;
-};
-
-/**
- * The form in the popups was successfully submitted
- * Update the originating page.
- * Show any messages in a popups.
- * 
- * @param popup
- *   The popup object that contained the form that was just submitted.
- * @param data
- *   JSON object from server with status of form submission.
- */
-Popups.formSuccess = function(popup, data) {    
-  // Determine if we are at an end point, or just moving from one popups to another.
-  var done = popup.isDone(data.path);
-  if (!done) { // Not done yet, so show new page in new popups.
-    Popups.removeLoading();
-    Popups.openPathContent(data.path, data.title, data.messages + data.content, popup.element, popup.options, popup.parent);
-  }
-  else { // We are done with popup flow.
-    // Execute the onUpdate callback if available.
-    if (popup.options.updateMethod === 'callback' && popup.options.onUpdate) { 
-      var result = eval(popup.options.onUpdate +'(data, popup.options, popup.element)');
-      if (result === false) { // Give onUpdate callback a chance to skip normal processing.
-        return;
-      }
-    }
-
-    if (popup.options.updateMethod === 'reload') { // Force a complete, non-ajax reload of the page.
-      if (popup.options.updateSource === 'final') {
-        location.href = Drupal.settings.basePath + data.path; // TODO: Need to test this.
-      }
-      else { // Reload originating page.
-        location.reload(); 
-      }
-    }
-    else { // Normal, targeted ajax, reload behavior.
-      // Show messages in dialog and embed the results in the original page.
-      var showMessage = data.messages.length && !popup.options.noMessage;
-      if (showMessage) {
-        var messagePopup = Popups.message(data.messages); // Popup message.
-        if (Popups.originalSettings.popups.autoCloseFinalMessage) {
-          setTimeout(function(){Popups.close(messagePopup);}, 2500); // Autoclose the message box in 2.5 seconds.
-        }
-  
-        // Insert the message into the page above the content.
-        // Might not be the standard spot, but it is the easiest to find.
-        var $next;
-        if (popup.targetLayerSelector() === 'body') {
-          $next = $('body').find(Popups.originalSettings.popups.defaultTargetSelector);
-        }
-        else {
-          $next = $(popup.targetLayerSelector()).find('.popups-body');
-        }
-        $next.parent().find('div.messages').remove(); // Remove the existing messages.
-        $next.before(data.messages); // Insert new messages.
-      }
-          
-      // Update the content area (defined by 'targetSelectors').
-      if (popup.options.updateMethod !== 'none') { 
-        Popups.testContentSelector(); // Kick up warning message if selector is bad.
-
-        Popups.restoreSettings(); // Need to restore original Drupal.settings.popups.links before running attachBehaviors.  This probably has CSS side effects!        
-        if (popup.options.targetSelectors) { // Pick and choose what returned content goes where.
-          jQuery.each(popup.options.targetSelectors, function(t_new, t_old) {
-            if(!isNaN(t_new)) {
-              t_new = t_old; // handle case where targetSelectors is an array, not a hash.
-            }
-//            console.log("Updating target " + t_old + ' with ' + t_new);
-            var new_content = $(t_new, data.content);
-//            console.log("new content... ");
-//            console.log(new_content);
-            var $c = $(popup.targetLayerSelector()).find(t_old).html(new_content); // Inject the new content into the original page.
-
-            Drupal.attachBehaviors($c);
-          });
-        }
-        else { // Put the entire new content into default content area.
-          var $c = $(popup.targetLayerSelector()).find(Popups.originalSettings.popups.defaultTargetSelector).html(data.content);
-//          console.log("updating entire content area.")
-          Drupal.attachBehaviors($c);                    
-        }
-      }
-      
-      // Update the title of the page.
-      if (popup.options.titleSelectors) {
-        jQuery.each(popup.options.titleSelectors, function() {
-          $(''+this).html(data.title);
-        });
-      }
-              
-      // Done with changes to the original page, remove effects.
-      Popups.removeLoading();
-      if (!showMessage) { 
-        // If there is not a messages popups, close current layer.
-        Popups.close();
-      }
-    }
-    
-    // Broadcast an event that popup form was done and successful.
-    $(document).trigger('popups_form_success', [popup]);
-    
-  }  // End of updating spawning layer.
-}; 
-
-
-/**
- * Get a jQuery object for the content of a layer.
- * @param layer
- *   Either a popup, or null to signify the original page.
- */
-Popups.getLayerContext = function(layer) {  
-  var $context;
-  if (!layer) {
-    $context = $('body').find(Popups.originalSettings.popups.defaultTargetSelector);
-  }
-  else {
-    $context = layer.$popupBody();
-  }
-  return $context;
-}
-
-/**
- * Submit the page and reload the results, before popping up the real dialog.
- *
- * @param element
- *   Element that was clicked to open a new popup.
- * @param options
- *   Hash of options controlling how the popups interacts with the underlying page.
- * @param layer
- *   Popup with form to save, or null if form is on original page. 
- */
-Popups.saveFormOnLayer = function(element, options, layer) {
-  var $context = Popups.getLayerContext(layer);
-  var $form = $context.find('form');
-  var ajaxOptions = {
-    dataType: 'json',
-    beforeSubmit: Popups.beforeSubmit,   
-    beforeSend: Popups.beforeSend,
-    success: function(response, status) { 
-      // Sync up the current page contents with the submit.
-      var $c = $context.html(response.content); // Inject the new content into the page.
-      Drupal.attachBehaviors($c);
-      // The form has been saved, the page reloaded, now safe to show the triggering link in a popup.
-      Popups.openPath(element, options, layer); 
-    } 
-  };
-  $form.ajaxSubmit(ajaxOptions); // Submit the form. 
-};
-
-/**
- * Warn the user if ajax updates will not work
- *   due to mismatch between the theme and the theme's popup setting.
- */
-Popups.testContentSelector = function() {
-  var target = Popups.originalSettings.popups.defaultTargetSelector;
-  var hits = $(target).length;
-  if (hits !== 1) { // 1 is the corrent answer.
-    var msg = Drupal.t('The popup content area for this theme is misconfigured.') + '\n';
-    if (hits === 0) {
-      msg += Drupal.t('There is no element that matches ') + '"' + target + '"\n';
-    }
-    else if (hits > 1) {
-      msg += Drupal.t('There are multiple elements that match: ') + '"' + target + '"\n';
-    }
-    msg += Drupal.t('Go to admin/build/themes/settings, select your theme, and edit the "Content Selector" field'); 
-    alert(msg);
-  }
-};
-
-
-// ****************************************************************************
-// * Theme Functions   ********************************************************
-// ****************************************************************************
-
-Drupal.theme.prototype.popupLoading = function() {
-  var loading = '<div id="popups-loading">';
-  loading += '<img src="'+ Drupal.settings.basePath + Popups.originalSettings.popups.modulePath + '/ajax-loader.gif" />';
-  loading += '</div>';
-  return loading;
-};
-
-Drupal.theme.prototype.popupOverlay = function() {
-  return '<div id="popups-overlay"></div>';
-};
-
-Drupal.theme.prototype.popupButton = function(title, id) {
-  return '<input type="button" value="'+ title +'" id="'+ id +'" />';
-};
-
-Drupal.theme.prototype.popupDialog = function(popupId, title, body, buttons) {
-  var template = Drupal.theme('popupTemplate', popupId);
-  var popups = template.replace('%title', title).replace('%body', body);
-  
-  var themedButtons = '';
-  if (buttons) {
-    jQuery.each(buttons, function (id, button) { 
-      themedButtons += Drupal.theme('popupButton', button.title, id);
-    });  
-  }  
-  popups = popups.replace('%buttons', themedButtons);  
-  return popups;
-};
-
-Drupal.theme.prototype.popupTemplate = function(popupId) {
-  var template;
-  template += '<div id="'+ popupId + '" class="popups-box">';
-  template += '  <div class="popups-title">';
-  template += '    <div class="popups-close"><a href="#">' + Drupal.t('Close') + '</a></div>';
-  template += '    <div class="title">%title</div>';
-  template += '    <div class="clear-block"></div>';
-  template += '  </div>';
-  template += '  <div class="popups-body">%body</div>';
-  template += '  <div class="popups-buttons">%buttons</div>';
-  template += '  <div class="popups-footer"></div>';
-  template += '</div>';
-  return template;
-};
-
+// $Id: popups.js,v 1.9.8.12 2009/03/21 00:57:15 starbow Exp $
+
+/**
+ * Popup Modal Dialog API
+ *
+ * Provide an API for building and displaying JavaScript, in-page, popups modal dialogs.
+ * Modality is provided by a fixed, semi-opaque div, positioned in front of the page contents.
+ *
+ */
+
+/*
+ * TODO
+ * * Return key in add node form not working.
+ * * Tabledrag breaking after ahah reload.
+ */
+
+// ***************************************************************************
+// DRUPAL Namespace
+// ***************************************************************************
+
+/**
+ * Attach the popups bevior to the all the requested links on the page.
+ *
+ * @param context
+ *   The jQuery object to apply the behaviors to.
+ */
+
+Drupal.behaviors.popups = function(context) {
+  Popups.saveSettings();
+  
+  var $body = $('body');
+  if(!$body.hasClass('popups-processed')) {
+    $body.addClass('popups-processed');
+    $(document).bind('keydown', Popups.keyHandle);
+    var $popit = $('#popit');
+    if ($popit.length) {
+      $popit.remove();
+      Popups.message($popit.html());
+    }
+  }
+  
+  // Add the popups-link-in-dialog behavior to links defined in Drupal.settings.popups.links array.
+  // Get these from current Drupal.settings, not Popups.originalSettings, as each page has it's own hooks.
+  if (Drupal.settings.popups && Drupal.settings.popups.links) {
+    jQuery.each(Drupal.settings.popups.links, function (link, options) { 
+      Popups.attach(context, link, Popups.options(options));
+    });
+  }
+  
+  Popups.attach(context, '.popups', Popups.options({updateMethod: 'none'}));  
+  Popups.attach(context, '.popups-form', Popups.options({updateMethod: 'ajax'})); // ajax reload.
+  Popups.attach(context, '.popups-form-reload', Popups.options({updateMethod: 'reload'})); // whole page reload. 
+  Popups.attach(context, '.popups-form-noupdate', Popups.options({updateMethod: 'none'}));  // no reload at all.
+};
+
+// ***************************************************************************
+// Popups Namespace **********************************************************
+// ***************************************************************************
+/**
+ * The Popups namespace contains:
+ * * An ordered stack of Popup objects,
+ * * The state of the original page,
+ * * Functions for managing both of the above.
+ */
+Popups = function(){};
+
+/**
+ * Static variables in the Popups namespace.
+ */
+Popups.popupStack = []; 
+Popups.addedCSS = [];
+Popups.addedJS = [];
+Popups.originalSettings = null; // The initial popup options of the page.
+/**
+ * Each popup object gets it's own set of options.
+ * These are the defaults.
+ */
+Popups.defaultOptions = {
+  doneTest: null, // null, *path*, *regexp*. how do we know when a multiform flow is done?
+  updateMethod: 'ajax', // none, ajax, reload, callback
+  updateSource: 'initial', // initial, final. Only used if updateMethod != none.
+  href: null, 
+  width: null, // Override the width specified in the css.
+  targetSelectors: null, // Hash of jQuery selectors that define the content to be swapped out.
+  titleSelectors: null, // Array of jQuery selectors to place the new page title.
+  reloadOnError: false, // Force the entire page to reload if the popup href is unaccessable.
+  noMessage: false, // Don't show drupal_set_message messages.   
+  skipDirtyCheck: false, // If true, this popup will not check for edits on the originating page.  
+  hijackDestination: true, // Use the destiination param to force a form submit to return to the originating page. 
+  onUpdate: null // Callback used for the updateMethod: 'callback' type
+};
+
+// ***************************************************************************
+// Popups.Popup Object *******************************************************
+// ***************************************************************************
+/**
+ * A Popup is a single modal dialog.
+ * The popup object encapslated all the info about a single popup.
+ */
+Popups.Popup = function() {
+  this.id = 'popups-' + Popups.nextCounter();
+  
+  // These properties are needed if the popup contains a form that will be ajax submitted.
+  this.parent = null; // The popup that spawned this one. If parent is null, this popup was spawned by the original page.
+  this.path = null; // If popup is showing content from a url, this is that path.
+  this.element = null; // The DOM element that was clicked to launch this popup.
+  this.options = null; // An option array that control how the popup behaves.  See Popups.defaultOptions for explainations.
+};
+Popups.Popup.prototype.$popup = function() {
+  return $('#' + this.id);
+};
+Popups.Popup.prototype.$popupBody = function() {
+  return $('#' + this.id + ' .popups-body');
+};
+Popups.Popup.prototype.$popupClose = function() {
+  return $('#' + this.id + ' .popups-close');
+};
+Popups.Popup.prototype.$popupTitle = function() {
+  return $('#' + this.id + ' .popups-title');
+};
+Popups.Popup.prototype.$popupButtons = function() {
+  return $('#' + this.id + ' .popups-buttons');
+};
+Popups.Popup.prototype.$popupFooter = function() {
+  return $('#' + this.id + ' .popups-footer');
+};
+
+/**
+ * Create the jQuery wrapped html at the heart of the popup object.
+ * 
+ * @param title
+ *   String
+ * @param body
+ *   String/HTML
+ * @param buttons
+ *   Hash/Object
+ * @return
+ *   The $popup.
+ */
+Popups.Popup.prototype.fill = function(title, body, buttons) {
+  return $(Drupal.theme('popupDialog', this.id, title, body, buttons));
+}
+
+/**
+ * Hide the popup by pushing it off to the side. 
+ * Just making it display:none causes flash in FF2.
+ */
+Popups.Popup.prototype.hide = function() {
+  this.$popup().css('left', '-9999px');
+};
+
+Popups.Popup.prototype.show = function() {
+  Popups.resizeAndCenter(this);
+};
+
+Popups.Popup.prototype.open = function(title, body, buttons, width){
+  return Popups.open(this, title, body, buttons, width);
+};
+
+Popups.Popup.prototype.removePopup = function() { 
+  Popups.removePopup(this);
+}; 
+
+/**
+ * Remove everything.
+ */
+Popups.Popup.prototype.close = function() {
+  return Popups.close(this);
+};
+
+/**
+ * Set the focus on the popups to the first visible, enabled form element, or the close link.
+ */
+Popups.Popup.prototype.refocus = function() {
+  // Select the first visible enabled input element.
+  var $popup = this.$popup();
+  var $focus = $popup.find(':input:visible:enabled:first');
+  if (!$focus.length) {
+    // There is no visible enabled input element, so select the close link.
+    $focus = $popup.find('.popups-close a');
+  }
+  $focus.focus();
+};
+
+/**
+ * Return a selector that will find target content on the layer that spawned this popup.
+ * This is needed for the popup to do ajax updates. 
+ */
+Popups.Popup.prototype.targetLayerSelector = function() {
+  if (this.parent === null) {
+    return 'body'; // Select content in the original page.
+  }
+  else {
+    return '#' + this.parent.id; // Select content in the parent popup.
+  } 
+};
+
+/**
+ * Determine if we are at an end point of a form flow, or just moving from one popups to another.
+ * 
+ * @param path
+ *   The path of the page that the form flow has moved to.
+ *   This path is relative to the base_path.  
+ *   Ex: node/add/story, not http://localhost/drupal6/node/add/story or drupa6/node/add/story.
+ * @return bool
+ */ 
+Popups.Popup.prototype.isDone = function(path) {
+//  console.log("Doing isDone for popup: " + this.id + ", now at " + path );
+  var done;
+  if (this.options.doneTest) {
+    // Test if we are at the path specified by doneTest.
+    done = (path === this.options.doneTest || path.match(this.options.doneTest));    
+  }
+  else { 
+    if (this.parent) {
+       // Test if we are back to the parent popup's path.
+      done = (path === this.parent.path);     
+//      console.log("Lookin at parent: " + this.parent.path + ". Done = " + done); 
+    }
+    else {
+       // Test if we are back to the original page's path.
+      done = (path === Popups.originalSettings.popups.originalPath);
+//      console.log("Lookin at original page: " + Popups.originalSettings.popups.originalPath + ". Done = " + done); 
+    }
+  }; 
+  return done;  
+};
+
+
+// ***************************************************************************
+// Popups Functions **********************************************************
+// ***************************************************************************
+
+/**
+ * Test if the param has been set. 
+ * Used to distinguish between a value set to null or false and on not yet unset.
+ */
+Popups.isset = function(v) {
+  return (typeof(v) !== 'undefined');
+};
+
+/**
+ * Get the currently active popup in the page.
+ * Currently it is the only one visible, but that could change.
+ */
+Popups.activePopup = function() {
+  if (Popups.popupStack.length) {
+    return Popups.popupStack[Popups.popupStack.length - 1]; // top of stack.
+  }
+  else {
+    return null;
+  }
+};
+
+/**
+ * Manage the page wide popupStack.
+ */
+Popups.push = function(popup) {
+  Popups.popupStack.push(popup);
+};
+// Should I integrate this with popupRemove??
+Popups.pop = function(popup) {
+  return Popups.popupStack.pop();
+};
+
+/**
+ * Build an options hash from defaults.
+ * 
+ * @param overrides
+ *   Hash of values to override the defaults.
+ */
+Popups.options = function(overrides) {
+  var defaults = Popups.defaultOptions;
+  return Popups.overrideOptions(defaults, overrides);  
+}
+
+/**
+ * Build an options hash.  
+ * Also maps deprecated options to current options.
+ * 
+ * @param defaults
+ *   Hash of default values
+ * @param overrides
+ *   Hash of values to override the defaults with.
+ */
+Popups.overrideOptions = function(defaults, overrides) {
+  var options = {};
+  for(var option in defaults) {
+    var value;
+    if (Popups.isset(overrides[option])) {
+      options[option] = overrides[option];
+    }
+    else {     
+      options[option] = defaults[option];
+    }
+  }
+  // Map deprecated options.
+  if (overrides['noReload'] || overrides['noUpdate']) {
+    options['updateMethod'] = 'none';
+  } 
+  if (overrides['reloadWhenDone']) {
+    options['updateMethod'] = 'reload';
+  } 
+  if (overrides['afterSubmit']) {
+    options['updateMethod'] = 'callback';
+    options['onUpdate'] = overrides['afterSubmit'];
+  } 
+  if (overrides['forceReturn']) {
+    options['doneTest'] = overrides['forceReturn'];
+  } 
+  return options;
+}
+
+/**
+ * Attach the popups behavior to all elements inside the context that match the selector.
+ *
+ * @param context
+ *   Chunk of html to search.
+ * @param selector
+ *   jQuery selector for elements to attach popups behavior to.
+ * @param options
+ *   Hash of options associated with these links.
+ */
+Popups.attach = function(context, selector, options) {
+//  console.log(options);
+  $(selector, context).not('.popups-processed').each(function() {
+    var $element = $(this);  
+    
+    // Mark the element as processed.    
+    $element.addClass('popups-processed');
+    
+    // Append note to link title.
+    var title = '';
+    if ($element.attr('title')) {
+      title = $element.attr('title') + ' ';
+    }
+    title += Drupal.t('[Popup]');
+    $element.attr('title', title); 
+    
+    // Attach the on-click popup behavior to the element.
+    $element.click(function(event){
+      return Popups.clickPopupElement(this, options);
+    });
+  });
+};    
+
+/**
+ * Respond to click by opening a popup.
+ * 
+ * @param element
+ *   The element that was clicked.
+ * @param options
+ *   Hash of options associated with the element.
+ */
+Popups.clickPopupElement = function(element, options) {
+  Popups.saveSettings();
+  
+  // If the element contains a on-popups-options attribute, override default options param.
+  if ($(element).attr('on-popups-options')) {
+    var overrides = Drupal.parseJson($(element).attr('on-popups-options')); 
+    options = Popups.overrideOptions(options, overrides);
+  }
+	
+  // The parent of the new popup is the currently active popup.
+  var parent = Popups.activePopup();
+  
+  // If the option is distructive, check if the page is already modified, and offer to save.
+  var willModifyOriginal = !(options.updateMethod === 'none' || options.skipDirtyCheck);
+  if (willModifyOriginal && Popups.activeLayerIsEdited()) {
+    // The user will lose modifications, so show dialog offering to save current state.
+    Popups.offerToSave(element, options, parent);
+  }
+  else {
+    // Page is clean, or popup is safe, so just open it.
+    Popups.openPath(element, options, parent);
+  }
+  return false; 
+};
+
+/**
+ * Test if the active layer been edited.
+ * Active layer is either the original page, or the active Popup.
+ */
+Popups.activeLayerIsEdited = function() {
+  var layer = Popups.activePopup();
+  var $context = Popups.getLayerContext(layer);
+  // TODO: better test for edited page, maybe capture change event on :inputs.   
+  var edited = $context.find('span.tabledrag-changed').length;  
+  return edited;
+}
+
+/**
+ * Show dialog offering to save form on parent layer.
+ * 
+ * @param element
+ *   The DOM element that was clicked.
+ * @param options
+ *   The options associated with that element.
+ * @param parent
+ *   The layer that has the unsaved edits.  Null means the underlying page.
+ */
+Popups.offerToSave = function(element, options, parent) {
+  var popup = new Popups.Popup();
+  var body = Drupal.t("There are unsaved changes in the form, which you will lose if you continue.");
+  var buttons = {
+   'popup_save': {title: Drupal.t('Save Changes'), func: function(){Popups.saveFormOnLayer(element, options, parent);}},
+   'popup_submit': {title: Drupal.t('Continue'), func: function(){popup.removePopup(); Popups.openPath(element, options, parent);}},
+   'popup_cancel': {title: Drupal.t('Cancel'), func: function(){popup.close();}}
+  };
+  popup.open(Drupal.t('Warning: Please Confirm'), body, buttons);  
+};
+
+/**
+ * Generic dialog builder.
+ * Adds the newly built popup into the DOM.
+ * 
+ * TODO: capture the focus if it tabs out of the dialog.
+ *
+ * @param popup
+ *   Popups.Popup object to fill with content, place in the DOM, and show on the screen.
+ * @param String title
+ *   String: title of new dialog.
+ * @param body (optional)
+ *   String: body of new dialog.
+ * @param buttons (optional)
+ *   Hash of button parameters.
+ * @param width (optional)
+ *   Width of new dialog.
+ *   
+ * @return popup object
+ */
+Popups.open = function(popup, title, body, buttons, width){
+  Popups.addOverlay();
+  
+  if (Popups.activePopup()) {
+    // Hiding previously active popup.
+    Popups.activePopup().hide();
+  }
+  
+  if (!popup) {
+    // Popup object was not handed in, so create a new one.
+    popup = new Popups.Popup();
+  }
+  Popups.push(popup); // Put this popup at the top of the stack.
+
+  // Create the jQuery wrapped html for the new popup.
+  var $popup = popup.fill(title, body, buttons);
+  popup.hide(); // Hide the new popup until it is finished and sized.
+
+  if (width) {
+    $popup.css('width', width);
+  }
+  
+  // Add the new popup to the DOM.
+  $('body').append($popup); 
+
+  // Add button function callbacks.
+  if (buttons) {
+    jQuery.each(buttons, function(id, button){
+      $('#' + id).click(button.func);
+    });
+  }
+    
+  // Add the default click-to-close behavior.
+  popup.$popupClose().click(function(){
+    return Popups.close(popup);
+  });
+
+  Popups.resizeAndCenter(popup);
+
+  // Focus on the first input element in the popup window.
+  popup.refocus(); 
+  
+  // TODO - this isn't the place for this - should mirror addLoading calls.
+  // Remove the loading image.
+  Popups.removeLoading();
+   
+  return popup;
+};  
+
+/**
+ * Adjust the popup's height to fit it's content.
+ * Move it to be centered on the screen.
+ * This undoes the effects of popup.hide().
+ * 
+ * @param popup
+ */
+Popups.resizeAndCenter = function(popup) {
+  var $popup = popup.$popup();
+  
+  // center on the screen, adding in offsets if the window has been scrolled
+  var popupWidth = $popup.width();  
+  var windowWidth = Popups.windowWidth();
+  var left = (windowWidth / 2) - (popupWidth / 2) + Popups.scrollLeft();
+  
+  // Get popups's height on the page.
+  $popup.css('height', 'auto'); // Reset height.
+  var popupHeight = $popup.height(); 
+  $popup.height(popupHeight);
+  var windowHeight = Popups.windowHeight();
+   
+  if (popupHeight > (0.9 * windowHeight) ) { // Must fit in 90% of window.
+    popupHeight = 0.9 * windowHeight;
+    $popup.height(popupHeight);
+  }  
+  var top = (windowHeight / 2) - (popupHeight / 2) + Popups.scrollTop();
+
+  $popup.css('top', top).css('left', left); // Position the popups to be visible. 
+};
+  
+
+/**
+ *  Create and show a simple popup dialog that functions like the browser's alert box.
+ */
+Popups.message = function(title, message) {
+  message = message || '';
+  var popup = new Popups.Popup();
+  var buttons = {
+    'popup_ok': {title: Drupal.t('OK'), func: function(){popup.close();}}
+  };
+  popup.open(title, message, buttons);
+  return popup;
+};
+
+/**
+ * Handle any special keys when popups is active.
+ */
+Popups.keyHandle = function(e) {
+  if (!e) {
+    e = window.event;
+  }
+  switch (e.keyCode) {
+    case 27: // esc
+      Popups.close();
+      break;
+    case 191: // '?' key, show help.
+      if (e.shiftKey && e.ctrlKey) {
+        var $help = $('a.popups.more-help');
+        if ($help.size()) {
+          $help.click();
+        }
+        else {
+          Popups.message(Drupal.t("Sorry, there is no additional help for this page"));
+        }
+      }
+      break;
+  }
+};
+
+/*****************************************************************************
+ * Appearence Functions (overlay, loading graphic, remove popups)     *********
+ *****************************************************************************/
+ 
+/**
+ * Add full page div between the page and the dialog, to make the popup modal.
+ */
+Popups.addOverlay = function() {
+  var $overlay = $('#popups-overlay');
+  if (!$overlay.length) { // Overlay does not already exist, so create it.
+    $overlay = $(Drupal.theme('popupOverlay'));
+    $overlay.css('opacity', '0.4'); // for ie6(?)
+    // Doing absolute positioning, so make overlay's size equal the entire body.
+    var $doc = $(document);
+    $overlay.width($doc.width()).height($doc.height()); 
+    $overlay.click(function(){Popups.close();});
+    $('body').prepend($overlay);
+  }
+};
+
+/**
+ * Remove overlay if popupStack is empty.
+ */
+Popups.removeOverlay = function() {
+  if (!Popups.popupStack.length) {
+    $('#popups-overlay').remove();
+  }
+};
+
+/**
+ * Add a "Loading" message while we are waiting for the ajax response.
+ */
+Popups.addLoading = function() {
+  var $loading = $('#popups-loading');
+  if (!$loading.length) { // Loading image does not already exist, so create it.
+    $loading = $(Drupal.theme('popupLoading'));
+    $('body').prepend($loading); // Loading div is initially display:none.
+    var width = $loading.width();
+    var height = $loading.height();
+    var left = (Popups.windowWidth() / 2) - (width / 2) + Popups.scrollLeft();
+    var top = (Popups.windowHeight() / 2) - (height / 2) + Popups.scrollTop();
+    $loading.css({'top': top, 'left': left, 'display': 'block'}); // Center it and make it visible.
+  }
+};
+
+Popups.removeLoading = function() {
+  $('#popups-loading').remove();
+};
+
+// Should I fold this function into Popups.pop?
+Popups.removePopup = function(popup) {  
+//  console.log("Popups.removePopup: " + popup);
+  if (!Popups.isset(popup)) {
+    popup = Popups.activePopup();
+  }
+  if (popup) {
+//    console.log('removing '+popup.id);
+    popup.$popup().remove();
+//    Popups.popupStack.splice(Popups.popupStack.indexOf(popup), 1); // Remove popup from stack.  Probably should rework into .pop()
+    Popups.popupStack.pop();
+  }  
+//  else {
+//    console.log("Popups.removePopup - there is no popup to remove.");
+//  }
+}; 
+
+/**
+ * Remove everything.
+ */
+Popups.close = function(popup) {
+  if (!Popups.isset(popup)) {
+    popup = Popups.activePopup();
+  }
+  Popups.removePopup(popup);  // Should this be a pop??
+  Popups.removeLoading();
+  if (Popups.activePopup()) {
+    Popups.activePopup().show();
+    Popups.activePopup().refocus();
+  }
+  else {
+    Popups.removeOverlay();
+    Popups.restorePage();
+  }
+  return false;
+};
+
+/**
+ * Save the page's original Drupal.settings.
+ */
+Popups.saveSettings = function() {
+  if (!Popups.originalSettings) {
+    Popups.originalSettings = Drupal.settings;
+  }
+};
+
+/**
+ * Restore the page's original Drupal.settings.
+ */
+Popups.restoreSettings = function() {
+  Drupal.settings = Popups.originalSettings;  
+};
+
+/**
+ * Remove as much of the effects of jit loading as possible.
+ */
+Popups.restorePage = function() {
+  Popups.restoreSettings();
+  // Remove the CSS files that were jit loaded for popup.
+  for (var i in Popups.addedCSS) {
+    var link = Popups.addedCSS[i];
+    $('link[href='+ $(link).attr('href') + ']').remove();
+  }
+  Popups.addedCSS = [];
+};
+
+
+/****************************************************************************
+ * Utility Functions   ******************************************************
+ ****************************************************************************/
+
+/**
+ * Get the position of the left side of the browser window.
+ */
+Popups.scrollLeft = function() {
+  return Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
+};
+
+/**
+ * Get the position of the top of the browser window.
+ */
+Popups.scrollTop = function() {
+  return Math.max(document.documentElement.scrollTop, document.body.scrollTop);
+};
+
+/**
+ * Get the height of the browser window.
+ * Fixes jQuery & Opera bug - http://drupal.org/node/366093
+ */
+Popups.windowHeight = function() {
+  if ($.browser.opera && $.browser.version > "9.5" && $.fn.jquery <= "1.2.6") { 
+    return document.documentElement.clientHeight;
+  }
+  return $(window).height();
+};
+
+/**
+ * Get the height of the browser window.
+ * Fixes jQuery & Opera bug - http://drupal.org/node/366093
+ */
+Popups.windowWidth = function() {
+  if ($.browser.opera && $.browser.version > "9.5" && $.fn.jquery <= "1.2.6") { 
+    return document.documentElement.clientWidth;
+  }
+  return $(window).width();
+};
+
+Popups.nextCounter = function() {
+  if (this.counter === undefined) {
+    this.counter = 0;
+  }
+  else {
+    this.counter++;
+  }
+  return this.counter;
+};
+
+/****************************************************************************
+ * Ajax Functions   ******************************************************
+ ****************************************************************************/
+
+/**
+ * Add additional CSS to the page.
+ */
+Popups.addCSS = function(css) {
+  Popups.addedCSS = [];
+  for (var type in css) {
+    for (var file in css[type]) {
+      var link = css[type][file];
+      // Does the page already contain this stylesheet?
+      if (!$('link[href='+ $(link).attr('href') + ']').length) {
+        $('head').append(link);
+        Popups.addedCSS.push(link); // Keep a list, so we can remove them later.
+      }
+    }
+  }
+};
+
+/**
+ * Add additional Javascript to the page.
+ */
+Popups.addJS = function(js) {
+  // Parse the json info about the new context.
+  var scripts = [];
+  var inlines = [];
+  for (var type in js) {
+    if (type != 'setting') {
+      for (var file in js[type]) {
+        if (type == 'inline') {
+          inlines.push($(js[type][file]).text());
+        }
+        else {
+          scripts.push($(js[type][file]).attr('src'));
+        }
+      }
+    }
+  }
+
+  // Add new JS settings to the page, needed for #ahah properties to work.
+  Drupal.settings = js.setting;
+//  console.log('js.setting...');
+//  console.log(js.setting);
+
+  for (var i in scripts) {
+    var src = scripts[i];
+    if (!$("script[src='"+ src + "']").length && !Popups.addedJS[src]) {
+      // Get the script from the server and execute it.
+      $.ajax({ 
+        type: 'GET',
+        url: src,
+        dataType: 'script',
+        async : false,
+        success: function(script) {
+          eval(script);
+        }
+      });
+      // Mark the js as added to the underlying page.
+      Popups.addedJS[src] = true;
+    }
+  }
+
+  return inlines;
+};
+
+/**
+ * Execute the jit loaded inline scripts.
+ * Q: Do we want to re-excute the ones already in the page?
+ * 
+ * @param inlines
+ *   Array of inline scripts.
+ */
+Popups.addInlineJS = function(inlines) {
+  // Load the inlines into the page.
+  for (var n in inlines) {
+    // If the script is not already in the page, execute it.
+    if (!$('script:not([src]):contains(' + inlines[n] + ')').length) {
+      eval(inlines[n]);
+    }
+  }
+};
+
+Popups.beforeSend = function(xhr) {
+  xhr.setRequestHeader("X-Drupal-Render-Mode", 'json/popups');
+};
+
+/**
+ * Do before the form in the popups is submitted.
+ */
+Popups.beforeSubmit = function(formData, $form, options) {
+  Popups.removePopup(); // Remove just the dialog, but not the overlay.
+  Popups.addLoading();
+};
+
+
+/****************************************************************************
+ * Page & Form in popups functions                                         ***
+ ****************************************************************************/
+
+/**
+ * Use Ajax to open a link in a popups window.
+ *
+ * @param element
+ *   Element that was clicked to open the popups.
+ * @param options
+ *   Hash of options controlling how the popups interacts with the underlying page.
+ * @param parent
+ *   If path is being opened from inside another popup, that popup is the parent.
+ */
+Popups.openPath = function(element, options, parent) {
+  Popups.saveSettings();
+
+  // Let the user know something is happening.
+  $('body').css("cursor", "wait");
+  
+  // TODO - get nonmodal working.
+  if (!options.nonModal) {
+    Popups.addOverlay(); 
+  }
+  Popups.addLoading();
+  
+  var href = options.href ? options.href : element.href;
+  $(document).trigger('popups_open_path', [element, href]); // Broadcast Popup Open Path event.
+  
+  var params = {}; 
+  // Force the popups to return back to the orignal page when forms are done, unless hijackDestination option is set to FALSE.
+  if (options.hijackDestination) { 
+    var returnPath;
+    if (parent) {
+      returnPath = parent.path;
+//      console.log('Popup parent is ...');
+//      console.log(parent);
+    }
+    else { // No parent, so bring flow back to original page.
+      returnPath = Popups.originalSettings.popups.originalPath;
+    }    
+    href = href.replace(/destination=[^;&]*[;&]?/, ''); // Strip out any existing destination param.
+//    console.log("Hijacking destination to " + returnPath);
+    params.destination = returnPath; // Set the destination to return to the parent's path.    
+  }
+
+  var ajaxOptions = {
+    url: href,
+    dataType: 'json',
+    data: params,
+    beforeSend: Popups.beforeSend,
+    success: function(json) { 
+      // Add additional CSS to the page.
+      Popups.addCSS(json.css);
+      var inlines = Popups.addJS(json.js);
+      var popup = Popups.openPathContent(json.path, json.title, json.messages + json.content, element, options, parent);
+      Popups.addInlineJS(inlines);   
+      // Broadcast an event that the path was opened.
+      $(document).trigger('popups_open_path_done', [element, href, popup]);  
+    },
+    complete: function() {
+      $('body').css("cursor", "auto"); // Return the cursor to normal state.      
+    }
+  };
+
+  var ajaxOptions;
+  if (options.reloadOnError) {
+    ajaxOptions.error = function() {
+      location.reload(); // Reload on error. Is this working?
+    };    
+  }
+  else {
+    ajaxOptions.error = function() {
+      Popups.message("Unable to open: " + href);
+    };
+  }
+  $.ajax(ajaxOptions);
+        
+  return false;         
+};
+
+/**
+ * Open path's content in an ajax popups.
+ *
+ * @param title
+ *   String title of the popups.
+ * @param content
+ *   HTML to show in the popups.
+ * @param element
+ *   A DOM object containing the element that was clicked to initiate the popup. 
+ * @param options
+ *   Hash of options controlling how the popups interacts with the underlying page.
+ * @param parent
+ *   Spawning popup, or null if spawned from original page. 
+ */
+Popups.openPathContent = function(path, title, content, element, options, parent) {  
+  var popup = new Popups.Popup();
+  Popups.open(popup, title, content, null, options.width); 
+
+  // Set properties on new popup.  
+  popup.parent = parent;
+  popup.path = path;
+//  console.log("Setting popup " + popup.id + " originalPath to " + path);
+  popup.options = options;
+  popup.element = element;
+
+  // Add behaviors to content in popups. 
+  delete Drupal.behaviors.tableHeader; // Work-around for bug in tableheader.js (http://drupal.org/node/234377)
+  delete Drupal.behaviors.teaser; // Work-around for bug in teaser.js (sigh).
+  Drupal.attachBehaviors(popup.$popupBody());
+  // Adding collapse moves focus.
+  popup.refocus();
+
+  // If the popups contains a form, capture submits.
+  var $form = $('form:not(.no-popup)', popup.$popupBody());
+  if ($form.length) {
+    $form.ajaxForm({   
+      dataType: 'json',   
+      iframe: false,
+      beforeSubmit: Popups.beforeSubmit,
+      beforeSend: Popups.beforeSend,
+      success: function(json, status) {
+        Popups.formSuccess(popup, json);
+      },
+      error: function() {
+        Popups.message(Drupal.t("Bad Response form submission"));
+      }
+    });
+  }
+  return popup;
+};
+
+/**
+ * The form in the popups was successfully submitted
+ * Update the originating page.
+ * Show any messages in a popups.
+ * 
+ * @param popup
+ *   The popup object that contained the form that was just submitted.
+ * @param data
+ *   JSON object from server with status of form submission.
+ */
+Popups.formSuccess = function(popup, data) {    
+  // Determine if we are at an end point, or just moving from one popups to another.
+  var done = popup.isDone(data.path);
+  if (!done) { // Not done yet, so show new page in new popups.
+    Popups.removeLoading();
+    Popups.openPathContent(data.path, data.title, data.messages + data.content, popup.element, popup.options, popup.parent);
+  }
+  else { // We are done with popup flow.
+    // Execute the onUpdate callback if available.
+    if (popup.options.updateMethod === 'callback' && popup.options.onUpdate) { 
+      var result = eval(popup.options.onUpdate +'(data, popup.options, popup.element)');
+      if (result === false) { // Give onUpdate callback a chance to skip normal processing.
+        return;
+      }
+    }
+
+    if (popup.options.updateMethod === 'reload') { // Force a complete, non-ajax reload of the page.
+      if (popup.options.updateSource === 'final') {
+        location.href = Drupal.settings.basePath + data.path; // TODO: Need to test this.
+      }
+      else { // Reload originating page.
+        location.reload(); 
+      }
+    }
+    else { // Normal, targeted ajax, reload behavior.
+      // Show messages in dialog and embed the results in the original page.
+      var showMessage = data.messages.length && !popup.options.noMessage;
+      if (showMessage) {
+        var messagePopup = Popups.message(data.messages); // Popup message.
+        if (Popups.originalSettings.popups.autoCloseFinalMessage) {
+          setTimeout(function(){Popups.close(messagePopup);}, 2500); // Autoclose the message box in 2.5 seconds.
+        }
+  
+        // Insert the message into the page above the content.
+        // Might not be the standard spot, but it is the easiest to find.
+        var $next;
+        if (popup.targetLayerSelector() === 'body') {
+          $next = $('body').find(Popups.originalSettings.popups.defaultTargetSelector);
+        }
+        else {
+          $next = $(popup.targetLayerSelector()).find('.popups-body');
+        }
+        $next.parent().find('div.messages').remove(); // Remove the existing messages.
+        $next.before(data.messages); // Insert new messages.
+      }
+          
+      // Update the content area (defined by 'targetSelectors').
+      if (popup.options.updateMethod !== 'none') { 
+        Popups.testContentSelector(); // Kick up warning message if selector is bad.
+
+        Popups.restoreSettings(); // Need to restore original Drupal.settings.popups.links before running attachBehaviors.  This probably has CSS side effects!        
+        if (popup.options.targetSelectors) { // Pick and choose what returned content goes where.
+          jQuery.each(popup.options.targetSelectors, function(t_new, t_old) {
+            if(!isNaN(t_new)) {
+              t_new = t_old; // handle case where targetSelectors is an array, not a hash.
+            }
+//            console.log("Updating target " + t_old + ' with ' + t_new);
+            var new_content = $(t_new, data.content);
+//            console.log("new content... ");
+//            console.log(new_content);
+            var $c = $(popup.targetLayerSelector()).find(t_old).html(new_content); // Inject the new content into the original page.
+
+            Drupal.attachBehaviors($c);
+          });
+        }
+        else { // Put the entire new content into default content area.
+          var $c = $(popup.targetLayerSelector()).find(Popups.originalSettings.popups.defaultTargetSelector).html(data.content);
+//          console.log("updating entire content area.")
+          Drupal.attachBehaviors($c);                    
+        }
+      }
+      
+      // Update the title of the page.
+      if (popup.options.titleSelectors) {
+        jQuery.each(popup.options.titleSelectors, function() {
+          $(''+this).html(data.title);
+        });
+      }
+              
+      // Done with changes to the original page, remove effects.
+      Popups.removeLoading();
+      if (!showMessage) { 
+        // If there is not a messages popups, close current layer.
+        Popups.close();
+      }
+    }
+    
+    // Broadcast an event that popup form was done and successful.
+    $(document).trigger('popups_form_success', [popup]);
+    
+  }  // End of updating spawning layer.
+}; 
+
+
+/**
+ * Get a jQuery object for the content of a layer.
+ * @param layer
+ *   Either a popup, or null to signify the original page.
+ */
+Popups.getLayerContext = function(layer) {  
+  var $context;
+  if (!layer) {
+    $context = $('body').find(Popups.originalSettings.popups.defaultTargetSelector);
+  }
+  else {
+    $context = layer.$popupBody();
+  }
+  return $context;
+}
+
+/**
+ * Submit the page and reload the results, before popping up the real dialog.
+ *
+ * @param element
+ *   Element that was clicked to open a new popup.
+ * @param options
+ *   Hash of options controlling how the popups interacts with the underlying page.
+ * @param layer
+ *   Popup with form to save, or null if form is on original page. 
+ */
+Popups.saveFormOnLayer = function(element, options, layer) {
+  var $context = Popups.getLayerContext(layer);
+  var $form = $context.find('form');
+  var ajaxOptions = {
+    dataType: 'json',
+    beforeSubmit: Popups.beforeSubmit,   
+    beforeSend: Popups.beforeSend,
+    success: function(response, status) { 
+      // Sync up the current page contents with the submit.
+      var $c = $context.html(response.content); // Inject the new content into the page.
+      Drupal.attachBehaviors($c);
+      // The form has been saved, the page reloaded, now safe to show the triggering link in a popup.
+      Popups.openPath(element, options, layer); 
+    } 
+  };
+  $form.ajaxSubmit(ajaxOptions); // Submit the form. 
+};
+
+/**
+ * Warn the user if ajax updates will not work
+ *   due to mismatch between the theme and the theme's popup setting.
+ */
+Popups.testContentSelector = function() {
+  var target = Popups.originalSettings.popups.defaultTargetSelector;
+  var hits = $(target).length;
+  if (hits !== 1) { // 1 is the corrent answer.
+    var msg = Drupal.t('The popup content area for this theme is misconfigured.') + '\n';
+    if (hits === 0) {
+      msg += Drupal.t('There is no element that matches ') + '"' + target + '"\n';
+    }
+    else if (hits > 1) {
+      msg += Drupal.t('There are multiple elements that match: ') + '"' + target + '"\n';
+    }
+    msg += Drupal.t('Go to admin/build/themes/settings, select your theme, and edit the "Content Selector" field'); 
+    alert(msg);
+  }
+};
+
+
+// ****************************************************************************
+// * Theme Functions   ********************************************************
+// ****************************************************************************
+
+Drupal.theme.prototype.popupLoading = function() {
+  var loading = '<div id="popups-loading">';
+  loading += '<img src="'+ Drupal.settings.basePath + Popups.originalSettings.popups.modulePath + '/ajax-loader.gif" />';
+  loading += '</div>';
+  return loading;
+};
+
+Drupal.theme.prototype.popupOverlay = function() {
+  return '<div id="popups-overlay"></div>';
+};
+
+Drupal.theme.prototype.popupButton = function(title, id) {
+  return '<input type="button" value="'+ title +'" id="'+ id +'" />';
+};
+
+Drupal.theme.prototype.popupDialog = function(popupId, title, body, buttons) {
+  var template = Drupal.theme('popupTemplate', popupId);
+  var popups = template.replace('%title', title).replace('%body', body);
+  
+  var themedButtons = '';
+  if (buttons) {
+    jQuery.each(buttons, function (id, button) { 
+      themedButtons += Drupal.theme('popupButton', button.title, id);
+    });  
+  }  
+  popups = popups.replace('%buttons', themedButtons);  
+  return popups;
+};
+
+Drupal.theme.prototype.popupTemplate = function(popupId) {
+  var template;
+  template += '<div id="'+ popupId + '" class="popups-box">';
+  template += '  <div class="popups-title">';
+  template += '    <div class="popups-close"><a href="#">' + Drupal.t('Close') + '</a></div>';
+  template += '    <div class="title">%title</div>';
+  template += '    <div class="clear-block"></div>';
+  template += '  </div>';
+  template += '  <div class="popups-body">%body</div>';
+  template += '  <div class="popups-buttons">%buttons</div>';
+  template += '  <div class="popups-footer"></div>';
+  template += '</div>';
+  return template;
+};
+
--- a/web/res/metadataplayer/test/emission_fichiers/rf_player.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/rf_player.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,45 +1,45 @@
-Drupal.behaviors.rfPlayerOpeningLinks = function(context) {
-  $('a.rf-player-open:not(.rf-player-open-processed)', context).each(function () {
-    var common_settings = { 
-      height: 458,
-      width: 560,
-      top: 150,
-      left: 250,
-      windowName: 'player'
-    }
-
-    var chrome_settings = { 
-      height: 515,
-      width: 560,
-      top: 150,
-      left: 250,
-      windowName: 'player'
-    }
-
-    var chrome_settings_windows = { 
-      height: 465,
-      width: 560,
-      top: 150,
-      left: 250,
-      windowName: 'player'
-    }
-
-    var is_chrome = /chrome/.test(navigator.userAgent.toLowerCase());
-    var is_windows = /windows/.test(navigator.userAgent.toLowerCase());
-
-    if (is_chrome == false) {
-      $(this).popupWindow(common_settings);
-    }
-    else {
-      if (is_windows == false) {
-        $(this).popupWindow(chrome_settings);
-      }
-      else {
-        $(this).popupWindow(chrome_settings_windows);
-      }
-    }
-
-    // We can add the processed class
-    $(this).addClass('rf-player-open-processed');
-  });
+Drupal.behaviors.rfPlayerOpeningLinks = function(context) {
+  $('a.rf-player-open:not(.rf-player-open-processed)', context).each(function () {
+    var common_settings = { 
+      height: 458,
+      width: 560,
+      top: 150,
+      left: 250,
+      windowName: 'player'
+    }
+
+    var chrome_settings = { 
+      height: 515,
+      width: 560,
+      top: 150,
+      left: 250,
+      windowName: 'player'
+    }
+
+    var chrome_settings_windows = { 
+      height: 465,
+      width: 560,
+      top: 150,
+      left: 250,
+      windowName: 'player'
+    }
+
+    var is_chrome = /chrome/.test(navigator.userAgent.toLowerCase());
+    var is_windows = /windows/.test(navigator.userAgent.toLowerCase());
+
+    if (is_chrome == false) {
+      $(this).popupWindow(common_settings);
+    }
+    else {
+      if (is_windows == false) {
+        $(this).popupWindow(chrome_settings);
+      }
+      else {
+        $(this).popupWindow(chrome_settings_windows);
+      }
+    }
+
+    // We can add the processed class
+    $(this).addClass('rf-player-open-processed');
+  });
 };
\ No newline at end of file
--- a/web/res/metadataplayer/test/emission_fichiers/rollover.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/rollover.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,29 +1,29 @@
-  $(document).ready(function(){  
-    
-	    $('.rollover').hover(function(){
-        if($(this).attr("src").indexOf("-hover") == -1) {
-			var newSrc = $(this).attr("src").replace(".png","-hover.png");
-			$(this).attr("src",newSrc);}},
-	function(){
-            if($(this).attr("src").indexOf("-hover.png") != -1) {
-					var oldSrc = $(this).attr("src").replace("-hover.png",".png");
-					$(this).attr("src",oldSrc);}
-                                        });
-            
-            $('input[type="text"]').addClass("idleField");  
-            $('form:not([id="user-profile-form"]) input[type="text"]').focus(function() {
-        $(this).removeClass("idleField").addClass("focusField");  
-        if (this.value == this.defaultValue){  
-            this.value = '';  
-         }
-        if(this.value != this.defaultValue){  
-            this.select();  
-        }  
-    });  
-    $('input[type="text"]').blur(function() {  
-        $(this).removeClass("focusField").addClass("idleField");  
-        if (this.value == ''){  
-            this.value = (this.defaultValue ? this.defaultValue : '');  
-        }  
-    });   
-});
+  $(document).ready(function(){  
+    
+	    $('.rollover').hover(function(){
+        if($(this).attr("src").indexOf("-hover") == -1) {
+			var newSrc = $(this).attr("src").replace(".png","-hover.png");
+			$(this).attr("src",newSrc);}},
+	function(){
+            if($(this).attr("src").indexOf("-hover.png") != -1) {
+					var oldSrc = $(this).attr("src").replace("-hover.png",".png");
+					$(this).attr("src",oldSrc);}
+                                        });
+            
+            $('input[type="text"]').addClass("idleField");  
+            $('form:not([id="user-profile-form"]) input[type="text"]').focus(function() {
+        $(this).removeClass("idleField").addClass("focusField");  
+        if (this.value == this.defaultValue){  
+            this.value = '';  
+         }
+        if(this.value != this.defaultValue){  
+            this.select();  
+        }  
+    });  
+    $('input[type="text"]').blur(function() {  
+        $(this).removeClass("focusField").addClass("idleField");  
+        if (this.value == ''){  
+            this.value = (this.defaultValue ? this.defaultValue : '');  
+        }  
+    });   
+});
--- a/web/res/metadataplayer/test/emission_fichiers/script.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/script.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,32 +1,32 @@
-// $Id: script.js,v 1.2 2008/10/30 13:00:59 jmburnz Exp $
-
-/**
- * Animates submit buttons
- */
-var Genesis = {};
-// jump to the value in a select drop down
-Genesis.go = function(e) {
-  var destination = e.options[e.selectedIndex].value;
-  if (destination && destination != 0) location.href = destination;
-};
-// prevent users from clicking a submit button twice
-Genesis.formCheck = function() {
-  // only apply this to node and comment and new user registration forms
-  var forms = $("#node-form>div>div>#edit-submit,#comment-form>div>#edit-submit,#user-register>div>#edit-submit");
-  // insert the saving div now to cache it for better performance and to show the loading image
-  $('<div id="saving"><p class="saving">Enregistrement des données&hellip;</p></div>').insertAfter(forms);
-  forms.click(function() {
-    $(this).siblings("input[@type=submit]").hide();
-    $(this).hide();
-    $("#saving").show();
-    var notice = function() {
-      $('<p id="saving-notice">Pas d\'enregistrement ? Patientez quelques secondes, rechargez cette page, et essayez à nouveau.</p>').appendTo("#saving").fadeIn();
-    };
-    // append notice if form saving isn't work, perhaps a timeout issue
-    setTimeout(notice, 24000);
-  });
-};
-// Global Killswitch.
-if (Drupal.jsEnabled) {
-  $(document).ready(Genesis.formCheck);
-}
+// $Id: script.js,v 1.2 2008/10/30 13:00:59 jmburnz Exp $
+
+/**
+ * Animates submit buttons
+ */
+var Genesis = {};
+// jump to the value in a select drop down
+Genesis.go = function(e) {
+  var destination = e.options[e.selectedIndex].value;
+  if (destination && destination != 0) location.href = destination;
+};
+// prevent users from clicking a submit button twice
+Genesis.formCheck = function() {
+  // only apply this to node and comment and new user registration forms
+  var forms = $("#node-form>div>div>#edit-submit,#comment-form>div>#edit-submit,#user-register>div>#edit-submit");
+  // insert the saving div now to cache it for better performance and to show the loading image
+  $('<div id="saving"><p class="saving">Enregistrement des données&hellip;</p></div>').insertAfter(forms);
+  forms.click(function() {
+    $(this).siblings("input[@type=submit]").hide();
+    $(this).hide();
+    $("#saving").show();
+    var notice = function() {
+      $('<p id="saving-notice">Pas d\'enregistrement ? Patientez quelques secondes, rechargez cette page, et essayez à nouveau.</p>').appendTo("#saving").fadeIn();
+    };
+    // append notice if form saving isn't work, perhaps a timeout issue
+    setTimeout(notice, 24000);
+  });
+};
+// Global Killswitch.
+if (Drupal.jsEnabled) {
+  $(document).ready(Genesis.formCheck);
+}
--- a/web/res/metadataplayer/test/emission_fichiers/sh20.htm	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/sh20.htm	Wed Apr 27 18:54:31 2011 +0200
@@ -1,6 +1,6 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
-<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>AddThis
- utility frame</title></head><body style="background-color: 
-transparent;"><script type="text/javascript">/* <![CDATA[ */
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>AddThis
+ utility frame</title></head><body style="background-color: 
+transparent;"><script type="text/javascript">/* <![CDATA[ */
 if(!window._ate){var _atd="www.addthis.com/",_atr="//s7.addthis.com/",_atn="//l.addthiscdn.com/",_euc=encodeURIComponent,_duc=decodeURIComponent,_atc={dr:0,ver:250,loc:0,enote:"",cwait:500,tamp:-1,xamp:0,camp:1,vamp:1,famp:0.02,pamp:0.2,damp:1,abf:!!window.addthis_do_ab};(function(){try{var C=window.location;if(C.protocol.indexOf("file")===0){_atr="http:"+_atr;}if(C.hostname.indexOf("localhost")!=-1){_atc.loc=1;}}catch(I){}var F=navigator.userAgent.toLowerCase(),J=document,u=window,E=J.location,K={win:/windows/.test(F),xp:/windows nt 5.1/.test(F)||/windows nt 5.2/.test(F),osx:/os x/.test(F),chr:/chrome/.test(F),iph:/iphone/.test(F),ipa:/ipad/.test(F),saf:/safari/.test(F),web:/webkit/.test(F),opr:/opera/.test(F),msi:(/msie/.test(F))&&!(/opera/.test(F)),ffx:/firefox/.test(F),ff2:/firefox\/2/.test(F),ie6:/msie 6.0/.test(F),ie7:/msie 7.0/.test(F),mod:-1},j={vst:[],rev:"78598",bro:K,show:1,dl:E,upm:!!u.postMessage&&(""+u.postMessage).toLowerCase().indexOf("[native code]")!==-1,camp:_atc.camp-Math.random(),xamp:_atc.xamp-Math.random(),vamp:_atc.vamp-Math.random(),pamp:_atc.pamp-Math.random(),afamp:_atc.afamp-Math.random(),ab:"-",seq:1,inst:1,wait:500,tmo:null,cvt:[],avt:null,sttm:new Date().getTime(),max:4294967295,sid:0,sub:!!window.at_sub,dbm:0,uid:null,spt:"static/r07/widget20.png",api:{},imgz:[],hash:window.location.hash};J.ce=J.createElement;J.gn=J.getElementsByTagName;window._ate=j;var v=function(O,l,w,d){if(!O){return w;}if(O instanceof Array||(O.length&&(typeof O!=="function"))){for(var h=0,a=O.length,b=O[0];h<a;b=O[++h]){w=l.call(d||O,w,b,h,O);}}else{for(var e in O){w=l.call(d||O,w,O[e],e,O);}}return w;},y=Array.prototype.slice,B=function(b){return y.apply(b,y.call(arguments,1));},z=function(a){return(""+a).replace(/(^\s+|\s+$)/g,"");},H=function(a,b){return v(B(arguments,1),function(e,d){return v(d,function(w,l,h){w[h]=l;return w;},e);},a);},p=function(b,a){return v(b,function(h,e,d){d=z(d);if(d){h.push(_euc(d)+"="+_euc(z(e)));}return h;},[]).join(a||"&");},n=function(b,a){return v((b||"").split(a||"&"),function(w,P){try{var l=P.split("="),h=z(_duc(l[0])),d=z(_duc(l.slice(1).join("=")));if(h){w[h]=d;}}catch(O){}return w;},{});},N=function(){var a=B(arguments,0),d=a.shift(),b=a.shift();return function(){return d.apply(b,a.concat(B(arguments,0)));};},D=function(b,e,a,d){if(!e){return;}if(we){e[(b?"detach":"attach")+"Event"]("on"+a,d);}else{e[(b?"remove":"add")+"EventListener"](a,d,false);}},o=function(d,a,b){D(0,d,a,b);},m=function(d,a,b){D(1,d,a,b);},f={reduce:v,slice:B,strip:z,extend:H,toKV:p,fromKV:n,bind:N,listen:o,unlisten:m};j.util=f;H(j,f);H(j,{trim:function(a,b){try{a=a.replace(/^[\s\u3000]+|[\s\u3000]+$/g,"");if(b){a=_euc(a);}}catch(b){}return a;},trl:[],tru:function(b,a){var d="";if(b){d=b.substr(0,300);if(d!=b){j.trl.push(a);}}return d;},sto:function(b,a){return setTimeout(b,a);},opp:function(a){a.width=a.height="1px";a.position="absolute";a.zIndex=100000;},jlr:{},acs:function(b){var a=J.ce("link"),d=(J.gn("head")[0]||J.documentElement);a.rel="stylesheet";a.type="text/css";a.href=b;a.media="all";d.insertBefore(a,d.firstChild);},ajs:function(b,a){if(!j.jlr[b]){var e=J.ce("script"),d=J.gn("head")[0]||J.documentElement;e.src=(a?"":_atr)+b;d.insertBefore(e,d.firstChild);j.jlr[b]=1;return e;}return 1;},jlo:function(){try{var O=document,b=j,w=b.lng(),h=function(d){var a=new Image();j.imgz.push(a);a.src=d;};b.alg(w);if(!b.pld){if(b.bro.ie6){h(_atr+b.spt);h(_atr+"static/t00/logo1414.gif");h(_atr+"static/t00/logo88.gif");if(window.addthis_feed){h("static/r05/feed00.gif",1);}}if(b.pll&&!window.addthis_translations){b.sto(function(){b.pld=b.ajs("static/r07/menu56.js");},10);}else{b.pld=b.ajs("static/r07/menu56.js");}}}catch(l){}},ao:function(b,l,h,d,e,a){j.lad(["open",b,l,h,d,e,a]);j.jlo();return false;},ac:function(){},as:function(b,d,a){j.lad(["send",b,d,a]);j.jlo();}});(function(b,l,e){var O,w=document,a=b.util;b.ckv=a.fromKV(w.cookie,";");function h(d){return a.fromKV(w.cookie,";")[d];}if(!b.cookie){b.cookie={};}b.cookie.rck=h;})(j,j.api,j);(function(b,e,h){var a,l=document,Q=b.util;function P(S){if(_atc.xck){return;}var R=S||j.dh||j.du||(j.dl?j.dl.hostname:"");if(R.indexOf(".gov")>-1||R.indexOf(".mil")>-1){_atc.xck=1;}var T=typeof(b.pub)==="function"?b.pub():b.pub,d=["usarmymedia","govdelivery"];for(i in d){if(T==d[i]){_atc.xck=1;break;}}}function w(d){if(l.cookie){l.cookie=d+"= ; expires=Tue, 31 Mar 2009 05:47:11 UTC; path=/";}}function O(R,d,S,T){P();if(!_atc.xck){document.cookie=R+"="+d+(!S?"; expires=Wed, 04 Oct 2028 03:19:53 GMT":"")+"; path=/;"+(!T?" domain="+(b.bro.msi?"":".")+"addthis.com":"");}}if(!b.cookie){b.cookie={};}b.cookie.sck=O;b.cookie.kck=w;b.cookie.gov=P;})(j,j.api,j);(function(e,h,P){var d,R=e,T=e.util,l=0;function O(a){if(a=="anonymous"){return true;}return a&&a.match(/^[0-9a-f]{16}$/);}function Q(){var a=R.cookie.rck("uid"),U=!!_atc.xck;if(!l){if(a&&O(a)){R.uf=0;if(a==="anonymous"){a="0000000000000000";R.uf=2;R.cookie.sck("uid",a);if(a==R.cookie.rck("uid")){}else{a="x";}}}else{if(a||a===""){R.uf=2;}else{R.uf=1;}a=R.cuid();R.cookie.sck("uid",a);if((a===R.cookie.rck("uid"))){}else{a="x";}}R.uid=R.dat.uid=a;l=1;}}function w(a){if(R.uid==="anonymous"||R.uid==="0000000000000000"){_atc.xck=1;R.uid="0000000000000000";}}function S(a){R.uid=c;w();}function b(){var a=R.uid;return a&&O(a)?"&uid="+_euc(R.uid):"";}if(!e.cookie){e.cookie={};}e.cookie.uid={update:Q,set:S,toKV:b,isValid:O,check:w};})(j,j.api,j);(function(b,e,d){function a(w){var h=291;if(w){for(var l=0;l<w.length;l++){h=(h*(w.charCodeAt(l)+l)+3)&1048575;}}return(h&16777215).toString(32);}b.mun=a;})(j,j.api,j);(function(h,l,O){var R=h,P=document,w=0,b=parseInt(R.cookie.rck("psc"))||0;if(isNaN(b)||b<0){b=0;}function Q(a){e(a,1);}function e(V,U){if(V){if(V.segments){R.segments=V.segments.join(",");}if(V.urls&&V.urls instanceof Array&&V.urls.length){var a;for(var d=0;d<V.urls.length;d++){a=new Image();R.imgz.push(a);a.src=V.urls[d];}if(U){a=new Image();R.imgz.push(a);a.src="//l.addthiscdn.com/live/t00/ds.gif?vr="+(_atc.ver||250)+"&"+R.ran()+(R.cookie.uid.toKV())+(V.geo?"&geo="+V.geo:"")+(V.loc?"&lc="+_euc(V.loc):"")+(R.segments?"&pix="+R.segments:"");}}}}function T(W){try{R.cookie.gov();R.cookie.uid.check();var Y=window,Z=0,d=R.dr||"",a=R.du,U=a.split("://").shift();G=R.dh?R.dh.split(".").slice(-2).join("."):null,view=100,pop=200,share=300,r_direct=0,r_search=1,r_ondomain=2,r_offdomain=4,r=r_direct,c=".com/",fnd=0;if(d){var aa=d.split("//").pop().split("/").shift().split("?").shift().split(".").slice(-2).join(".");if(aa==G){r|=r_ondomain;}else{r|=r_offdomain;}}if((d.indexOf(c)>-1||W)&&(!R.ssl&&a&&U.indexOf("https")==-1)){if(d&&d.match(/ws\/results\/(Web|Images|Video|News)/)){fnd=1;r|=r_search;}else{if((d.indexOf(c+"search")>-1&&d.indexOf("addthis"+c)==-1)||d.indexOf(c+"url")>-1||(d.indexOf(c+"web")>-1&&d.indexOf("addthis"+c)==-1)||d.indexOf(c+"aol")>-1||d.indexOf(c+"s?bs")>-1||d.indexOf("hotbot"+c)>-1){var ab=d.split("?").pop().split("&");for(var V=0;V<ab.length;V++){if(ab[V].indexOf("q=")===0||ab[V].indexOf("bs=")===0||ab[V].indexOf("p=")===0||ab[V].indexOf("query")===0||ab[V].indexOf("qry")===0||ab[V].indexOf("text")===0){fnd=1;break;}}r|=r_search;}}if((!w||w<share)&&!_atc.xtr&&!_atc.xck&&(fnd||W)&&R.mun(R.pub)!=="mu2r"){if(!W){W=view;}w=W;j.ajs("//cf.addthis.com/red/p.json?rb="+r+"&gen="+W+"&callback=_ate.ad.hrr"+(R.pub?"&pub="+R.pub:"")+(R.cb?"&cb="+R.cb:"")+(R.sh&&W==share?"&dest="+R.sh:"")+R.cookie.uid.toKV()+"&url="+_euc(a)+(d?"&ref="+_euc(d):"")+"&"+R.ran(),1);}return r;}}catch(X){}}function S(V){try{var a=R.du,U=R.dr;R.cookie.gov();R.cookie.uid.check();if(!_atc.xck){if(++(b)>(Math.ceil(1/_atc.pamp)-1)){if((!R.ssl&&a&&a.indexOf("https")==-1)&&!(V&1)){b=0;if(Math.random()>_atc.damp){j.ajs("//ds.addthis.com/red/psi/p.json?callback=_ate.ad.hpr"+(R.cookie.uid.toKV())+(R.cb?"&cb="+R.cb:"")+"&url="+_euc(a)+(U?"&ref="+_euc(U):"")+"&"+R.ran(),1);}else{var W=a.split("://").pop().split("/").shift();j.ajs("//ds.addthis.com/red/psi/sites/"+W+"/p.json?callback=_ate.ad.hpr"+(R.cookie.uid.toKV())+(R.cb?"&cb="+R.cb:"")+"&url="+_euc(a)+(U?"&ref="+_euc(U):"")+"&"+R.ran(),1);}}}R.cookie.sck("psc",b);}}catch(d){}}if(!h.ad){h.ad={};}j.extend(h.ad,{xrd:T,xps:S,hpr:Q,hrr:e});})(j,j.api,j);H(j,{pix:"tev",evu:"//o.addthis.com/at/",qtp:[],xtp:function(){var a;while(a=j.qtp.pop()){a[0].apply(this,a[1]);}},ran:function(){return Math.floor(Math.random()*4294967295).toString(36);},off:function(){return Math.floor((new Date().getTime()-j.sttm)/100).toString(16);},cst:function(a){return"CXNID=2000001.521545608054043907"+(a||2)+"NXC";},fhu:function(a){if(a&&(a.indexOf("http:")===0||a.indexOf("://")==-1)){return a;}return"";},spu:function(a){return!a?[]:a.split("://").pop().split("/");},img:function(h,Q,S){if(!window.at_sub&&!_atc.xtr){var R=j,b=R.spu(R.fhu(R.dr)),d=R.spu(R.fhu(R.du)),O=d,w=b,l=R.rev||"",P=[];w=(w&&Math.random()<_atc.famp)?(b.length>1?b.slice(1).join("/"):0):0;O=(d&&d.length>1)?d.slice(1).join("/"):"";if(b){b=b.shift();}if(d){d=d.shift();}w=R.tru(w,"fr");O=R.tru(O,"fp");var e=new Image();R.imgz.push(e);e.src=_atn+"live/t00/"+h+".gif?"+R.ran()+(R.cookie.uid.toKV())+"&"+R.cst(Q)+(R.pub?"&pub="+R.pub:"")+(l?"&rev="+l:"")+(S?"&"+S:"")+"&si="+R.ssid()+(R.sh?"&sh="+R.sh:"")+(R.cm?"&cm="+R.cm:"")+(R.loc?"&lc="+_euc(R.loc.split(",").pop()):"")+(R.lng?"&ln="+_euc(R.lng.split("-").shift().slice(0,2)):"")+(h.indexOf("lo")>-1?(!isNaN(R.uf)?"&uf="+R.uf:"")+(R.trl.length?"&tr="+R.trl.join(","):"")+(R.sr?"&sr="+_euc(R.sr):"")+(R.inst?"&pi="+R.inst:"")+(R.cb?"&cb="+R.cb:"")+"&dp="+(d?_euc(d):"")+(b&&(!d||b!=d)?"&dr="+_euc(b):"")+(O?"&fp="+_euc(O):"")+"&pc="+(_euc((R.pc||"men").substr(0,3)))+(w.length?"&fr="+_euc(w):""):"");}},cuid:function(){return((j.sttm/1000)&j.max).toString(16)+("00000000"+(Math.floor(Math.random()*(j.max+1))).toString(16)).slice(-8);},ssid:function(){if(j.sid===0){j.sid=j.cuid();}return j.sid;},fcv:function(b,a){return _euc(b)+"="+_euc(a)+";"+j.off();},cev:function(b,a,d){j.pix="cev-"+_euc(b);j.cvt.push(j.fcv(b,a));j.sxm(true);},sxm:function(a){if(j.tmo!==null){clearTimeout(j.tmo);}if(a){j.tmo=j.sto("_ate.xmi(false)",j.wait);}},sta:function(){var b=j;return"AT-"+(b.pub?b.pub:"unknown")+"/-/"+b.ab+"/"+b.ssid()+"/"+(b.seq++)+(b.uid!==null?"/"+b.uid:"");},xld:function(){var b=j,e=b.du,w={"6jb4":1,sirb:1,q8fc:1,mv86:1,qmo0:1},d=b.jsl,l,h=b.mun(b.pub);if(!b.xld_p){b.xld_p=1;if(b.uid!="x"){if(b.xamp>=0&&(b.lng||"").indexOf("en")==0){l=b.ad.xrd(100);}else{if(b.camp>=0){l=b.ad.xrd();}}b.ad.xps(l);}b.img(_atc.ver+"lo","2");}},xmi:function(Q){var b=j,O=b.dl?b.dl.hostname:"";if(!b.uid){b.cookie.uid.set("X"+b.cuid());}else{b.cookie.uid.check();}if(b.cvt.length>0){b.sxm(false);if(_atc.xtr){return;}if(O.indexOf(".gov")>-1||O.indexOf(".mil")>-1){_atc.xck=1;}if(b.dt){b.cvt.push(b.fcv("pti",b.dt));}var R=b.pix+"-"+b.ran()+".png?ev="+j.sta()+"&ce="+b.cvt.join(",")+(_atc.xck?"&xck=1":"")+(b.du?"&PRE="+_euc(b.du):""),l=b.evu+R;b.cvt=[];if(Q){var P=document,w=P.ce("iframe");w.id="_atf";w.src=l;j.opp(w.style);P.body.appendChild(w);w=P.getElementById("_atf");}else{var e=new Image();b.imgz.push(e);e.src=l;}}}});H(j,{dat:{},_rec:[],pmh:function(b){var a=n(b.data);if(a&&(a.sid==j.sid||!j.sid)){j.rec(b.data);}},rec:function(S,Z){if(!S){return{};}var P={ab:1,cm:1,dh:1,dr:1,du:1,dt:1,inst:1,jsl:1,lng:1,pc:1,pub:1,rev:1,sh:1,si:1,sid:1,sr:1,ver:1,xxl:1},ae=n(S),ad=j,W=ae.trl,h=parseInt(ae.ver),Q=parseInt(ae.ssl),V=parseInt(ae.cb||0),d=parseFloat(ae.srp),U=parseFloat(ae.srf),O=parseFloat(ae.srd),l=parseFloat(ae.srx),T=ae.evt,w=ae.ext,e=ae.now,aa=parseInt(ae.xck),R=ae.ce,b=parseInt(ae.gen);for(var X in P){if(ae[X]){ad[X]=ae[X];}}ad.ssl=Q;ad.cb=V;if(aa){_atc.xck=1;}if(h){_atc.ver=h;}if(W){ad.trl=ad.trl.concat(W.split(","));}if(U!==undefined){_atc.famp=U;}if(d!==undefined){_atc.pamp=d;}if(O!==undefined){_atc.damp=O;}if(l!==undefined){_atc.xamp=l;ad.xamp=_atc.xamp-Math.random();}if(h&&T){ad.qtp.push([ad.img,[h+T,"2",w]]);}if(R){R=R.split(",");for(var Y=0;Y<R.length;Y++){var ab=R[Y].split(";"),ac=ab[0].split("=");ad.qtp.push([ad.cev,[ac[0],ac[1],ab[1]]]);}}if(b){ad.qtp.push([ad.ad.xrd,[b]]);}ad.cookie.uid.update();if(ae.xld){ad.xld();}if(window.postMessage){if(ad.xxl){ad.xtp();}if(ae.xd){j.tpf(ad.dat,ae.wpl);}}return ae;},tpf:function(d,b){if(!u.parent){return;}var a=u.name=p(d);if(!!u.postMessage){u.parent.postMessage(a,"*");}else{J.location.replace(b);}}});var u=window,J=document,G=u.location.hash.slice(1),L=j,F=navigator.userAgent.toLowerCase(),t=-1,k=(/msie/.test(F))&&!(/opera/.test(F)),s=/safari/.test(F)&&/version\/3/.test(F),x=/firefox/.test(F),q=x&&/firefox\/2/.test(F),g=!!window.postMessage,A=n(J.cookie,";");J.ce=J.createElement;J.gn=J.getElementsByTagName;L.lng=k?navigator.userLanguage:navigator.language;if(A.sshs){L.dat.ssh=A.sshs;}if(A.dbm){L.dat.dbm=A.dbm;}if(A.loc){L.loc=A.loc;L.dat.loc=A.loc;}if(g){if(k){u.attachEvent("onmessage",L.pmh);}else{u.addEventListener("message",L.pmh,false);}}var M=j.rec(G);if(!L.xxl){if(x&&g){u.parent.postMessage("rdy=1","*");}else{L.cookie.uid.update();L.xld();}}L.xtp();})();}/* ]]> */</script></body></html>
\ No newline at end of file
--- a/web/res/metadataplayer/test/emission_fichiers/swfobject.txt	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/swfobject.txt	Wed Apr 27 18:54:31 2011 +0200
@@ -1,4 +1,4 @@
-/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
-	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
-*/
+/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
+	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
+*/
 var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+encodeURI(O.location).toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();
\ No newline at end of file
--- a/web/res/metadataplayer/test/emission_fichiers/tableheader.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/tableheader.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,117 +1,117 @@
-// $Id: tableheader.js,v 1.16.2.2 2009/03/30 12:48:09 goba Exp $
-
-Drupal.tableHeaderDoScroll = function() {
-  if (typeof(Drupal.tableHeaderOnScroll)=='function') {
-    Drupal.tableHeaderOnScroll();
-  }
-};
-
-Drupal.behaviors.tableHeader = function (context) {
-  // This breaks in anything less than IE 7. Prevent it from running.
-  if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7) {
-    return;
-  }
-
-  // Keep track of all cloned table headers.
-  var headers = [];
-
-  $('table.sticky-enabled thead:not(.tableHeader-processed)', context).each(function () {
-    // Clone thead so it inherits original jQuery properties.
-    var headerClone = $(this).clone(true).insertBefore(this.parentNode).wrap('<table class="sticky-header"></table>').parent().css({
-      position: 'fixed',
-      top: '0px'
-    });
-
-    headerClone = $(headerClone)[0];
-    headers.push(headerClone);
-
-    // Store parent table.
-    var table = $(this).parent('table')[0];
-    headerClone.table = table;
-    // Finish initialzing header positioning.
-    tracker(headerClone);
-
-    $(table).addClass('sticky-table');
-    $(this).addClass('tableHeader-processed');
-  });
-
-  // Define the anchor holding var.
-  var prevAnchor = '';
-
-  // Track positioning and visibility.
-  function tracker(e) {
-    // Save positioning data.
-    var viewHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
-    if (e.viewHeight != viewHeight) {
-      e.viewHeight = viewHeight;
-      e.vPosition = $(e.table).offset().top - 4;
-      e.hPosition = $(e.table).offset().left;
-      e.vLength = e.table.clientHeight - 100;
-      // Resize header and its cell widths.
-      var parentCell = $('th', e.table);
-      $('th', e).each(function(index) {
-        var cellWidth = parentCell.eq(index).css('width');
-        // Exception for IE7.
-        if (cellWidth == 'auto') {
-          cellWidth = parentCell.get(index).clientWidth +'px';
-        }
-        $(this).css('width', cellWidth);
-      });
-      $(e).css('width', $(e.table).css('width'));
-    }
-
-    // Track horizontal positioning relative to the viewport and set visibility.
-    var hScroll = document.documentElement.scrollLeft || document.body.scrollLeft;
-    var vOffset = (document.documentElement.scrollTop || document.body.scrollTop) - e.vPosition;
-    var visState = (vOffset > 0 && vOffset < e.vLength) ? 'visible' : 'hidden';
-    $(e).css({left: -hScroll + e.hPosition +'px', visibility: visState});
-
-    // Check the previous anchor to see if we need to scroll to make room for the header.
-    // Get the height of the header table and scroll up that amount.
-    if (prevAnchor != location.hash) {
-      if (location.hash != '') {
-        var offset = $('td' + location.hash).offset();
-        if (offset) {
-          var top = offset.top;
-          var scrollLocation = top - $(e).height();
-          $('body, html').scrollTop(scrollLocation);
-        }
-      }
-      prevAnchor = location.hash;
-    }
-  }
-
-  // Only attach to scrollbars once, even if Drupal.attachBehaviors is called
-  //  multiple times.
-  if (!$('body').hasClass('tableHeader-processed')) {
-    $('body').addClass('tableHeader-processed');
-    $(window).scroll(Drupal.tableHeaderDoScroll);
-    $(document.documentElement).scroll(Drupal.tableHeaderDoScroll);
-  }
-
-  // Track scrolling.
-  Drupal.tableHeaderOnScroll = function() {
-    $(headers).each(function () {
-      tracker(this);
-    });
-  };
-
-  // Track resizing.
-  var time = null;
-  var resize = function () {
-    // Ensure minimum time between adjustments.
-    if (time) {
-      return;
-    }
-    time = setTimeout(function () {
-      $('table.sticky-header').each(function () {
-        // Force cell width calculation.
-        this.viewHeight = 0;
-        tracker(this);
-      });
-      // Reset timer
-      time = null;
-    }, 250);
-  };
-  $(window).resize(resize);
-};
+// $Id: tableheader.js,v 1.16.2.2 2009/03/30 12:48:09 goba Exp $
+
+Drupal.tableHeaderDoScroll = function() {
+  if (typeof(Drupal.tableHeaderOnScroll)=='function') {
+    Drupal.tableHeaderOnScroll();
+  }
+};
+
+Drupal.behaviors.tableHeader = function (context) {
+  // This breaks in anything less than IE 7. Prevent it from running.
+  if (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) < 7) {
+    return;
+  }
+
+  // Keep track of all cloned table headers.
+  var headers = [];
+
+  $('table.sticky-enabled thead:not(.tableHeader-processed)', context).each(function () {
+    // Clone thead so it inherits original jQuery properties.
+    var headerClone = $(this).clone(true).insertBefore(this.parentNode).wrap('<table class="sticky-header"></table>').parent().css({
+      position: 'fixed',
+      top: '0px'
+    });
+
+    headerClone = $(headerClone)[0];
+    headers.push(headerClone);
+
+    // Store parent table.
+    var table = $(this).parent('table')[0];
+    headerClone.table = table;
+    // Finish initialzing header positioning.
+    tracker(headerClone);
+
+    $(table).addClass('sticky-table');
+    $(this).addClass('tableHeader-processed');
+  });
+
+  // Define the anchor holding var.
+  var prevAnchor = '';
+
+  // Track positioning and visibility.
+  function tracker(e) {
+    // Save positioning data.
+    var viewHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
+    if (e.viewHeight != viewHeight) {
+      e.viewHeight = viewHeight;
+      e.vPosition = $(e.table).offset().top - 4;
+      e.hPosition = $(e.table).offset().left;
+      e.vLength = e.table.clientHeight - 100;
+      // Resize header and its cell widths.
+      var parentCell = $('th', e.table);
+      $('th', e).each(function(index) {
+        var cellWidth = parentCell.eq(index).css('width');
+        // Exception for IE7.
+        if (cellWidth == 'auto') {
+          cellWidth = parentCell.get(index).clientWidth +'px';
+        }
+        $(this).css('width', cellWidth);
+      });
+      $(e).css('width', $(e.table).css('width'));
+    }
+
+    // Track horizontal positioning relative to the viewport and set visibility.
+    var hScroll = document.documentElement.scrollLeft || document.body.scrollLeft;
+    var vOffset = (document.documentElement.scrollTop || document.body.scrollTop) - e.vPosition;
+    var visState = (vOffset > 0 && vOffset < e.vLength) ? 'visible' : 'hidden';
+    $(e).css({left: -hScroll + e.hPosition +'px', visibility: visState});
+
+    // Check the previous anchor to see if we need to scroll to make room for the header.
+    // Get the height of the header table and scroll up that amount.
+    if (prevAnchor != location.hash) {
+      if (location.hash != '') {
+        var offset = $('td' + location.hash).offset();
+        if (offset) {
+          var top = offset.top;
+          var scrollLocation = top - $(e).height();
+          $('body, html').scrollTop(scrollLocation);
+        }
+      }
+      prevAnchor = location.hash;
+    }
+  }
+
+  // Only attach to scrollbars once, even if Drupal.attachBehaviors is called
+  //  multiple times.
+  if (!$('body').hasClass('tableHeader-processed')) {
+    $('body').addClass('tableHeader-processed');
+    $(window).scroll(Drupal.tableHeaderDoScroll);
+    $(document.documentElement).scroll(Drupal.tableHeaderDoScroll);
+  }
+
+  // Track scrolling.
+  Drupal.tableHeaderOnScroll = function() {
+    $(headers).each(function () {
+      tracker(this);
+    });
+  };
+
+  // Track resizing.
+  var time = null;
+  var resize = function () {
+    // Ensure minimum time between adjustments.
+    if (time) {
+      return;
+    }
+    time = setTimeout(function () {
+      $('table.sticky-header').each(function () {
+        // Force cell width calculation.
+        this.viewHeight = 0;
+        tracker(this);
+      });
+      // Reset timer
+      time = null;
+    }, 250);
+  };
+  $(window).resize(resize);
+};
--- a/web/res/metadataplayer/test/emission_fichiers/textarea.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/textarea.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,36 +1,36 @@
-// $Id: textarea.js,v 1.22 2008/01/17 19:31:56 goba Exp $
-
-Drupal.behaviors.textarea = function(context) {
-  $('textarea.resizable:not(.textarea-processed)', context).each(function() {
-    // Avoid non-processed teasers.
-    if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) {
-      return false;  
-    }
-    var textarea = $(this).addClass('textarea-processed'), staticOffset = null;
-
-    // When wrapping the text area, work around an IE margin bug.  See:
-    // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout
-    $(this).wrap('<div class="resizable-textarea"><span></span></div>')
-      .parent().append($('<div class="grippie"></div>').mousedown(startDrag));
-
-    var grippie = $('div.grippie', $(this).parent())[0];
-    grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
-
-    function startDrag(e) {
-      staticOffset = textarea.height() - e.pageY;
-      textarea.css('opacity', 0.25);
-      $(document).mousemove(performDrag).mouseup(endDrag);
-      return false;
-    }
-
-    function performDrag(e) {
-      textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
-      return false;
-    }
-
-    function endDrag(e) {
-      $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag);
-      textarea.css('opacity', 1);
-    }
-  });
-};
+// $Id: textarea.js,v 1.22 2008/01/17 19:31:56 goba Exp $
+
+Drupal.behaviors.textarea = function(context) {
+  $('textarea.resizable:not(.textarea-processed)', context).each(function() {
+    // Avoid non-processed teasers.
+    if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) {
+      return false;  
+    }
+    var textarea = $(this).addClass('textarea-processed'), staticOffset = null;
+
+    // When wrapping the text area, work around an IE margin bug.  See:
+    // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout
+    $(this).wrap('<div class="resizable-textarea"><span></span></div>')
+      .parent().append($('<div class="grippie"></div>').mousedown(startDrag));
+
+    var grippie = $('div.grippie', $(this).parent())[0];
+    grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
+
+    function startDrag(e) {
+      staticOffset = textarea.height() - e.pageY;
+      textarea.css('opacity', 0.25);
+      $(document).mousemove(performDrag).mouseup(endDrag);
+      return false;
+    }
+
+    function performDrag(e) {
+      textarea.height(Math.max(32, staticOffset + e.pageY) + 'px');
+      return false;
+    }
+
+    function endDrag(e) {
+      $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag);
+      textarea.css('opacity', 1);
+    }
+  });
+};
--- a/web/res/metadataplayer/test/emission_fichiers/widget40.css	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/widget40.css	Wed Apr 27 18:54:31 2011 +0200
@@ -1,1 +1,1 @@
-#at16lb{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;background-color:black;opacity:.001;}#at20mc,#at_email,#at16pib,#at16pc,#at16pi,#at_share,#at_complete,#at_success,#at_error{position:static!important;}#at20mc{position:absolute;left:0;top:0;}#at20mc a{color:#36B;}#at20mc div{float:none;}.at15dn{display:none;}.at15a{border:0;height:0;margin:0;padding:0;width:100%;width:230px;}.atnt{text-align:center!important;padding:6px 0 0 0!important;height:24px!important;}.atnt a{text-decoration:none;color:#36b;}.atnt a:hover{text-decoration:underline;}#at_msg,#at16p label,#at16nms,#at16sas,#at_share .at_item,#at16p,#at15s,#at16p form input,#at16p form textarea{font-family:arial,helvetica,tahoma,verdana,sans-serif!important;font-size:12px!important;outline-style:none;outline-width:0;line-height:1em;}* html #at15s.mmborder{position:absolute!important;}#at15s.mmborder{position:fixed!important;}/*\*/ #at15s.mmborder{width:240px!important;}/**/ #at20mc div.at15sie6{color:#4c4c4c!important;width:240px!important;}#at15s{background:url(//s7.addthis.com/static/t00/atbkg.png);float:none!important;line-height:1em!important;margin:0!important;overflow:visible!important;padding:5px!important;text-align:left!important;position:absolute!important;}#at15s,#at16p{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}html>body #at15s{width:230px!important;}#at15s.atiemode2{width:232px!important;}#at15s_inner{background:#fff;border:1px solid #fff;margin:0;}#at15s_head{position:relative;background:#f2f2f2;padding:4px;cursor:default;border-bottom:1px solid #e5e5e5;}.at15s_head_success{background:#cafd99!important;border-bottom:1px solid #a9d582!important;}.at15s_head_success *{color:#000!important;text-decoration:none;}#at15s_brand,#at16_brand,#at15sptx{position:absolute;}#at15s_brand{top:4px;right:4px;}.at15s_brandx{right:20px!important;}a#at15sptx{top:4px;right:4px;text-decoration:none;color:#4c4c4c;font-weight:bold;}.at15sie6 a#at15sptx,#at15s.atiemode2 a#at15sptx{right:8px;}#at15sptx:hover{text-decoration:underline;}#at16_brand{top:5px;right:30px;cursor:default;}#at_hover{padding:4px;}#at_hover .at_item,#at_share .at_item{background:#fff!important;float:left!important;color:#4c4c4c!important;}#at16nms,#at16sas{padding:4px 5px;}#at16sas{clear:left;padding-top:16px;padding-bottom:16px;}#at_hover .at_item{width:102px!important;padding:2px 3px!important;margin:1px;}#at_hover .at_item.atiemode2{width:104px!important;}#at_hover .at_item:hover,#at_hover .at_item.athov{margin:0!important;}#at_hover .at_item:hover,#at_hover .at_item.athov,#at_share .at_item:hover,#at_share .at_item.athov{background:#f2f2f2!important;border:1px solid #e5e5e5;color:#000!important;}* html #at_hover .at_item{border:1px solid #fff;}* html #at_hover .at_item.athov{border:1px solid #e5e5e5!important;margin:1px!important;}#at_email15{padding-top:5px;}.at15e_row{height:28px;}.at15e_row label,.at15e_row span{padding-left:10px!important;display:block!important;width:60px!important;float:left!important;}.at15e_row input,.at15e_row textarea{display:block!important;width:150px!important;float:left!important;background:#fff!important;border:1px solid #ccc!important;color:#333!important;font-size:11px!important;font-weight:normal!important;padding:0!important;}#at_email label,#at_email input,#at_email textarea{font-size:11px!important;}#at_email #at16meo{margin:15px 0 0 2px;}#at_email #at16meo span{float:left;margin-right:5px;padding-top:4px;}#at_email #at16meo a{float:left;margin:0;}#at_sending{margin-top:130px;text-align:center;}#at_sending img{padding:10px;}.at15t{display:block!important;height:16px!important;line-height:16px!important;padding-left:20px!important;background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;background-position:0 0;cursor:pointer;}.at15t{display:block!important;height:16px!important;line-height:16px!important;padding-left:20px!important;background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;background-position:0 0;cursor:pointer;}.addthis_button{cursor:pointer;}.addthis_toolbox.addthis_default_style span{line-height:16px;}.addthis_default_style .addthis_separator{margin:0 5px;display:inline;}div.atclear{clear:both;}.addthis_default_style .addthis_separator,.addthis_default_style .at300b,.addthis_default_style .at300m,.addthis_default_style .at300bs{float:left;}.at300b img{border:0;}.addthis_default_style .at300b,.addthis_default_style .at300m{padding:0 2px;}.at300b,.at300m,.at300bs{cursor:pointer;}.addthis_32x32_style .at300bs{background:url(//s7.addthis.com/static/r07/widget20_32x32.png) no-repeat left;overflow:hidden;display:block;background-position:0 0;height:32px;width:32px;line-height:32px!important;}.at300bs{background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;overflow:hidden;display:block;background-position:0 0;height:16px;width:16px;line-height:16px!important;}.at300bs.at15t_expanded,.at300bs.at15t_compact{background:url(//s7.addthis.com/static/t00/logo1414.gif) no-repeat left;margin-right:4px;}.addthis_32x32_style .at300bs.at15t_compact,.addthis_32x32_style .at300bs.at15t_expanded{background:url(//s7.addthis.com/static/r07/widget20_32x32.png) no-repeat left;background-position:0 -1856px;margin-right:0;}.addthis_32x32_style .at15t_100zakladok{background-position:0 -0px;}.addthis_32x32_style .at15t_2linkme{background-position:0 -32px;}.addthis_32x32_style .at15t_2tag{background-position:0 -64px;}.addthis_32x32_style .at15t_7live7{background-position:0 -96px;}.addthis_32x32_style .at15t_a1webmarks{background-position:0 -128px;}.addthis_32x32_style .at15t_abruzzopedia{background-position:0 -160px;}.addthis_32x32_style .at15t_addio{background-position:0 -192px;}.addthis_32x32_style .at15t_addthis_32x32{background-position:0 -224px;}.addthis_32x32_style .at15t_adifni{background-position:0 -256px;}.addthis_32x32_style .at15t_aerosocial{background-position:0 -288px;}.addthis_32x32_style .at15t_aim{background-position:0 -320px;}.addthis_32x32_style .at15t_allmyfaves{background-position:0 -352px;}.addthis_32x32_style .at15t_amazonwishlist{background-position:0 -384px;}.addthis_32x32_style .at15t_amenme{background-position:0 -416px;}.addthis_32x32_style .at15t_aolmail{background-position:0 -448px;}.addthis_32x32_style .at15t_arto{background-position:0 -480px;}.addthis_32x32_style .at15t_ask{background-position:0 -512px;}.addthis_32x32_style .at15t_aviary{background-position:0 -544px;}.addthis_32x32_style .at15t_baang{background-position:0 -576px;}.addthis_32x32_style .at15t_backflip{background-position:0 -608px;}.addthis_32x32_style .at15t_baidu{background-position:0 -640px;}.addthis_32x32_style .at15t_ballhype{background-position:0 -672px;}.addthis_32x32_style .at15t_bebo{background-position:0 -704px;}.addthis_32x32_style .at15t_bentio{background-position:0 -736px;}.addthis_32x32_style .at15t_biggerpockets{background-position:0 -768px;}.addthis_32x32_style .at15t_bitly{background-position:0 -800px;}.addthis_32x32_style .at15t_bizsugar{background-position:0 -832px;}.addthis_32x32_style .at15t_bleetbox{background-position:0 -864px;}.addthis_32x32_style .at15t_blinklist{background-position:0 -896px;}.addthis_32x32_style .at15t_blip{background-position:0 -928px;}.addthis_32x32_style .at15t_blogger{background-position:0 -960px;}.addthis_32x32_style .at15t_bloggy{background-position:0 -992px;}.addthis_32x32_style .at15t_blogmarks{background-position:0 -1024px;}.addthis_32x32_style .at15t_blogtrottr{background-position:0 -1056px;}.addthis_32x32_style .at15t_blurpalicious{background-position:0 -1088px;}.addthis_32x32_style .at15t_boardlite{background-position:0 -1120px;}.addthis_32x32_style .at15t_bobrdobr{background-position:0 -1152px;}.addthis_32x32_style .at15t_bonzobox{background-position:0 -1184px;}.addthis_32x32_style .at15t_bookmarkedbyus{background-position:0 -1216px;}.addthis_32x32_style .at15t_bookmarkycz{background-position:0 -1248px;}.addthis_32x32_style .at15t_bookmerkende{background-position:0 -1280px;}.addthis_32x32_style .at15t_bordom{background-position:0 -1312px;}.addthis_32x32_style .at15t_box{background-position:0 -1344px;}.addthis_32x32_style .at15t_brainify{background-position:0 -1376px;}.addthis_32x32_style .at15t_bryderi{background-position:0 -1408px;}.addthis_32x32_style .at15t_buddymarks{background-position:0 -1440px;}.addthis_32x32_style .at15t_buzz{background-position:0 -1472px;}.addthis_32x32_style .at15t_buzz_fr{background-position:0 -1504px;}.addthis_32x32_style .at15t_buzzzy{background-position:0 -1536px;}.addthis_32x32_style .at15t_camyoo{background-position:0 -1568px;}.addthis_32x32_style .at15t_care2{background-position:0 -1600px;}.addthis_32x32_style .at15t_chiq{background-position:0 -1632px;}.addthis_32x32_style .at15t_cirip{background-position:0 -1664px;}.addthis_32x32_style .at15t_citeulike{background-position:0 -1696px;}.addthis_32x32_style .at15t_classicalplace{background-position:0 -1728px;}.addthis_32x32_style .at15t_clickazoo{background-position:0 -1760px;}.addthis_32x32_style .at15t_cndig{background-position:0 -1792px;}.addthis_32x32_style .at15t_colivia{background-position:0 -1824px;}.addthis_32x32_style .at15t_compact{background-position:0 -1856px;}.addthis_32x32_style .at15t_connotea{background-position:0 -1888px;}.addthis_32x32_style .at15t_cosmiq{background-position:0 -1920px;}.addthis_32x32_style .at15t_dashboard{background-position:0 -1952px;}.addthis_32x32_style .at15t_delicious{background-position:0 -1984px;}.addthis_32x32_style .at15t_designbump{background-position:0 -2016px;}.addthis_32x32_style .at15t_designmoo{background-position:0 -2048px;}.addthis_32x32_style .at15t_digg{background-position:0 -2080px;}.addthis_32x32_style .at15t_diggita{background-position:0 -2112px;}.addthis_32x32_style .at15t_diggtiger{background-position:0 -2144px;}.addthis_32x32_style .at15t_diglog{background-position:0 -2176px;}.addthis_32x32_style .at15t_digo{background-position:0 -2208px;}.addthis_32x32_style .at15t_diigo{background-position:0 -2240px;}.addthis_32x32_style .at15t_dipdive{background-position:0 -2272px;}.addthis_32x32_style .at15t_domaintoolswhois{background-position:0 -2304px;}.addthis_32x32_style .at15t_domelhor{background-position:0 -2336px;}.addthis_32x32_style .at15t_doower{background-position:0 -2368px;}.addthis_32x32_style .at15t_dosti{background-position:0 -2400px;}.addthis_32x32_style .at15t_dotnetkicks{background-position:0 -2432px;}.addthis_32x32_style .at15t_dotnetshoutout{background-position:0 -2464px;}.addthis_32x32_style .at15t_douban{background-position:0 -2496px;}.addthis_32x32_style .at15t_drimio{background-position:0 -2528px;}.addthis_32x32_style .at15t_dropjack{background-position:0 -2560px;}.addthis_32x32_style .at15t_dwellicious{background-position:0 -2592px;}.addthis_32x32_style .at15t_dzone{background-position:0 -2624px;}.addthis_32x32_style .at15t_edelight{background-position:0 -2656px;}.addthis_32x32_style .at15t_ekudos{background-position:0 -2688px;}.addthis_32x32_style .at15t_elefantapl{background-position:0 -2720px;}.addthis_32x32_style .at15t_elertgadget{background-position:0 -2752px;}.addthis_32x32_style .at15t_email{background-position:0 -2784px;}.addthis_32x32_style .at15t_embarkons{background-position:0 -2816px;}.addthis_32x32_style .at15t_eucliquei{background-position:0 -2848px;}.addthis_32x32_style .at15t_evernote{background-position:0 -2880px;}.addthis_32x32_style .at15t_extraplay{background-position:0 -2912px;}.addthis_32x32_style .at15t_ezyspot{background-position:0 -2944px;}.addthis_32x32_style .at15t_fabulously40{background-position:0 -2976px;}.addthis_32x32_style .at15t_facebook{background-position:0 -3008px;}.addthis_32x32_style .at15t_fark{background-position:0 -3040px;}.addthis_32x32_style .at15t_farkinda{background-position:0 -3072px;}.addthis_32x32_style .at15t_favable{background-position:0 -3104px;}.addthis_32x32_style .at15t_faves{background-position:0 -3136px;}.addthis_32x32_style .at15t_favlogde{background-position:0 -3168px;}.addthis_32x32_style .at15t_favorites{background-position:0 -3200px;}.addthis_32x32_style .at15t_favoritus{background-position:0 -3232px;}.addthis_32x32_style .at15t_flaker{background-position:0 -3264px;}.addthis_32x32_style .at15t_flosspro{background-position:0 -3296px;}.addthis_32x32_style .at15t_fnews{background-position:0 -3328px;}.addthis_32x32_style .at15t_folkd{background-position:0 -3360px;}.addthis_32x32_style .at15t_followtags{background-position:0 -3392px;}.addthis_32x32_style .at15t_fooxweb{background-position:0 -3424px;}.addthis_32x32_style .at15t_forceindya{background-position:0 -3456px;}.addthis_32x32_style .at15t_fresqui{background-position:0 -3488px;}.addthis_32x32_style .at15t_friendfeed{background-position:0 -3520px;}.addthis_32x32_style .at15t_friendster{background-position:0 -3552px;}.addthis_32x32_style .at15t_funp{background-position:0 -3584px;}.addthis_32x32_style .at15t_fwisp{background-position:0 -3616px;}.addthis_32x32_style .at15t_gabbr{background-position:0 -3648px;}.addthis_32x32_style .at15t_gacetilla{background-position:0 -3680px;}.addthis_32x32_style .at15t_gamekicker{background-position:0 -3712px;}.addthis_32x32_style .at15t_gamesnetworks{background-position:0 -3744px;}.addthis_32x32_style .at15t_givealink{background-position:0 -3776px;}.addthis_32x32_style .at15t_globalgrind{background-position:0 -3808px;}.addthis_32x32_style .at15t_gluvsnap{background-position:0 -3840px;}.addthis_32x32_style .at15t_gmail{background-position:0 -3872px;}.addthis_32x32_style .at15t_google{background-position:0 -3904px;}.addthis_32x32_style .at15t_googlebuzz{background-position:0 -3936px;}.addthis_32x32_style .at15t_googlereader{background-position:0 -3968px;}.addthis_32x32_style .at15t_googletranslate{background-position:0 -4000px;}.addthis_32x32_style .at15t_gravee{background-position:0 -4032px;}.addthis_32x32_style .at15t_greaterdebater{background-position:0 -4064px;}.addthis_32x32_style .at15t_grono{background-position:0 -4096px;}.addthis_32x32_style .at15t_grumper{background-position:0 -4128px;}.addthis_32x32_style .at15t_habergentr{background-position:0 -4160px;}.addthis_32x32_style .at15t_hackernews{background-position:0 -4192px;}.addthis_32x32_style .at15t_hadashhot{background-position:0 -4224px;}.addthis_32x32_style .at15t_hatena{background-position:0 -4256px;}.addthis_32x32_style .at15t_hazarkor{background-position:0 -4288px;}.addthis_32x32_style .at15t_hedgehogs{background-position:0 -4320px;}.addthis_32x32_style .at15t_hellotxt{background-position:0 -4352px;}.addthis_32x32_style .at15t_hemidemi{background-position:0 -4384px;}.addthis_32x32_style .at15t_hi5{background-position:0 -4416px;}.addthis_32x32_style .at15t_hipstr{background-position:0 -4448px;}.addthis_32x32_style .at15t_hitmarks{background-position:0 -4480px;}.addthis_32x32_style .at15t_hotbookmark{background-position:0 -4512px;}.addthis_32x32_style .at15t_hotklix{background-position:0 -4544px;}.addthis_32x32_style .at15t_hotmail{background-position:0 -4576px;}.addthis_32x32_style .at15t_hotweblt{background-position:0 -4608px;}.addthis_32x32_style .at15t_hyves{background-position:0 -4640px;}.addthis_32x32_style .at15t_idearef{background-position:0 -4672px;}.addthis_32x32_style .at15t_identica{background-position:0 -4704px;}.addthis_32x32_style .at15t_igoogle{background-position:0 -4736px;}.addthis_32x32_style .at15t_ihavegot{background-position:0 -4768px;}.addthis_32x32_style .at15t_informazione{background-position:0 -4800px;}.addthis_32x32_style .at15t_instapaper{background-position:0 -4832px;}.addthis_32x32_style .at15t_investorlinks{background-position:0 -4864px;}.addthis_32x32_style .at15t_isociety{background-position:0 -4896px;}.addthis_32x32_style .at15t_iwiw{background-position:0 -4928px;}.addthis_32x32_style .at15t_jamespot{background-position:0 -4960px;}.addthis_32x32_style .at15t_jisko{background-position:0 -4992px;}.addthis_32x32_style .at15t_jumptags{background-position:0 -5024px;}.addthis_32x32_style .at15t_kaboodle{background-position:0 -5056px;}.addthis_32x32_style .at15t_kaevur{background-position:0 -5088px;}.addthis_32x32_style .at15t_kipup{background-position:0 -5120px;}.addthis_32x32_style .at15t_kirtsy{background-position:0 -5152px;}.addthis_32x32_style .at15t_kledy{background-position:0 -5184px;}.addthis_32x32_style .at15t_kommenting{background-position:0 -5216px;}.addthis_32x32_style .at15t_koornk{background-position:0 -5248px;}.addthis_32x32_style .at15t_kudos{background-position:0 -5280px;}.addthis_32x32_style .at15t_laaikit{background-position:0 -5312px;}.addthis_32x32_style .at15t_ladenzeile{background-position:0 -5344px;}.addthis_32x32_style .at15t_librerio{background-position:0 -5376px;}.addthis_32x32_style .at15t_linkagogo{background-position:0 -5408px;}.addthis_32x32_style .at15t_linkedin{background-position:0 -5440px;}.addthis_32x32_style .at15t_linkninja{background-position:0 -5472px;}.addthis_32x32_style .at15t_linkshares{background-position:0 -5504px;}.addthis_32x32_style .at15t_linkstore{background-position:0 -5536px;}.addthis_32x32_style .at15t_linkuj{background-position:0 -5568px;}.addthis_32x32_style .at15t_live{background-position:0 -5600px;}.addthis_32x32_style .at15t_livefavoris{background-position:0 -5632px;}.addthis_32x32_style .at15t_livejournal{background-position:0 -5664px;}.addthis_32x32_style .at15t_lockerblogger{background-position:0 -5696px;}.addthis_32x32_style .at15t_lynki{background-position:0 -5728px;}.addthis_32x32_style .at15t_mailto{background-position:0 -5760px;}.addthis_32x32_style .at15t_mashbord{background-position:0 -5792px;}.addthis_32x32_style .at15t_mawindo{background-position:0 -5824px;}.addthis_32x32_style .at15t_meccho{background-position:0 -5856px;}.addthis_32x32_style .at15t_meinvz{background-position:0 -5888px;}.addthis_32x32_style .at15t_mekusharim{background-position:0 -5920px;}.addthis_32x32_style .at15t_memori{background-position:0 -5952px;}.addthis_32x32_style .at15t_meneame{background-position:0 -5984px;}.addthis_32x32_style .at15t_mindbodygreen{background-position:0 -6016px;}.addthis_32x32_style .at15t_misterwong{background-position:0 -6048px;}.addthis_32x32_style .at15t_misterwong_de{background-position:0 -6080px;}.addthis_32x32_style .at15t_misterwong_ru{background-position:0 -6112px;}.addthis_32x32_style .at15t_mixx{background-position:0 -6144px;}.addthis_32x32_style .at15t_mob{background-position:0 -6176px;}.addthis_32x32_style .at15t_moemesto{background-position:0 -6208px;}.addthis_32x32_style .at15t_more{background-position:0 -6240px;}.addthis_32x32_style .at15t_mototagz{background-position:0 -6272px;}.addthis_32x32_style .at15t_mssocialbookmarks{background-position:0 -6304px;}.addthis_32x32_style .at15t_multiply{background-position:0 -6336px;}.addthis_32x32_style .at15t_myaol{background-position:0 -6368px;}.addthis_32x32_style .at15t_mylinkvault{background-position:0 -6400px;}.addthis_32x32_style .at15t_mynasa{background-position:0 -6432px;}.addthis_32x32_style .at15t_myspace{background-position:0 -6464px;}.addthis_32x32_style .at15t_myyearbook{background-position:0 -6496px;}.addthis_32x32_style .at15t_n4g{background-position:0 -6528px;}.addthis_32x32_style .at15t_netlog{background-position:0 -6560px;}.addthis_32x32_style .at15t_netvibes{background-position:0 -6592px;}.addthis_32x32_style .at15t_netvouz{background-position:0 -6624px;}.addthis_32x32_style .at15t_newstrust{background-position:0 -6656px;}.addthis_32x32_style .at15t_newsvine{background-position:0 -6688px;}.addthis_32x32_style .at15t_nujij{background-position:0 -6720px;}.addthis_32x32_style .at15t_oknotizie{background-position:0 -6752px;}.addthis_32x32_style .at15t_oneview{background-position:0 -6784px;}.addthis_32x32_style .at15t_orkut{background-position:0 -6816px;}.addthis_32x32_style .at15t_osmosus{background-position:0 -6848px;}.addthis_32x32_style .at15t_oyyla{background-position:0 -6880px;}.addthis_32x32_style .at15t_pdfmyurl{background-position:0 -6912px;}.addthis_32x32_style .at15t_pdfonline{background-position:0 -6944px;}.addthis_32x32_style .at15t_phonefavs{background-position:0 -6976px;}.addthis_32x32_style .at15t_picciz{background-position:0 -7008px;}.addthis_32x32_style .at15t_pimpthisblog{background-position:0 -7040px;}.addthis_32x32_style .at15t_pingfm{background-position:0 -7072px;}.addthis_32x32_style .at15t_planypus{background-position:0 -7104px;}.addthis_32x32_style .at15t_plaxo{background-position:0 -7136px;}.addthis_32x32_style .at15t_plurk{background-position:0 -7168px;}.addthis_32x32_style .at15t_polladium{background-position:0 -7200px;}.addthis_32x32_style .at15t_popedition{background-position:0 -7232px;}.addthis_32x32_style .at15t_posteezy{background-position:0 -7264px;}.addthis_32x32_style .at15t_posterous{background-position:0 -7296px;}.addthis_32x32_style .at15t_pratiba{background-position:0 -7328px;}.addthis_32x32_style .at15t_print{background-position:0 -7360px;}.addthis_32x32_style .at15t_printfriendly{background-position:0 -7392px;}.addthis_32x32_style .at15t_propeller{background-position:0 -7424px;}.addthis_32x32_style .at15t_pusha{background-position:0 -7456px;}.addthis_32x32_style .at15t_quantcast{background-position:0 -7488px;}.addthis_32x32_style .at15t_qzone{background-position:0 -7520px;}.addthis_32x32_style .at15t_readitlater{background-position:0 -7552px;}.addthis_32x32_style .at15t_receeveit{background-position:0 -7584px;}.addthis_32x32_style .at15t_reddit{background-position:0 -7616px;}.addthis_32x32_style .at15t_rediff{background-position:0 -7648px;}.addthis_32x32_style .at15t_redkum{background-position:0 -7680px;}.addthis_32x32_style .at15t_scoopat{background-position:0 -7712px;}.addthis_32x32_style .at15t_segnalo{background-position:0 -7744px;}.addthis_32x32_style .at15t_sekoman{background-position:0 -7776px;}.addthis_32x32_style .at15t_shaveh{background-position:0 -7808px;}.addthis_32x32_style .at15t_shetoldme{background-position:0 -7840px;}.addthis_32x32_style .at15t_simpy{background-position:0 -7872px;}.addthis_32x32_style .at15t_slashdot{background-position:0 -7904px;}.addthis_32x32_style .at15t_smaknews{background-position:0 -7936px;}.addthis_32x32_style .at15t_smiru{background-position:0 -7968px;}.addthis_32x32_style .at15t_socialbookmarkingnet{background-position:0 -8000px;}.addthis_32x32_style .at15t_sodahead{background-position:0 -8032px;}.addthis_32x32_style .at15t_sonico{background-position:0 -8064px;}.addthis_32x32_style .at15t_speedtile{background-position:0 -8096px;}.addthis_32x32_style .at15t_sphinn{background-position:0 -8128px;}.addthis_32x32_style .at15t_spokentoyou{background-position:0 -8160px;}.addthis_32x32_style .at15t_sportpost{background-position:0 -8192px;}.addthis_32x32_style .at15t_springpad{background-position:0 -8224px;}.addthis_32x32_style .at15t_spruzer{background-position:0 -8256px;}.addthis_32x32_style .at15t_squidoo{background-position:0 -8288px;}.addthis_32x32_style .at15t_startaid{background-position:0 -8320px;}.addthis_32x32_style .at15t_startlap{background-position:0 -8352px;}.addthis_32x32_style .at15t_storyfollower{background-position:0 -8384px;}.addthis_32x32_style .at15t_strands{background-position:0 -8416px;}.addthis_32x32_style .at15t_studivz{background-position:0 -8448px;}.addthis_32x32_style .at15t_stuffpit{background-position:0 -8480px;}.addthis_32x32_style .at15t_stumbleupon{background-position:0 -8512px;}.addthis_32x32_style .at15t_stumpedia{background-position:0 -8544px;}.addthis_32x32_style .at15t_stylehive{background-position:0 -8576px;}.addthis_32x32_style .at15t_surfpeoplenet{background-position:0 -8608px;}.addthis_32x32_style .at15t_svejo{background-position:0 -8640px;}.addthis_32x32_style .at15t_symbaloo{background-position:0 -8672px;}.addthis_32x32_style .at15t_tagmarksde{background-position:0 -8704px;}.addthis_32x32_style .at15t_tagvn{background-position:0 -8736px;}.addthis_32x32_style .at15t_tagza{background-position:0 -8768px;}.addthis_32x32_style .at15t_tailrank{background-position:0 -8800px;}.addthis_32x32_style .at15t_technorati{background-position:0 -8832px;}.addthis_32x32_style .at15t_tellmypolitician{background-position:0 -8864px;}.addthis_32x32_style .at15t_thewebblend{background-position:0 -8896px;}.addthis_32x32_style .at15t_thinkfinity{background-position:0 -8928px;}.addthis_32x32_style .at15t_thisnext{background-position:0 -8960px;}.addthis_32x32_style .at15t_tipd{background-position:0 -8992px;}.addthis_32x32_style .at15t_transferr{background-position:0 -9024px;}.addthis_32x32_style .at15t_tulinq{background-position:0 -9056px;}.addthis_32x32_style .at15t_tumblr{background-position:0 -9088px;}.addthis_32x32_style .at15t_tusul{background-position:0 -9120px;}.addthis_32x32_style .at15t_tweetmeme{background-position:0 -9152px;}.addthis_32x32_style .at15t_twitter{background-position:0 -9184px;}.addthis_32x32_style .at15t_twitthis{background-position:0 -9216px;}.addthis_32x32_style .at15t_typepad{background-position:0 -9248px;}.addthis_32x32_style .at15t_viadeo{background-position:0 -9280px;}.addthis_32x32_style .at15t_virb{background-position:0 -9312px;}.addthis_32x32_style .at15t_visitezmonsite{background-position:0 -9344px;}.addthis_32x32_style .at15t_vk{background-position:0 -9376px;}.addthis_32x32_style .at15t_vyoom{background-position:0 -9408px;}.addthis_32x32_style .at15t_w3validator{background-position:0 -9440px;}.addthis_32x32_style .at15t_webnews{background-position:0 -9472px;}.addthis_32x32_style .at15t_webs{background-position:0 -9504px;}.addthis_32x32_style .at15t_windows{background-position:0 -9536px;}.addthis_32x32_style .at15t_windycitizen{background-position:0 -9568px;}.addthis_32x32_style .at15t_wirefan{background-position:0 -9600px;}.addthis_32x32_style .at15t_wordpress{background-position:0 -9632px;}.addthis_32x32_style .at15t_worio{background-position:0 -9664px;}.addthis_32x32_style .at15t_wovre{background-position:0 -9696px;}.addthis_32x32_style .at15t_wykop{background-position:0 -9728px;}.addthis_32x32_style .at15t_xanga{background-position:0 -9760px;}.addthis_32x32_style .at15t_yahoobkm{background-position:0 -9792px;}.addthis_32x32_style .at15t_yahoomail{background-position:0 -9824px;}.addthis_32x32_style .at15t_yammer{background-position:0 -9856px;}.addthis_32x32_style .at15t_yardbarker{background-position:0 -9888px;}.addthis_32x32_style .at15t_yazzem{background-position:0 -9920px;}.addthis_32x32_style .at15t_yigg{background-position:0 -9952px;}.addthis_32x32_style .at15t_yoolink{background-position:0 -9984px;}.addthis_32x32_style .at15t_yorumcuyum{background-position:0 -10016px;}.addthis_32x32_style .at15t_youbookmarks{background-position:0 -10048px;}.addthis_32x32_style .at15t_youmob{background-position:0 -10080px;}.addthis_32x32_style .at15t_zakladoknet{background-position:0 -10112px;}.addthis_32x32_style .at15t_zanatic{background-position:0 -10144px;}.addthis_32x32_style .at15t_zooloo{background-position:0 -10176px;}.addthis_32x32_style .at15t_netscape{background-position:0 -7424px;}.at15t_000{background-position:0 -0px;}.at15t_tweetmeme{background-position:0 -16px;}.at15t_posteezy{background-position:0 -32px;}.at15t_redkum{background-position:0 -48px;}.at15t_livefavoris{background-position:0 -64px;}.at15t_connotea{background-position:0 -80px;}.at15t_farkinda{background-position:0 -96px;}.at15t_hackernews{background-position:0 -112px;}.at15t_receeveit{background-position:0 -128px;}.at15t_mob{background-position:0 -144px;}.at15t_gluvsnap{background-position:0 -160px;}.at15t_tusul{background-position:0 -176px;}.at15t_identica{background-position:0 -192px;}.at15t_hedgehogs{background-position:0 -208px;}.at15t_designmoo{background-position:0 -224px;}.at15t_folkd{background-position:0 -240px;}.at15t_doower{background-position:0 -256px;}.at15t_bonzobox{background-position:0 -272px;}.at15t_buzz_fr{background-position:0 -288px;}.at15t_gamekicker{background-position:0 -304px;}.at15t_ezyspot{background-position:0 -320px;}.at15t_webs{background-position:0 -336px;}.at15t_mawindo{background-position:0 -352px;}.at15t_tellmypolitician{background-position:0 -368px;}.at15t_scoopat{background-position:0 -384px;}.at15t_favoritus{background-position:0 -400px;}.at15t_eucliquei{background-position:0 -416px;}.at15t_hazarkor{background-position:0 -432px;}.at15t_box{background-position:0 -448px;}.at15t_evernote{background-position:0 -464px;}.at15t_blogger{background-position:0 -480px;}.at15t_favorites{background-position:0 -496px;}.at15t_plurk{background-position:0 -512px;}.at15t_friendfeed{background-position:0 -528px;}.at15t_buzz{background-position:0 -544px;}.at15t_bebo{background-position:0 -560px;}.at15t_hyves{background-position:0 -576px;}.at15t_meinvz{background-position:0 -592px;}.at15t_linkedin{background-position:0 -608px;}.at15t_posterous{background-position:0 -624px;}.at15t_sonico{background-position:0 -640px;}.at15t_amazonwishlist{background-position:0 -656px;}.at15t_delicious{background-position:0 -672px;}.at15t_digg{background-position:0 -688px;}.at15t_facebook{background-position:0 -704px;}.at15t_meneame{background-position:0 -720px;}.at15t_myspace{background-position:0 -736px;}.at15t_google{background-position:0 -752px;}.at15t_googletranslate{background-position:0 -768px;}.at15t_igoogle{background-position:0 -784px;}.at15t_designbump{background-position:0 -800px;}.at15t_hotmail{background-position:0 -816px;}.at15t_live{background-position:0 -832px;}.at15t_viadeo{background-position:0 -848px;}.at15t_fark{background-position:0 -864px;}.at15t_misterwong{background-position:0 -880px;}.at15t_newsvine{background-position:0 -896px;}.at15t_oyyla{background-position:0 -912px;}.at15t_mixx{background-position:0 -928px;}.at15t_squidoo{background-position:0 -944px;}.at15t_googlebuzz{background-position:0 -960px;}.at15t_orkut{background-position:0 -976px;}.at15t_studivz{background-position:0 -992px;}.at15t_netvibes{background-position:0 -1008px;}.at15t_technorati{background-position:0 -1024px;}.at15t_friendster{background-position:0 -1040px;}.at15t_reddit{background-position:0 -1056px;}.at15t_twitter{background-position:0 -1072px;}.at15t_slashdot{background-position:0 -1088px;}.at15t_tumblr{background-position:0 -1104px;}.at15t_menu{background-position:0 -1120px;}.at15t_virb{background-position:0 -1136px;}.at15t_wordpress{background-position:0 -1152px;}.at15t_linkninja{background-position:0 -1168px;}.at15t_oknotizie{background-position:0 -1184px;}.at15t_stumbleupon{background-position:0 -1200px;}.at15t_googlereader{background-position:0 -1216px;}.at15t_gacetilla{background-position:0 -1232px;}.at15t_gmail{background-position:0 -1248px;}.at15t_print{background-position:0 -1264px;}.at15t_yahoobkm{background-position:0 -1280px;}.at15t_yahoomail{background-position:0 -1296px;}.at15t_diglog{background-position:0 -1312px;}.at15t_bookmerkende{background-position:0 -1328px;}.at15t_givealink{background-position:0 -1344px;}.at15t_wovre{background-position:0 -1360px;}.at15t_amenme{background-position:0 -1376px;}.at15t_tagvn{background-position:0 -1392px;}.at15t_surfpeoplenet{background-position:0 -1408px;}.at15t_aim{background-position:0 -1424px;}.at15t_elertgadget{background-position:0 -1440px;}.at15t_cndig{background-position:0 -1456px;}.at15t_email{background-position:0 -1472px;}.at15t_springpad{background-position:0 -1488px;}.at15t_isociety{background-position:0 -1504px;}.at15t_bloggy{background-position:0 -1520px;}.at15t_tagmarksde{background-position:0 -1536px;}.at15t_misterwong_de{background-position:0 -1552px;}.at15t_bryderi{background-position:0 -1568px;}.at15t_bookmarkycz{background-position:0 -1584px;}.at15t_w3validator{background-position:0 -1600px;}.at15t_instapaper{background-position:0 -1616px;}.at15t_pdfmyurl{background-position:0 -1632px;}.at15t_planypus{background-position:0 -1648px;}.at15t_diggtiger{background-position:0 -1664px;}.at15t_mekusharim{background-position:0 -1680px;}.at15t_kommenting{background-position:0 -1696px;}.at15t_lockerblogger{background-position:0 -1712px;}.at15t_kipup{background-position:0 -1728px;}.at15t_pusha{background-position:0 -1744px;}.at15t_yorumcuyum{background-position:0 -1760px;}.at15t_wykop{background-position:0 -1776px;}.at15t_startaid{background-position:0 -1792px;}.at15t_jamespot{background-position:0 -1808px;}.at15t_vk{background-position:0 -1824px;}.at15t_smaknews{background-position:0 -1840px;}.at15t_embarkons{background-position:0 -1856px;}.at15t_adifni{background-position:0 -1872px;}.at15t_blurpalicious{background-position:0 -1888px;}.at15t_blogtrottr{background-position:0 -1904px;}.at15t_domaintoolswhois{background-position:0 -1920px;}.at15t_elefantapl{background-position:0 -1936px;}.at15t_cosmiq{background-position:0 -1952px;}.at15t_bookmarkedbyus{background-position:0 -1968px;}.at15t_youmob{background-position:0 -1984px;}.at15t_dipdive{background-position:0 -2000px;}.at15t_pimpthisblog{background-position:0 -2016px;}.at15t_stumpedia{background-position:0 -2032px;}.at15t_visitezmonsite{background-position:0 -2048px;}.at15t_bizsugar{background-position:0 -2064px;}.at15t_polladium{background-position:0 -2080px;}.at15t_strands{background-position:0 -2096px;}.at15t_simpy{background-position:0 -2112px;}.at15t_allmyfaves{background-position:0 -2128px;}.at15t_yammer{background-position:0 -2144px;}.at15t_bobrdobr{background-position:0 -2160px;}.at15t_hotklix{background-position:0 -2176px;}.at15t_shaveh{background-position:0 -2192px;}.at15t_windows{background-position:0 -2208px;}.at15t_baang{background-position:0 -2224px;}.at15t_greaterdebater{background-position:0 -2240px;}.at15t_thewebblend{background-position:0 -2256px;}.at15t_dashboard{background-position:0 -2272px;}.at15t_tulinq{background-position:0 -2288px;}.at15t_spruzer{background-position:0 -2304px;}.at15t_yoolink{background-position:0 -2320px;}.at15t_clickazoo{background-position:0 -2336px;}.at15t_gamesnetworks{background-position:0 -2352px;}.at15t_fooxweb{background-position:0 -2368px;}.at15t_mssocialbookmarks{background-position:0 -2384px;}.at15t_fresqui{background-position:0 -2400px;}.at15t_mindbodygreen{background-position:0 -2416px;}.at15t_librerio{background-position:0 -2432px;}.at15t_yigg{background-position:0 -2448px;}.at15t_netvouz{background-position:0 -2464px;}.at15t_followtags{background-position:0 -2480px;}.at15t_boardlite{background-position:0 -2496px;}.at15t_citeulike{background-position:0 -2512px;}.at15t_webnews{background-position:0 -2528px;}.at15t_hatena{background-position:0 -2544px;}.at15t_memori{background-position:0 -2560px;}.at15t_segnalo{background-position:0 -2576px;}.at15t_n4g{background-position:0 -2592px;}.at15t_ekudos{background-position:0 -2608px;}.at15t_more{background-position:0 -2624px;}.at15t_kaboodle{background-position:0 -2640px;}.at15t_abruzzopedia{background-position:0 -2656px;}.at15t_kudos{background-position:0 -2672px;}.at15t_ihavegot{background-position:0 -2688px;}.at15t_linkuj{background-position:0 -2704px;}.at15t_100zakladok{background-position:0 -2720px;}.at15t_stuffpit{background-position:0 -2736px;}.at15t_dosti{background-position:0 -2752px;}.at15t_linkshares{background-position:0 -2768px;}.at15t_addio{background-position:0 -2784px;}.at15t_qzone{background-position:0 -2800px;}.at15t_dotnetshoutout{background-position:0 -2816px;}.at15t_zooloo{background-position:0 -2832px;}.at15t_smiru{background-position:0 -2848px;}.at15t_funp{background-position:0 -2864px;}.at15t_plaxo{background-position:0 -2880px;}.at15t_phonefavs{background-position:0 -2896px;}.at15t_mototagz{background-position:0 -2912px;}.at15t_globalgrind{background-position:0 -2928px;}.at15t_bitly{background-position:0 -2944px;}.at15t_cirip{background-position:0 -2960px;}.at15t_favable{background-position:0 -2976px;}.at15t_flosspro{background-position:0 -2992px;}.at15t_hotweblt{background-position:0 -3008px;}.at15t_myyearbook{background-position:0 -3024px;}.at15t_7live7{background-position:0 -3040px;}.at15t_transferr{background-position:0 -3056px;}.at15t_moemesto{background-position:0 -3072px;}.at15t_tipd{background-position:0 -3088px;}.at15t_camyoo{background-position:0 -3104px;}.at15t_thisnext{background-position:0 -3120px;}.at15t_mailto{background-position:0 -3136px;}.at15t_hadashhot{background-position:0 -3152px;}.at15t_ladenzeile{background-position:0 -3168px;}.at15t_xanga{background-position:0 -3184px;}.at15t_shetoldme{background-position:0 -3200px;}.at15t_investorlinks{background-position:0 -3216px;}.at15t_blip{background-position:0 -3232px;}.at15t_pingfm{background-position:0 -3248px;}.at15t_linkagogo{background-position:0 -3264px;}.at15t_douban{background-position:0 -3280px;}.at15t_extraplay{background-position:0 -3296px;}.at15t_sportpost{background-position:0 -3312px;}.at15t_domelhor{background-position:0 -3328px;}.at15t_backflip{background-position:0 -3344px;}.at15t_jisko{background-position:0 -3360px;}.at15t_rediff{background-position:0 -3376px;}.at15t_youbookmarks{background-position:0 -3392px;}.at15t_picciz{background-position:0 -3408px;}.at15t_blogmarks{background-position:0 -3424px;}.at15t_oneview{background-position:0 -3440px;}.at15t_sphinn{background-position:0 -3456px;}.at15t_bleetbox{background-position:0 -3472px;}.at15t_aolmail{background-position:0 -3488px;}.at15t_dwellicious{background-position:0 -3504px;}.at15t_netlog{background-position:0 -3520px;}.at15t_vyoom{background-position:0 -3536px;}.at15t_socialbookmarkingnet{background-position:0 -3552px;}.at15t_lynki{background-position:0 -3568px;}.at15t_nujij{background-position:0 -3584px;}.at15t_yazzem{background-position:0 -3600px;}.at15t_iwiw{background-position:0 -3616px;}.at15t_storyfollower{background-position:0 -3632px;}.at15t_dropjack{background-position:0 -3648px;}.at15t_arto{background-position:0 -3664px;}.at15t_buddymarks{background-position:0 -3680px;}.at15t_yardbarker{background-position:0 -3696px;}.at15t_baidu{background-position:0 -3712px;}.at15t_windycitizen{background-position:0 -3728px;}.at15t_mashbord{background-position:0 -3744px;}.at15t_pratiba{background-position:0 -3760px;}.at15t_popedition{background-position:0 -3776px;}.at15t_dotnetkicks{background-position:0 -3792px;}.at15t_worio{background-position:0 -3808px;}.at15t_kledy{background-position:0 -3824px;}.at15t_symbaloo{background-position:0 -3840px;}.at15t_faves{background-position:0 -3856px;}.at15t_bentio{background-position:0 -3872px;}.at15t_hemidemi{background-position:0 -3888px;}.at15t_informazione{background-position:0 -3904px;}.at15t_meccho{background-position:0 -3920px;}.at15t_myaol{background-position:0 -3936px;}.at15t_drimio{background-position:0 -3952px;}.at15t_diigo{background-position:0 -3968px;}.at15t_favlogde{background-position:0 -3984px;}.at15t_dzone{background-position:0 -4000px;}.at15t_typepad{background-position:0 -4016px;}.at15t_startlap{background-position:0 -4032px;}.at15t_gravee{background-position:0 -4048px;}.at15t_kaevur{background-position:0 -4064px;}.at15t_sekoman{background-position:0 -4080px;}.at15t_misterwong_ru{background-position:0 -4096px;}.at15t_edelight{background-position:0 -4112px;}.at15t_digo{background-position:0 -4128px;}.at15t_classicalplace{background-position:0 -4144px;}.at15t_jumptags{background-position:0 -4160px;}.at15t_aerosocial{background-position:0 -4176px;}.at15t_svejo{background-position:0 -4192px;}.at15t_printfriendly{background-position:0 -4208px;}.at15t_hi5{background-position:0 -4224px;}.at15t_thinkfinity{background-position:0 -4240px;}.at15t_fwisp{background-position:0 -4256px;}.at15t_mynasa{background-position:0 -4272px;}.at15t_laaikit{background-position:0 -4288px;}.at15t_fnews{background-position:0 -4304px;}.at15t_a1webmarks{background-position:0 -4320px;}.at15t_grumper{background-position:0 -4336px;}.at15t_aviary{background-position:0 -4352px;}.at15t_care2{background-position:0 -4368px;}.at15t_tailrank{background-position:0 -4384px;}.at15t_koornk{background-position:0 -4400px;}.at15t_pdfonline{background-position:0 -4416px;}.at15t_kirtsy{background-position:0 -4432px;}.at15t_newstrust{background-position:0 -4448px;}.at15t_flaker{background-position:0 -4464px;}.at15t_gabbr{background-position:0 -4480px;}.at15t_ask{background-position:0 -4496px;}.at15t_diggita{background-position:0 -4512px;}.at15t_readitlater{background-position:0 -4528px;}.at15t_sodahead{background-position:0 -4544px;}.at15t_linkstore{background-position:0 -4560px;}.at15t_wirefan{background-position:0 -4576px;}.at15t_brainify{background-position:0 -4592px;}.at15t_livejournal{background-position:0 -4608px;}.at15t_ballhype{background-position:0 -4624px;}.at15t_habergentr{background-position:0 -4640px;}.at15t_multiply{background-position:0 -4656px;}.at15t_hellotxt{background-position:0 -4672px;}.at15t_zakladoknet{background-position:0 -4688px;}.at15t_grono{background-position:0 -4704px;}.at15t_propeller{background-position:0 -4720px;}.at15t_speedtile{background-position:0 -4736px;}.at15t_twitthis{background-position:0 -4752px;}.at15t_mylinkvault{background-position:0 -4768px;}.at15t_forceindya{background-position:0 -4784px;}.at15t_colivia{background-position:0 -4800px;}.at15t_bordom{background-position:0 -4816px;}.at15t_chiq{background-position:0 -4832px;}.at15t_spokentoyou{background-position:0 -4848px;}.at15t_2tag{background-position:0 -4864px;}.at15t_tagza{background-position:0 -4880px;}.at15t_hipstr{background-position:0 -4896px;}.at15t_stylehive{background-position:0 -4912px;}.at15t_hitmarks{background-position:0 -4928px;}.at15t_2linkme{background-position:0 -4944px;}.at15t_idearef{background-position:0 -4960px;}.at15t_blinklist{background-position:0 -4976px;}.at15t_buzzzy{background-position:0 -4992px;}.at15t_biggerpockets{background-position:0 -5008px;}.at15t_favicon{background-position:0 -5024px;}.at15t_quantcast{background-position:0 -5040px;}.at15t_hotbookmark{background-position:0 -5056px;}.at15t_osmosus{background-position:0 -5072px;}.at15t_zanatic{background-position:0 -5088px;}.at15t_fabulously40{background-position:0 -5104px;}.at15t_netscape{background-position:0 -4720px;}#at16clb{font-size:16pt;font-family:"verdana bold",verdana,arial,sans-serif;}#at_share .at_item{width:123px!important;padding:4px;margin-right:2px;border:1px solid #fff;}#at16pm{background:#fff;width:298px;height:380px;text-align:left;border-right:1px solid #ccc;position:static;}#at16pcc{position:fixed;top:0;left:0;width:100%;margin:0 auto;font-size:10px!important;color:#4c4c4c;padding:0;z-index:10000001;overflow:visible;}* html #at16pcc{position:absolute;}#at16abifc{overflow:hidden;margin:0;top:10px;left:10px;height:355px;width:492px;position:absolute;border:0;}#at16abifc iframe{border:0;position:absolute;height:380px;width:516px;top:-10px;left:-10px;}* html div#at16abifc.atiemode2{height:374px;width:482px;}* html #at16abifc iframe{height:368px;left:-10px;top:-10px;overflow:hidden;}#at16p{background:url(//s7.addthis.com/static/t00/atbkg.png);z-index:10000001;}#at16p,#atie6ifh,#atie6cmifh{position:absolute;top:50%;left:50%;width:300px;padding:10px;margin:0 auto;margin-top:-185px;margin-left:-155px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;color:#5e5e5e;}#atie6ifh{width:322px;padding:0;height:381px;margin-left:-165px;z-index:100001;}#atie6cmifh{width:240px;padding:0;height:225px;margin:0;z-index:100001;}#at_share{margin:0;padding:0;}#at16ps{overflow-y:scroll;height:304px;padding:5px;}a#at16pit{position:absolute;top:37px;right:10px;display:block;background:url(//s7.addthis.com/static/t00/tab00.gif) no-repeat;width:16px;height:20px;line-height:19px;margin-right:-17px;text-align:center;overflow:hidden;color:#36b;}#at16pi{background:#e5e5e5;text-align:left;border:1px solid #ccc;border-bottom:0;}#at16pi a{text-decoration:none;color:#36b;}#at16p #at16abc{margin-left:2px!important;}#at16pi a:hover{text-decoration:underline;}#at16pt{position:relative;background:#f2f2f2;height:13px;padding:5px 10px;}#at16pt h4,#at16pt a{font-weight:bold;}#at16pt h4{display:inline;margin:0;padding:0;font-size:12px;color:#4c4c4c;cursor:default;}#at16pt a{position:absolute;top:5px;right:10px;color:#4c4c4c;text-decoration:none;}#at16pc form{margin:0;}#at16pc form label{display:block;font-size:11px;font-weight:bold;padding-bottom:4px;float:none;text-align:left;}#at16pc form label span{font-weight:normal;color:#4c4c4c;display:inline;}#at_email form .abif{width:272px!important;}#at_email textarea{height:55px!important;word-wrap:break-word;}* html #at_email textarea{height:42px!important;}*:first-child+html #at_email textarea{height:42px!important;}#at_email form label{width:220px;}#at_email form input,#at_email form textarea{background:#fff;border:1px solid #bbb;width:272px!important;margin:0;margin-bottom:8px;font-weight:normal;padding:3px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:11px;line-height:1.4em;color:#333;}#at_email form .atfxmode2{width:279px!important;}#at16pc form .at_ent{color:#333!important;}#at16pc form textarea{height:48px;}#at16pc form input:focus,#at16pc form textarea:focus{background:#fffff0;color:#333;}#at16p .atbtn{background:#fff;border:1px solid #b5b5b5;width:60px!important;padding:2px 4px;margin:0;margin-right:2px!important;font-size:11px!important;font-weight:bold;color:#333;cursor:pointer;}#at16p .atbtn:hover{border-color:#444;color:#06c;}#at16p .atrse{font-weight:normal!important;color:#666;margin-left:2px!important;}#atsb .atbtn{width:78px!important;margin:0!important;}#at_email #ateml{text-align:right;font-size:10px;color:#999;}#at16pc{height:343px;font-size:11px;text-align:left;color:#4c4c4c;}#at_email{padding:5px 10px;}#at16pc .tmsg{padding:4px 2px;text-align:right;}#at16psf{position:relative;background:#f2f2f2 url(//s7.addthis.com/static/t00/atf02.gif) no-repeat center center;border-bottom:1px solid #ccc;height:20px;padding:4px 10px;text-align:center;}* html #at16psf input,*:first-child+html #at16psf input{padding:0;}#at16psf input{background:#fff;border:none;width:220px;margin:2px 0 0;color:#666;outline-style:none;outline-width:0;padding:2px 0 0;line-height:12px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;}#at16pcc .at_error{background:#f26d7d;border-bottom:1px solid #df5666;padding:5px 10px;color:#fff;}#at16pcc #at_success{background:#d0fbda;border-bottom:1px solid #a8e7b7;padding:5px 10px;color:#4c4c4c;}#at16pf{position:relative;background:#f2f2f2;height:12px;border-top:1px solid #e5e5e5;}#at16pf a{position:absolute;outline:none;padding:0;margin:0;overflow:hidden;font-size:10px;color:#4c4c4c;font-family:Arial,Helvetica,Sans-Serif;text-decoration:none;}#at16pf a:hover{text-decoration:underline;}#at16pf a.at-whatsthis{width:150px;left:10px;}#at16pf a#at-privacy{width:39px;left:140px;}#at_complete{font-size:13pt;color:#47731d;text-align:center;padding-top:130px;height:208px!important;width:472px;}#at_s_msg{margin-bottom:10px;}#at16pf a#at-logo{background:url(//s7.addthis.com/static/t00/logo88.gif) no-repeat left;padding-left:10px;right:10px;}.at_baa{display:block;overflow:hidden;outline:none;}#at15s #at16pf a{top:1px;}#at16pc form #at_send{width:80px!important;}#at_feed{display:none;padding:10px;height:300px;}#at_feed span{margin-bottom:10px;font-size:12px;}#at_feed div{width:102px!important;height:26px!important;line-height:26px!important;float:left!important;margin-right:68px;}#at_feed div.at_litem{margin-right:0;}#at_feed a{margin:10px 0;height:17px;line-height:17px;}#at_feed.atused .fbtn{background:url(//s7.addthis.com/static/r05/feed00.gif) no-repeat;float:left;width:102px;cursor:pointer;text-indent:-9000px;}#at_feed .fbtn.bloglines{background-position:0 0!important;width:94px;height:20px!important;line-height:20px!important;margin-top:8px!important;}#at_feed .fbtn.yahoo{background-position:0 -20px!important;}#at_feed .fbtn.newsgator,.fbtn.newsgator-on{background-position:0 -37px!important;}#at_feed .fbtn.technorati{background-position:0 -71px!important;}#at_feed .fbtn.netvibes{background-position:0 -88px!important;}#at_feed .fbtn.pageflakes{background-position:0 -141px!important;}#at_feed .fbtn.feedreader{background-position:0 -172px!important;}#at_feed .fbtn.newsisfree{background-position:0 -207px!important;}#at_feed .fbtn.google{background-position:0 -54px!important;width:104px;}#at_feed .fbtn.winlive{background-position:0 -105px!important;width:100px;height:19px!important;line-height:19px;margin-top:9px!important;}#at_feed .fbtn.mymsn{background-position:0 -158px!important;width:71px;height:14px!important;line-height:14px!important;margin-top:12px!important;}#at_feed .fbtn.aol{background-position:0 -189px!important;width:92px;height:18px!important;line-height:18px!important;}#at16pp{color:#4c4c4c;position:absolute;top:12px;right:12px;font-size:11px;}#at16pp label{font-size:11px!important;}#at16ppc{padding:10px;width:179px;}#at16pph{padding:5px 0 10px 0;}#at16pph select{margin:5px 0 8px 0;}#at16pp .atinp{width:156px;}html>/**/body #at16pp .atinp{width:176px;}#at16ppb{background:#fff;border:1px solid #ccc;height:274px;}#at16ep{height:16px;padding:8px;}#at16ep a{display:block;height:16px;line-height:16px;padding-left:22px;margin-bottom:8px;font-size:12px;}#at16ep a.at_gmail{background:url(//s7.addthis.com/static/t00/gmail.gif) no-repeat left;}#at16ep a.at_hotmail{background:url(//s7.addthis.com/static/t00/hotmail.gif) no-repeat left;}#at16ep a.at_yahoo{background:url(//s7.addthis.com/static/t00/yahoo.gif) no-repeat left;}#at16ppf p#atsb{padding-top:20px;font-size:10px;}#at16abr{margin-top:10px;}#at16abr input{padding:0;margin:0;margin-right:5px;}#at16ppso{display:none;text-align:right;margin-top:2px;}#at16ppa{background:#fff;border:1px solid #ccc;height:228px;width:178px;overflow:auto;}#at16ppa a{display:block;white-space:nowrap;padding:4px 8px;font-size:12px!important;}#at16eatdr{position:absolute;background:#fff;border-top:0;max-height:110px;overflow:auto;z-index:500;top:129px;left:21px;width:277px;}* html #at_email #at16eatdr{top:115px!important;width:272px!important;}*:first-child+html #at_email #at16eatdr{top:115px!important;width:272px!important;}html>/**/body #at_email form #at16eatdr.abif{top:137px;width:278px!important;}#at16eatdr a{display:block;overflow:hidden;border-bottom:1px dotted #eee;padding:4px 8px;}#at16eatdr a:hover,#at16eatdr a.hover{background:#e0eefa;text-decoration:none;color:#333;}#at_pspromo{height:130px;padding-top:10px;}#at_pspromo,#at15psp{width:205px;padding-left:5px;}#at_testpromo{font-size:12px;width:220px;display:none;}#at_testpromo input{width:200px;}#at_promo .at-promo-content,#at_testpromo .at-promo-content{margin-top:12px;}#at_promo .at-promo-btn,#at_testpromo .at-promo-btn{padding-top:10px;}#at_promo h4,#at_testpromo h4{font-family:arial,helvetica,tahoma,verdana,sans-serif;background:0;font-size:14px;font-weight:bold;margin:0 0 4px;padding:0;}#at_testpromo h4{font-size:13.5px;}#at_promo h4 sup{font-size:11px;color:#ee6a44;}#at_promo span{display:block;}#at_testpromo .at-promo-btm-ffx,#at_promo .at-promo-btm-ffx{background:url(//s7.addthis.com/images/60x60_at_firefox_toolbar.jpg) no-repeat 0 0;padding:6px 0 0 70px;}#at_promo .at-promo-btm-ie{padding:6px 0 0 64px;}#at_testpromo .at-promo-btm-ie{background:url(//s7.addthis.com/images/48x48_ie_logo.jpg) no-repeat 0 0;padding:10px 0 0 60px;margin:0 5px;height:45px;}#_atssh{width:1px!important;height:1px!important;border:0!important;}.at-promo-ffx,.at-promo-ie{padding:10px 0 0 60px;margin:0 5px;height:45px;}.at-promo-ffx{background:url(//s7.addthis.com/images/48x48_ff_logo.gif) no-repeat 0 0;}.at-promo-ie{background:url(//s7.addthis.com/images/48x48_ie_logo.jpg) no-repeat 0 0;}.at-promo-button{text-align:center;padding-top:10px;}.at-promo-button input{cursor:pointer;}.at-promo-single{padding:10px;padding-top:5px;line-height:1.5em;}@media print{#at20mc{display:none;}}
+#at16lb{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1001;background-color:black;opacity:.001;}#at20mc,#at_email,#at16pib,#at16pc,#at16pi,#at_share,#at_complete,#at_success,#at_error{position:static!important;}#at20mc{position:absolute;left:0;top:0;}#at20mc a{color:#36B;}#at20mc div{float:none;}.at15dn{display:none;}.at15a{border:0;height:0;margin:0;padding:0;width:100%;width:230px;}.atnt{text-align:center!important;padding:6px 0 0 0!important;height:24px!important;}.atnt a{text-decoration:none;color:#36b;}.atnt a:hover{text-decoration:underline;}#at_msg,#at16p label,#at16nms,#at16sas,#at_share .at_item,#at16p,#at15s,#at16p form input,#at16p form textarea{font-family:arial,helvetica,tahoma,verdana,sans-serif!important;font-size:12px!important;outline-style:none;outline-width:0;line-height:1em;}* html #at15s.mmborder{position:absolute!important;}#at15s.mmborder{position:fixed!important;}/*\*/ #at15s.mmborder{width:240px!important;}/**/ #at20mc div.at15sie6{color:#4c4c4c!important;width:240px!important;}#at15s{background:url(//s7.addthis.com/static/t00/atbkg.png);float:none!important;line-height:1em!important;margin:0!important;overflow:visible!important;padding:5px!important;text-align:left!important;position:absolute!important;}#at15s,#at16p{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}html>body #at15s{width:230px!important;}#at15s.atiemode2{width:232px!important;}#at15s_inner{background:#fff;border:1px solid #fff;margin:0;}#at15s_head{position:relative;background:#f2f2f2;padding:4px;cursor:default;border-bottom:1px solid #e5e5e5;}.at15s_head_success{background:#cafd99!important;border-bottom:1px solid #a9d582!important;}.at15s_head_success *{color:#000!important;text-decoration:none;}#at15s_brand,#at16_brand,#at15sptx{position:absolute;}#at15s_brand{top:4px;right:4px;}.at15s_brandx{right:20px!important;}a#at15sptx{top:4px;right:4px;text-decoration:none;color:#4c4c4c;font-weight:bold;}.at15sie6 a#at15sptx,#at15s.atiemode2 a#at15sptx{right:8px;}#at15sptx:hover{text-decoration:underline;}#at16_brand{top:5px;right:30px;cursor:default;}#at_hover{padding:4px;}#at_hover .at_item,#at_share .at_item{background:#fff!important;float:left!important;color:#4c4c4c!important;}#at16nms,#at16sas{padding:4px 5px;}#at16sas{clear:left;padding-top:16px;padding-bottom:16px;}#at_hover .at_item{width:102px!important;padding:2px 3px!important;margin:1px;}#at_hover .at_item.atiemode2{width:104px!important;}#at_hover .at_item:hover,#at_hover .at_item.athov{margin:0!important;}#at_hover .at_item:hover,#at_hover .at_item.athov,#at_share .at_item:hover,#at_share .at_item.athov{background:#f2f2f2!important;border:1px solid #e5e5e5;color:#000!important;}* html #at_hover .at_item{border:1px solid #fff;}* html #at_hover .at_item.athov{border:1px solid #e5e5e5!important;margin:1px!important;}#at_email15{padding-top:5px;}.at15e_row{height:28px;}.at15e_row label,.at15e_row span{padding-left:10px!important;display:block!important;width:60px!important;float:left!important;}.at15e_row input,.at15e_row textarea{display:block!important;width:150px!important;float:left!important;background:#fff!important;border:1px solid #ccc!important;color:#333!important;font-size:11px!important;font-weight:normal!important;padding:0!important;}#at_email label,#at_email input,#at_email textarea{font-size:11px!important;}#at_email #at16meo{margin:15px 0 0 2px;}#at_email #at16meo span{float:left;margin-right:5px;padding-top:4px;}#at_email #at16meo a{float:left;margin:0;}#at_sending{margin-top:130px;text-align:center;}#at_sending img{padding:10px;}.at15t{display:block!important;height:16px!important;line-height:16px!important;padding-left:20px!important;background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;background-position:0 0;cursor:pointer;}.at15t{display:block!important;height:16px!important;line-height:16px!important;padding-left:20px!important;background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;background-position:0 0;cursor:pointer;}.addthis_button{cursor:pointer;}.addthis_toolbox.addthis_default_style span{line-height:16px;}.addthis_default_style .addthis_separator{margin:0 5px;display:inline;}div.atclear{clear:both;}.addthis_default_style .addthis_separator,.addthis_default_style .at300b,.addthis_default_style .at300m,.addthis_default_style .at300bs{float:left;}.at300b img{border:0;}.addthis_default_style .at300b,.addthis_default_style .at300m{padding:0 2px;}.at300b,.at300m,.at300bs{cursor:pointer;}.addthis_32x32_style .at300bs{background:url(//s7.addthis.com/static/r07/widget20_32x32.png) no-repeat left;overflow:hidden;display:block;background-position:0 0;height:32px;width:32px;line-height:32px!important;}.at300bs{background:url(//s7.addthis.com/static/r07/widget20.png) no-repeat left;overflow:hidden;display:block;background-position:0 0;height:16px;width:16px;line-height:16px!important;}.at300bs.at15t_expanded,.at300bs.at15t_compact{background:url(//s7.addthis.com/static/t00/logo1414.gif) no-repeat left;margin-right:4px;}.addthis_32x32_style .at300bs.at15t_compact,.addthis_32x32_style .at300bs.at15t_expanded{background:url(//s7.addthis.com/static/r07/widget20_32x32.png) no-repeat left;background-position:0 -1856px;margin-right:0;}.addthis_32x32_style .at15t_100zakladok{background-position:0 -0px;}.addthis_32x32_style .at15t_2linkme{background-position:0 -32px;}.addthis_32x32_style .at15t_2tag{background-position:0 -64px;}.addthis_32x32_style .at15t_7live7{background-position:0 -96px;}.addthis_32x32_style .at15t_a1webmarks{background-position:0 -128px;}.addthis_32x32_style .at15t_abruzzopedia{background-position:0 -160px;}.addthis_32x32_style .at15t_addio{background-position:0 -192px;}.addthis_32x32_style .at15t_addthis_32x32{background-position:0 -224px;}.addthis_32x32_style .at15t_adifni{background-position:0 -256px;}.addthis_32x32_style .at15t_aerosocial{background-position:0 -288px;}.addthis_32x32_style .at15t_aim{background-position:0 -320px;}.addthis_32x32_style .at15t_allmyfaves{background-position:0 -352px;}.addthis_32x32_style .at15t_amazonwishlist{background-position:0 -384px;}.addthis_32x32_style .at15t_amenme{background-position:0 -416px;}.addthis_32x32_style .at15t_aolmail{background-position:0 -448px;}.addthis_32x32_style .at15t_arto{background-position:0 -480px;}.addthis_32x32_style .at15t_ask{background-position:0 -512px;}.addthis_32x32_style .at15t_aviary{background-position:0 -544px;}.addthis_32x32_style .at15t_baang{background-position:0 -576px;}.addthis_32x32_style .at15t_backflip{background-position:0 -608px;}.addthis_32x32_style .at15t_baidu{background-position:0 -640px;}.addthis_32x32_style .at15t_ballhype{background-position:0 -672px;}.addthis_32x32_style .at15t_bebo{background-position:0 -704px;}.addthis_32x32_style .at15t_bentio{background-position:0 -736px;}.addthis_32x32_style .at15t_biggerpockets{background-position:0 -768px;}.addthis_32x32_style .at15t_bitly{background-position:0 -800px;}.addthis_32x32_style .at15t_bizsugar{background-position:0 -832px;}.addthis_32x32_style .at15t_bleetbox{background-position:0 -864px;}.addthis_32x32_style .at15t_blinklist{background-position:0 -896px;}.addthis_32x32_style .at15t_blip{background-position:0 -928px;}.addthis_32x32_style .at15t_blogger{background-position:0 -960px;}.addthis_32x32_style .at15t_bloggy{background-position:0 -992px;}.addthis_32x32_style .at15t_blogmarks{background-position:0 -1024px;}.addthis_32x32_style .at15t_blogtrottr{background-position:0 -1056px;}.addthis_32x32_style .at15t_blurpalicious{background-position:0 -1088px;}.addthis_32x32_style .at15t_boardlite{background-position:0 -1120px;}.addthis_32x32_style .at15t_bobrdobr{background-position:0 -1152px;}.addthis_32x32_style .at15t_bonzobox{background-position:0 -1184px;}.addthis_32x32_style .at15t_bookmarkedbyus{background-position:0 -1216px;}.addthis_32x32_style .at15t_bookmarkycz{background-position:0 -1248px;}.addthis_32x32_style .at15t_bookmerkende{background-position:0 -1280px;}.addthis_32x32_style .at15t_bordom{background-position:0 -1312px;}.addthis_32x32_style .at15t_box{background-position:0 -1344px;}.addthis_32x32_style .at15t_brainify{background-position:0 -1376px;}.addthis_32x32_style .at15t_bryderi{background-position:0 -1408px;}.addthis_32x32_style .at15t_buddymarks{background-position:0 -1440px;}.addthis_32x32_style .at15t_buzz{background-position:0 -1472px;}.addthis_32x32_style .at15t_buzz_fr{background-position:0 -1504px;}.addthis_32x32_style .at15t_buzzzy{background-position:0 -1536px;}.addthis_32x32_style .at15t_camyoo{background-position:0 -1568px;}.addthis_32x32_style .at15t_care2{background-position:0 -1600px;}.addthis_32x32_style .at15t_chiq{background-position:0 -1632px;}.addthis_32x32_style .at15t_cirip{background-position:0 -1664px;}.addthis_32x32_style .at15t_citeulike{background-position:0 -1696px;}.addthis_32x32_style .at15t_classicalplace{background-position:0 -1728px;}.addthis_32x32_style .at15t_clickazoo{background-position:0 -1760px;}.addthis_32x32_style .at15t_cndig{background-position:0 -1792px;}.addthis_32x32_style .at15t_colivia{background-position:0 -1824px;}.addthis_32x32_style .at15t_compact{background-position:0 -1856px;}.addthis_32x32_style .at15t_connotea{background-position:0 -1888px;}.addthis_32x32_style .at15t_cosmiq{background-position:0 -1920px;}.addthis_32x32_style .at15t_dashboard{background-position:0 -1952px;}.addthis_32x32_style .at15t_delicious{background-position:0 -1984px;}.addthis_32x32_style .at15t_designbump{background-position:0 -2016px;}.addthis_32x32_style .at15t_designmoo{background-position:0 -2048px;}.addthis_32x32_style .at15t_digg{background-position:0 -2080px;}.addthis_32x32_style .at15t_diggita{background-position:0 -2112px;}.addthis_32x32_style .at15t_diggtiger{background-position:0 -2144px;}.addthis_32x32_style .at15t_diglog{background-position:0 -2176px;}.addthis_32x32_style .at15t_digo{background-position:0 -2208px;}.addthis_32x32_style .at15t_diigo{background-position:0 -2240px;}.addthis_32x32_style .at15t_dipdive{background-position:0 -2272px;}.addthis_32x32_style .at15t_domaintoolswhois{background-position:0 -2304px;}.addthis_32x32_style .at15t_domelhor{background-position:0 -2336px;}.addthis_32x32_style .at15t_doower{background-position:0 -2368px;}.addthis_32x32_style .at15t_dosti{background-position:0 -2400px;}.addthis_32x32_style .at15t_dotnetkicks{background-position:0 -2432px;}.addthis_32x32_style .at15t_dotnetshoutout{background-position:0 -2464px;}.addthis_32x32_style .at15t_douban{background-position:0 -2496px;}.addthis_32x32_style .at15t_drimio{background-position:0 -2528px;}.addthis_32x32_style .at15t_dropjack{background-position:0 -2560px;}.addthis_32x32_style .at15t_dwellicious{background-position:0 -2592px;}.addthis_32x32_style .at15t_dzone{background-position:0 -2624px;}.addthis_32x32_style .at15t_edelight{background-position:0 -2656px;}.addthis_32x32_style .at15t_ekudos{background-position:0 -2688px;}.addthis_32x32_style .at15t_elefantapl{background-position:0 -2720px;}.addthis_32x32_style .at15t_elertgadget{background-position:0 -2752px;}.addthis_32x32_style .at15t_email{background-position:0 -2784px;}.addthis_32x32_style .at15t_embarkons{background-position:0 -2816px;}.addthis_32x32_style .at15t_eucliquei{background-position:0 -2848px;}.addthis_32x32_style .at15t_evernote{background-position:0 -2880px;}.addthis_32x32_style .at15t_extraplay{background-position:0 -2912px;}.addthis_32x32_style .at15t_ezyspot{background-position:0 -2944px;}.addthis_32x32_style .at15t_fabulously40{background-position:0 -2976px;}.addthis_32x32_style .at15t_facebook{background-position:0 -3008px;}.addthis_32x32_style .at15t_fark{background-position:0 -3040px;}.addthis_32x32_style .at15t_farkinda{background-position:0 -3072px;}.addthis_32x32_style .at15t_favable{background-position:0 -3104px;}.addthis_32x32_style .at15t_faves{background-position:0 -3136px;}.addthis_32x32_style .at15t_favlogde{background-position:0 -3168px;}.addthis_32x32_style .at15t_favorites{background-position:0 -3200px;}.addthis_32x32_style .at15t_favoritus{background-position:0 -3232px;}.addthis_32x32_style .at15t_flaker{background-position:0 -3264px;}.addthis_32x32_style .at15t_flosspro{background-position:0 -3296px;}.addthis_32x32_style .at15t_fnews{background-position:0 -3328px;}.addthis_32x32_style .at15t_folkd{background-position:0 -3360px;}.addthis_32x32_style .at15t_followtags{background-position:0 -3392px;}.addthis_32x32_style .at15t_fooxweb{background-position:0 -3424px;}.addthis_32x32_style .at15t_forceindya{background-position:0 -3456px;}.addthis_32x32_style .at15t_fresqui{background-position:0 -3488px;}.addthis_32x32_style .at15t_friendfeed{background-position:0 -3520px;}.addthis_32x32_style .at15t_friendster{background-position:0 -3552px;}.addthis_32x32_style .at15t_funp{background-position:0 -3584px;}.addthis_32x32_style .at15t_fwisp{background-position:0 -3616px;}.addthis_32x32_style .at15t_gabbr{background-position:0 -3648px;}.addthis_32x32_style .at15t_gacetilla{background-position:0 -3680px;}.addthis_32x32_style .at15t_gamekicker{background-position:0 -3712px;}.addthis_32x32_style .at15t_gamesnetworks{background-position:0 -3744px;}.addthis_32x32_style .at15t_givealink{background-position:0 -3776px;}.addthis_32x32_style .at15t_globalgrind{background-position:0 -3808px;}.addthis_32x32_style .at15t_gluvsnap{background-position:0 -3840px;}.addthis_32x32_style .at15t_gmail{background-position:0 -3872px;}.addthis_32x32_style .at15t_google{background-position:0 -3904px;}.addthis_32x32_style .at15t_googlebuzz{background-position:0 -3936px;}.addthis_32x32_style .at15t_googlereader{background-position:0 -3968px;}.addthis_32x32_style .at15t_googletranslate{background-position:0 -4000px;}.addthis_32x32_style .at15t_gravee{background-position:0 -4032px;}.addthis_32x32_style .at15t_greaterdebater{background-position:0 -4064px;}.addthis_32x32_style .at15t_grono{background-position:0 -4096px;}.addthis_32x32_style .at15t_grumper{background-position:0 -4128px;}.addthis_32x32_style .at15t_habergentr{background-position:0 -4160px;}.addthis_32x32_style .at15t_hackernews{background-position:0 -4192px;}.addthis_32x32_style .at15t_hadashhot{background-position:0 -4224px;}.addthis_32x32_style .at15t_hatena{background-position:0 -4256px;}.addthis_32x32_style .at15t_hazarkor{background-position:0 -4288px;}.addthis_32x32_style .at15t_hedgehogs{background-position:0 -4320px;}.addthis_32x32_style .at15t_hellotxt{background-position:0 -4352px;}.addthis_32x32_style .at15t_hemidemi{background-position:0 -4384px;}.addthis_32x32_style .at15t_hi5{background-position:0 -4416px;}.addthis_32x32_style .at15t_hipstr{background-position:0 -4448px;}.addthis_32x32_style .at15t_hitmarks{background-position:0 -4480px;}.addthis_32x32_style .at15t_hotbookmark{background-position:0 -4512px;}.addthis_32x32_style .at15t_hotklix{background-position:0 -4544px;}.addthis_32x32_style .at15t_hotmail{background-position:0 -4576px;}.addthis_32x32_style .at15t_hotweblt{background-position:0 -4608px;}.addthis_32x32_style .at15t_hyves{background-position:0 -4640px;}.addthis_32x32_style .at15t_idearef{background-position:0 -4672px;}.addthis_32x32_style .at15t_identica{background-position:0 -4704px;}.addthis_32x32_style .at15t_igoogle{background-position:0 -4736px;}.addthis_32x32_style .at15t_ihavegot{background-position:0 -4768px;}.addthis_32x32_style .at15t_informazione{background-position:0 -4800px;}.addthis_32x32_style .at15t_instapaper{background-position:0 -4832px;}.addthis_32x32_style .at15t_investorlinks{background-position:0 -4864px;}.addthis_32x32_style .at15t_isociety{background-position:0 -4896px;}.addthis_32x32_style .at15t_iwiw{background-position:0 -4928px;}.addthis_32x32_style .at15t_jamespot{background-position:0 -4960px;}.addthis_32x32_style .at15t_jisko{background-position:0 -4992px;}.addthis_32x32_style .at15t_jumptags{background-position:0 -5024px;}.addthis_32x32_style .at15t_kaboodle{background-position:0 -5056px;}.addthis_32x32_style .at15t_kaevur{background-position:0 -5088px;}.addthis_32x32_style .at15t_kipup{background-position:0 -5120px;}.addthis_32x32_style .at15t_kirtsy{background-position:0 -5152px;}.addthis_32x32_style .at15t_kledy{background-position:0 -5184px;}.addthis_32x32_style .at15t_kommenting{background-position:0 -5216px;}.addthis_32x32_style .at15t_koornk{background-position:0 -5248px;}.addthis_32x32_style .at15t_kudos{background-position:0 -5280px;}.addthis_32x32_style .at15t_laaikit{background-position:0 -5312px;}.addthis_32x32_style .at15t_ladenzeile{background-position:0 -5344px;}.addthis_32x32_style .at15t_librerio{background-position:0 -5376px;}.addthis_32x32_style .at15t_linkagogo{background-position:0 -5408px;}.addthis_32x32_style .at15t_linkedin{background-position:0 -5440px;}.addthis_32x32_style .at15t_linkninja{background-position:0 -5472px;}.addthis_32x32_style .at15t_linkshares{background-position:0 -5504px;}.addthis_32x32_style .at15t_linkstore{background-position:0 -5536px;}.addthis_32x32_style .at15t_linkuj{background-position:0 -5568px;}.addthis_32x32_style .at15t_live{background-position:0 -5600px;}.addthis_32x32_style .at15t_livefavoris{background-position:0 -5632px;}.addthis_32x32_style .at15t_livejournal{background-position:0 -5664px;}.addthis_32x32_style .at15t_lockerblogger{background-position:0 -5696px;}.addthis_32x32_style .at15t_lynki{background-position:0 -5728px;}.addthis_32x32_style .at15t_mailto{background-position:0 -5760px;}.addthis_32x32_style .at15t_mashbord{background-position:0 -5792px;}.addthis_32x32_style .at15t_mawindo{background-position:0 -5824px;}.addthis_32x32_style .at15t_meccho{background-position:0 -5856px;}.addthis_32x32_style .at15t_meinvz{background-position:0 -5888px;}.addthis_32x32_style .at15t_mekusharim{background-position:0 -5920px;}.addthis_32x32_style .at15t_memori{background-position:0 -5952px;}.addthis_32x32_style .at15t_meneame{background-position:0 -5984px;}.addthis_32x32_style .at15t_mindbodygreen{background-position:0 -6016px;}.addthis_32x32_style .at15t_misterwong{background-position:0 -6048px;}.addthis_32x32_style .at15t_misterwong_de{background-position:0 -6080px;}.addthis_32x32_style .at15t_misterwong_ru{background-position:0 -6112px;}.addthis_32x32_style .at15t_mixx{background-position:0 -6144px;}.addthis_32x32_style .at15t_mob{background-position:0 -6176px;}.addthis_32x32_style .at15t_moemesto{background-position:0 -6208px;}.addthis_32x32_style .at15t_more{background-position:0 -6240px;}.addthis_32x32_style .at15t_mototagz{background-position:0 -6272px;}.addthis_32x32_style .at15t_mssocialbookmarks{background-position:0 -6304px;}.addthis_32x32_style .at15t_multiply{background-position:0 -6336px;}.addthis_32x32_style .at15t_myaol{background-position:0 -6368px;}.addthis_32x32_style .at15t_mylinkvault{background-position:0 -6400px;}.addthis_32x32_style .at15t_mynasa{background-position:0 -6432px;}.addthis_32x32_style .at15t_myspace{background-position:0 -6464px;}.addthis_32x32_style .at15t_myyearbook{background-position:0 -6496px;}.addthis_32x32_style .at15t_n4g{background-position:0 -6528px;}.addthis_32x32_style .at15t_netlog{background-position:0 -6560px;}.addthis_32x32_style .at15t_netvibes{background-position:0 -6592px;}.addthis_32x32_style .at15t_netvouz{background-position:0 -6624px;}.addthis_32x32_style .at15t_newstrust{background-position:0 -6656px;}.addthis_32x32_style .at15t_newsvine{background-position:0 -6688px;}.addthis_32x32_style .at15t_nujij{background-position:0 -6720px;}.addthis_32x32_style .at15t_oknotizie{background-position:0 -6752px;}.addthis_32x32_style .at15t_oneview{background-position:0 -6784px;}.addthis_32x32_style .at15t_orkut{background-position:0 -6816px;}.addthis_32x32_style .at15t_osmosus{background-position:0 -6848px;}.addthis_32x32_style .at15t_oyyla{background-position:0 -6880px;}.addthis_32x32_style .at15t_pdfmyurl{background-position:0 -6912px;}.addthis_32x32_style .at15t_pdfonline{background-position:0 -6944px;}.addthis_32x32_style .at15t_phonefavs{background-position:0 -6976px;}.addthis_32x32_style .at15t_picciz{background-position:0 -7008px;}.addthis_32x32_style .at15t_pimpthisblog{background-position:0 -7040px;}.addthis_32x32_style .at15t_pingfm{background-position:0 -7072px;}.addthis_32x32_style .at15t_planypus{background-position:0 -7104px;}.addthis_32x32_style .at15t_plaxo{background-position:0 -7136px;}.addthis_32x32_style .at15t_plurk{background-position:0 -7168px;}.addthis_32x32_style .at15t_polladium{background-position:0 -7200px;}.addthis_32x32_style .at15t_popedition{background-position:0 -7232px;}.addthis_32x32_style .at15t_posteezy{background-position:0 -7264px;}.addthis_32x32_style .at15t_posterous{background-position:0 -7296px;}.addthis_32x32_style .at15t_pratiba{background-position:0 -7328px;}.addthis_32x32_style .at15t_print{background-position:0 -7360px;}.addthis_32x32_style .at15t_printfriendly{background-position:0 -7392px;}.addthis_32x32_style .at15t_propeller{background-position:0 -7424px;}.addthis_32x32_style .at15t_pusha{background-position:0 -7456px;}.addthis_32x32_style .at15t_quantcast{background-position:0 -7488px;}.addthis_32x32_style .at15t_qzone{background-position:0 -7520px;}.addthis_32x32_style .at15t_readitlater{background-position:0 -7552px;}.addthis_32x32_style .at15t_receeveit{background-position:0 -7584px;}.addthis_32x32_style .at15t_reddit{background-position:0 -7616px;}.addthis_32x32_style .at15t_rediff{background-position:0 -7648px;}.addthis_32x32_style .at15t_redkum{background-position:0 -7680px;}.addthis_32x32_style .at15t_scoopat{background-position:0 -7712px;}.addthis_32x32_style .at15t_segnalo{background-position:0 -7744px;}.addthis_32x32_style .at15t_sekoman{background-position:0 -7776px;}.addthis_32x32_style .at15t_shaveh{background-position:0 -7808px;}.addthis_32x32_style .at15t_shetoldme{background-position:0 -7840px;}.addthis_32x32_style .at15t_simpy{background-position:0 -7872px;}.addthis_32x32_style .at15t_slashdot{background-position:0 -7904px;}.addthis_32x32_style .at15t_smaknews{background-position:0 -7936px;}.addthis_32x32_style .at15t_smiru{background-position:0 -7968px;}.addthis_32x32_style .at15t_socialbookmarkingnet{background-position:0 -8000px;}.addthis_32x32_style .at15t_sodahead{background-position:0 -8032px;}.addthis_32x32_style .at15t_sonico{background-position:0 -8064px;}.addthis_32x32_style .at15t_speedtile{background-position:0 -8096px;}.addthis_32x32_style .at15t_sphinn{background-position:0 -8128px;}.addthis_32x32_style .at15t_spokentoyou{background-position:0 -8160px;}.addthis_32x32_style .at15t_sportpost{background-position:0 -8192px;}.addthis_32x32_style .at15t_springpad{background-position:0 -8224px;}.addthis_32x32_style .at15t_spruzer{background-position:0 -8256px;}.addthis_32x32_style .at15t_squidoo{background-position:0 -8288px;}.addthis_32x32_style .at15t_startaid{background-position:0 -8320px;}.addthis_32x32_style .at15t_startlap{background-position:0 -8352px;}.addthis_32x32_style .at15t_storyfollower{background-position:0 -8384px;}.addthis_32x32_style .at15t_strands{background-position:0 -8416px;}.addthis_32x32_style .at15t_studivz{background-position:0 -8448px;}.addthis_32x32_style .at15t_stuffpit{background-position:0 -8480px;}.addthis_32x32_style .at15t_stumbleupon{background-position:0 -8512px;}.addthis_32x32_style .at15t_stumpedia{background-position:0 -8544px;}.addthis_32x32_style .at15t_stylehive{background-position:0 -8576px;}.addthis_32x32_style .at15t_surfpeoplenet{background-position:0 -8608px;}.addthis_32x32_style .at15t_svejo{background-position:0 -8640px;}.addthis_32x32_style .at15t_symbaloo{background-position:0 -8672px;}.addthis_32x32_style .at15t_tagmarksde{background-position:0 -8704px;}.addthis_32x32_style .at15t_tagvn{background-position:0 -8736px;}.addthis_32x32_style .at15t_tagza{background-position:0 -8768px;}.addthis_32x32_style .at15t_tailrank{background-position:0 -8800px;}.addthis_32x32_style .at15t_technorati{background-position:0 -8832px;}.addthis_32x32_style .at15t_tellmypolitician{background-position:0 -8864px;}.addthis_32x32_style .at15t_thewebblend{background-position:0 -8896px;}.addthis_32x32_style .at15t_thinkfinity{background-position:0 -8928px;}.addthis_32x32_style .at15t_thisnext{background-position:0 -8960px;}.addthis_32x32_style .at15t_tipd{background-position:0 -8992px;}.addthis_32x32_style .at15t_transferr{background-position:0 -9024px;}.addthis_32x32_style .at15t_tulinq{background-position:0 -9056px;}.addthis_32x32_style .at15t_tumblr{background-position:0 -9088px;}.addthis_32x32_style .at15t_tusul{background-position:0 -9120px;}.addthis_32x32_style .at15t_tweetmeme{background-position:0 -9152px;}.addthis_32x32_style .at15t_twitter{background-position:0 -9184px;}.addthis_32x32_style .at15t_twitthis{background-position:0 -9216px;}.addthis_32x32_style .at15t_typepad{background-position:0 -9248px;}.addthis_32x32_style .at15t_viadeo{background-position:0 -9280px;}.addthis_32x32_style .at15t_virb{background-position:0 -9312px;}.addthis_32x32_style .at15t_visitezmonsite{background-position:0 -9344px;}.addthis_32x32_style .at15t_vk{background-position:0 -9376px;}.addthis_32x32_style .at15t_vyoom{background-position:0 -9408px;}.addthis_32x32_style .at15t_w3validator{background-position:0 -9440px;}.addthis_32x32_style .at15t_webnews{background-position:0 -9472px;}.addthis_32x32_style .at15t_webs{background-position:0 -9504px;}.addthis_32x32_style .at15t_windows{background-position:0 -9536px;}.addthis_32x32_style .at15t_windycitizen{background-position:0 -9568px;}.addthis_32x32_style .at15t_wirefan{background-position:0 -9600px;}.addthis_32x32_style .at15t_wordpress{background-position:0 -9632px;}.addthis_32x32_style .at15t_worio{background-position:0 -9664px;}.addthis_32x32_style .at15t_wovre{background-position:0 -9696px;}.addthis_32x32_style .at15t_wykop{background-position:0 -9728px;}.addthis_32x32_style .at15t_xanga{background-position:0 -9760px;}.addthis_32x32_style .at15t_yahoobkm{background-position:0 -9792px;}.addthis_32x32_style .at15t_yahoomail{background-position:0 -9824px;}.addthis_32x32_style .at15t_yammer{background-position:0 -9856px;}.addthis_32x32_style .at15t_yardbarker{background-position:0 -9888px;}.addthis_32x32_style .at15t_yazzem{background-position:0 -9920px;}.addthis_32x32_style .at15t_yigg{background-position:0 -9952px;}.addthis_32x32_style .at15t_yoolink{background-position:0 -9984px;}.addthis_32x32_style .at15t_yorumcuyum{background-position:0 -10016px;}.addthis_32x32_style .at15t_youbookmarks{background-position:0 -10048px;}.addthis_32x32_style .at15t_youmob{background-position:0 -10080px;}.addthis_32x32_style .at15t_zakladoknet{background-position:0 -10112px;}.addthis_32x32_style .at15t_zanatic{background-position:0 -10144px;}.addthis_32x32_style .at15t_zooloo{background-position:0 -10176px;}.addthis_32x32_style .at15t_netscape{background-position:0 -7424px;}.at15t_000{background-position:0 -0px;}.at15t_tweetmeme{background-position:0 -16px;}.at15t_posteezy{background-position:0 -32px;}.at15t_redkum{background-position:0 -48px;}.at15t_livefavoris{background-position:0 -64px;}.at15t_connotea{background-position:0 -80px;}.at15t_farkinda{background-position:0 -96px;}.at15t_hackernews{background-position:0 -112px;}.at15t_receeveit{background-position:0 -128px;}.at15t_mob{background-position:0 -144px;}.at15t_gluvsnap{background-position:0 -160px;}.at15t_tusul{background-position:0 -176px;}.at15t_identica{background-position:0 -192px;}.at15t_hedgehogs{background-position:0 -208px;}.at15t_designmoo{background-position:0 -224px;}.at15t_folkd{background-position:0 -240px;}.at15t_doower{background-position:0 -256px;}.at15t_bonzobox{background-position:0 -272px;}.at15t_buzz_fr{background-position:0 -288px;}.at15t_gamekicker{background-position:0 -304px;}.at15t_ezyspot{background-position:0 -320px;}.at15t_webs{background-position:0 -336px;}.at15t_mawindo{background-position:0 -352px;}.at15t_tellmypolitician{background-position:0 -368px;}.at15t_scoopat{background-position:0 -384px;}.at15t_favoritus{background-position:0 -400px;}.at15t_eucliquei{background-position:0 -416px;}.at15t_hazarkor{background-position:0 -432px;}.at15t_box{background-position:0 -448px;}.at15t_evernote{background-position:0 -464px;}.at15t_blogger{background-position:0 -480px;}.at15t_favorites{background-position:0 -496px;}.at15t_plurk{background-position:0 -512px;}.at15t_friendfeed{background-position:0 -528px;}.at15t_buzz{background-position:0 -544px;}.at15t_bebo{background-position:0 -560px;}.at15t_hyves{background-position:0 -576px;}.at15t_meinvz{background-position:0 -592px;}.at15t_linkedin{background-position:0 -608px;}.at15t_posterous{background-position:0 -624px;}.at15t_sonico{background-position:0 -640px;}.at15t_amazonwishlist{background-position:0 -656px;}.at15t_delicious{background-position:0 -672px;}.at15t_digg{background-position:0 -688px;}.at15t_facebook{background-position:0 -704px;}.at15t_meneame{background-position:0 -720px;}.at15t_myspace{background-position:0 -736px;}.at15t_google{background-position:0 -752px;}.at15t_googletranslate{background-position:0 -768px;}.at15t_igoogle{background-position:0 -784px;}.at15t_designbump{background-position:0 -800px;}.at15t_hotmail{background-position:0 -816px;}.at15t_live{background-position:0 -832px;}.at15t_viadeo{background-position:0 -848px;}.at15t_fark{background-position:0 -864px;}.at15t_misterwong{background-position:0 -880px;}.at15t_newsvine{background-position:0 -896px;}.at15t_oyyla{background-position:0 -912px;}.at15t_mixx{background-position:0 -928px;}.at15t_squidoo{background-position:0 -944px;}.at15t_googlebuzz{background-position:0 -960px;}.at15t_orkut{background-position:0 -976px;}.at15t_studivz{background-position:0 -992px;}.at15t_netvibes{background-position:0 -1008px;}.at15t_technorati{background-position:0 -1024px;}.at15t_friendster{background-position:0 -1040px;}.at15t_reddit{background-position:0 -1056px;}.at15t_twitter{background-position:0 -1072px;}.at15t_slashdot{background-position:0 -1088px;}.at15t_tumblr{background-position:0 -1104px;}.at15t_menu{background-position:0 -1120px;}.at15t_virb{background-position:0 -1136px;}.at15t_wordpress{background-position:0 -1152px;}.at15t_linkninja{background-position:0 -1168px;}.at15t_oknotizie{background-position:0 -1184px;}.at15t_stumbleupon{background-position:0 -1200px;}.at15t_googlereader{background-position:0 -1216px;}.at15t_gacetilla{background-position:0 -1232px;}.at15t_gmail{background-position:0 -1248px;}.at15t_print{background-position:0 -1264px;}.at15t_yahoobkm{background-position:0 -1280px;}.at15t_yahoomail{background-position:0 -1296px;}.at15t_diglog{background-position:0 -1312px;}.at15t_bookmerkende{background-position:0 -1328px;}.at15t_givealink{background-position:0 -1344px;}.at15t_wovre{background-position:0 -1360px;}.at15t_amenme{background-position:0 -1376px;}.at15t_tagvn{background-position:0 -1392px;}.at15t_surfpeoplenet{background-position:0 -1408px;}.at15t_aim{background-position:0 -1424px;}.at15t_elertgadget{background-position:0 -1440px;}.at15t_cndig{background-position:0 -1456px;}.at15t_email{background-position:0 -1472px;}.at15t_springpad{background-position:0 -1488px;}.at15t_isociety{background-position:0 -1504px;}.at15t_bloggy{background-position:0 -1520px;}.at15t_tagmarksde{background-position:0 -1536px;}.at15t_misterwong_de{background-position:0 -1552px;}.at15t_bryderi{background-position:0 -1568px;}.at15t_bookmarkycz{background-position:0 -1584px;}.at15t_w3validator{background-position:0 -1600px;}.at15t_instapaper{background-position:0 -1616px;}.at15t_pdfmyurl{background-position:0 -1632px;}.at15t_planypus{background-position:0 -1648px;}.at15t_diggtiger{background-position:0 -1664px;}.at15t_mekusharim{background-position:0 -1680px;}.at15t_kommenting{background-position:0 -1696px;}.at15t_lockerblogger{background-position:0 -1712px;}.at15t_kipup{background-position:0 -1728px;}.at15t_pusha{background-position:0 -1744px;}.at15t_yorumcuyum{background-position:0 -1760px;}.at15t_wykop{background-position:0 -1776px;}.at15t_startaid{background-position:0 -1792px;}.at15t_jamespot{background-position:0 -1808px;}.at15t_vk{background-position:0 -1824px;}.at15t_smaknews{background-position:0 -1840px;}.at15t_embarkons{background-position:0 -1856px;}.at15t_adifni{background-position:0 -1872px;}.at15t_blurpalicious{background-position:0 -1888px;}.at15t_blogtrottr{background-position:0 -1904px;}.at15t_domaintoolswhois{background-position:0 -1920px;}.at15t_elefantapl{background-position:0 -1936px;}.at15t_cosmiq{background-position:0 -1952px;}.at15t_bookmarkedbyus{background-position:0 -1968px;}.at15t_youmob{background-position:0 -1984px;}.at15t_dipdive{background-position:0 -2000px;}.at15t_pimpthisblog{background-position:0 -2016px;}.at15t_stumpedia{background-position:0 -2032px;}.at15t_visitezmonsite{background-position:0 -2048px;}.at15t_bizsugar{background-position:0 -2064px;}.at15t_polladium{background-position:0 -2080px;}.at15t_strands{background-position:0 -2096px;}.at15t_simpy{background-position:0 -2112px;}.at15t_allmyfaves{background-position:0 -2128px;}.at15t_yammer{background-position:0 -2144px;}.at15t_bobrdobr{background-position:0 -2160px;}.at15t_hotklix{background-position:0 -2176px;}.at15t_shaveh{background-position:0 -2192px;}.at15t_windows{background-position:0 -2208px;}.at15t_baang{background-position:0 -2224px;}.at15t_greaterdebater{background-position:0 -2240px;}.at15t_thewebblend{background-position:0 -2256px;}.at15t_dashboard{background-position:0 -2272px;}.at15t_tulinq{background-position:0 -2288px;}.at15t_spruzer{background-position:0 -2304px;}.at15t_yoolink{background-position:0 -2320px;}.at15t_clickazoo{background-position:0 -2336px;}.at15t_gamesnetworks{background-position:0 -2352px;}.at15t_fooxweb{background-position:0 -2368px;}.at15t_mssocialbookmarks{background-position:0 -2384px;}.at15t_fresqui{background-position:0 -2400px;}.at15t_mindbodygreen{background-position:0 -2416px;}.at15t_librerio{background-position:0 -2432px;}.at15t_yigg{background-position:0 -2448px;}.at15t_netvouz{background-position:0 -2464px;}.at15t_followtags{background-position:0 -2480px;}.at15t_boardlite{background-position:0 -2496px;}.at15t_citeulike{background-position:0 -2512px;}.at15t_webnews{background-position:0 -2528px;}.at15t_hatena{background-position:0 -2544px;}.at15t_memori{background-position:0 -2560px;}.at15t_segnalo{background-position:0 -2576px;}.at15t_n4g{background-position:0 -2592px;}.at15t_ekudos{background-position:0 -2608px;}.at15t_more{background-position:0 -2624px;}.at15t_kaboodle{background-position:0 -2640px;}.at15t_abruzzopedia{background-position:0 -2656px;}.at15t_kudos{background-position:0 -2672px;}.at15t_ihavegot{background-position:0 -2688px;}.at15t_linkuj{background-position:0 -2704px;}.at15t_100zakladok{background-position:0 -2720px;}.at15t_stuffpit{background-position:0 -2736px;}.at15t_dosti{background-position:0 -2752px;}.at15t_linkshares{background-position:0 -2768px;}.at15t_addio{background-position:0 -2784px;}.at15t_qzone{background-position:0 -2800px;}.at15t_dotnetshoutout{background-position:0 -2816px;}.at15t_zooloo{background-position:0 -2832px;}.at15t_smiru{background-position:0 -2848px;}.at15t_funp{background-position:0 -2864px;}.at15t_plaxo{background-position:0 -2880px;}.at15t_phonefavs{background-position:0 -2896px;}.at15t_mototagz{background-position:0 -2912px;}.at15t_globalgrind{background-position:0 -2928px;}.at15t_bitly{background-position:0 -2944px;}.at15t_cirip{background-position:0 -2960px;}.at15t_favable{background-position:0 -2976px;}.at15t_flosspro{background-position:0 -2992px;}.at15t_hotweblt{background-position:0 -3008px;}.at15t_myyearbook{background-position:0 -3024px;}.at15t_7live7{background-position:0 -3040px;}.at15t_transferr{background-position:0 -3056px;}.at15t_moemesto{background-position:0 -3072px;}.at15t_tipd{background-position:0 -3088px;}.at15t_camyoo{background-position:0 -3104px;}.at15t_thisnext{background-position:0 -3120px;}.at15t_mailto{background-position:0 -3136px;}.at15t_hadashhot{background-position:0 -3152px;}.at15t_ladenzeile{background-position:0 -3168px;}.at15t_xanga{background-position:0 -3184px;}.at15t_shetoldme{background-position:0 -3200px;}.at15t_investorlinks{background-position:0 -3216px;}.at15t_blip{background-position:0 -3232px;}.at15t_pingfm{background-position:0 -3248px;}.at15t_linkagogo{background-position:0 -3264px;}.at15t_douban{background-position:0 -3280px;}.at15t_extraplay{background-position:0 -3296px;}.at15t_sportpost{background-position:0 -3312px;}.at15t_domelhor{background-position:0 -3328px;}.at15t_backflip{background-position:0 -3344px;}.at15t_jisko{background-position:0 -3360px;}.at15t_rediff{background-position:0 -3376px;}.at15t_youbookmarks{background-position:0 -3392px;}.at15t_picciz{background-position:0 -3408px;}.at15t_blogmarks{background-position:0 -3424px;}.at15t_oneview{background-position:0 -3440px;}.at15t_sphinn{background-position:0 -3456px;}.at15t_bleetbox{background-position:0 -3472px;}.at15t_aolmail{background-position:0 -3488px;}.at15t_dwellicious{background-position:0 -3504px;}.at15t_netlog{background-position:0 -3520px;}.at15t_vyoom{background-position:0 -3536px;}.at15t_socialbookmarkingnet{background-position:0 -3552px;}.at15t_lynki{background-position:0 -3568px;}.at15t_nujij{background-position:0 -3584px;}.at15t_yazzem{background-position:0 -3600px;}.at15t_iwiw{background-position:0 -3616px;}.at15t_storyfollower{background-position:0 -3632px;}.at15t_dropjack{background-position:0 -3648px;}.at15t_arto{background-position:0 -3664px;}.at15t_buddymarks{background-position:0 -3680px;}.at15t_yardbarker{background-position:0 -3696px;}.at15t_baidu{background-position:0 -3712px;}.at15t_windycitizen{background-position:0 -3728px;}.at15t_mashbord{background-position:0 -3744px;}.at15t_pratiba{background-position:0 -3760px;}.at15t_popedition{background-position:0 -3776px;}.at15t_dotnetkicks{background-position:0 -3792px;}.at15t_worio{background-position:0 -3808px;}.at15t_kledy{background-position:0 -3824px;}.at15t_symbaloo{background-position:0 -3840px;}.at15t_faves{background-position:0 -3856px;}.at15t_bentio{background-position:0 -3872px;}.at15t_hemidemi{background-position:0 -3888px;}.at15t_informazione{background-position:0 -3904px;}.at15t_meccho{background-position:0 -3920px;}.at15t_myaol{background-position:0 -3936px;}.at15t_drimio{background-position:0 -3952px;}.at15t_diigo{background-position:0 -3968px;}.at15t_favlogde{background-position:0 -3984px;}.at15t_dzone{background-position:0 -4000px;}.at15t_typepad{background-position:0 -4016px;}.at15t_startlap{background-position:0 -4032px;}.at15t_gravee{background-position:0 -4048px;}.at15t_kaevur{background-position:0 -4064px;}.at15t_sekoman{background-position:0 -4080px;}.at15t_misterwong_ru{background-position:0 -4096px;}.at15t_edelight{background-position:0 -4112px;}.at15t_digo{background-position:0 -4128px;}.at15t_classicalplace{background-position:0 -4144px;}.at15t_jumptags{background-position:0 -4160px;}.at15t_aerosocial{background-position:0 -4176px;}.at15t_svejo{background-position:0 -4192px;}.at15t_printfriendly{background-position:0 -4208px;}.at15t_hi5{background-position:0 -4224px;}.at15t_thinkfinity{background-position:0 -4240px;}.at15t_fwisp{background-position:0 -4256px;}.at15t_mynasa{background-position:0 -4272px;}.at15t_laaikit{background-position:0 -4288px;}.at15t_fnews{background-position:0 -4304px;}.at15t_a1webmarks{background-position:0 -4320px;}.at15t_grumper{background-position:0 -4336px;}.at15t_aviary{background-position:0 -4352px;}.at15t_care2{background-position:0 -4368px;}.at15t_tailrank{background-position:0 -4384px;}.at15t_koornk{background-position:0 -4400px;}.at15t_pdfonline{background-position:0 -4416px;}.at15t_kirtsy{background-position:0 -4432px;}.at15t_newstrust{background-position:0 -4448px;}.at15t_flaker{background-position:0 -4464px;}.at15t_gabbr{background-position:0 -4480px;}.at15t_ask{background-position:0 -4496px;}.at15t_diggita{background-position:0 -4512px;}.at15t_readitlater{background-position:0 -4528px;}.at15t_sodahead{background-position:0 -4544px;}.at15t_linkstore{background-position:0 -4560px;}.at15t_wirefan{background-position:0 -4576px;}.at15t_brainify{background-position:0 -4592px;}.at15t_livejournal{background-position:0 -4608px;}.at15t_ballhype{background-position:0 -4624px;}.at15t_habergentr{background-position:0 -4640px;}.at15t_multiply{background-position:0 -4656px;}.at15t_hellotxt{background-position:0 -4672px;}.at15t_zakladoknet{background-position:0 -4688px;}.at15t_grono{background-position:0 -4704px;}.at15t_propeller{background-position:0 -4720px;}.at15t_speedtile{background-position:0 -4736px;}.at15t_twitthis{background-position:0 -4752px;}.at15t_mylinkvault{background-position:0 -4768px;}.at15t_forceindya{background-position:0 -4784px;}.at15t_colivia{background-position:0 -4800px;}.at15t_bordom{background-position:0 -4816px;}.at15t_chiq{background-position:0 -4832px;}.at15t_spokentoyou{background-position:0 -4848px;}.at15t_2tag{background-position:0 -4864px;}.at15t_tagza{background-position:0 -4880px;}.at15t_hipstr{background-position:0 -4896px;}.at15t_stylehive{background-position:0 -4912px;}.at15t_hitmarks{background-position:0 -4928px;}.at15t_2linkme{background-position:0 -4944px;}.at15t_idearef{background-position:0 -4960px;}.at15t_blinklist{background-position:0 -4976px;}.at15t_buzzzy{background-position:0 -4992px;}.at15t_biggerpockets{background-position:0 -5008px;}.at15t_favicon{background-position:0 -5024px;}.at15t_quantcast{background-position:0 -5040px;}.at15t_hotbookmark{background-position:0 -5056px;}.at15t_osmosus{background-position:0 -5072px;}.at15t_zanatic{background-position:0 -5088px;}.at15t_fabulously40{background-position:0 -5104px;}.at15t_netscape{background-position:0 -4720px;}#at16clb{font-size:16pt;font-family:"verdana bold",verdana,arial,sans-serif;}#at_share .at_item{width:123px!important;padding:4px;margin-right:2px;border:1px solid #fff;}#at16pm{background:#fff;width:298px;height:380px;text-align:left;border-right:1px solid #ccc;position:static;}#at16pcc{position:fixed;top:0;left:0;width:100%;margin:0 auto;font-size:10px!important;color:#4c4c4c;padding:0;z-index:10000001;overflow:visible;}* html #at16pcc{position:absolute;}#at16abifc{overflow:hidden;margin:0;top:10px;left:10px;height:355px;width:492px;position:absolute;border:0;}#at16abifc iframe{border:0;position:absolute;height:380px;width:516px;top:-10px;left:-10px;}* html div#at16abifc.atiemode2{height:374px;width:482px;}* html #at16abifc iframe{height:368px;left:-10px;top:-10px;overflow:hidden;}#at16p{background:url(//s7.addthis.com/static/t00/atbkg.png);z-index:10000001;}#at16p,#atie6ifh,#atie6cmifh{position:absolute;top:50%;left:50%;width:300px;padding:10px;margin:0 auto;margin-top:-185px;margin-left:-155px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;color:#5e5e5e;}#atie6ifh{width:322px;padding:0;height:381px;margin-left:-165px;z-index:100001;}#atie6cmifh{width:240px;padding:0;height:225px;margin:0;z-index:100001;}#at_share{margin:0;padding:0;}#at16ps{overflow-y:scroll;height:304px;padding:5px;}a#at16pit{position:absolute;top:37px;right:10px;display:block;background:url(//s7.addthis.com/static/t00/tab00.gif) no-repeat;width:16px;height:20px;line-height:19px;margin-right:-17px;text-align:center;overflow:hidden;color:#36b;}#at16pi{background:#e5e5e5;text-align:left;border:1px solid #ccc;border-bottom:0;}#at16pi a{text-decoration:none;color:#36b;}#at16p #at16abc{margin-left:2px!important;}#at16pi a:hover{text-decoration:underline;}#at16pt{position:relative;background:#f2f2f2;height:13px;padding:5px 10px;}#at16pt h4,#at16pt a{font-weight:bold;}#at16pt h4{display:inline;margin:0;padding:0;font-size:12px;color:#4c4c4c;cursor:default;}#at16pt a{position:absolute;top:5px;right:10px;color:#4c4c4c;text-decoration:none;}#at16pc form{margin:0;}#at16pc form label{display:block;font-size:11px;font-weight:bold;padding-bottom:4px;float:none;text-align:left;}#at16pc form label span{font-weight:normal;color:#4c4c4c;display:inline;}#at_email form .abif{width:272px!important;}#at_email textarea{height:55px!important;word-wrap:break-word;}* html #at_email textarea{height:42px!important;}*:first-child+html #at_email textarea{height:42px!important;}#at_email form label{width:220px;}#at_email form input,#at_email form textarea{background:#fff;border:1px solid #bbb;width:272px!important;margin:0;margin-bottom:8px;font-weight:normal;padding:3px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:11px;line-height:1.4em;color:#333;}#at_email form .atfxmode2{width:279px!important;}#at16pc form .at_ent{color:#333!important;}#at16pc form textarea{height:48px;}#at16pc form input:focus,#at16pc form textarea:focus{background:#fffff0;color:#333;}#at16p .atbtn{background:#fff;border:1px solid #b5b5b5;width:60px!important;padding:2px 4px;margin:0;margin-right:2px!important;font-size:11px!important;font-weight:bold;color:#333;cursor:pointer;}#at16p .atbtn:hover{border-color:#444;color:#06c;}#at16p .atrse{font-weight:normal!important;color:#666;margin-left:2px!important;}#atsb .atbtn{width:78px!important;margin:0!important;}#at_email #ateml{text-align:right;font-size:10px;color:#999;}#at16pc{height:343px;font-size:11px;text-align:left;color:#4c4c4c;}#at_email{padding:5px 10px;}#at16pc .tmsg{padding:4px 2px;text-align:right;}#at16psf{position:relative;background:#f2f2f2 url(//s7.addthis.com/static/t00/atf02.gif) no-repeat center center;border-bottom:1px solid #ccc;height:20px;padding:4px 10px;text-align:center;}* html #at16psf input,*:first-child+html #at16psf input{padding:0;}#at16psf input{background:#fff;border:none;width:220px;margin:2px 0 0;color:#666;outline-style:none;outline-width:0;padding:2px 0 0;line-height:12px;font-family:arial,helvetica,tahoma,verdana,sans-serif;font-size:12px;}#at16pcc .at_error{background:#f26d7d;border-bottom:1px solid #df5666;padding:5px 10px;color:#fff;}#at16pcc #at_success{background:#d0fbda;border-bottom:1px solid #a8e7b7;padding:5px 10px;color:#4c4c4c;}#at16pf{position:relative;background:#f2f2f2;height:12px;border-top:1px solid #e5e5e5;}#at16pf a{position:absolute;outline:none;padding:0;margin:0;overflow:hidden;font-size:10px;color:#4c4c4c;font-family:Arial,Helvetica,Sans-Serif;text-decoration:none;}#at16pf a:hover{text-decoration:underline;}#at16pf a.at-whatsthis{width:150px;left:10px;}#at16pf a#at-privacy{width:39px;left:140px;}#at_complete{font-size:13pt;color:#47731d;text-align:center;padding-top:130px;height:208px!important;width:472px;}#at_s_msg{margin-bottom:10px;}#at16pf a#at-logo{background:url(//s7.addthis.com/static/t00/logo88.gif) no-repeat left;padding-left:10px;right:10px;}.at_baa{display:block;overflow:hidden;outline:none;}#at15s #at16pf a{top:1px;}#at16pc form #at_send{width:80px!important;}#at_feed{display:none;padding:10px;height:300px;}#at_feed span{margin-bottom:10px;font-size:12px;}#at_feed div{width:102px!important;height:26px!important;line-height:26px!important;float:left!important;margin-right:68px;}#at_feed div.at_litem{margin-right:0;}#at_feed a{margin:10px 0;height:17px;line-height:17px;}#at_feed.atused .fbtn{background:url(//s7.addthis.com/static/r05/feed00.gif) no-repeat;float:left;width:102px;cursor:pointer;text-indent:-9000px;}#at_feed .fbtn.bloglines{background-position:0 0!important;width:94px;height:20px!important;line-height:20px!important;margin-top:8px!important;}#at_feed .fbtn.yahoo{background-position:0 -20px!important;}#at_feed .fbtn.newsgator,.fbtn.newsgator-on{background-position:0 -37px!important;}#at_feed .fbtn.technorati{background-position:0 -71px!important;}#at_feed .fbtn.netvibes{background-position:0 -88px!important;}#at_feed .fbtn.pageflakes{background-position:0 -141px!important;}#at_feed .fbtn.feedreader{background-position:0 -172px!important;}#at_feed .fbtn.newsisfree{background-position:0 -207px!important;}#at_feed .fbtn.google{background-position:0 -54px!important;width:104px;}#at_feed .fbtn.winlive{background-position:0 -105px!important;width:100px;height:19px!important;line-height:19px;margin-top:9px!important;}#at_feed .fbtn.mymsn{background-position:0 -158px!important;width:71px;height:14px!important;line-height:14px!important;margin-top:12px!important;}#at_feed .fbtn.aol{background-position:0 -189px!important;width:92px;height:18px!important;line-height:18px!important;}#at16pp{color:#4c4c4c;position:absolute;top:12px;right:12px;font-size:11px;}#at16pp label{font-size:11px!important;}#at16ppc{padding:10px;width:179px;}#at16pph{padding:5px 0 10px 0;}#at16pph select{margin:5px 0 8px 0;}#at16pp .atinp{width:156px;}html>/**/body #at16pp .atinp{width:176px;}#at16ppb{background:#fff;border:1px solid #ccc;height:274px;}#at16ep{height:16px;padding:8px;}#at16ep a{display:block;height:16px;line-height:16px;padding-left:22px;margin-bottom:8px;font-size:12px;}#at16ep a.at_gmail{background:url(//s7.addthis.com/static/t00/gmail.gif) no-repeat left;}#at16ep a.at_hotmail{background:url(//s7.addthis.com/static/t00/hotmail.gif) no-repeat left;}#at16ep a.at_yahoo{background:url(//s7.addthis.com/static/t00/yahoo.gif) no-repeat left;}#at16ppf p#atsb{padding-top:20px;font-size:10px;}#at16abr{margin-top:10px;}#at16abr input{padding:0;margin:0;margin-right:5px;}#at16ppso{display:none;text-align:right;margin-top:2px;}#at16ppa{background:#fff;border:1px solid #ccc;height:228px;width:178px;overflow:auto;}#at16ppa a{display:block;white-space:nowrap;padding:4px 8px;font-size:12px!important;}#at16eatdr{position:absolute;background:#fff;border-top:0;max-height:110px;overflow:auto;z-index:500;top:129px;left:21px;width:277px;}* html #at_email #at16eatdr{top:115px!important;width:272px!important;}*:first-child+html #at_email #at16eatdr{top:115px!important;width:272px!important;}html>/**/body #at_email form #at16eatdr.abif{top:137px;width:278px!important;}#at16eatdr a{display:block;overflow:hidden;border-bottom:1px dotted #eee;padding:4px 8px;}#at16eatdr a:hover,#at16eatdr a.hover{background:#e0eefa;text-decoration:none;color:#333;}#at_pspromo{height:130px;padding-top:10px;}#at_pspromo,#at15psp{width:205px;padding-left:5px;}#at_testpromo{font-size:12px;width:220px;display:none;}#at_testpromo input{width:200px;}#at_promo .at-promo-content,#at_testpromo .at-promo-content{margin-top:12px;}#at_promo .at-promo-btn,#at_testpromo .at-promo-btn{padding-top:10px;}#at_promo h4,#at_testpromo h4{font-family:arial,helvetica,tahoma,verdana,sans-serif;background:0;font-size:14px;font-weight:bold;margin:0 0 4px;padding:0;}#at_testpromo h4{font-size:13.5px;}#at_promo h4 sup{font-size:11px;color:#ee6a44;}#at_promo span{display:block;}#at_testpromo .at-promo-btm-ffx,#at_promo .at-promo-btm-ffx{background:url(//s7.addthis.com/images/60x60_at_firefox_toolbar.jpg) no-repeat 0 0;padding:6px 0 0 70px;}#at_promo .at-promo-btm-ie{padding:6px 0 0 64px;}#at_testpromo .at-promo-btm-ie{background:url(//s7.addthis.com/images/48x48_ie_logo.jpg) no-repeat 0 0;padding:10px 0 0 60px;margin:0 5px;height:45px;}#_atssh{width:1px!important;height:1px!important;border:0!important;}.at-promo-ffx,.at-promo-ie{padding:10px 0 0 60px;margin:0 5px;height:45px;}.at-promo-ffx{background:url(//s7.addthis.com/images/48x48_ff_logo.gif) no-repeat 0 0;}.at-promo-ie{background:url(//s7.addthis.com/images/48x48_ie_logo.jpg) no-repeat 0 0;}.at-promo-button{text-align:center;padding-top:10px;}.at-promo-button input{cursor:pointer;}.at-promo-single{padding:10px;padding-top:5px;line-height:1.5em;}@media print{#at20mc{display:none;}}
--- a/web/res/metadataplayer/test/emission_fichiers/xtcore.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/xtcore.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,40 +1,40 @@
-//-- Copyright 2009 AT Internet, All Rights Reserved.
-//-- AT Internet Tag 3.4.005
-var xt1='.tv-radio.com',xtcode='',xt46='1',xt48='',xtdocl=false,xtud='undefined',xt2='0',xt3=3650,xtkwv='xtmc',xtkwp='xtnp',xtadch=new Array,xt4=new Array;xt4['sec']='20';xt4['rss']='20';xt4['epr']='20';xt4['erec']='20';xt4['adi']='20';xt4['adc']='20';xt4['al']='20';xt4['es']='20';xt4['ad']='20';
-//do not modify below
-var xtkey=false,xt49=null,xt5=30,xw=window,xd=document,xtg=navigator,xtv=(xw.xtczv!=null)?'34005-'+xw.xtczv:'34005',xt1=xw.xtdmc?';domain='+xw.xtdmc:(xt1!='')?';domain='+xw.xt1:'',xt6=(xw.xtnv!=null)?xw.xtnv:xd,xt7=(xw.xtsd!=null)?xw.xtsd:'http://log',xt8=(xw.xtsite!=null)?xw.xtsite:0,xt9=(xw.xtn2!=null)?'&s2='+xw.xtn2:'',xtp=(xw.xtpage!=null)?xw.xtpage:'',xt10=xw.xto_force?xw.xto_force.toLowerCase():null,xt11=(xt8=='redirect')?true:false,xtdi=xw.xtdi?'&di='+xw.xtdi:'',xt12=xw.xtidp?'&idpays='+xw.xtidp:'',xt13=xw.xtidprov?'&idprov='+xw.xtidprov:'',xtm=(xw.xtparam!=null)?xw.xtparam:'',xtclzone=(xw.scriptOnClickZone!=null)?xw.scriptOnClickZone:0,xt15=(xw.xt_orderid!=null)?xw.xt_orderid:'',xt17=(xw.xtidcart!=null)?xw.xtidcart:'',xt44=(xw.xtprod_load!=null)?'&pdtl='+xw.xtprod_load:'',xt47=(xw.xtcode!='')?'&code='+xw.xtcode:'';
-if(xw.addEventListener){xw.addEventListener('unload',function(){},false);}else if(xw.attachEvent){xw.attachEvent('onunload',function(){});}
-if(xd.addEventListener){xd.addEventListener('keydown',function(){xtkey=true},false);xd.addEventListener('keyup',function(){xtkey=false},false);}else if(xd.attachEvent){xd.attachEvent('onkeydown',function(){xtkey=true});xd.attachEvent('onkeyup',function(){xtkey=false});}
-var xt18=(xw.roimt&&(xtm.indexOf('&roimt',0)<0))?'&roimt='+xw.roimt:'',xtmc=(xw.xtmc&&(xtm.indexOf('&mc',0)<0))?'&mc='+xw.xtmc:xtf3(xtkwv)?'&mc='+xtf3(xtkwv):xtf3('xtmc')?'&mc='+xtf3('xtmc'):'',xtcr=xtf3('xtcr')?'&mcrg='+xtf3('xtcr'):'',xtac=(xw.xtac&&(xtm.indexOf('&ac',0)<0))?'&ac='+xw.xtac:'',xtan=(xw.xtan&&(xtm.indexOf('&an',0)<0))?'&an='+xw.xtan:'',xtnp=(xw.xtnp&&(xtm.indexOf('&np',0)<0))?'&np='+xw.xtnp:xtf3(xtkwp)?'&np='+xtf3(xtkwp):'',xt19=((xw.xtprm!=null)&&(xtm.indexOf('&x',0)<0))?xw.xtprm:'';
-xtm+=xt18+xtmc+xtcr+xtac+xtan+xtnp+xt19;try{var xt20=top.document.referrer;}catch(e){var xt20=xt6.referrer;};var xts=screen,xt21=new Date(),xt22=xt21.getTime()/(1000*3600);
-function xtclURL(ch){return ch.replace(/%3C/g,'<').replace(/%3E/g,'>').replace(/[<>]/g,'');}
-function xtf1(nom,xtenc){xtenc=((xtenc!=null)&&(xtenc!=xtud))?xtenc:'0';var arg=nom+'=',i=0;while(i<xd.cookie.length){var j=i+arg.length;if(xd.cookie.substring(i,j)==arg){return xtf2(j,xtenc);}i=xd.cookie.indexOf(' ',i)+1;if(i==0){break;}}return null;}
-function xtf2(index,xtenc){var fin=xd.cookie.indexOf(';',index);if(fin==-1){fin=xd.cookie.length;};if(xtenc!='1'){return unescape(xtclURL(xd.cookie.substring(index,fin)));}else{return xtclURL(xd.cookie.substring(index,fin));}};try{xt_adch();}catch(e){''};
-function xt_addchain(val,varch){xtvarch=varch?varch:'abmv';itemp=(!xtadch[xtvarch])?0:xtadch[xtvarch];itemp++;xtm+='&'+xtvarch+''+itemp+'='+val;xtadch[xtvarch]=itemp;}
-function wck(p1,p2,p3,p4,fmt){p2=(fmt==0)?p2:escape(p2);xd.cookie=p1+'='+p2+';expires='+p3.toGMTString()+';path=/'+p4;}
-function xtf3(param,chba){try{xtdeb=xt6.location.href;}catch(e){xtdeb=xw.location.href;}if((chba==null)||(chba==xtud)){var xturl=xtclURL(xtdeb.toLowerCase().replace(/%3d/g,'='));}else{var xturl=chba;};var xtpos=xturl.indexOf(param+'=');if(xtpos>0){var chq=xturl.substring(1,xturl.length),mq=chq.substring(chq.indexOf(param+'='),chq.length),pos3=mq.indexOf('&');if(pos3==-1)pos3=mq.indexOf('%26');if(pos3==-1)pos3=mq.length;return mq.substring(mq.indexOf('=')+1, pos3);}else{return null;}}
-function xt_med(type,section,page,x1,x2,x3,x4,x5){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':(type=='M')?'&a='+x1+'&m1='+x2+'&m2='+x3+'&m3='+x4+'&m4='+x5:'&clic='+x1;xtf4(type,'&s2='+section+'&p='+page+xt_ajout,x2,x3);}
-function xt_ad(x1,x2,x3){xtf4('AT','&atc='+x1+'&type=AT&patc='+xtp+'&s2atc='+xw.xtn2,x2,x3);}
-function xt_adc(obj,x1,x2,x3){xtf4('AT','&atc='+x1+'&type=AT&patc='+xtp+'&s2atc='+xw.xtn2);var tgt=null,href=null;if(x2){href=x2;if(x3){tgt='_blank';}else{tgt='_self';}}else{if(obj.nodeName!='A'){var xelp=obj.parentNode;while(xelp){if(xelp.nodeName=='A'){href=xelp.href;tgt=xelp.target||'_self';break;}xelp=xelp.parentNode;}}else{href=obj.href;tgt=obj.target||'_self';}}if(!xtkey&&(tgt!=null)){setTimeout("(xw.open('"+href+"','"+tgt+"')).focus();", 500);return false;}xtkey=false;return true;}
-function xt_click(obj,type,n2,page,x1,x2,x3){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':'&clic='+x1;xtf4(type,'&s2='+n2+'&p='+page+xt_ajout);var tgt=null,href=null;if(x2){href=x2;if(x3){tgt='_blank';}else{tgt='_self';}}else{if(obj.nodeName!='A'){var xelp=obj.parentNode;while(xelp){if(xelp.nodeName=='A'){href=xelp.href;tgt=xelp.target||'_self';break;}xelp=xelp.parentNode;}}else{href=obj.href;tgt=obj.target||'_self';}}if(!xtkey&&(tgt!=null)){setTimeout("(xw.open('"+href+"','"+tgt+"')).focus();", 500);return false;}xtkey=false;return true;}
-function xt_form(obj,type,n2,page,x1,x2){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':'&clic='+x1;xtf4(type,'&s2='+n2+'&p='+page+xt_ajout);if(x2){setTimeout(function(){obj.submit();},500);}return false;}
-function xt_rm(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14){var rmprm='&p='+x3+'&s2='+x2+'&type='+x1+'&a='+x4+'&m5='+x11+'&m6='+x12;rmprm+=((x5!=null)&&(x5!='0'))?'&'+x5:'';rmprm+=((x7!=null)&&(x4!='pause')&&(x4!='stop'))?'&m1='+x7+'&'+x8+'&m3='+x9+'&m4='+x10+'&m7='+x13+'&m8='+x14+'&prich='+xtp+'&s2rich='+xw.xtn2:'';rmprm+=((x6!=null)&&(x6!='0')&&(x7!=null))?'&rfsh='+x6:'';xtf4(x1,rmprm);if((x6!=null)&&(x6!='0')&&((x4=='play')||(x4=='play&buf=1')||(x4=='refresh'))){xtrmdl=(Math.floor(x6)>1500)?1500000:(Math.floor(x6)<5)?5000:Math.floor(x6)*1000;xtoid=xw.setTimeout("xt_rm('"+x1+"','"+x2+"','"+x3+"','refresh','0','"+x6+"',null,'"+x8+"','"+x9+"','"+x10+"','"+x11+"','"+x12+"')",xtrmdl);}else{if(((x4=='pause')||(x4=='stop'))&&(xw.xtoid!=null)){xw.clearTimeout(xtoid)}}}
-function xtf4(x1,x2,x3,x4){if(((xtclzone==0)||(xtclzone==3)||(x1!='C'))&&(x1!='P')){var xt_img=new Image();var xt22=new Date();xt_im=xt7+'.xiti.com/hit.xiti?s='+xt8+x2+'&hl='+xt22.getHours()+'x'+xt22.getMinutes()+'x'+xt22.getSeconds();if(parseFloat(xtg.appVersion)>=4){xt_im+='&r='+xts.width+'x'+xts.height+'x'+xts.pixelDepth+'x'+xts.colorDepth;}xt_img.src=xt_im;xt_img.onload=function(){xt_img.onload=null;};}if((x3!=null)&&(x3!=xtud)&&(x1!='M')){if((x4=='')||(x4==null)){xd.location=x3}else{xfen=window.open(x3,'xfen','');xfen.focus();}}else{return;}}
-function f_nb(a){a=a-Math.floor(a/100)*100;if(a<10){return '0'+a;}else{return a;}}
-var xtidpg=f_nb(xt21.getHours())+''+f_nb(xt21.getMinutes())+''+f_nb(xt21.getSeconds())+''+xt_rd(7),xt23=0,xt16='',xt43=0;
-function xt_addProduct(rg,pdt,qtt,unp,dsc,dscc){xt23++;xt16+='&pdt'+xt23+'=';xt16+=rg?rg+'::':'';xt16+=pdt?pdt:'';xt16+=qtt?'&qte'+xt23+'='+qtt:'';xt16+=unp?'&mt'+xt23+'='+unp:'';xt16+=dsc?'&dsc'+xt23+'='+dsc:'';xt16+=dscc?'&pcode'+xt23+'='+dscc:'';}
-function xt_rd(nb){return Math.floor(Math.random()*Math.pow(10,nb));}
-function xt_addProduct_v2(rg,pdt,qtt,unp,unpht,dsc,dscht,dscc,roimtp){xt23++;xt16+='&pdt'+xt23+'=';xt16+=rg?rg+'::':'';xt16+=pdt?pdt:'';xt16+=qtt?'&qte'+xt23+'='+qtt:'';xt16+=unp?'&mt'+xt23+'='+unp:'';xt16+=unpht?'&mtht'+xt23+'='+unpht:'';xt16+=dsc?'&dsc'+xt23+'='+dsc:'';xt16+=dscht?'&dscht'+xt23+'='+dscht:'';xt16+=roimtp?'&roimt'+xt23+'='+roimtp:'';xt16+=dscc?'&pcode'+xt23+'='+dscc:'';}
-function xt_addProduct_load(rg,pdt,xv){if(pdt){xt43++;xt44+=(xt43==1)?'&pdtl=':'|';xt44+=rg?rg+'::':'';xt44+=pdt;xt44+=xv?';'+xv:'';}}
-try{xt_cart();}catch(e){xt16='';}
-function xt_ParseUrl(hit,xtch,xtrefP,thit){var tabUrl=new Array;if(xtch.length>0){var xtlg=1600-xtrefP.length,i=0,j=0,xtch_prec='',xterr=0;while((xtch.length>xtlg)&&(xtch_prec!=xtch)&&(xterr==0)){xtch_prec=xtch;var xsep='&pdt';if(xtch.lastIndexOf(xsep,xtlg)<=0){if(xtch.lastIndexOf('&',xtlg)<=0){xterr=1}else{xsep='&';}}if(xterr==1){tabUrl[i]=xtch.substring(0,1600)+'&mherr=1';}else{tabUrl[i]=xtch.substring(0,xtch.lastIndexOf(xsep,xtlg));xtch=xtch.substring(xtch.lastIndexOf(xsep,xtlg),xtch.length);i++;xtlg=1600;}}if(xterr==0){tabUrl[i]=xtch;}for(j=0;j<=i;j++){if(i>0){tabUrl[j]+=((xt15!='')||(xt17!=''))?'&idhit='+(j+1)+'-'+(i+1)+'-'+xt8+'-'+xt15+'-'+xt17:'&mh='+(j+1)+'-'+(i+1)+'-'+xtidpg;}if(j>0){tabUrl[j]=((xt15!='')||(xt17!=''))?'s='+xt8+'&cmd='+xt15+'&idcart='+xt17+tabUrl[j]:'s='+xt8+tabUrl[j];}else{tabUrl[j]+=xtrefP;}if((thit=='')||(thit==null)){xd.write('<img width="1" height="1" src="'+hit+tabUrl[j]+'">');}else{var xt_img=new Image();xt_img.src=hit+tabUrl[j];xt_img.onload=function(){xt_img.onload=null;};}}}}
-function xt_ParseUrl2(hit,xtcst,xtch,thit){var tabUrl=new Array;if(xtch.length>0){var xtlg=1600,i=0,j=0,xtch_prec='';while(xtch.length>xtlg && xtch_prec!=xtch){xtch_prec=xtch;var xsep='&p';tabUrl[i]=xtch.substring(0,xtch.lastIndexOf(xsep,xtlg));xtch=xtch.substring(xtch.lastIndexOf(xsep,xtlg),xtch.length);i++;}tabUrl[i]=xtch;for(j=0;j<=i;j++){if((thit=='')||(thit==null)){xd.write('<img width="1" height="1" src="'+hit+xtcst+tabUrl[j]+'">');}else{var xt_img=new Image();xt_img.src=hit+xtcst+tabUrl[j];xt_img.onload=function(){xt_img.onload=null;};}}}}
-function xtestr(str,expr,pos){var xtid=null;try{xtid=str.match(expr)[pos-1];}catch(e){xtid=null}return xtid;}
-if((xt8!=0)||(xt11)){if(xt48!=''){var xtvid=xtf1('xtvid');if(!xtvid){xtvid=xt21.getTime()+''+xt_rd(6);xt49=xtvid;}var xtexp=new Date();xtexp.setMinutes(xtexp.getMinutes()+30);wck('xtvid',xtvid,xtexp,'',1);}var xtpm='xtor'+ xt8,xtpmd='xtdate'+ xt8,xtpmc='xtocl'+ xt8,xtpan='xtan'+ xt8,xtpant='xtant'+ xt8,xt24=xtf3('xtor'),xtdtgo=xtf3('xtdt'),xt25=xtf3('xtref'),xt26=xtf3('xtan'),xt27=xtf3('an',xtm),xt28=xtf3('ac',xtm),xtocl=(xtf1(xtpmc)!=null)?xtf1(xtpmc):'$',xtord=(xtf1('xtgo')=='0')?xtf1('xtord'):null,xtgord=(xtf1('xtgo')!=null)?xtf1('xtgo'):'0',xtvrn=(xtf1('xtvrn')!=null)?xtf1('xtvrn'):'$',xtgmt=xt21.getTime()/60000,xtgo=(xtdtgo!=null)?(((xtgmt-xtdtgo)<30)&&(xtgmt-xtdtgo)>=0)?'2':'1':xtgord,xtpgt=(xtgord=='1')?'&pgt='+xtf1('xtord'):((xtgo=='1')&&(xt24!=null))?'&pgt='+xt24:'',xto=(xt10!=null)?xt10:((xt24!=null)&&(xtgo=='0'))?xt24:(!xt11)?xtord:null;
-xto=((xtocl.indexOf('$'+xto+'$')<0)||(xtocl=='$'))?xto:null;var xtock=(xtgo=='0')?xto:(xtgord=='2')?xtf1('xtord'):(xtgo=='2')?xt24:null;
-if(xtock!=null){tmpxto=xtock.substring(0,xtock.indexOf('-'));var xtdrm=xt4[tmpxto];}else{xtdrm='1';}if((xtdrm==null)||(xtdrm==xtud)){xtdrm=xt4['ad'];}if((xt26==null)&&(!xt11)){xt26=xtf1('xtanrd');}var xtanc=xtf1(xtpan),xtanct=xtf1(xtpant),xtxp=new Date(),xt29=new Date(),xt30=new Date();
-if(!xt11){xtxp.setTime(xtxp.getTime()+(xtdrm*24*3600*1000));}else{xtxp.setTime(xtxp.getTime()+(xt5*1000));}xt30.setTime(xt30.getTime()+1800000);xt29.setTime(xt29.getTime()+(xt3*24*3600*1000));var xt31=(xt26!=null)?xt26.indexOf('-'):0,xtan2=(xt27!=null)?'':((xt26!=null)&&(xt31>0))?'&ac='+xt26.substring(0,xt31)+'&ant=0&an='+xt26.substring(xt31+1,xt26.length):(xtanc!=null)?'&anc='+xtanc+'&anct='+xtanct:'',xt32=(xtvrn.indexOf('$'+xt8+'$')<0)?'&vrn=1':'',xt35=((xtf3('xtatc')!=null)&&(xtf3('atc',xtm)==null))?'&atc='+xtf3('xtatc'):'';
-if(xt32!=''){wck('xtvrn',xtvrn+xt8+'$',xt29,xt1,0);}xt32+=(xto==null)?'':'&xto='+xto;xt32+=xtan2+xtpgt+xt35;if(xt27!=null){wck(xtpan,xt28+'-'+xt27,xt29,xt1,1);wck(xtpant,'1',xt29,xt1,1);}else{if((xt26!=null)&&(xtanct!='1')){wck(xtpan,xt26,xt29,xt1,1);wck(xtpant,'0',xt29,xt1,1);}}
-var xtor=xtf1(xtpm),xtor_duree=xtf1(xtpmd),xtdate2=(xtor_duree!=null)?new Date(xtor_duree):new Date(),xt34=xtdate2.getTime()/(1000*3600),xtecart=(Math.floor(xt22-xt34)>=0)?Math.floor(xt22-xt34):0;xt32+=(xtor==null)?'':'&xtor='+xtor+'&roinbh='+xtecart;var xt33='',Xt_r=(xt25!=null)?xt25.replace(/[<>]/g,''):xtf1('xtref');if(Xt_r==null){Xt_r=xt20.replace(/[<>]/g,'');}if (!xt11){if((xtock!=null)&&((xtocl.indexOf('$'+escape(xtock)+'$')<0)||(xtocl=='$'))){wck(xtpmc,xtocl+xtock+'$',xt30,xt1,1);}xt33+=xtg.javaEnabled()?'&jv=1':'&jv=0';var xtnav=xtg.appName+' '+xtg.appVersion,xtIE=(xtnav.indexOf('MSIE'));if(xtIE>=0){var xtvers=parseInt(xtnav.substr(xtIE+5));xtIE=true;}else{xtvers=parseFloat(xtg.appVersion);xtIE=false;}var xtnet=(xtnav.indexOf('Netscape')>=0),xtmac=(xtnav.indexOf('Mac')>=0),xtOP=(xtg.userAgent.indexOf('Opera')>=0);if((xtIE)&&(xtvers >=5)&&(!xtmac)&&(!xtOP)&&(!xt11)){
-try{xd.body.addBehavior('#default#clientCaps');}catch(e){}var xtconn='&cn='+xd.body.connectionType;xtconn+='&ul='+xd.body.UserLanguage;try{xd.body.addBehavior('#default#homePage');}catch(e){}var xthome='';try{xthome=(xd.body.isHomePage(location.href))?'&hm=1':'&hm=0';}catch(e){};var xtresr='&re='+xd.body.offsetWidth+'x'+xd.body.offsetHeight;}else{var xtconn='',xthome='';if(xtvers>=5){xtresr='&re='+xw.innerWidth+'x'+xw.innerHeight;}else{xtresr=''}}if((xtnet)&&(xtvers >=4)||(xtOP)){var xtlang='&lng='+xtg.language;}else{if((xtIE)&&(xtvers >=4)&&(!xtOP)){var xtlang='&lng='+xtg.userLanguage;}else{xtlang='';}}wck('xtord','',xt21,xt1,1);if(xtock!=null){if((xtor==null)||(xt2=='1')){wck(xtpm,xtock,xtxp,xt1,1);wck(xtpmd,xt21,xtxp,xt1,1);}}var xthl='&hl='+xt21.getHours()+'x'+xt21.getMinutes()+'x'+xt21.getSeconds(),xt45=(xtdocl)?'&docl='+encodeURIComponent(xt6.location.href.replace(/&/g,'#ec#')):'',Xt_param='s='+xt8+xt9+'&p='+xtp+xthl+xtdi+xt12+xt13+xt32+xt45+xt47+xtm+xtconn+xthome+xtlang+'&vtag='+xtv+'&idp='+xtidpg;var xtvalCZ=xtf1('xtvalCZ',1);if(xtvalCZ!=null){Xt_param+=xtvalCZ;var xtdateo=new Date();xtdateo.setTime(xtdateo.getTime()-3600000);wck('xtvalCZ',xtvalCZ,xtdateo,xt1,1);}var Xt_id=xt7+'.xiti.com/hit.xiti?';if(xtvers >=4){xt33+='&r='+xts.width+'x'+xts.height+'x'+xts.pixelDepth+'x'+xts.colorDepth;}
+//-- Copyright 2009 AT Internet, All Rights Reserved.
+//-- AT Internet Tag 3.4.005
+var xt1='.tv-radio.com',xtcode='',xt46='1',xt48='',xtdocl=false,xtud='undefined',xt2='0',xt3=3650,xtkwv='xtmc',xtkwp='xtnp',xtadch=new Array,xt4=new Array;xt4['sec']='20';xt4['rss']='20';xt4['epr']='20';xt4['erec']='20';xt4['adi']='20';xt4['adc']='20';xt4['al']='20';xt4['es']='20';xt4['ad']='20';
+//do not modify below
+var xtkey=false,xt49=null,xt5=30,xw=window,xd=document,xtg=navigator,xtv=(xw.xtczv!=null)?'34005-'+xw.xtczv:'34005',xt1=xw.xtdmc?';domain='+xw.xtdmc:(xt1!='')?';domain='+xw.xt1:'',xt6=(xw.xtnv!=null)?xw.xtnv:xd,xt7=(xw.xtsd!=null)?xw.xtsd:'http://log',xt8=(xw.xtsite!=null)?xw.xtsite:0,xt9=(xw.xtn2!=null)?'&s2='+xw.xtn2:'',xtp=(xw.xtpage!=null)?xw.xtpage:'',xt10=xw.xto_force?xw.xto_force.toLowerCase():null,xt11=(xt8=='redirect')?true:false,xtdi=xw.xtdi?'&di='+xw.xtdi:'',xt12=xw.xtidp?'&idpays='+xw.xtidp:'',xt13=xw.xtidprov?'&idprov='+xw.xtidprov:'',xtm=(xw.xtparam!=null)?xw.xtparam:'',xtclzone=(xw.scriptOnClickZone!=null)?xw.scriptOnClickZone:0,xt15=(xw.xt_orderid!=null)?xw.xt_orderid:'',xt17=(xw.xtidcart!=null)?xw.xtidcart:'',xt44=(xw.xtprod_load!=null)?'&pdtl='+xw.xtprod_load:'',xt47=(xw.xtcode!='')?'&code='+xw.xtcode:'';
+if(xw.addEventListener){xw.addEventListener('unload',function(){},false);}else if(xw.attachEvent){xw.attachEvent('onunload',function(){});}
+if(xd.addEventListener){xd.addEventListener('keydown',function(){xtkey=true},false);xd.addEventListener('keyup',function(){xtkey=false},false);}else if(xd.attachEvent){xd.attachEvent('onkeydown',function(){xtkey=true});xd.attachEvent('onkeyup',function(){xtkey=false});}
+var xt18=(xw.roimt&&(xtm.indexOf('&roimt',0)<0))?'&roimt='+xw.roimt:'',xtmc=(xw.xtmc&&(xtm.indexOf('&mc',0)<0))?'&mc='+xw.xtmc:xtf3(xtkwv)?'&mc='+xtf3(xtkwv):xtf3('xtmc')?'&mc='+xtf3('xtmc'):'',xtcr=xtf3('xtcr')?'&mcrg='+xtf3('xtcr'):'',xtac=(xw.xtac&&(xtm.indexOf('&ac',0)<0))?'&ac='+xw.xtac:'',xtan=(xw.xtan&&(xtm.indexOf('&an',0)<0))?'&an='+xw.xtan:'',xtnp=(xw.xtnp&&(xtm.indexOf('&np',0)<0))?'&np='+xw.xtnp:xtf3(xtkwp)?'&np='+xtf3(xtkwp):'',xt19=((xw.xtprm!=null)&&(xtm.indexOf('&x',0)<0))?xw.xtprm:'';
+xtm+=xt18+xtmc+xtcr+xtac+xtan+xtnp+xt19;try{var xt20=top.document.referrer;}catch(e){var xt20=xt6.referrer;};var xts=screen,xt21=new Date(),xt22=xt21.getTime()/(1000*3600);
+function xtclURL(ch){return ch.replace(/%3C/g,'<').replace(/%3E/g,'>').replace(/[<>]/g,'');}
+function xtf1(nom,xtenc){xtenc=((xtenc!=null)&&(xtenc!=xtud))?xtenc:'0';var arg=nom+'=',i=0;while(i<xd.cookie.length){var j=i+arg.length;if(xd.cookie.substring(i,j)==arg){return xtf2(j,xtenc);}i=xd.cookie.indexOf(' ',i)+1;if(i==0){break;}}return null;}
+function xtf2(index,xtenc){var fin=xd.cookie.indexOf(';',index);if(fin==-1){fin=xd.cookie.length;};if(xtenc!='1'){return unescape(xtclURL(xd.cookie.substring(index,fin)));}else{return xtclURL(xd.cookie.substring(index,fin));}};try{xt_adch();}catch(e){''};
+function xt_addchain(val,varch){xtvarch=varch?varch:'abmv';itemp=(!xtadch[xtvarch])?0:xtadch[xtvarch];itemp++;xtm+='&'+xtvarch+''+itemp+'='+val;xtadch[xtvarch]=itemp;}
+function wck(p1,p2,p3,p4,fmt){p2=(fmt==0)?p2:escape(p2);xd.cookie=p1+'='+p2+';expires='+p3.toGMTString()+';path=/'+p4;}
+function xtf3(param,chba){try{xtdeb=xt6.location.href;}catch(e){xtdeb=xw.location.href;}if((chba==null)||(chba==xtud)){var xturl=xtclURL(xtdeb.toLowerCase().replace(/%3d/g,'='));}else{var xturl=chba;};var xtpos=xturl.indexOf(param+'=');if(xtpos>0){var chq=xturl.substring(1,xturl.length),mq=chq.substring(chq.indexOf(param+'='),chq.length),pos3=mq.indexOf('&');if(pos3==-1)pos3=mq.indexOf('%26');if(pos3==-1)pos3=mq.length;return mq.substring(mq.indexOf('=')+1, pos3);}else{return null;}}
+function xt_med(type,section,page,x1,x2,x3,x4,x5){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':(type=='M')?'&a='+x1+'&m1='+x2+'&m2='+x3+'&m3='+x4+'&m4='+x5:'&clic='+x1;xtf4(type,'&s2='+section+'&p='+page+xt_ajout,x2,x3);}
+function xt_ad(x1,x2,x3){xtf4('AT','&atc='+x1+'&type=AT&patc='+xtp+'&s2atc='+xw.xtn2,x2,x3);}
+function xt_adc(obj,x1,x2,x3){xtf4('AT','&atc='+x1+'&type=AT&patc='+xtp+'&s2atc='+xw.xtn2);var tgt=null,href=null;if(x2){href=x2;if(x3){tgt='_blank';}else{tgt='_self';}}else{if(obj.nodeName!='A'){var xelp=obj.parentNode;while(xelp){if(xelp.nodeName=='A'){href=xelp.href;tgt=xelp.target||'_self';break;}xelp=xelp.parentNode;}}else{href=obj.href;tgt=obj.target||'_self';}}if(!xtkey&&(tgt!=null)){setTimeout("(xw.open('"+href+"','"+tgt+"')).focus();", 500);return false;}xtkey=false;return true;}
+function xt_click(obj,type,n2,page,x1,x2,x3){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':'&clic='+x1;xtf4(type,'&s2='+n2+'&p='+page+xt_ajout);var tgt=null,href=null;if(x2){href=x2;if(x3){tgt='_blank';}else{tgt='_self';}}else{if(obj.nodeName!='A'){var xelp=obj.parentNode;while(xelp){if(xelp.nodeName=='A'){href=xelp.href;tgt=xelp.target||'_self';break;}xelp=xelp.parentNode;}}else{href=obj.href;tgt=obj.target||'_self';}}if(!xtkey&&(tgt!=null)){setTimeout("(xw.open('"+href+"','"+tgt+"')).focus();", 500);return false;}xtkey=false;return true;}
+function xt_form(obj,type,n2,page,x1,x2){xt_ajout=((type=='F')&&((x1==null)||(x1==xtud)))?'':'&clic='+x1;xtf4(type,'&s2='+n2+'&p='+page+xt_ajout);if(x2){setTimeout(function(){obj.submit();},500);}return false;}
+function xt_rm(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14){var rmprm='&p='+x3+'&s2='+x2+'&type='+x1+'&a='+x4+'&m5='+x11+'&m6='+x12;rmprm+=((x5!=null)&&(x5!='0'))?'&'+x5:'';rmprm+=((x7!=null)&&(x4!='pause')&&(x4!='stop'))?'&m1='+x7+'&'+x8+'&m3='+x9+'&m4='+x10+'&m7='+x13+'&m8='+x14+'&prich='+xtp+'&s2rich='+xw.xtn2:'';rmprm+=((x6!=null)&&(x6!='0')&&(x7!=null))?'&rfsh='+x6:'';xtf4(x1,rmprm);if((x6!=null)&&(x6!='0')&&((x4=='play')||(x4=='play&buf=1')||(x4=='refresh'))){xtrmdl=(Math.floor(x6)>1500)?1500000:(Math.floor(x6)<5)?5000:Math.floor(x6)*1000;xtoid=xw.setTimeout("xt_rm('"+x1+"','"+x2+"','"+x3+"','refresh','0','"+x6+"',null,'"+x8+"','"+x9+"','"+x10+"','"+x11+"','"+x12+"')",xtrmdl);}else{if(((x4=='pause')||(x4=='stop'))&&(xw.xtoid!=null)){xw.clearTimeout(xtoid)}}}
+function xtf4(x1,x2,x3,x4){if(((xtclzone==0)||(xtclzone==3)||(x1!='C'))&&(x1!='P')){var xt_img=new Image();var xt22=new Date();xt_im=xt7+'.xiti.com/hit.xiti?s='+xt8+x2+'&hl='+xt22.getHours()+'x'+xt22.getMinutes()+'x'+xt22.getSeconds();if(parseFloat(xtg.appVersion)>=4){xt_im+='&r='+xts.width+'x'+xts.height+'x'+xts.pixelDepth+'x'+xts.colorDepth;}xt_img.src=xt_im;xt_img.onload=function(){xt_img.onload=null;};}if((x3!=null)&&(x3!=xtud)&&(x1!='M')){if((x4=='')||(x4==null)){xd.location=x3}else{xfen=window.open(x3,'xfen','');xfen.focus();}}else{return;}}
+function f_nb(a){a=a-Math.floor(a/100)*100;if(a<10){return '0'+a;}else{return a;}}
+var xtidpg=f_nb(xt21.getHours())+''+f_nb(xt21.getMinutes())+''+f_nb(xt21.getSeconds())+''+xt_rd(7),xt23=0,xt16='',xt43=0;
+function xt_addProduct(rg,pdt,qtt,unp,dsc,dscc){xt23++;xt16+='&pdt'+xt23+'=';xt16+=rg?rg+'::':'';xt16+=pdt?pdt:'';xt16+=qtt?'&qte'+xt23+'='+qtt:'';xt16+=unp?'&mt'+xt23+'='+unp:'';xt16+=dsc?'&dsc'+xt23+'='+dsc:'';xt16+=dscc?'&pcode'+xt23+'='+dscc:'';}
+function xt_rd(nb){return Math.floor(Math.random()*Math.pow(10,nb));}
+function xt_addProduct_v2(rg,pdt,qtt,unp,unpht,dsc,dscht,dscc,roimtp){xt23++;xt16+='&pdt'+xt23+'=';xt16+=rg?rg+'::':'';xt16+=pdt?pdt:'';xt16+=qtt?'&qte'+xt23+'='+qtt:'';xt16+=unp?'&mt'+xt23+'='+unp:'';xt16+=unpht?'&mtht'+xt23+'='+unpht:'';xt16+=dsc?'&dsc'+xt23+'='+dsc:'';xt16+=dscht?'&dscht'+xt23+'='+dscht:'';xt16+=roimtp?'&roimt'+xt23+'='+roimtp:'';xt16+=dscc?'&pcode'+xt23+'='+dscc:'';}
+function xt_addProduct_load(rg,pdt,xv){if(pdt){xt43++;xt44+=(xt43==1)?'&pdtl=':'|';xt44+=rg?rg+'::':'';xt44+=pdt;xt44+=xv?';'+xv:'';}}
+try{xt_cart();}catch(e){xt16='';}
+function xt_ParseUrl(hit,xtch,xtrefP,thit){var tabUrl=new Array;if(xtch.length>0){var xtlg=1600-xtrefP.length,i=0,j=0,xtch_prec='',xterr=0;while((xtch.length>xtlg)&&(xtch_prec!=xtch)&&(xterr==0)){xtch_prec=xtch;var xsep='&pdt';if(xtch.lastIndexOf(xsep,xtlg)<=0){if(xtch.lastIndexOf('&',xtlg)<=0){xterr=1}else{xsep='&';}}if(xterr==1){tabUrl[i]=xtch.substring(0,1600)+'&mherr=1';}else{tabUrl[i]=xtch.substring(0,xtch.lastIndexOf(xsep,xtlg));xtch=xtch.substring(xtch.lastIndexOf(xsep,xtlg),xtch.length);i++;xtlg=1600;}}if(xterr==0){tabUrl[i]=xtch;}for(j=0;j<=i;j++){if(i>0){tabUrl[j]+=((xt15!='')||(xt17!=''))?'&idhit='+(j+1)+'-'+(i+1)+'-'+xt8+'-'+xt15+'-'+xt17:'&mh='+(j+1)+'-'+(i+1)+'-'+xtidpg;}if(j>0){tabUrl[j]=((xt15!='')||(xt17!=''))?'s='+xt8+'&cmd='+xt15+'&idcart='+xt17+tabUrl[j]:'s='+xt8+tabUrl[j];}else{tabUrl[j]+=xtrefP;}if((thit=='')||(thit==null)){xd.write('<img width="1" height="1" src="'+hit+tabUrl[j]+'">');}else{var xt_img=new Image();xt_img.src=hit+tabUrl[j];xt_img.onload=function(){xt_img.onload=null;};}}}}
+function xt_ParseUrl2(hit,xtcst,xtch,thit){var tabUrl=new Array;if(xtch.length>0){var xtlg=1600,i=0,j=0,xtch_prec='';while(xtch.length>xtlg && xtch_prec!=xtch){xtch_prec=xtch;var xsep='&p';tabUrl[i]=xtch.substring(0,xtch.lastIndexOf(xsep,xtlg));xtch=xtch.substring(xtch.lastIndexOf(xsep,xtlg),xtch.length);i++;}tabUrl[i]=xtch;for(j=0;j<=i;j++){if((thit=='')||(thit==null)){xd.write('<img width="1" height="1" src="'+hit+xtcst+tabUrl[j]+'">');}else{var xt_img=new Image();xt_img.src=hit+xtcst+tabUrl[j];xt_img.onload=function(){xt_img.onload=null;};}}}}
+function xtestr(str,expr,pos){var xtid=null;try{xtid=str.match(expr)[pos-1];}catch(e){xtid=null}return xtid;}
+if((xt8!=0)||(xt11)){if(xt48!=''){var xtvid=xtf1('xtvid');if(!xtvid){xtvid=xt21.getTime()+''+xt_rd(6);xt49=xtvid;}var xtexp=new Date();xtexp.setMinutes(xtexp.getMinutes()+30);wck('xtvid',xtvid,xtexp,'',1);}var xtpm='xtor'+ xt8,xtpmd='xtdate'+ xt8,xtpmc='xtocl'+ xt8,xtpan='xtan'+ xt8,xtpant='xtant'+ xt8,xt24=xtf3('xtor'),xtdtgo=xtf3('xtdt'),xt25=xtf3('xtref'),xt26=xtf3('xtan'),xt27=xtf3('an',xtm),xt28=xtf3('ac',xtm),xtocl=(xtf1(xtpmc)!=null)?xtf1(xtpmc):'$',xtord=(xtf1('xtgo')=='0')?xtf1('xtord'):null,xtgord=(xtf1('xtgo')!=null)?xtf1('xtgo'):'0',xtvrn=(xtf1('xtvrn')!=null)?xtf1('xtvrn'):'$',xtgmt=xt21.getTime()/60000,xtgo=(xtdtgo!=null)?(((xtgmt-xtdtgo)<30)&&(xtgmt-xtdtgo)>=0)?'2':'1':xtgord,xtpgt=(xtgord=='1')?'&pgt='+xtf1('xtord'):((xtgo=='1')&&(xt24!=null))?'&pgt='+xt24:'',xto=(xt10!=null)?xt10:((xt24!=null)&&(xtgo=='0'))?xt24:(!xt11)?xtord:null;
+xto=((xtocl.indexOf('$'+xto+'$')<0)||(xtocl=='$'))?xto:null;var xtock=(xtgo=='0')?xto:(xtgord=='2')?xtf1('xtord'):(xtgo=='2')?xt24:null;
+if(xtock!=null){tmpxto=xtock.substring(0,xtock.indexOf('-'));var xtdrm=xt4[tmpxto];}else{xtdrm='1';}if((xtdrm==null)||(xtdrm==xtud)){xtdrm=xt4['ad'];}if((xt26==null)&&(!xt11)){xt26=xtf1('xtanrd');}var xtanc=xtf1(xtpan),xtanct=xtf1(xtpant),xtxp=new Date(),xt29=new Date(),xt30=new Date();
+if(!xt11){xtxp.setTime(xtxp.getTime()+(xtdrm*24*3600*1000));}else{xtxp.setTime(xtxp.getTime()+(xt5*1000));}xt30.setTime(xt30.getTime()+1800000);xt29.setTime(xt29.getTime()+(xt3*24*3600*1000));var xt31=(xt26!=null)?xt26.indexOf('-'):0,xtan2=(xt27!=null)?'':((xt26!=null)&&(xt31>0))?'&ac='+xt26.substring(0,xt31)+'&ant=0&an='+xt26.substring(xt31+1,xt26.length):(xtanc!=null)?'&anc='+xtanc+'&anct='+xtanct:'',xt32=(xtvrn.indexOf('$'+xt8+'$')<0)?'&vrn=1':'',xt35=((xtf3('xtatc')!=null)&&(xtf3('atc',xtm)==null))?'&atc='+xtf3('xtatc'):'';
+if(xt32!=''){wck('xtvrn',xtvrn+xt8+'$',xt29,xt1,0);}xt32+=(xto==null)?'':'&xto='+xto;xt32+=xtan2+xtpgt+xt35;if(xt27!=null){wck(xtpan,xt28+'-'+xt27,xt29,xt1,1);wck(xtpant,'1',xt29,xt1,1);}else{if((xt26!=null)&&(xtanct!='1')){wck(xtpan,xt26,xt29,xt1,1);wck(xtpant,'0',xt29,xt1,1);}}
+var xtor=xtf1(xtpm),xtor_duree=xtf1(xtpmd),xtdate2=(xtor_duree!=null)?new Date(xtor_duree):new Date(),xt34=xtdate2.getTime()/(1000*3600),xtecart=(Math.floor(xt22-xt34)>=0)?Math.floor(xt22-xt34):0;xt32+=(xtor==null)?'':'&xtor='+xtor+'&roinbh='+xtecart;var xt33='',Xt_r=(xt25!=null)?xt25.replace(/[<>]/g,''):xtf1('xtref');if(Xt_r==null){Xt_r=xt20.replace(/[<>]/g,'');}if (!xt11){if((xtock!=null)&&((xtocl.indexOf('$'+escape(xtock)+'$')<0)||(xtocl=='$'))){wck(xtpmc,xtocl+xtock+'$',xt30,xt1,1);}xt33+=xtg.javaEnabled()?'&jv=1':'&jv=0';var xtnav=xtg.appName+' '+xtg.appVersion,xtIE=(xtnav.indexOf('MSIE'));if(xtIE>=0){var xtvers=parseInt(xtnav.substr(xtIE+5));xtIE=true;}else{xtvers=parseFloat(xtg.appVersion);xtIE=false;}var xtnet=(xtnav.indexOf('Netscape')>=0),xtmac=(xtnav.indexOf('Mac')>=0),xtOP=(xtg.userAgent.indexOf('Opera')>=0);if((xtIE)&&(xtvers >=5)&&(!xtmac)&&(!xtOP)&&(!xt11)){
+try{xd.body.addBehavior('#default#clientCaps');}catch(e){}var xtconn='&cn='+xd.body.connectionType;xtconn+='&ul='+xd.body.UserLanguage;try{xd.body.addBehavior('#default#homePage');}catch(e){}var xthome='';try{xthome=(xd.body.isHomePage(location.href))?'&hm=1':'&hm=0';}catch(e){};var xtresr='&re='+xd.body.offsetWidth+'x'+xd.body.offsetHeight;}else{var xtconn='',xthome='';if(xtvers>=5){xtresr='&re='+xw.innerWidth+'x'+xw.innerHeight;}else{xtresr=''}}if((xtnet)&&(xtvers >=4)||(xtOP)){var xtlang='&lng='+xtg.language;}else{if((xtIE)&&(xtvers >=4)&&(!xtOP)){var xtlang='&lng='+xtg.userLanguage;}else{xtlang='';}}wck('xtord','',xt21,xt1,1);if(xtock!=null){if((xtor==null)||(xt2=='1')){wck(xtpm,xtock,xtxp,xt1,1);wck(xtpmd,xt21,xtxp,xt1,1);}}var xthl='&hl='+xt21.getHours()+'x'+xt21.getMinutes()+'x'+xt21.getSeconds(),xt45=(xtdocl)?'&docl='+encodeURIComponent(xt6.location.href.replace(/&/g,'#ec#')):'',Xt_param='s='+xt8+xt9+'&p='+xtp+xthl+xtdi+xt12+xt13+xt32+xt45+xt47+xtm+xtconn+xthome+xtlang+'&vtag='+xtv+'&idp='+xtidpg;var xtvalCZ=xtf1('xtvalCZ',1);if(xtvalCZ!=null){Xt_param+=xtvalCZ;var xtdateo=new Date();xtdateo.setTime(xtdateo.getTime()-3600000);wck('xtvalCZ',xtvalCZ,xtdateo,xt1,1);}var Xt_id=xt7+'.xiti.com/hit.xiti?';if(xtvers >=4){xt33+='&r='+xts.width+'x'+xts.height+'x'+xts.pixelDepth+'x'+xts.colorDepth;}
 var xtide=xtf1('xtide');if(xtock!=null){switch(tmpxto.toLowerCase()){case 'erec':case 'epr':case 'es':var xtmpide=xtestr(xtock,/(\[[^\]]*\])|([^\-]+)/g,6);if(xtmpide!=null){xtide=xtmpide;wck('xtide',xtide,xt29,'',1);}break;default:break;}}xt16+=((xt16!='')&&(xtide!=null))?'&ide='+xtide:'';Xt_param+=xt33+xtresr+xt16;var Xt_i=Xt_id+Xt_param+'&ref='+Xt_r.replace(/&/g,'$');if(xt49){Xt_param+='&lnk='+xt48+'&vid='+xt49;}xt_ParseUrl(Xt_id,Xt_param,'&ref='+Xt_r.replace(/&/g, '$'),xt46);if(xt44!=''){xt_ParseUrl2(Xt_id,'s='+xt8+'&type=PDT'+xthl,xt44,xt46);}}else{wck('xtgo',xtgo,xtxp,xt1,1);if(xt24!=null){wck('xtord',xt24,xtxp,xt1,1);}if(xt26!=null){wck('xtanrd',xt26,xtxp,xt1,1);}if(Xt_r!=''){wck('xtref',Xt_r.replace(/&/g,'$'),xtxp,xt1,0);}if(xw.xtloc!=null){xt6.location=xw.xtloc;}}}
\ No newline at end of file
--- a/web/res/metadataplayer/test/emission_fichiers/youtube.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/emission_fichiers/youtube.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,48 +1,48 @@
-
-function loadVideo(pUrl, autoplay) {
-	
-  swfobject.embedSWF(		  
-      pUrl + '&rel=1&border=0&fs=1&autoplay=' + 
-      (autoplay?1:0), 'player', '264', '227', '9.0.0', false, 
-      false, {allowfullscreen: 'true'});
-}
-
-function showMyVideos(data) {
-  var feed = data.feed;
-  var url = '' ;
-  var entries = feed.entry || [];
-  var html = ['<div class="ytb_vide_list" id="ytb_video">'];
-  var playerUrl=[];
-  var nb_line=$('#line').text();
-  var nb_item=nb_line*3;
-  if(nb_item>entries.length){
-	  nb_item=entries.length;
-  }
-	  
-  for (var i = 0; i < nb_item; i++) {
-    var entry = entries[i];	
-    var title = entry.title.$t;
-	var thumbnailUrl = entries[i].media$group.media$thumbnail[0].url;
-	
-	playerUrl[i] = entries[i].media$group.media$content[0].url;
-	
-	html.push('<div class="ytb_item" id="ytb_video_',i,'"><img src="', 
-	              thumbnailUrl, '" width="88" height="64" alt="', title,'" /></div>');
-	
-  }
-  html.push('</div>');
-  $(document).ready(function() {
-	for( var j = 0; j < nb_item; j++){		
-		url=playerUrl[j];
-		$('#ytb_video_'+j).click(function(){			
-			loadVideo(url,false);
-			});
-		}
-	});
- 
- document.getElementById('videos').innerHTML = html.join('');
-  if (entries.length > 0) {
-    loadVideo(entries[0].media$group.media$content[0].url, false);
-  }
-
+
+function loadVideo(pUrl, autoplay) {
+	
+  swfobject.embedSWF(		  
+      pUrl + '&rel=1&border=0&fs=1&autoplay=' + 
+      (autoplay?1:0), 'player', '264', '227', '9.0.0', false, 
+      false, {allowfullscreen: 'true'});
+}
+
+function showMyVideos(data) {
+  var feed = data.feed;
+  var url = '' ;
+  var entries = feed.entry || [];
+  var html = ['<div class="ytb_vide_list" id="ytb_video">'];
+  var playerUrl=[];
+  var nb_line=$('#line').text();
+  var nb_item=nb_line*3;
+  if(nb_item>entries.length){
+	  nb_item=entries.length;
+  }
+	  
+  for (var i = 0; i < nb_item; i++) {
+    var entry = entries[i];	
+    var title = entry.title.$t;
+	var thumbnailUrl = entries[i].media$group.media$thumbnail[0].url;
+	
+	playerUrl[i] = entries[i].media$group.media$content[0].url;
+	
+	html.push('<div class="ytb_item" id="ytb_video_',i,'"><img src="', 
+	              thumbnailUrl, '" width="88" height="64" alt="', title,'" /></div>');
+	
+  }
+  html.push('</div>');
+  $(document).ready(function() {
+	for( var j = 0; j < nb_item; j++){		
+		url=playerUrl[j];
+		$('#ytb_video_'+j).click(function(){			
+			loadVideo(url,false);
+			});
+		}
+	});
+ 
+ document.getElementById('videos').innerHTML = html.join('');
+  if (entries.length > 0) {
+    loadVideo(entries[0].media$group.media$content[0].url, false);
+  }
+
 }
\ No newline at end of file
--- a/web/res/metadataplayer/test/example.html	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/example.html	Wed Apr 27 18:54:31 2011 +0200
@@ -1,33 +1,33 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example jqDock</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type='text/javascript' src='http://www.wizzud.com/jqDock/jquery.jqDock.min.js'></script>
-
-<style type='text/css'>
-	/*position and hide the menu initially - leave room for menu items to expand...*/
-	#page {padding-top:150px; padding-bottom:20px; width:100%;}
-	#menu {position:absolute; top:100px; left:0; display:none;}
-</style>
-<script type='text/javascript'>
-jQuery(document).ready(function($){
-	// Apply jqDock with no options...
-	$('#menu').jqDock();
-});
-</script>
-</head>
-<body>
-	<div id='page'>
-		<div id='menu'>
-			<img src='http://www.wizzud.com/jqDock/images/m/Addressbook.png' title='Favourites' alt='' />
-			<img src='http://www.wizzud.com/jqDock/images/m/DVD-Player.png' title='Pictures' alt='' />
-			<img src='http://www.wizzud.com/jqDock/images/m/Safari.png' title='Music' alt='' />
-			<img src='http://www.wizzud.com/jqDock/images/m/Terminal.png' title='Videos' alt='' />
-			<img src='http://www.wizzud.com/jqDock/images/m/Instant_Messaging.png' title='Uploads' alt='' />
-		</div>
-	</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example jqDock</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type='text/javascript' src='http://www.wizzud.com/jqDock/jquery.jqDock.min.js'></script>
+
+<style type='text/css'>
+	/*position and hide the menu initially - leave room for menu items to expand...*/
+	#page {padding-top:150px; padding-bottom:20px; width:100%;}
+	#menu {position:absolute; top:100px; left:0; display:none;}
+</style>
+<script type='text/javascript'>
+jQuery(document).ready(function($){
+	// Apply jqDock with no options...
+	$('#menu').jqDock();
+});
+</script>
+</head>
+<body>
+	<div id='page'>
+		<div id='menu'>
+			<img src='http://www.wizzud.com/jqDock/images/m/Addressbook.png' title='Favourites' alt='' />
+			<img src='http://www.wizzud.com/jqDock/images/m/DVD-Player.png' title='Pictures' alt='' />
+			<img src='http://www.wizzud.com/jqDock/images/m/Safari.png' title='Music' alt='' />
+			<img src='http://www.wizzud.com/jqDock/images/m/Terminal.png' title='Videos' alt='' />
+			<img src='http://www.wizzud.com/jqDock/images/m/Instant_Messaging.png' title='Uploads' alt='' />
+		</div>
+	</div>
+</body>
+</html>
--- a/web/res/metadataplayer/test/hook.html	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/hook.html	Wed Apr 27 18:54:31 2011 +0200
@@ -1,35 +1,35 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body>
-<script type="text/javascript" src="hook.js"></script> 
-<script  type="text/javascript">	
-Hook.register(
-  'quit',
-  function ( args ) {
-    alert( 'Bye!' );
-    return true;
-  }
-);
-
-Hook.register(
-  'test',
-  function ( args ) {
-    alert( 'ici!' );
-    return true;
-  }
-);
-
-Hook.call( 'quit', [ 'All Done' ] );
-Hook.call( 'test', [ 'All Done' ] );
-
-</script>
-
-
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body>
+<script type="text/javascript" src="hook.js"></script> 
+<script  type="text/javascript">	
+Hook.register(
+  'quit',
+  function ( args ) {
+    alert( 'Bye!' );
+    return true;
+  }
+);
+
+Hook.register(
+  'test',
+  function ( args ) {
+    alert( 'ici!' );
+    return true;
+  }
+);
+
+Hook.call( 'quit', [ 'All Done' ] );
+Hook.call( 'test', [ 'All Done' ] );
+
+</script>
+
+
+</body>
 </html>
\ No newline at end of file
--- a/web/res/metadataplayer/test/hook.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/hook.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,15 +1,15 @@
-var 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; }
-  }
+var 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; }
+  }
 }
\ No newline at end of file
--- a/web/res/metadataplayer/test/index-dailymotion.htm	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/index-dailymotion.htm	Wed Apr 27 18:54:31 2011 +0200
@@ -1,63 +1,63 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body>
-
-	<div style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
-	<h1>SimplePlayer </h1>
-	Iri SimplePlayer is a javascript's Widget interface to augment existing flash or html5 video player. 
-	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.<br/><br/>
-	This player was test on :
-	<ul>
-		<li>Firefox 3.6.9</li>
-		<li>Chrome 6.0.472.55</li>
-		<li>Safari 5.0.2</li>
-		<li>Internet Explore 8</li>
-	</ul>
-	This Player is a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
-	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
-	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
-	<br/><br/>
-	</div>
-	
- 
- <!-- START IRI EMBED    ###################################### -->
- <!-- SIMPLE PLAYER EXPERIMENTATION -->
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-
-	<input id="amount" />
-	
-	<div id="LdtPlayer"></div>
-	
-	<script  type="text/javascript">	
-		var config = {
-						metadata:{
-							format:'cinelab',
-							src:'test.json',
-							load:'json'},
-						gui:{
-							width:480,
-							height:270,
-							mode:'video',
-							container:'LdtPlayer',
-							debug:true,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'dailymotion',
-							src:'http://www.dailymotion.com/swf/video/x9ah8m_colloque-transphobie-a-l-assemblee_news?additionalInfos=0'
-							}
-					};
-		__IriSP.init(config);     
-	</script>
-
-
-<!-- END  ################  ###################################### -->
- </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body>
+
+	<div style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
+	<h1>SimplePlayer </h1>
+	Iri SimplePlayer is a javascript's Widget interface to augment existing flash or html5 video player. 
+	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.<br/><br/>
+	This player was test on :
+	<ul>
+		<li>Firefox 3.6.9</li>
+		<li>Chrome 6.0.472.55</li>
+		<li>Safari 5.0.2</li>
+		<li>Internet Explore 8</li>
+	</ul>
+	This Player is a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
+	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
+	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
+	<br/><br/>
+	</div>
+	
+ 
+ <!-- START IRI EMBED    ###################################### -->
+ <!-- SIMPLE PLAYER EXPERIMENTATION -->
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+
+	<input id="amount" />
+	
+	<div id="LdtPlayer"></div>
+	
+	<script  type="text/javascript">	
+		var config = {
+						metadata:{
+							format:'cinelab',
+							src:'test.json',
+							load:'json'},
+						gui:{
+							width:480,
+							height:270,
+							mode:'video',
+							container:'LdtPlayer',
+							debug:true,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'dailymotion',
+							src:'http://www.dailymotion.com/swf/video/x9ah8m_colloque-transphobie-a-l-assemblee_news?additionalInfos=0'
+							}
+					};
+		__IriSP.init(config);     
+	</script>
+
+
+<!-- END  ################  ###################################### -->
+ </body>
  </html>
\ No newline at end of file
--- a/web/res/metadataplayer/test/index-videoelement.htm	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/index-videoelement.htm	Wed Apr 27 18:54:31 2011 +0200
@@ -1,59 +1,59 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body>
-
-	<div style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
-	<h1>SimplePlayer </h1>
-	Iri SimplePlayer is a javascript's Widget interface to augment existing flash or html5 video player. 
-	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.<br/><br/>
-	This player was test on :
-	<ul>
-		<li>Firefox 3.6.9</li>
-		<li>Chrome 6.0.472.55</li>
-		<li>Safari 5.0.2</li>
-		<li>Internet Explore 8</li>
-	</ul>
-	This Player is a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
-	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
-	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
-	<br/><br/>
-	</div>
-	
- <!-- START Integration  ###################################### -->
- <!-- SIMPLE PLAYER EXPERIMENTATION -->
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-
-	<div id="LdtPlayer"></div>
-	
-	<script  type="text/javascript">	
-		var config = {
-						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:1,
-							mode:'radio',
-							container:'LdtPlayer',
-							debug:false,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'jwplayer',
-							src:'../res/swf/player.swf'}
-					};
-		__IriSP.init(config);     
-	</script>
-
-
-<!-- END  ################  ###################################### -->
- </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body>
+
+	<div style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
+	<h1>SimplePlayer </h1>
+	Iri SimplePlayer is a javascript's Widget interface to augment existing flash or html5 video player. 
+	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.<br/><br/>
+	This player was test on :
+	<ul>
+		<li>Firefox 3.6.9</li>
+		<li>Chrome 6.0.472.55</li>
+		<li>Safari 5.0.2</li>
+		<li>Internet Explore 8</li>
+	</ul>
+	This Player is a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
+	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
+	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
+	<br/><br/>
+	</div>
+	
+ <!-- START Integration  ###################################### -->
+ <!-- SIMPLE PLAYER EXPERIMENTATION -->
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+
+	<div id="LdtPlayer"></div>
+	
+	<script  type="text/javascript">	
+		var config = {
+						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:1,
+							mode:'radio',
+							container:'LdtPlayer',
+							debug:false,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'jwplayer',
+							src:'../res/swf/player.swf'}
+					};
+		__IriSP.init(config);     
+	</script>
+
+
+<!-- END  ################  ###################################### -->
+ </body>
  </html>
\ No newline at end of file
--- a/web/res/metadataplayer/test/index-vimeo.htm	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/index-vimeo.htm	Wed Apr 27 18:54:31 2011 +0200
@@ -1,104 +1,104 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body  style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
-
-	<div>
-	<h1>MetaData Player / Vimeo</h1>
-		<a href="index.htm"> back </a><br/>
-		<br/>
-	</div>
-	<div>
- <!-- START IRI EMBED    ###################################### -->
- <!-- SIMPLE PLAYER EXPERIMENTATION -->
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-
-	<!--<input id="amount" />
-	
-	VIMEO 
-	
-	<iframe src="http://player.vimeo.com/video/19433018" width="400" height="225" frameborder="0"></iframe>
-	<p><a href="http://vimeo.com/19433018">Clay Shirky, on Egypt and Tunisia : when a football forum goes politics</a> 
-	from <a href="http://vimeo.com/rencontresrsln">Les Rencontres RSLN</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
-
-	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 		
-	
-	-->
-	
-	<div id="LdtPlayer"></div>
-	 
-	<script  type="text/javascript">	
-		var config = {
-						metadata:{
-							format:'cinelab',
-							//# URL metadata's file
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/607807e6-3054-11e0-b2c7-00145ea49a02',
-							//# load from the same server
-							//load:'json'
-							//# load from a other serveur
-							load:'jsonp'
-							},
-						gui:{
-							//# width of the video size
-							width:480,
-							//# height of the video size , 1 for the radio 
-							height:360,
-							//# mode radio or video
-							mode:'video',
-							//# Id of div container
-							container:'LdtPlayer',
-							//# to see output 
-							debug:true,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'vimeo',
-							//  http://player.vimeo.com/video/19474948
-							src:'19474948'
-							}
-					};
-		__IriSP.init(config);     
-	</script>
-<!-- END  ################  ###################################### -->
-	</div>
-
-
- </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body  style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
+
+	<div>
+	<h1>MetaData Player / Vimeo</h1>
+		<a href="index.htm"> back </a><br/>
+		<br/>
+	</div>
+	<div>
+ <!-- START IRI EMBED    ###################################### -->
+ <!-- SIMPLE PLAYER EXPERIMENTATION -->
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+
+	<!--<input id="amount" />
+	
+	VIMEO 
+	
+	<iframe src="http://player.vimeo.com/video/19433018" width="400" height="225" frameborder="0"></iframe>
+	<p><a href="http://vimeo.com/19433018">Clay Shirky, on Egypt and Tunisia : when a football forum goes politics</a> 
+	from <a href="http://vimeo.com/rencontresrsln">Les Rencontres RSLN</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
+
+	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
+
+		-> vid�o 		fixe
+		-> Twitter 		
+		-> Wikipedia 
+		-> Flick'R
+		-> Google Map
+		-> slides 		
+	
+	-->
+	
+	<div id="LdtPlayer"></div>
+	 
+	<script  type="text/javascript">	
+		var config = {
+						metadata:{
+							format:'cinelab',
+							//# URL metadata's file
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/607807e6-3054-11e0-b2c7-00145ea49a02',
+							//# load from the same server
+							//load:'json'
+							//# load from a other serveur
+							load:'jsonp'
+							},
+						gui:{
+							//# width of the video size
+							width:480,
+							//# height of the video size , 1 for the radio 
+							height:360,
+							//# mode radio or video
+							mode:'video',
+							//# Id of div container
+							container:'LdtPlayer',
+							//# to see output 
+							debug:true,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'vimeo',
+							//  http://player.vimeo.com/video/19474948
+							src:'19474948'
+							}
+					};
+		__IriSP.init(config);     
+	</script>
+<!-- END  ################  ###################################### -->
+	</div>
+
+
+ </body>
  </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body  style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
-
-	<div>
-	<h1>MetaData Player / Youtube </h1>
-		<a href="index.htm"> back </a><br/>
-		<br/>
-	</div>
-	<div>
- <!-- START IRI EMBED    ###################################### -->
- <!-- SIMPLE PLAYER EXPERIMENTATION -->
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-
-	<!--<input id="amount" />-->
-	
-	<div id="LdtPlayer"></div>
-	 
-	<script  type="text/javascript">	
-		var config = {
-						metadata:{
-							format:'cinelab',
-							//# URL metadata's file
-							src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/755519f6-fd5f-11df-9e4a-00145ea4a2be',
-							//# load from the same server
-							//load:'json'
-							//# load from a other serveur
-							load:'jsonp'
-							},
-						gui:{
-							//# width of the video size
-							width:480,
-							//# height of the video size , 1 for the radio 
-							height:360,
-							//# mode radio or video
-							mode:'video',
-							//# Id of div container
-							container:'LdtPlayer',
-							//# to see output 
-							debug:false,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'youtube',
-							//# without youtube player UI : 
-							//http://www.youtube.com/watch?v=xd0SClmuLo4
-							src:'http://www.youtube.com/apiplayer?video_id=bB4lXDUHsfQ&'
-							//# with youtube player UI : 
-							//src:'http://www.youtube.com/v/lFtNG1wZ4zU'
-							}
-					};
-		__IriSP.init(config);     
-	</script>
-<!-- END  ################  ###################################### -->
-	</div>
-
-
- </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body  style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
+
+	<div>
+	<h1>MetaData Player / Youtube </h1>
+		<a href="index.htm"> back </a><br/>
+		<br/>
+	</div>
+	<div>
+ <!-- START IRI EMBED    ###################################### -->
+ <!-- SIMPLE PLAYER EXPERIMENTATION -->
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+
+	<!--<input id="amount" />-->
+	
+	<div id="LdtPlayer"></div>
+	 
+	<script  type="text/javascript">	
+		var config = {
+						metadata:{
+							format:'cinelab',
+							//# URL metadata's file
+							src:'http://exp.iri.centrepompidou.fr/franceculture/franceculture/ldt/cljson/id/755519f6-fd5f-11df-9e4a-00145ea4a2be',
+							//# load from the same server
+							//load:'json'
+							//# load from a other serveur
+							load:'jsonp'
+							},
+						gui:{
+							//# width of the video size
+							width:480,
+							//# height of the video size , 1 for the radio 
+							height:360,
+							//# mode radio or video
+							mode:'video',
+							//# Id of div container
+							container:'LdtPlayer',
+							//# to see output 
+							debug:false,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'youtube',
+							//# without youtube player UI : 
+							//http://www.youtube.com/watch?v=xd0SClmuLo4
+							src:'http://www.youtube.com/apiplayer?video_id=bB4lXDUHsfQ&'
+							//# with youtube player UI : 
+							//src:'http://www.youtube.com/v/lFtNG1wZ4zU'
+							}
+					};
+		__IriSP.init(config);     
+	</script>
+<!-- END  ################  ###################################### -->
+	</div>
+
+
+ </body>
  </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr">
-
-<head>
-
-</head>
-
-<body style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
-
-	<div>
-	<h1>Metadata player </h1>
-	Iri SimplePlayer is a javascript's Widget interface to augment existing player like :
-	<ul>
-		<li>Flash JW player</li>
-		<li><a href="index-youtube.htm">Youtube api player</a></li>
-		<li><a href="index-vimeo.htm">Vimeo api player</a></li>
-		<li><a href="index-html5.htm">Html5 video tag</a></li>
-	</ul>
-	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.<br/><br/>	
-	</div>
-	
- <!-- START Integration  ###################################### -->
- <!-- SIMPLE PLAYER EXPERIMENTATION -->
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-
-	<div id="LdtPlayer"></div>
-	
-	<script  type="text/javascript">	
-		var config = {
-						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:1,
-							mode:'radio',
-							container:'LdtPlayer',
-							debug:false,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'jwplayer',
-							src:'../res/swf/player.swf'}
-					};
-		__IriSP.init(config);     
-	</script>
-
-<!-- END  ################  ###################################### -->
-<div style="position:absolute;top:600px;width:650px;">
-	This player was test on : firefox 3.6.9 / Chrome 6.0.472.55 / Safari 5.0.2 / Internet Explore 8<br/>
-	It's a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
-	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
-	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
-</div>
- </body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr">
+
+<head>
+
+</head>
+
+<body style="width:650px;font-family: 'Trebuchet MS', 'Helvetica', 'Arial',  'Verdana', 'sans-serif';">
+
+	<div>
+	<h1>Metadata player </h1>
+	Iri SimplePlayer is a javascript's Widget interface to augment existing player like :
+	<ul>
+		<li>Flash JW player</li>
+		<li><a href="index-youtube.htm">Youtube api player</a></li>
+		<li><a href="index-vimeo.htm">Vimeo api player</a></li>
+		<li><a href="index-html5.htm">Html5 video tag</a></li>
+	</ul>
+	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.<br/><br/>	
+	</div>
+	
+ <!-- START Integration  ###################################### -->
+ <!-- SIMPLE PLAYER EXPERIMENTATION -->
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+
+	<div id="LdtPlayer"></div>
+	
+	<script  type="text/javascript">	
+		var config = {
+						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:1,
+							mode:'radio',
+							container:'LdtPlayer',
+							debug:false,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'jwplayer',
+							src:'../res/swf/player.swf'}
+					};
+		__IriSP.init(config);     
+	</script>
+
+<!-- END  ################  ###################################### -->
+<div style="position:absolute;top:600px;width:650px;">
+	This player was test on : firefox 3.6.9 / Chrome 6.0.472.55 / Safari 5.0.2 / Internet Explore 8<br/>
+	It's a freeSoftware under <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html"/> CeCILL-C</a> license.
+	This program is made by <a href="http://www.iri.centrepompidou.fr/" >Institut de recherche et d innovation</a>
+	more information on <a href="http://www.iri.centrepompidou.fr/outils/agmented-player/" >this page</a>.
+</div>
+ </body>
  </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html class="js" dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><link media="all" 
-href="emission_fichiers/widget40.css" type="text/css" rel="stylesheet">
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<script type="text/javascript" src="emission_fichiers/swfobject.txt"></script>
-<meta name="afs:suggest/onload" content="onSuggestLoad()">
-<link rel="shortcut icon" 
-href="http://www.franceculture.com/sites/default/files/franceculture_favicon.png"
- type="image/x-icon">
-<link rel="alternate" type="application/rss+xml" title="Les Retours du 
-dimanche " href="http://www.franceculture.com/emission/1232581/rss">
-  <title>Le salaire de la politique ; les vuvuzelas ; l'actualité 
-politique belge - Information - France Culture</title>
-  <link type="text/css" rel="stylesheet" media="all" 
-href="emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css">
-<link type="text/css" rel="stylesheet" media="screen" 
-href="emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css">
-<link type="text/css" rel="stylesheet" media="print" 
-href="emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css">
-<!--[if lte IE 7]>
-<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/ie.css?y" />
-<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/footer2.css?y" />
-<![endif]-->
-  <script type="text/javascript" src="emission_fichiers/jquery_005.js"></script>
-<script type="text/javascript" src="emission_fichiers/drupal.js"></script>
-<script type="text/javascript" src="emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_widget_twitter.js"></script>
-<script type="text/javascript" src="emission_fichiers/youtube.js"></script>
-<script type="text/javascript" src="emission_fichiers/fivestar.js"></script>
-<script type="text/javascript" src="emission_fichiers/high.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_antidot_recherche.js"></script>
-<script type="text/javascript" src="emission_fichiers/panels.js"></script>
-<script type="text/javascript" src="emission_fichiers/popups_002.js"></script>
-<script type="text/javascript" src="emission_fichiers/popups.js"></script>
-<script type="text/javascript" src="emission_fichiers/tableheader.js"></script>
-<script type="text/javascript" src="emission_fichiers/comment.js"></script>
-<script type="text/javascript" src="emission_fichiers/textarea.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_bloc_direct.js"></script>
-<script type="text/javascript" src="emission_fichiers/ajax-responder.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_006.js"></script>
-<script type="text/javascript" src="emission_fichiers/rf_player.js"></script>
-<script type="text/javascript" src="emission_fichiers/rollover.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_002.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_003.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery.js"></script>
-<script type="text/javascript" src="emission_fichiers/footer.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_004.js"></script>
-<script type="text/javascript" src="emission_fichiers/script.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery.extend(Drupal.settings, {"basePath":"\/","fivestar":{"titleUser":"Your rating: ","titleAverage":"Average: ","feedbackSavingVote":"Saving your vote...","feedbackVoteSaved":"Your vote has been saved.","feedbackDeletingVote":"Deleting your vote...","feedbackVoteDeleted":"Your vote has been deleted."},"adresseProxy":"http:\/\/www.franceculture.com\/proxy","popups":{"originalPath":"node\/2347301","defaultTargetSelector":"#main","modulePath":"sites\/all\/modules\/contrib\/popups","autoCloseFinalMessage":1},"fc_bloc_direct":{"interval":60000,"refresh_on_load":1}});
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2169101#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/778481#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/1061061#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/437741#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2357521#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery(document).ready(function() {
-    $(".more-doc").text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
-    $(".rel-doc .more-liste").hide();
-    
-$(".more-doc").toggle(
-function(){
-$(".rel-doc .more-liste").show("slow");
-$(this).text("n'afficher que les 3 premiers").css("background" , 'url("/sites/all/themes/franceculture/images/urg-up.png") no-repeat 100% 4px');
-},
-function(){
-$(".rel-doc .more-liste").hide("slow");
-$(this).text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
-});
-});
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-    $(document).ready(function(){  
-      $('#cb-left').addClass('script-vertical');
-      $('#script-scroll').addClass('script');
-			$('#share').addClass('share-script');
-			$('.share-more').css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
-
-			$('.share-more').toggle(
-				function(){
-					$('.share-script .more-services').addClass('active');
-					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-less.png") no-repeat 100% 4px');
-				},
-				function(){
-					$('.share-script .more-services').removeClass('active');
-					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
-				}
-			);
-      $('span.more-services a.addthis_button_facebook').click(function() {
-        window.open(this.href, 'facebook-share', 'resizable=no,with=500,height=315');
-        return false;
-      });
-  });
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
- 
-    $.fn.cleartextonfocus = function() {
-    	return this.focus(function() {
-    		if(this.value == this.defaultValue) {
-    			this.value = '';
-    		}
-    	}).blur(function() {
-    		if(!this.value.length) {
-    			this.value = this.defaultValue;
-    		}
-    	});
-    };
-
-    $(document).ready(function(){
-      $('textarea.clearonfocus').cleartextonfocus();
-    });
-  
-//--><!]]>
-</script>
-  <!--[if lte IE 7]><script type="text/javascript" src="/sites/all/themes/franceculture/ie.js?y"></script><![endif]--><script language="JavaScript">
-<!--
-//configuration
-OAS_url ='http://pub.ftv-publicite.fr/RealMedia/ads/';
-OAS_listpos = 'Middle,x02,BottomRight';
-OAS_query = '?';
-OAS_sitepage = 'www.radiofrance.fr/franceculture/les-retours-du-dimanche';
-//end of configuration
-OAS_version = 10;
-OAS_rn = '001234567890'; OAS_rns = '1234567890';
-OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
-function OAS_NORMAL(pos) { 
-  document.write("<a href='" + OAS_url + "click_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' target=_top>");
-  document.write("<img src='" + OAS_url + "adstream_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' border=0 alt='Click!'></a>");
-}
-//-->
-</script>
-<script language="JavaScript1.1">
-<!--
-OAS_version = 11;
-if (navigator.userAgent.indexOf('Mozilla/3') != -1)
-  OAS_version = 10;
-  if (OAS_version >= 11)
-    document.write("<sc"+"ript language='JavaScript1.1' src='" + OAS_url + "adstream_mjx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + OAS_query + "'><\/script>");
-//-->
-</script><script language="JavaScript1.1" src="emission_fichiers/1219830366Middlex02BottomRight.js"></script><script language="JavaScript">
-<!-- 
-document.write('');
-function OAS_AD(pos) {
-  if (OAS_version >= 11 && typeof(OAS_RICH!='undefined'))
-    OAS_RICH(pos);
-  else
-    OAS_NORMAL(pos);
-}
-//-->
-</script>
-<style type="text/css">/**
- * Highlight style classes
- * .a background color
- * .b underline
- * .c underline + font color
- */
- 
-@media screen{
-em.diigoHighlight {
-	text-align:inherit;
-	text-decoration: inherit;
-	line-height:inherit;
-	font:inherit;
-	color:inherit;
-	display:inline;
-	position:relative;
-}
-em.diigoHighlight.a.mouseOvered {
-	background-color: #ffc62a !important;
-}	
-
-em.diigoHighlight.b.mouseOvered, em.diigoHighlight.c.mouseOvered {
-	border-bottom: solid 2px #ffc62a;
-}
-	
-em.diigoHighlight.c {
-	color: #000099;
-}
-em.diigoHighlight.c.mouseOvered {
-	color: #ffc62a;
-}	
-
-em.diigoHighlight.a.yellow {
-	background-color: #FF9;
-}
-
-em.diigoHighlight.b.yellow, em.diigoHighlight.c.yellow {
-	border-bottom: solid 2px #FF9;
-}
-	
-img.diigoHighlight.yellow {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #FF9;
-}
-	
-em.diigoHighlight.a.blue {
-	background-color: #ABD5FF;
-}
-
-em.diigoHighlight.b.blue, em.diigoHighlight.c.blue {
-	border-bottom: solid 2px #ABD5FF;
-}
-	
-img.diigoHighlight.blue {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #ABD5FF;
-}
-	
-	
-em.diigoHighlight.a.green {
-	background-color: #B2E57E;
-}
-
-em.diigoHighlight.b.green, em.diigoHighlight.c.green {
-	border-bottom: solid 2px #B2E57E;
-}
-
-img.diigoHighlight.green {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #B2E57E;
-}	
-	
-	
-em.diigoHighlight.a.pink {
-	background-color: #ffcccc;
-}
-
-em.diigoHighlight.b.pink, em.diigoHighlight.c.pink {
-	border-bottom: solid 2px #ffcccc;
-}
-	
-img.diigoHighlight.pink {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #ffcccc;
-}	
-	
-img.diigoHighlight.mouseOvered {
-	cursor: pointer; 
-	outline:2px solid #ffc62a;
-}	
-	
-
-div.diigotb-inline-cloud{
-	position:fixed !important;
-	width:440px !important;
-	height:370px !important;
-	left:0;top:0;
-	background-color:#fef5c7 !important;
-	z-index:9999999999 !important;
-	display:none;
-	-moz-border-radius:15px !important;
-}
-/*  capture image */
-
-.diigotb-body #diigotb-upload-cover{
-	cursor:crosshair!important;
-	z-index:1999999!important;
-	position:fixed!important;
-	left:0!important;
-	top:31px;
-}
-	
-.diigotb-body #diigotb-upload-tip{
-    color: #fff!important;
-    padding:2px 4px!important;
-    position:fixed!important;
-    z-index:11000001!important;
-}
-	
-.diigotb-body #diigotb-upload-select{
-	position:fixed!important;
-	z-index:1000001;
-}
-	
-.diigotb-body #diigotb-upload-resizer{
-	z-index:11000002!important;
-	position:fixed!important;
-	cursor:move!important;
-	border:1px dashed black!important;
-}
-	
-.diigotb-body #currentColor{
-  background-color: #fff!important;
-  width: 37px!important;
-  height: 37px!important;
-  padding: 1px!important;
-  border: 1px solid #2e68e6!important;
-  float: left!important;
-  margin: 0 5px 0 0!important;
-}
-	
-.diigotb-body #currentColor div{
-  width: 37px!important;
-  height: 37px!important;	
-  margin:0!important;
-}
-.diigotb-body .selectPanel{
-	margin-top:5px!important;
-}
-	
-.diigotb-body .colorCell{
-  float: left!important;
-  margin: 0 1px 1px 0!important;
-  border: 1px solid #5f92ff!important;
-  width: 18px!important;
-  height: 18px!important;
-}
-	
-.diigotb-body .colorCell:hover{
-  border: 1px solid #FF9900!important;
-}
-.diigotb-body .colorCell.actived{
-  border: 1px solid #FF9900!important;
-}	
-	
-.diigotb-body .colorCell div{
-  width: 18px!important;
-  height: 18px!important;
-  cursor:pointer!important;
-  margin:0!important;
-}
-
-.diigotb-body .capture-black{background-color:#000!important;}
-.diigotb-body .capture-white{background-color:#fff!important;}
-.diigotb-body .capture-gray{background-color:#808080!important;}
-.diigotb-body .capture-light-gray{background-color:#c0c0c0!important;}
-
-.diigotb-body .capture-red{background-color:#ff0000!important;}
-.diigotb-body .capture-cyan{background-color:#00ffff!important;}
-.diigotb-body .capture-orange{background-color:#ff9900!important;}
-.diigotb-body .capture-blue{background-color:#0000ff!important;}
-
-.diigotb-body .capture-yellow{background-color:#ffff00!important;}
-.diigotb-body .capture-purple{background-color:#9900ff!important;}
-.diigotb-body .capture-green{background-color:#00ff00!important;}
-.diigotb-body .capture-pink{background-color:#ff00ff!important;}
-	
-.diigotb-body #diigotb-colorpanel{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-left.png) no-repeat scroll left center!important;
-	display:block;
-	height:55px!important;
-	position:fixed!important;
-	width:180px!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-	
-.diigotb-body .diigotb-cbg{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-right.png) no-repeat scroll right top!important;
-	height:55px!important;
-	line-height:55px!important;
-	padding-left:6px!important;
-	width:180px!important;
-	margin:0!important;
-}
-
-	
-.diigotb-body #currentArrow{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow.png) no-repeat scroll 0 0!important;
-	height:6px!important;
-	left:0;
-	position:relative!important;
-	top:-5px;
-	width:7px!important;
-	margin:0!important;
-}
-	
-.diigotb-body #currentArrow._istop{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow-down.png) no-repeat scroll 0 0!important;
-	top:51px!important;
-}
-	
-	
-.diigotb-body #diigotb-text-area{
-	position:fixed!important;
-	z-index:11000010!important;
-}
-	
-.diigotb-body .diigotb-text-input{
-	font: 18px/22px Helvetica,Arial,sans-serif!important;
-	border:0px solid #5f92ff!important;
-	z-index:11000011!important;
-}	
-	
-.diigotb-body #diigotb-editpanel{
-	background:transparent url(chrome://diigotb/skin/ann-bar-bg-right.png) no-repeat scroll right center!important;
-	height:35px!important;
-	position: fixed!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-	
-	
-.diigotb-body .diigotb-btn div{
-	cursor:pointer!important;
-	width:18px!important;
-	height:18px!important;
-	margin:2px!important;
-}
-.diigotb-body .diigotb-btn{
-	width:23px!important;
-	height:23px!important;
-}
-		
-	
-.diigotb-body #diigotb-editpanel .diigotb-bg{
-	background:transparent url(chrome://diigotb/skin/ann-bar-bg-left.png) repeat-x scroll left center!important;
-	height:35px!important;
-	padding-left:6px!important;
-	line-height:35px!important;
-	margin:0!important;
-}
-	
-		
-.diigotb-body div.diigotb-tip{
-	-moz-border-radius:4px 4px 4px 4px;
-	background-color:#f1f2f7;
-	border:1px solid #767676;
-	color:black;
-	display:none;
-	-moz-box-shadow:5px 5px 5px -5px #767676;
-	font:12px Arial,Helvetica,sans-serif;
-	margin:0 !important;
-	padding:3px 6px !important;
-	position:absolute;
-	z-index:2147483647;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn{
-	padding:0px!important;
-	display:inline-table!important;
-	margin-bottom:0 !important;
-	margin-left:0 !important;
-	margin-right:0 !important;
-	margin-top:5px;
-}
-	
-	
-.diigotb-body #diigotb-editpanel div.diigotb-sep img{
-	pading:0!important;
-	margin:0!important;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-sep{
-	pading:4px 0!important;
-	display:inline-table!important;
-	margin:0!important;
-	line-height:0 !important;
-}	
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn.enabled:hover{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
-}
-	
-.diigotb-body #diigotb-editpanel #diigotb-undo.enabled div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn.actived{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
-}
-	
-.diigotb-image-border{
-	border:1px solid #666 !important;
-}
-	
-#diigotb-imagepanel{
-	height:22px!important;
-	position: absolute!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-
-#diigotb-imagepanel .diigotb-btn{
-	cursor:pointer!important;
-	width:20px!important;
-	height:20px!important;
-	margin:2px!important;
-	float:left !important;
-	background:transparent url(chrome://diigotb/skin/save-image-action-icons.png) no-repeat scroll!important;
-}	
-	
-	
-#diigotb-imagepanel #diigotb-quick-save{
-	background-position:0 0!important;
-}
-		
-#diigotb-imagepanel.processing #diigotb-quick-save{
-	background-position:0 -20px!important;
-	cursor:default!important;
-}
-
-		
-#diigotb-imagepanel.needpremium #diigotb-quick-save{
-	background-position:0 -20px!important;
-	cursor:default!important;
-}	
-
-#diigotb-imagepanel.hassaved #diigotb-quick-save{
-	background-position: -60px 0!important;
-	cursor: pointer !important;
-}
-
-.diigotb-imagetip{
-	background:transparent url(chrome://diigotb/skin/notice-bar-bg-right.png) no-repeat scroll right center !important;
-	height:21px !important;
-	margin:0 !important;
-	position:absolute !important;
-	z-index:11000022 !important;
-	width:106px;
-}
-	
-.diigotb-imagebg{
-	background:transparent url(chrome://diigotb/skin/notice-bar-bg-left.png) repeat-x scroll left center !important;
-	height:21px !important;
-	margin:0 !important;
-	padding-left:6px !important;
-	width:90px;
-}
-	
-.diigotb-imagetip-text{
-	padding-left:20px!important;
-	font:11px/13px Helvetica,Arial,sans-serif!important;
-	color:white!important;
-	line-height:20px!important;
-	float:left;
-}
-	
-.diigotb-imagetip.processing .diigotb-imagetip-text{
-	background:transparent url(chrome://diigotb/skin/processing-fb.gif) no-repeat scroll left center !important;
-}
-	
-.diigotb-imagetip.hassaved .diigotb-imagetip-text{
-	background:transparent url(chrome://diigotb/skin/icon-done.png) no-repeat scroll left center !important;
-}
-	
-.diigotb-border{
-	position: absolute!important;
-	z-index:11000000!important;
-	margin:0!important;
-	background-color: #4b8cdc!important;
-}
-.diigotb-left{
-	width:1px!important;
-}
-.diigotb-right{
-	width:1px!important;
-}
-.diigotb-top{
-	height:1px!important;
-}
-.diigotb-bottom{
-	height:1px!important;
-}
-
-.diigotb-body #diigotb-rect div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-rectangle.png') no-repeat center center!important;
-}	
-.diigotb-body #diigotb-round div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-ellipse.png') no-repeat center center!important;
-}
-.diigotb-body #diigotb-text div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-font.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-arrow div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-arrow.png') no-repeat center center!important;
-}
-	
-.diigotb-body .diigotb-sep{
-	background: transparent url('chrome://diigotb/skin/ann-bar-bg-separator.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-undo div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo-disabled.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-capture-save div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-quickly-save.png') no-repeat center center!important;
-}
-	
-	
-	
-.diigotb-body #diigotb-upload-resizer div {
-  position: absolute!important;
-  width: 9px!important;
-  height: 9px!important;
-  /*background-color: white;*/
-  z-index:11000002!important;
-  margin:0px!important;
-  background:transparent url(chrome://diigotb/skin/spot.png) no-repeat scroll left center!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gleft {
-  left: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gtop {
-  top: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gright {
-  right: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gbottom {
-  bottom: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.ghor {
-  margin-left: auto!important;
-  margin-right: auto!important;
-  left: 0px!important;
-  right: 0px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gver {
-  margin-top: auto!important;
-  margin-bottom: auto!important;
-  top: 0px!important;
-  bottom: 0px!important;
-}
-	
-.diigotb-body{
-	padding-top: 31px!important;
-}
-	
-.diigotb-body #diigotb-topbar{
-  background: url(chrome://diigotb/skin/topbar-bg.png) left top repeat-x!important;
-  border-bottom: 1px solid #999!important;
-  color: #555!important;
-  font: 12px/18px Helvetica,Arial,sans-serif!important;
-  height: 30px!important;
-  line-height: 30px!important;
-  position: fixed!important;
-  left: 0!important;
-  top: 0!important;
-  text-align:center!important;
-  z-index:1999999!important;
-}
-
-.diigotb-body #diigotb-msg img{
-  margin:0 5px 0 0!important;
-  vertical-align: middle!important;
-}
-	
-.diigotb-body #diigotb-msg{
-	color:#333!important;
-}
-
-.diigotb-body #diigotb-msg a{
-  color: #0044cc!important;
-  text-decoration: none!important;
-}
-
-.diigotb-body #diigotb-msg a:hover{
-  text-decoration: underline!important;
-}
-
-.diigotb-body #diigotb-escLink{
-  display: block!important;
-  float: right!important;
-  margin: 5px 5px 0 0!important;
-  text-decoration: none!important;
-  width: 50px!important;
-  cursor:pointer!important;
-}
-
-.diigotb-body #diigotb-escLink:hover{
-  text-decoration: underline!important;
-}
-
-.diigotb-body #diigotb-escLink span{
-  background: url(chrome://diigotb/skin/esc-right.png) right top no-repeat!important;
-  display: block!important;
-  padding-right: 9px!important;
-}
-
-.diigotb-body #diigotb-escLink span strong{
-  background: url(chrome://diigotb/skin/esc-left.png) left top no-repeat!important;
-  display: block!important;
-  color: #fff!important;
-  font-weight: 700!important;
-  line-height: 20px!important;
-  text-indent:7px!important;
-}
-	
-	
-
-/*highlight label*/
-.diigoHighlight .diigoHighlightLabel sup {
-	font:normal normal normal 8px/8px "lucida grande",tahoma,verdana,arial,sans-serif;
-	text-decoration:none;
-	background-color:inherit;
-	cursor:default;
-}
-	
-body.diigoHiPen.yellow{
-	cursor:url(chrome://diigotb/skin/highlighter-orange.cur), text !important
-}
-	
-body.diigoHiPen.blue{
-	cursor:url(chrome://diigotb/skin/highlighter-blue.cur), text !important
-}
-
-body.diigoHiPen.green{
-	cursor:url(chrome://diigotb/skin/highlighter-green.cur), text !important
-}	
-	
-body.diigoHiPen.pink{
-	cursor:url(chrome://diigotb/skin/highlighter-pink.cur), text !important
-}
-em.diigoHighlight.type_0.commented {	
-	padding-left:30px;
-}
-	
-/*float note*/
-div.diigoHighlight.type_2 {
-	position:absolute;
-	width:29px;
-	height:36px;
-	text-align:center;
-	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat 50% 50%;
-	z-index:9996;
-}
-div.diigoHighlight.type_2.mouseOvered {
-	position:absolute;
-	width:37px;
-	height:31px;
-	text-align:center;
-	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat;
-	z-index:9996;
-}	
-div.diigoHighlight.type_2 span {
-	color:#000;
-	font:bold 13px Arial, Helvetica, sans-serif;
-	cursor: default;
-	line-height: 37px;
-	text-shadow: #fff 0 1px 0;
-}
-/*
-* html div.diigoHighlight.type_2{
-	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale, src="http://www.diigo.com/javascripts/webtoolbar/images/float_icon.png");
-	overflow:hidden;
-	background:none;
-}
-*/
-	
-
-div.diigoIcon.commented.TextIcon.diigoEdit{
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-
-	
-div.diigoIcon.commented.ImageIcon.diigoEdit{
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-
-
-/*mouse over effect*/
-/*
-.diigoHighlight.id_190e5778b533dc0fa1b1660653a4f6f5 {outline: 2px dotted green !important;}
-*/
-div.diigoIcon{
-	cursor:pointer !important;
-	margin: 0pt; 
-	padding: 0px 0px 0px 0px;
-	position: absolute;
-	display:none;
-	width: 24px !important; 
-	z-index:999999;
-	height: 23px !important;
-	background: transparent url('chrome://diigotb/skin/edit-highlight.png') no-repeat left;
-}
-
-div.diigoIcon span{
-	color:#000000;
-	display:block;
-	font-family:Helvetica,Arial,sans-serif;
-	font-size:13px;
-	font-weight:700;
-	line-height:18px;
-	text-align:center;
-	text-shadow:0 1px 1px #FFFFFF;
-}
-
-div.diigoIcon.commented.ImageIcon{
-	display:block !important;
-	background-color: transparent !important;
-}
-	
-div.diigoIcon:hover{
-	background-background: transparent !important;
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-	
-div.diigoIcon.commented.TextIcon{
-	display:block !important;
-	left:0;
-	bottom:0;
-}
-	
-div.diigoIcon.commented.public{
-	background: #FFFFFF url('chrome://diigotb/skin/public-annotation.png') no-repeat left;
-}
-
-div.diigoIcon.commented.private{
-	background: #FFFFFF url('chrome://diigotb/skin/private-annotation.png') no-repeat left;
-}
-	
-div.diigoIcon.commented.group{
-	background: #FFFFFF url('chrome://diigotb/skin/group-annotation.png') no-repeat left;
-}
-	
-/*Clip video*/
-div.diigoClipVideo{
-	float:left;
-	height:16px;
-	padding:0 16px 0 6px;
-	background:#f5f5f5 url(chrome://diigotb/skin/toolbar-clip-bg.gif) no-repeat right 0;
-	border:1px solid #ccc;
-	border-bottom-width:0;
-	font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
-	z-index:999;
-	position:absolute;
-}
-
-div.diigoClipVideo.clipped {
-  background-position: right -32px; left: 717px; top: 135px;
-}
-
-	div.diigoClipVideo span{
-		font-weight:bold;
-		font-size:10px;
-		line-height:16px;
-		text-decoration:underline;
-		color:#03f;
-		cursor:pointer;
-		margin-right:6px
-	}
-	div.diigoClipVideo span:hover,div.diigoClipVideo span:active{
-		color:#00f
-	}
-	/*.diigolet input{
-		font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
-		font-size:9px;
-	}*/
-	
-/*-----------notice msg--------------*/
-.diigotb-notice-img  {
-	float:left!important;
-	height:16px!important;
-	width:16px!important;
-	margin-top:6px!important;
-	margin-right:3px!important;
-}
-.success .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll 0 0 transparent!important;
-}
-.failed .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -16px 0 transparent!important;
-}
-.info .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -32px 0 transparent!important;
-}
-.process .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/processing.gif") no-repeat scroll left 0 transparent!important;
-}	
-	
-.diigotb-notice-msg-rt  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left bottom transparent!important;
-	line-height:28px!important;
-	padding-left:10px!important;
-	height:30px!important;
-}
-.failed .diigotb-notice-msg-rt  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left top transparent!important;
-}
-	
-.diigotb-notice-close{
-	float:right!important;
-	height:16px!important;
-	width:16px!important;
-	margin-left:20px!important;
-	margin-top:6px!important;
-	cursor:pointer;
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -48px 0 transparent!important;
-}
-
-.diigotb-notice-close:hover{
-	background-position: -63px 0!important;
-}
-	
-.diigotb-notice-msg  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right bottom transparent!important;
-	float:right!important;
-	height:30px!important;
-	padding:0 11px 0 0!important;
-	border: none!important;
-	margin:0!important;
-	position:fixed!important;
-	font:12px/14px Helvetica,Arial,sans-serif!important;
-	z-index:100000!important;
-}
-.diigotb-notice-msg a {
-	color:#0044cc!important; 
-	text-decoration:underline!important;
-}
-	
-.failed.diigotb-notice-msg  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right top transparent!important;
-}
-	
-}
-
-
-@media print{
-em.diigoHighlight.a, em.diigoHighlight.b, em.diigoHighlight.c {
-	border-bottom:0.5pt dashed Black;
-}
-
-
-/*image highlight*/
-/*no inline comments*/
-img.diigoHighlight {
-	border:0.5pt dashed Black
-}
-
-/*float note*/
-div.diigoHighlight.type_2 {
-	display:none
-}
-div.diigoHighlight.type_2 span {
-	display:none
-}
-}</style><style id="diigo-activeHighlight" type="text/css">dummyRuleForDigg{}</style></head><body
- class="not-front not-logged-in node-type-rf-diffusion one-sidebar 
-sidebar-right emissions page-node-2347301 
-section-emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg
- popups-processed tableHeader-processed"><div id="_atssh" 
-style="visibility: hidden; height: 1px; width: 1px; position: absolute; 
-z-index: 100000;"><iframe src="emission_fichiers/sh20.htm" 
-style="height: 1px; width: 1px; position: absolute; z-index: 100000; 
-border: 0pt none; left: 0pt; top: 0pt;" id="_atssh433"></iframe></div>
-	<div id="header-commun" class="header-footer content-header-footer"><div
- id="header-content"><ul><li class="first-header"><a 
-href="http://radiofrance.fr/" name="top-page-ancre">radiofrance.fr</a></li><li><a
- href="http://www.franceinter.com/">france inter</a></li><li><a 
-href="http://www.france-info.com/">france info</a></li><li><a 
-href="http://www.francebleu.com/">france bleu</a></li><li><a 
-href="http://www.franceculture.com/">france culture</a></li><li><a 
-href="http://www.francemusique.com/">france musique</a></li><li><a 
-href="http://fip-radio.com/">fip</a></li><li><a 
-href="http://www.lemouv.com/">le mouv'</a></li><li class="last-header"><a
- href="http://concerts.radiofrance.fr/">les orchestres</a></li></ul><div
- class="clearer">&nbsp;</div></div></div><div id="page">
-    <div id="page-inner"> 
-<!-- début du header -->
-                <div id="header">
-                    <!-- début du menu d'accès rapide -->
-                    <div id="acces-rapide"><a name="top"></a>
-                    <a href="#acces-navigation-primaire" 
-title="descriptif du lien">acces rapide a la navigation principale</a><br>
-                    <a href="#acces-navigation-secondaire" 
-title="descriptif du lien">acces rapide a la navigation secondaire</a><br>
-                    <a href="#acces-contenu" title="descriptif du lien">acces
- rapide au contenu</a><br>
-                    <a href="#acces-right" title="descriptif du lien">acces
- rapide au contenu de droite</a><br>
-                    <a href="#acces-footer" title="descriptif du lien">acces
- rapide au footer</a><br>
-                    </div>
-            <a href="http://www.franceculture.com/" class="retour-home"><img
- src="emission_fichiers/logo.png" alt="Accueil" height="106" width="106"></a>
-            <div id="block-simplenews-65" class="block block-simplenews">
-  <div class="block-inner">
-  
-  <div class="block-content">
-        <p>Recevez la lettre d'information</p>
-  
-      <form 
-action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
- accept-charset="UTF-8" method="post" id="simplenews-block-form-65">
-<div><div class="form-item" id="edit-mail-1-wrapper">
- <label for="edit-mail-1">E-mail&nbsp;: <span class="form-required" 
-title="Ce champ est obligatoire.">*</span></label>
- <input maxlength="128" name="mail" id="edit-mail-1" size="20" 
-value="identifiant@mail.com" class="form-text required idleField" 
-type="text">
-</div>
-<div class="form-radios"><div class="form-item" 
-id="edit-action-subscribe-wrapper">
- <label class="option" for="edit-action-subscribe"><input 
-id="edit-action-subscribe" name="action" value="subscribe" 
-checked="checked" class="form-radio" type="radio"> S'abonner</label>
-</div>
-<div class="form-item" id="edit-action-unsubscribe-wrapper">
- <label class="option" for="edit-action-unsubscribe"><input 
-id="edit-action-unsubscribe" name="action" value="unsubscribe" 
-class="form-radio" type="radio"> Se désabonner</label>
-</div>
-</div><input name="submit" value="Enregistrer" id="edit-submit-1" 
-class="form-submit submit" src="emission_fichiers/inscription.png" 
-type="image">
-<input name="form_build_id" id="form-d495e634489f3be0bd7ebbe9bf42e037" 
-value="form-d495e634489f3be0bd7ebbe9bf42e037" type="hidden">
-<input name="form_id" id="edit-simplenews-block-form-65" 
-value="simplenews_block_form_65" type="hidden">
-
-</div></form>
-  
-  
-  
-    </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-            <div class="search"><form 
-action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
- accept-charset="UTF-8" method="post" id="antidot-search-block-form-1">
-<div><div class="form-item" id="search_top_page-wrapper">
- <label for="search_top_page">Cherchez sur France Culture&nbsp;: </label>
- <input maxlength="128" name="antidot_search_block_form" 
-id="search_top_page" size="15" title="Entrez les termes que vous voulez 
-rechercher." autocomplete="off" class="form-text idleField" type="text">
-</div>
-<input name="op" id="edit-submit" value="Recherche" class="submit 
-rollover" src="emission_fichiers/search-submit.png" alt="Rechercher" 
-height="26" type="image" width="26"><input name="form_build_id" 
-id="form-0fb0ec9e93007e0870ba7f8b130bd7f7" 
-value="form-0fb0ec9e93007e0870ba7f8b130bd7f7" type="hidden">
-<input name="form_id" id="edit-antidot-search-block-form-1" 
-value="antidot_search_block_form" type="hidden">
-
-</div></form>
-</div>            
-            <!--block de navigation secondaire -->
-            <a name="acces-navigation-secondaire"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            <ul class="" id="menu-top"><li class="leaf first menu-top"><a
- href="http://www.franceculture.com/quelisentils" title="" accesskey="b">Que
- lisent-ils ?</a></li>
-<li class="leaf  menu-top"><a 
-href="http://www.franceculture.com/votre-agenda" title="" accesskey="b">Votre
- agenda Culture</a></li>
-<li class="leaf  menu-top"><a 
-href="http://www.franceculture.com/culture-academie" title="" 
-accesskey="b">Culture Académie</a></li>
-<li class="leaf  menu-top login"><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Connexion [Popup]" alt="Connexion" class="popups-form-reload 
-popups-processed" accesskey="b">Connexion</a></li>
-<li class="leaf last menu-top register"><a 
-href="http://www.franceculture.com/user/register-profile" title="pas 
-encore membre ? [Popup]" alt="pas encore membre ?" 
-class="popups-form-reload popups-processed" accesskey="b">pas encore 
-membre ?</a></li>
-</ul>            <!-- block de navigation principale -->
-            <a name="acces-navigation-primaire"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            <ul class="" id="menu-principal"><li class="leaf first 
-menu-principal"><a 
-href="http://www.franceculture.com/rubrique/information" title="" 
-accesskey="b">Information</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/litt%C3%A9rature" title="" 
-accesskey="b">Littérature</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/id%C3%A9es" title="" 
-accesskey="b">Idées</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/arts-spectacles" title="" 
-accesskey="b">Arts et spectacles</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/histoire" title="" 
-accesskey="b">Histoire</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/sciences" title="" 
-accesskey="b">Sciences</a></li>
-<li class="leaf  first menu-action"><a 
-href="http://www.franceculture.com/podcasts" title="" accesskey="b">Podcasts</a></li>
-<li class="leaf  menu-action"><a 
-href="http://www.franceculture.com/emissions/titre" title="" 
-accesskey="b">Emissions</a></li>
-<li class="leaf last menu-action"><a 
-href="http://www.franceculture.com/grille-des-programmes/" title="" 
-accesskey="b">Programmes</a></li>
-</ul>            
-    <div id="x02">
-      <script language="JavaScript">
-        <!--
-        OAS_AD("x02");
-        //-->
-      </script>
-    </div>        </div><!-- /header -->
-        
-        <!-- début du contenu -->   
-        <div id="main"><a name="acces-contenu"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            
-            <div id="content">
-                                                                      
-                <div id="content-inner">
-                                    <div id="content-top">
-                      <div id="block-fcbloc-emission-header" 
-class="block block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  
-	<div class="bandeau">
-		<h1 class="theme1-130">Les Retours du dimanche 
-			<a href="http://www.franceculture.com/emission/1232581/rss" 
-class="feed-icon"><img src="emission_fichiers/picto-rss.gif" 
-alt="Syndiquer le contenu" title="Les Retours du dimanche " height="16" 
-width="16"></a>
-			<span class="emission-producteurs">par <a 
-href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
- Broué</a>, <a 
-href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
-Gardette</a></span>
-			<a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche.html"
- class="site" title="Les Retours du dimanche ">Le site de l'émission</a>
-		</h1>
-		<div class="image">
-		<img src="emission_fichiers/retour_dimanche.png" alt="Les Retours du 
-dimanche " title="" height="100" width="640">
-		<a href="http://www.franceculture.com/podcast/1232581" title="Les 
-Retours du dimanche "><img 
-src="emission_fichiers/culture_les_retours_du_dimanche.jpg" 
-alt="Emission Les Retours du dimanche " title="" class="illu-small" 
-height="75" width="75"></a>
-		</div>
-		<p>le dimanche de 18h10 à 19h </p>
-	</div>
-		  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
- 
-                  </div>
-                                                      
-                  <div id="node-2347301" class="node node-rf_diffusion">
-
-	
-	  	  <div class="titre-plus">
-	    <div class="listen">
-                  <a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player?p=reecoute-2347301#reecoute-2347301">
-            <img alt="Ecoutez l'émission" 
-src="emission_fichiers/listen.png" height="78" width="78">
-          </a>
-	  <span>50 minutes</span>
-        	    </div>
-	    <h2 class="title">
-	      Le salaire de la politique ; les vuvuzelas ; l'actualité 
-politique belge          	      <a class="num-com" href="#comments">
-	          <span>0</span>
-	        </a>
-        	    </h2>
-	    <p>
-	      <span class="date">20.06.2010 - 18:10</span>
-	      	    </p>
-	    <div class="clear"></div>
-	    	  </div>
-	  	  	
-	  	
-	  	  <span class="print-link"></span><div class="field 
-field-type-multimedia-editorial-element field-field-contenu">
-    <div class="field-items">
-            <div class="field-item odd">
-                    <div class="dnd-drop-wrapper">
-
-  
-  <div class="image atom-Image">
-      <img class="dnd-dropped" src="emission_fichiers/Garrigou.jpg" 
-alt="">
-      <div class="opaque"><p>le sociologue Alain Garrigou <span>©Radio 
-France</span></p></div>
-  </div>
-  
-
-</div><p>Au sommaire des <strong>Retours du dimanche </strong>:</p><p>&nbsp;</p><p>La
-
-
- revue 
-d'actualités : rappel des petits et grands évènements de la semaine. : <a
- title=" ça s'est passé cette semaine" 
-href="http://www.franceculture.com/2010-06-19-20-juin-2010-ca-s-039-est-passe-cette-semaine.html">il
- faut reconnaître un mérite à Raymond Domenech et à ses joueurs...</a></p><p>&nbsp;</p><p>L'entretien
-
-
-
- : "<a href="#t=700">Le salaire de la politique</a>", <span><span 
-class="262252614-17062010">après que la question de la rémunération des 
-politiques a été posée par le 
-premier ministre&nbsp;cette semaine. Invité : </span></span>l'historien 
-et professeur en science politique <strong>Alain Garrigou</strong>, 
-auteur de <em>Mourir pour des Idées, la vie posthume d'Alphone Baudin</em>,
- paru aux éditions Les Belles Lettres en avril 2010.</p><p>&nbsp;</p><p>&nbsp;</p>
- 
- <!-- START Integration testing  ###################################### --> 
- <!-- IRI PLAYER EXPERIMENTATION --> 
-	
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-	
-	<div id="LdtPlayer"></div> 
-	
-	<script  type="text/javascript">	
-		var config = {
-						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:1,
-							mode:'radio',
-							container:'LdtPlayer',
-							debug:false,
-							css:'../src/css/LdtPlayerFc.css'},
-						player:{
-							type:'jwplayer',
-							src:'../res/swf/player.swf'}
-					};
-		__IriSP.init(config);     
-	</script> 
- 
- 
-<!-- END  ###################################### ####################################--> 
- 
- <br/>
- 
- <p> <a href="#t=1773">La
- revue de 
-presse </a>: les <strong>vuvuzelas comme phénomène identitaire</strong>, 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.<br>
-<br> <a href="#t=1846"> La bulle sonore :</a><strong> Patrick Roegiers</strong><strong> </strong>pour revenir
- sur<strong> l'actualité politique en Belgique. </strong>Notre invité 
-est romancier, auteur de <em>La Belgique, Le roman d'un pays</em>, paru 
-chez Découvertes Gallimard en 2005, et <em>Le mal du pays, autoportrait 
-de la Belgique</em>, publié au Seuil en 2003. Il a récemment publié <em>La
- Nuit du Monde</em>, au Seuil en janvier 2010.</p><p>&nbsp;</p><p>
- <a href="#t=2647">La 
-chronique d'Anthony Bellanger de </a> <strong>Courrier
- 
-International.</strong></p> 
-<p><br>Et comme chaque semaine : le sujet choisi par l'invité, notre 
-choix pour 
-la semaine à venir...</p>        </div>
-        </div>
-</div>
-	            <div class="clear"></div>
-	  
-          <p class="invites">Invités :<br>
-      <a 
-href="http://www.franceculture.com/personne-alain-garrigou.html">Alain 
-Garrigou</a>, professeur agrégé d'histoire et docteur en science 
-politique à l'université de Paris-X Nanterre<br><a 
-href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>      </p>
-        	    <p class="theme">Thèmes : 
-        <a href="http://www.franceculture.com/rubrique/information" 
-title="">Information</a>| <a 
-href="http://www.franceculture.com/theme/d%C3%A9bat" title="">Débat</a>|
- <a href="http://www.franceculture.com/theme/gouvernement" title="">Gouvernement</a>|
- <a 
-href="http://www.franceculture.com/theme/sciences-dures-et-sciences-humaines/histoire"
- title="">Histoire</a>      </p>
-	  	  	  	  	  <div class="rel-doc">
-	    <h2 class="titre-barre"><span>Documents</span></h2>
-	    <ul><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
-    Mourir pour des idées, la vie posthume d'Alphone Baudin  </a>
-  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
- Garrigou</a>  <span>
-  Belles lettres,   2010  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
-  <img src="emission_fichiers/baudin.jpg" alt="" title="" 
-class="imagecache imagecache-oeuvre_image_liste" height="143" width="95"></a>
-</li><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
-    Les élites contre la République : histoire et mutations de Sciences 
-Po et de l'ENA  </a>
-  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
- Garrigou</a>  <span>
-  Editions La découverte,     </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
-  <img 
-src="emission_fichiers/les_lites_contre_la_rpublique_histoire_et_mutations_de_scien.jpg"
- alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
-height="157" width="95"></a>
-</li><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
-    Le mal du pays : autobiographie de la Belgique  </a>
-  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>  <span>
-  Seuil,   2003  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
-  <img 
-src="emission_fichiers/le_mal_du_pays_autobiographie_de_la_belgique20100424.jpg"
- alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
-height="161" width="95"></a>
-</li><li style="display: none;" class="more-liste liste-clear"></li><li 
-style="display: none;" class="more-liste"><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
-    La nuit du monde  </a>
-  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>  <span>
-  Seuil,   2010  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
-  <img src="emission_fichiers/la_nuit_du_monde20100423.jpg" alt="" 
-title="" class="imagecache imagecache-oeuvre_image_liste" height="143" 
-width="95"></a>
-</li><li style="display: none;" class="more-liste"><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
-    L'évangile selon Jésus-Christ  </a>
-  <a 
-href="http://www.franceculture.com/personne-jos%C3%A9-saramago.html">José
- Saramago</a>  <span>
-  Ed. du Seuil - coll. Points,   2000  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
-  <img src="emission_fichiers/97820204039860-2000020811.jpg" alt="" 
-title="" class="imagecache imagecache-oeuvre_image_liste" height="158" 
-width="95"></a>
-</li></ul><div class="clear"></div><a style="background: 
-url(&quot;/sites/all/themes/franceculture/images/urg-down.png&quot;) 
-no-repeat scroll 100% 4px transparent;" class="more-doc">voir les 5 
-documents</a>	  </div>
-	  	  	<div class="clear"></div>
-	</div> <!-- /node -->
-  <div id="comments" class="com">
-    <h2 class="titre-barre"><span>0 commentaire</span></h2>
-    <div class="box">
-          <h2 class="title titre-barre"><span>Votre commentaire</span></h2>
-        <form action="/comment/reply/2347301" accept-charset="UTF-8" 
-method="post" id="comment-form">
-<div><div class="form-item" id="edit-name-wrapper">
- <label for="edit-name">votre nom&nbsp;: </label>
- <input maxlength="60" name="name" id="edit-name" size="30" 
-value="Anonyme" class="form-text idleField" type="text">
-</div>
-<div class="form-item" id="edit-mail-wrapper">
- <label for="edit-mail">votre adresse électronique&nbsp;: </label>
- <input maxlength="64" name="mail" id="edit-mail" size="30" 
-class="form-text idleField" type="text">
-</div>
-<div class="form-item" id="edit-comment-wrapper">
- <label for="edit-comment">votre commentaire&nbsp;: <span 
-class="form-required" title="Ce champ est obligatoire.">*</span></label>
- <div class="resizable-textarea"><span><textarea cols="60" rows="15" 
-name="comment" id="edit-comment" class="form-textarea resizable required
- clearonfocus textarea-processed">Tapez ici vos commentaires</textarea><div
- style="margin-right: -33px;" class="grippie"></div></span></div>
-</div>
-<div class="wysiwyg wysiwyg-format-5 wysiwyg-editor-none 
-wysiwyg-field-edit-comment wysiwyg-status-1 wysiwyg-toggle-1 
-wysiwyg-resizable-1"> </div><input name="form_build_id" 
-id="form-3d46a280b7c4d6960ed80ba3c5ae0418" 
-value="form-3d46a280b7c4d6960ed80ba3c5ae0418" type="hidden">
-<input name="form_id" id="edit-comment-form" value="comment_form" 
-type="hidden">
-<input name="op" id="edit-submit" value="Envoyer" class="form-submit" 
-type="submit"><div id="saving"><p class="saving">Enregistrement des 
-données…</p></div>
-<input name="op" id="edit-preview" value="Aperçu" class="form-submit" 
-type="submit">
-
-</div></form>
-</div> <!-- /box -->
-  </div>
- <!-- /comment wrapper -->
-<div id="block-print-0" class="block block-print">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  <span class="print_html"><a 
-href="http://www.franceculture.com/print/463861" title="Imprimer le 
-contenu" class="print-page" onclick="window.open(this.href); return 
-false" rel="nofollow">imprimer</a></span>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="share" class="block block-addthis share-script">
-  
-		<div class="addthis_toolbox addthis_default_style">
-			<a class="addthis_button_email share-mail at300b" title="partager par
- courier"><span class="at300bs at15t_email"></span>envoyer par courriel</a>
-			
-			<span class="more-services">
-				<a title="Send to Facebook" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=facebook&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_facebook share-services at300b"><span 
-class="at300bs at15t_facebook"></span>facebook</a>
-				<a title="Tweet This" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=twitter&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_twitter share-services at300b"><span 
-class="at300bs at15t_twitter"></span>twitter</a>
-				<a title="Send to Netvibes" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=netvibes&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_netvibes share-services at300b"><span 
-class="at300bs at15t_netvibes"></span>netvibes</a>
-				<a title="Send to Delicious" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=delicious&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_delicious share-services at300b"><span 
-class="at300bs at15t_delicious"></span>delicious</a>
-			</span>
-			<a style="background: 
-url(&quot;/sites/all/themes/franceculture/images/share-more.png&quot;) 
-no-repeat scroll 100% 4px transparent;" href="#" title="plus d'actions 
-de partage" class="share-more">partager</a>
-		<div class="atclear"></div></div>
-		<script type="text/javascript" src="emission_fichiers/addthis_widget.js"></script>
-		</div>
- 
-                  
-                  <div class="clear"></div>
-               </div> <!-- /content-inner -->
-                
-                            
-            </div> <!-- /content -->
-            
-                        <!-- début de sidebar-right -->   
-            <div id="sidebar-right"><a name="acces-right"></a><a 
-href="#top" class="back-to-top">retour en haut de page</a>
-               <div id="block-fc_bloc_direct-direct" class="block 
-block-fc_bloc_direct block-ecoute">
-  <div class="block-inner">
-      <h2 class="titre-barre"><span>Ecoutez France Culture</span></h2>
-    <div class="content"><div class="context">
-	<a href="http://www.franceculture.com/player" title="écouter le direct"
- class="rf-player-open img-float rf-player-open-processed">
-		<img src="emission_fichiers/direct.png" alt="écouter le direct" 
-height="72" width="72">
-	</a>
-	<h3>
-		<span class="timer"><a href="http://www.franceculture.com/player" 
-class="rf-player-open rf-player-open-processed">En direct</a></span>
-		<a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player" title="écouter le direct">Sur
- France Culture</a>
-		<a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player" title="écouter le direct"></a>
-	</h3>
-	<p></p>
-	<div class="clear"></div>
-</div>
-<p>
-	<span class="timer"></span>
-	
-</p>
-<p class="auteur">
-	
-</p>
-</div>
-    </div>
-</div><div id="block-fcbloc-emission-equipe" class="block block-fcbloc">
-  <div class="block-inner">
-      <h2 class="title"><span>L'équipe</span></h2>
-  
-  <div class="block-content">
-  <div class="item-list"><ul><li class="first">
-			<h3>Production</h3>
-			<p><a 
-href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
- Broué</a>, <a 
-href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
-Gardette</a></p>
-			</li>
-<li>
-			<h3>Réalisation</h3>
-			<p>Jean-Christophe Francis</p>
-			</li>
-<li>
-			<h3>Collaboratrice(s) Spécialisée(s)</h3>
-			<p>Soline Ledésert</p>
-			</li>
-<li class="last">
-			<h3>Chronique(s)</h3>
-			<p><a 
-href="http://www.franceculture.com/personne-anthony-bellanger.html">Anthony
- Bellanger</a></p>
-			</li>
-</ul></div>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-fcbloc-publicite" class="block block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  <p class="pub-notice">publicité</p><div class="pub-inner"><script language="JavaScript">
-<!--
-OAS_AD("Middle");
-//-->
-</script>&nbsp;</div>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-fcbloc-sur-le-meme-theme" class="block block-fcbloc">
-  <div class="block-inner">
-      <h2 class="title"><span>Sur le même thème</span></h2>
-  
-  <div class="block-content">
-  <div class="view view-commun-fo-blocs-full-node 
-view-id-commun_fo_blocs_full_node view-display-id-page_1 view-dom-id-12">
-    
-  
-  
-      <div class="view-content">
-        <ul>
-    <li class="first odd">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/culture-ac-seminaire-d%E2%80%99antoine-compagnon-ecrire-la-vie-26.html">Écrire
- la vie (2/6)</a>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-00:00
-
-      </span>
-  
-    </li>
-      <li class="even">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-dossier-du-jour-conference-des-donateurs-a-kaboul-2010-07-20.html">Conférence
- des donateurs à Kaboul</a>
-  
-
-      <p>
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-dossier-du-jour.html"> 
-Dossier du jour </a>
-      </p>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-À écouter le 19.07.2010
-
-      </span>
-  
-
-      <span>
-  
-    
-      <span class="timer"><span class="date-display-single">4</span> 
-min.</span>
-      </span>
-  
-    </li>
-      <li class="last odd">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-place-de-la-toile-lift-marseille-2010-07-24.html">Lift
- Marseille</a>
-  
-
-      <p>
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-place-de-la-toile.html">Place
- de la toile</a>
-      </p>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-À écouter le 16.07.2010
-
-      </span>
-  
-
-      <span>
-  
-    
-      <span class="timer"><span class="date-display-single">59</span> 
-min.</span>
-      </span>
-  
-    </li>
-    </ul>
-    </div>
-  
-  
-  
-  
-  
-  
-</div>   </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-views-diffusion_fo_blocs-block_1" class="block 
-block-views">
-  <div class="block-inner">
-      <h2 class="title"><span>Dernières diffusions</span></h2>
-  
-  <div class="block-content">
-  <div class="view view-diffusion-fo-blocs view-id-diffusion_fo_blocs 
-view-display-id-block_1 view-dom-id-13">
-    
-  
-  
-      <div class="view-content">
-      <div class="item-list">
-    <ul>
-          <li class="views-row views-row-1 views-row-odd 
-views-row-first">  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html">LES
- RETOURS DU DIMANCHE - Best of 1/2</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">18.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">49</span> min.</span></span>
-  </span>
-</li>
-          <li class="views-row views-row-2 views-row-even">  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m">Médias
- et démocratie: quel est le rôle du journaliste ? ; le déclin du 
-ministère des affaires étrangères ; les Roms</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">11.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">50</span> min.</span></span>
-  </span>
-</li>
-          <li class="views-row views-row-3 views-row-odd views-row-last">
-  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-">Qu'est-ce
- qu'une découverte scientifique ? ; l'avenir d'Eric Woerth au 
-gouvernement ; hommage à Laurent Terzieff ; Percy Kemp</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">04.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">50</span> min.</span></span>
-  </span>
-</li>
-      </ul>
-</div>    </div>
-  
-  
-  
-  
-  
-  
-</div>   </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
- 
-            </div> <!-- /sidebar-right -->
-                    
-        <div class="clear"></div>
-        </div> <!-- /main -->
-
-        <!-- début du footer -->   
-        <div id="footer-top"><a name="acces-footer"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-           
-        <br class="clear">
-<div id="pub-bottom-right">
-           <div id="block-fcbloc-footer-adsense" class="block 
-block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  
-            <script language="JavaScript">
-            <!--
-              OAS_AD("BottomRight");
-            //-->
-            </script>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-         </div>
-        </div> <!-- /footer -->
-    
-    </div> <!-- /page-inner -->
-</div> <!-- /page -->
-  <div id="footer-commun" class="header-footer footer-franceculture"><div
- class="content-header-footer"><div id="footer-chaine"><div 
-id="colonne-liens-footer" class="colonne-footer colonne-footer-first"><a
- href="http://www.franceculture.com/"><img 
-src="emission_fichiers/franceculture.png" alt="logo de franceculture"></a><p><a
- href="http://www.franceculture.com/sitemap">plan du site</a></p><p><a 
-href="http://www.franceculture.com/a_propos">à propos</a></p><p><a 
-href="http://www.franceculture.com/contact">contact</a></p></div><!--fin de div colonne-liens-footer--><div
- id="colonne-ecouter-footer" class="colonne-footer"><h4>écouter</h4><ul><li
- class="color-chaine "><a href="http://www.franceculture.com/player" 
-class="rf-player-open rf-player-open-processed">direct</a></li><li><a 
-href="http://www.franceculture.com/programmes">grille</a></li><li><a 
-href="http://www.franceculture.com/frequences">fréquences</a></li><li><a
- href="http://www.franceculture.com/podcasts">podcasts</a></li><li><a 
-href="http://www.radiofrance.fr/boite-a-outils/widget/">applis</a></li><li><a
- href="http://www.radiofrance.fr/boite-a-outils/faq/">aide à l'écoute</a></li></ul></div><!--fin de div colonne-thematique-footer--><div
- id="colonne-thematique-footer" class="colonne-footer"><h4>thématiques</h4><ul><li><a
- href="http://www.franceculture.com/rubrique/information">information</a>
- - <span>économie, justice, politique française, relations 
-internationales</span></li><li><a 
-href="http://www.franceculture.com/rubrique/litterature">littérature</a>
- - <span>édition, poésie, prix littéraires, roman, théâtre</span></li><li><a
- href="http://www.franceculture.com/rubrique/idees">idées</a> - <span>débats,
- philosophie, sociologie</span></li><li><a 
-href="http://www.franceculture.com/rubrique/arts-spectacles">arts &amp; 
-spectacles</a> - <span>architecture, cinéma, danse, musique, spectacle, 
-télévision</span></li><li><a 
-href="http://www.franceculture.com/rubrique/histoire">histoire</a> - <span>histoire
- de l'art, histoire de France, histoire des idées, histoire des sciences</span></li><li><a
- href="http://www.franceculture.com/rubrique/sciences">sciences</a> - <span>astronomie,
- biologie, mathématiques, physique</span></li><li><a 
-href="http://www.franceculture.com/quelisentils">que lisent-ils</a> - <a
- href="http://www.franceculture.com/votre-agenda">votre agenda culturel</a>
- - <a href="http://www.franceculture.com/culture-academie">culture 
-académie</a> - <a href="http://www.franceculture.com/blogs">les blogs</a></li></ul></div><!--fin de div colonne-partager-footer--><div
- id="colonne-partager-footer" class="colonne-footer colonne-footer-last"><div
- id="liens-partage-footer"><h4>nous rejoindre</h4><ul><li 
-id="facebook-footer"><a 
-href="http://www.facebook.com/pages/FRANCE-CULTURE/83625483348?ref=ts" 
-class="gris">facebook</a></li><li id="twitter-footer"><a 
-href="http://www.twitter.com/france_culture" class="gris">twitter</a></li><li
- id="dailymotion-footer"><a 
-href="http://www.dailymotion.com/franceculture" class="gris">dailymotion</a></li><li
- class="clearer">&nbsp;</li></ul></div><!--fin de bloc 1--><div><h4>s'abonner</h4><span><a
- href="http://www.franceculture.com/podcasts" class="gris">podcasts</a></span>
- - <span><a href="http://www.franceculture.com/la-lettre" 
-class="color-chaine">newsletter</a></span></div></div><!--fin de div colonne-partager-footer--><div
- class="clearer">&nbsp;</div></div><div id="sous-footer"><div 
-id="footer-rf"><ul><li class="first"><a 
-href="http://www.radiofrance.fr/">radiofrance.fr</a></li><li><a 
-href="http://www.radiofrance.fr/les-blogs/blog-du-mediateur/">médiateur</a></li><li><a
- href="http://www.radiofrance.fr/liens-bas-de-page/mentionslegales/">mentions
- légales</a></li><li class="last"><a 
-href="http://www.radiofrance.fr/boite-a-outils/frequences/">fréquences</a></li><li
- class="last-page"><span class="haut-de-page"><a href="#top-page-ancre" 
-id="top-page" class="gris">haut de page</a></span></li></ul><p>Radio 
-France décline toute responsabilité quant au contenu des sites proposés 
-en liens</p></div><!--fin de div footer-rf--></div></div></div>  <script type="text/javascript">
-<!--//--><![CDATA[//><!--
-$.post(Drupal.settings.basePath + 'jstats.php', {"path":"node\/2347301","nid":"2347301"});
-//--><!]]>
-</script>
-<!-- eStat -->
-<script language="JavaScript">
-<!--
-var _PJS=0;
-//-->
-</script>
-<script language="JavaScript" src="emission_fichiers/265074200838.js"></script>
-<script language="JavaScript">
-<!--
-if(_PJS)
-{
-  eStat_id.cmclient("franceculture");
-  eStat_id.niveau(1,"information");
-  eStat_id.niveau(2,"les-retours-du-dimanche");
-  eStat_id.niveau(3,"le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20");
-  eStat_id.niveau(4,"histoire-gouvernement-debat");
-  eStat_tag.post("ml");
-}
-//-->
-</script>
-<noscript>
-<img src="http://stat3.cybermonitor.com/franceculture_v?c=information&p=les-retours-du-dimanche&l3=le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&l4=histoire-gouvernement-debatst=0&sjs=0" border="0" width="1" height="1" />
-</noscript>
-<!-- /eStat -->
-<!-- xiti -->
-<script type="text/javascript">
-<!--
-xtnv = document;        //parent.document or top.document or document         
-xtsd = "http://logp";
-xtsite = "24121";
-xtn2 = "3";   // level 2 site 
-xtpage ="Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20";        //page name
-xtdi = "";        //implication degree
-//-->
-</script>
-
-<script type="text/javascript" src="emission_fichiers/xtcore.js"></script>
-
-<noscript>
-<img width="1" height="1" alt="" src="http://logp.xiti.com/hit.xiti?s=24121&s2=3&p=Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&di=&" >
-</noscript>
-<!-- /xiti -->
-</body><div style="display: none; width: 24px;" id="diigotb-imagepanel"><div
- class="diigotb-btn enabled" title="Save this image to Diigo" 
-id="diigotb-quick-save"></div></div><div style="display: none;" 
-class="diigotb-border diigotb-left"></div><div style="display: none;" 
-class="diigotb-border diigotb-top"></div><div style="display: none;" 
-class="diigotb-border diigotb-right"></div><div style="display: none;" 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html class="js" dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><link media="all" 
+href="emission_fichiers/widget40.css" type="text/css" rel="stylesheet">
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script type="text/javascript" src="emission_fichiers/swfobject.txt"></script>
+<meta name="afs:suggest/onload" content="onSuggestLoad()">
+<link rel="shortcut icon" 
+href="http://www.franceculture.com/sites/default/files/franceculture_favicon.png"
+ type="image/x-icon">
+<link rel="alternate" type="application/rss+xml" title="Les Retours du 
+dimanche " href="http://www.franceculture.com/emission/1232581/rss">
+  <title>Le salaire de la politique ; les vuvuzelas ; l'actualité 
+politique belge - Information - France Culture</title>
+  <link type="text/css" rel="stylesheet" media="all" 
+href="emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css">
+<link type="text/css" rel="stylesheet" media="screen" 
+href="emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css">
+<link type="text/css" rel="stylesheet" media="print" 
+href="emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css">
+<!--[if lte IE 7]>
+<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/ie.css?y" />
+<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/footer2.css?y" />
+<![endif]-->
+  <script type="text/javascript" src="emission_fichiers/jquery_005.js"></script>
+<script type="text/javascript" src="emission_fichiers/drupal.js"></script>
+<script type="text/javascript" src="emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_widget_twitter.js"></script>
+<script type="text/javascript" src="emission_fichiers/youtube.js"></script>
+<script type="text/javascript" src="emission_fichiers/fivestar.js"></script>
+<script type="text/javascript" src="emission_fichiers/high.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_antidot_recherche.js"></script>
+<script type="text/javascript" src="emission_fichiers/panels.js"></script>
+<script type="text/javascript" src="emission_fichiers/popups_002.js"></script>
+<script type="text/javascript" src="emission_fichiers/popups.js"></script>
+<script type="text/javascript" src="emission_fichiers/tableheader.js"></script>
+<script type="text/javascript" src="emission_fichiers/comment.js"></script>
+<script type="text/javascript" src="emission_fichiers/textarea.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_bloc_direct.js"></script>
+<script type="text/javascript" src="emission_fichiers/ajax-responder.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_006.js"></script>
+<script type="text/javascript" src="emission_fichiers/rf_player.js"></script>
+<script type="text/javascript" src="emission_fichiers/rollover.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_002.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_003.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery.js"></script>
+<script type="text/javascript" src="emission_fichiers/footer.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_004.js"></script>
+<script type="text/javascript" src="emission_fichiers/script.js"></script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+jQuery.extend(Drupal.settings, {"basePath":"\/","fivestar":{"titleUser":"Your rating: ","titleAverage":"Average: ","feedbackSavingVote":"Saving your vote...","feedbackVoteSaved":"Your vote has been saved.","feedbackDeletingVote":"Deleting your vote...","feedbackVoteDeleted":"Your vote has been deleted."},"adresseProxy":"http:\/\/www.franceculture.com\/proxy","popups":{"originalPath":"node\/2347301","defaultTargetSelector":"#main","modulePath":"sites\/all\/modules\/contrib\/popups","autoCloseFinalMessage":1},"fc_bloc_direct":{"interval":60000,"refresh_on_load":1}});
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2169101#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/778481#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/1061061#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/437741#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2357521#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+jQuery(document).ready(function() {
+    $(".more-doc").text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
+    $(".rel-doc .more-liste").hide();
+    
+$(".more-doc").toggle(
+function(){
+$(".rel-doc .more-liste").show("slow");
+$(this).text("n'afficher que les 3 premiers").css("background" , 'url("/sites/all/themes/franceculture/images/urg-up.png") no-repeat 100% 4px');
+},
+function(){
+$(".rel-doc .more-liste").hide("slow");
+$(this).text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
+});
+});
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+    $(document).ready(function(){  
+      $('#cb-left').addClass('script-vertical');
+      $('#script-scroll').addClass('script');
+			$('#share').addClass('share-script');
+			$('.share-more').css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
+
+			$('.share-more').toggle(
+				function(){
+					$('.share-script .more-services').addClass('active');
+					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-less.png") no-repeat 100% 4px');
+				},
+				function(){
+					$('.share-script .more-services').removeClass('active');
+					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
+				}
+			);
+      $('span.more-services a.addthis_button_facebook').click(function() {
+        window.open(this.href, 'facebook-share', 'resizable=no,with=500,height=315');
+        return false;
+      });
+  });
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+ 
+    $.fn.cleartextonfocus = function() {
+    	return this.focus(function() {
+    		if(this.value == this.defaultValue) {
+    			this.value = '';
+    		}
+    	}).blur(function() {
+    		if(!this.value.length) {
+    			this.value = this.defaultValue;
+    		}
+    	});
+    };
+
+    $(document).ready(function(){
+      $('textarea.clearonfocus').cleartextonfocus();
+    });
+  
+//--><!]]>
+</script>
+  <!--[if lte IE 7]><script type="text/javascript" src="/sites/all/themes/franceculture/ie.js?y"></script><![endif]--><script language="JavaScript">
+<!--
+//configuration
+OAS_url ='http://pub.ftv-publicite.fr/RealMedia/ads/';
+OAS_listpos = 'Middle,x02,BottomRight';
+OAS_query = '?';
+OAS_sitepage = 'www.radiofrance.fr/franceculture/les-retours-du-dimanche';
+//end of configuration
+OAS_version = 10;
+OAS_rn = '001234567890'; OAS_rns = '1234567890';
+OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
+function OAS_NORMAL(pos) { 
+  document.write("<a href='" + OAS_url + "click_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' target=_top>");
+  document.write("<img src='" + OAS_url + "adstream_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' border=0 alt='Click!'></a>");
+}
+//-->
+</script>
+<script language="JavaScript1.1">
+<!--
+OAS_version = 11;
+if (navigator.userAgent.indexOf('Mozilla/3') != -1)
+  OAS_version = 10;
+  if (OAS_version >= 11)
+    document.write("<sc"+"ript language='JavaScript1.1' src='" + OAS_url + "adstream_mjx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + OAS_query + "'><\/script>");
+//-->
+</script><script language="JavaScript1.1" src="emission_fichiers/1219830366Middlex02BottomRight.js"></script><script language="JavaScript">
+<!-- 
+document.write('');
+function OAS_AD(pos) {
+  if (OAS_version >= 11 && typeof(OAS_RICH!='undefined'))
+    OAS_RICH(pos);
+  else
+    OAS_NORMAL(pos);
+}
+//-->
+</script>
+<style type="text/css">/**
+ * Highlight style classes
+ * .a background color
+ * .b underline
+ * .c underline + font color
+ */
+ 
+@media screen{
+em.diigoHighlight {
+	text-align:inherit;
+	text-decoration: inherit;
+	line-height:inherit;
+	font:inherit;
+	color:inherit;
+	display:inline;
+	position:relative;
+}
+em.diigoHighlight.a.mouseOvered {
+	background-color: #ffc62a !important;
+}	
+
+em.diigoHighlight.b.mouseOvered, em.diigoHighlight.c.mouseOvered {
+	border-bottom: solid 2px #ffc62a;
+}
+	
+em.diigoHighlight.c {
+	color: #000099;
+}
+em.diigoHighlight.c.mouseOvered {
+	color: #ffc62a;
+}	
+
+em.diigoHighlight.a.yellow {
+	background-color: #FF9;
+}
+
+em.diigoHighlight.b.yellow, em.diigoHighlight.c.yellow {
+	border-bottom: solid 2px #FF9;
+}
+	
+img.diigoHighlight.yellow {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #FF9;
+}
+	
+em.diigoHighlight.a.blue {
+	background-color: #ABD5FF;
+}
+
+em.diigoHighlight.b.blue, em.diigoHighlight.c.blue {
+	border-bottom: solid 2px #ABD5FF;
+}
+	
+img.diigoHighlight.blue {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #ABD5FF;
+}
+	
+	
+em.diigoHighlight.a.green {
+	background-color: #B2E57E;
+}
+
+em.diigoHighlight.b.green, em.diigoHighlight.c.green {
+	border-bottom: solid 2px #B2E57E;
+}
+
+img.diigoHighlight.green {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #B2E57E;
+}	
+	
+	
+em.diigoHighlight.a.pink {
+	background-color: #ffcccc;
+}
+
+em.diigoHighlight.b.pink, em.diigoHighlight.c.pink {
+	border-bottom: solid 2px #ffcccc;
+}
+	
+img.diigoHighlight.pink {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #ffcccc;
+}	
+	
+img.diigoHighlight.mouseOvered {
+	cursor: pointer; 
+	outline:2px solid #ffc62a;
+}	
+	
+
+div.diigotb-inline-cloud{
+	position:fixed !important;
+	width:440px !important;
+	height:370px !important;
+	left:0;top:0;
+	background-color:#fef5c7 !important;
+	z-index:9999999999 !important;
+	display:none;
+	-moz-border-radius:15px !important;
+}
+/*  capture image */
+
+.diigotb-body #diigotb-upload-cover{
+	cursor:crosshair!important;
+	z-index:1999999!important;
+	position:fixed!important;
+	left:0!important;
+	top:31px;
+}
+	
+.diigotb-body #diigotb-upload-tip{
+    color: #fff!important;
+    padding:2px 4px!important;
+    position:fixed!important;
+    z-index:11000001!important;
+}
+	
+.diigotb-body #diigotb-upload-select{
+	position:fixed!important;
+	z-index:1000001;
+}
+	
+.diigotb-body #diigotb-upload-resizer{
+	z-index:11000002!important;
+	position:fixed!important;
+	cursor:move!important;
+	border:1px dashed black!important;
+}
+	
+.diigotb-body #currentColor{
+  background-color: #fff!important;
+  width: 37px!important;
+  height: 37px!important;
+  padding: 1px!important;
+  border: 1px solid #2e68e6!important;
+  float: left!important;
+  margin: 0 5px 0 0!important;
+}
+	
+.diigotb-body #currentColor div{
+  width: 37px!important;
+  height: 37px!important;	
+  margin:0!important;
+}
+.diigotb-body .selectPanel{
+	margin-top:5px!important;
+}
+	
+.diigotb-body .colorCell{
+  float: left!important;
+  margin: 0 1px 1px 0!important;
+  border: 1px solid #5f92ff!important;
+  width: 18px!important;
+  height: 18px!important;
+}
+	
+.diigotb-body .colorCell:hover{
+  border: 1px solid #FF9900!important;
+}
+.diigotb-body .colorCell.actived{
+  border: 1px solid #FF9900!important;
+}	
+	
+.diigotb-body .colorCell div{
+  width: 18px!important;
+  height: 18px!important;
+  cursor:pointer!important;
+  margin:0!important;
+}
+
+.diigotb-body .capture-black{background-color:#000!important;}
+.diigotb-body .capture-white{background-color:#fff!important;}
+.diigotb-body .capture-gray{background-color:#808080!important;}
+.diigotb-body .capture-light-gray{background-color:#c0c0c0!important;}
+
+.diigotb-body .capture-red{background-color:#ff0000!important;}
+.diigotb-body .capture-cyan{background-color:#00ffff!important;}
+.diigotb-body .capture-orange{background-color:#ff9900!important;}
+.diigotb-body .capture-blue{background-color:#0000ff!important;}
+
+.diigotb-body .capture-yellow{background-color:#ffff00!important;}
+.diigotb-body .capture-purple{background-color:#9900ff!important;}
+.diigotb-body .capture-green{background-color:#00ff00!important;}
+.diigotb-body .capture-pink{background-color:#ff00ff!important;}
+	
+.diigotb-body #diigotb-colorpanel{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-left.png) no-repeat scroll left center!important;
+	display:block;
+	height:55px!important;
+	position:fixed!important;
+	width:180px!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+	
+.diigotb-body .diigotb-cbg{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-right.png) no-repeat scroll right top!important;
+	height:55px!important;
+	line-height:55px!important;
+	padding-left:6px!important;
+	width:180px!important;
+	margin:0!important;
+}
+
+	
+.diigotb-body #currentArrow{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow.png) no-repeat scroll 0 0!important;
+	height:6px!important;
+	left:0;
+	position:relative!important;
+	top:-5px;
+	width:7px!important;
+	margin:0!important;
+}
+	
+.diigotb-body #currentArrow._istop{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow-down.png) no-repeat scroll 0 0!important;
+	top:51px!important;
+}
+	
+	
+.diigotb-body #diigotb-text-area{
+	position:fixed!important;
+	z-index:11000010!important;
+}
+	
+.diigotb-body .diigotb-text-input{
+	font: 18px/22px Helvetica,Arial,sans-serif!important;
+	border:0px solid #5f92ff!important;
+	z-index:11000011!important;
+}	
+	
+.diigotb-body #diigotb-editpanel{
+	background:transparent url(chrome://diigotb/skin/ann-bar-bg-right.png) no-repeat scroll right center!important;
+	height:35px!important;
+	position: fixed!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+	
+	
+.diigotb-body .diigotb-btn div{
+	cursor:pointer!important;
+	width:18px!important;
+	height:18px!important;
+	margin:2px!important;
+}
+.diigotb-body .diigotb-btn{
+	width:23px!important;
+	height:23px!important;
+}
+		
+	
+.diigotb-body #diigotb-editpanel .diigotb-bg{
+	background:transparent url(chrome://diigotb/skin/ann-bar-bg-left.png) repeat-x scroll left center!important;
+	height:35px!important;
+	padding-left:6px!important;
+	line-height:35px!important;
+	margin:0!important;
+}
+	
+		
+.diigotb-body div.diigotb-tip{
+	-moz-border-radius:4px 4px 4px 4px;
+	background-color:#f1f2f7;
+	border:1px solid #767676;
+	color:black;
+	display:none;
+	-moz-box-shadow:5px 5px 5px -5px #767676;
+	font:12px Arial,Helvetica,sans-serif;
+	margin:0 !important;
+	padding:3px 6px !important;
+	position:absolute;
+	z-index:2147483647;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn{
+	padding:0px!important;
+	display:inline-table!important;
+	margin-bottom:0 !important;
+	margin-left:0 !important;
+	margin-right:0 !important;
+	margin-top:5px;
+}
+	
+	
+.diigotb-body #diigotb-editpanel div.diigotb-sep img{
+	pading:0!important;
+	margin:0!important;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-sep{
+	pading:4px 0!important;
+	display:inline-table!important;
+	margin:0!important;
+	line-height:0 !important;
+}	
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn.enabled:hover{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
+}
+	
+.diigotb-body #diigotb-editpanel #diigotb-undo.enabled div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn.actived{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
+}
+	
+.diigotb-image-border{
+	border:1px solid #666 !important;
+}
+	
+#diigotb-imagepanel{
+	height:22px!important;
+	position: absolute!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+
+#diigotb-imagepanel .diigotb-btn{
+	cursor:pointer!important;
+	width:20px!important;
+	height:20px!important;
+	margin:2px!important;
+	float:left !important;
+	background:transparent url(chrome://diigotb/skin/save-image-action-icons.png) no-repeat scroll!important;
+}	
+	
+	
+#diigotb-imagepanel #diigotb-quick-save{
+	background-position:0 0!important;
+}
+		
+#diigotb-imagepanel.processing #diigotb-quick-save{
+	background-position:0 -20px!important;
+	cursor:default!important;
+}
+
+		
+#diigotb-imagepanel.needpremium #diigotb-quick-save{
+	background-position:0 -20px!important;
+	cursor:default!important;
+}	
+
+#diigotb-imagepanel.hassaved #diigotb-quick-save{
+	background-position: -60px 0!important;
+	cursor: pointer !important;
+}
+
+.diigotb-imagetip{
+	background:transparent url(chrome://diigotb/skin/notice-bar-bg-right.png) no-repeat scroll right center !important;
+	height:21px !important;
+	margin:0 !important;
+	position:absolute !important;
+	z-index:11000022 !important;
+	width:106px;
+}
+	
+.diigotb-imagebg{
+	background:transparent url(chrome://diigotb/skin/notice-bar-bg-left.png) repeat-x scroll left center !important;
+	height:21px !important;
+	margin:0 !important;
+	padding-left:6px !important;
+	width:90px;
+}
+	
+.diigotb-imagetip-text{
+	padding-left:20px!important;
+	font:11px/13px Helvetica,Arial,sans-serif!important;
+	color:white!important;
+	line-height:20px!important;
+	float:left;
+}
+	
+.diigotb-imagetip.processing .diigotb-imagetip-text{
+	background:transparent url(chrome://diigotb/skin/processing-fb.gif) no-repeat scroll left center !important;
+}
+	
+.diigotb-imagetip.hassaved .diigotb-imagetip-text{
+	background:transparent url(chrome://diigotb/skin/icon-done.png) no-repeat scroll left center !important;
+}
+	
+.diigotb-border{
+	position: absolute!important;
+	z-index:11000000!important;
+	margin:0!important;
+	background-color: #4b8cdc!important;
+}
+.diigotb-left{
+	width:1px!important;
+}
+.diigotb-right{
+	width:1px!important;
+}
+.diigotb-top{
+	height:1px!important;
+}
+.diigotb-bottom{
+	height:1px!important;
+}
+
+.diigotb-body #diigotb-rect div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-rectangle.png') no-repeat center center!important;
+}	
+.diigotb-body #diigotb-round div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-ellipse.png') no-repeat center center!important;
+}
+.diigotb-body #diigotb-text div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-font.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-arrow div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-arrow.png') no-repeat center center!important;
+}
+	
+.diigotb-body .diigotb-sep{
+	background: transparent url('chrome://diigotb/skin/ann-bar-bg-separator.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-undo div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo-disabled.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-capture-save div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-quickly-save.png') no-repeat center center!important;
+}
+	
+	
+	
+.diigotb-body #diigotb-upload-resizer div {
+  position: absolute!important;
+  width: 9px!important;
+  height: 9px!important;
+  /*background-color: white;*/
+  z-index:11000002!important;
+  margin:0px!important;
+  background:transparent url(chrome://diigotb/skin/spot.png) no-repeat scroll left center!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gleft {
+  left: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gtop {
+  top: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gright {
+  right: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gbottom {
+  bottom: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.ghor {
+  margin-left: auto!important;
+  margin-right: auto!important;
+  left: 0px!important;
+  right: 0px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gver {
+  margin-top: auto!important;
+  margin-bottom: auto!important;
+  top: 0px!important;
+  bottom: 0px!important;
+}
+	
+.diigotb-body{
+	padding-top: 31px!important;
+}
+	
+.diigotb-body #diigotb-topbar{
+  background: url(chrome://diigotb/skin/topbar-bg.png) left top repeat-x!important;
+  border-bottom: 1px solid #999!important;
+  color: #555!important;
+  font: 12px/18px Helvetica,Arial,sans-serif!important;
+  height: 30px!important;
+  line-height: 30px!important;
+  position: fixed!important;
+  left: 0!important;
+  top: 0!important;
+  text-align:center!important;
+  z-index:1999999!important;
+}
+
+.diigotb-body #diigotb-msg img{
+  margin:0 5px 0 0!important;
+  vertical-align: middle!important;
+}
+	
+.diigotb-body #diigotb-msg{
+	color:#333!important;
+}
+
+.diigotb-body #diigotb-msg a{
+  color: #0044cc!important;
+  text-decoration: none!important;
+}
+
+.diigotb-body #diigotb-msg a:hover{
+  text-decoration: underline!important;
+}
+
+.diigotb-body #diigotb-escLink{
+  display: block!important;
+  float: right!important;
+  margin: 5px 5px 0 0!important;
+  text-decoration: none!important;
+  width: 50px!important;
+  cursor:pointer!important;
+}
+
+.diigotb-body #diigotb-escLink:hover{
+  text-decoration: underline!important;
+}
+
+.diigotb-body #diigotb-escLink span{
+  background: url(chrome://diigotb/skin/esc-right.png) right top no-repeat!important;
+  display: block!important;
+  padding-right: 9px!important;
+}
+
+.diigotb-body #diigotb-escLink span strong{
+  background: url(chrome://diigotb/skin/esc-left.png) left top no-repeat!important;
+  display: block!important;
+  color: #fff!important;
+  font-weight: 700!important;
+  line-height: 20px!important;
+  text-indent:7px!important;
+}
+	
+	
+
+/*highlight label*/
+.diigoHighlight .diigoHighlightLabel sup {
+	font:normal normal normal 8px/8px "lucida grande",tahoma,verdana,arial,sans-serif;
+	text-decoration:none;
+	background-color:inherit;
+	cursor:default;
+}
+	
+body.diigoHiPen.yellow{
+	cursor:url(chrome://diigotb/skin/highlighter-orange.cur), text !important
+}
+	
+body.diigoHiPen.blue{
+	cursor:url(chrome://diigotb/skin/highlighter-blue.cur), text !important
+}
+
+body.diigoHiPen.green{
+	cursor:url(chrome://diigotb/skin/highlighter-green.cur), text !important
+}	
+	
+body.diigoHiPen.pink{
+	cursor:url(chrome://diigotb/skin/highlighter-pink.cur), text !important
+}
+em.diigoHighlight.type_0.commented {	
+	padding-left:30px;
+}
+	
+/*float note*/
+div.diigoHighlight.type_2 {
+	position:absolute;
+	width:29px;
+	height:36px;
+	text-align:center;
+	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat 50% 50%;
+	z-index:9996;
+}
+div.diigoHighlight.type_2.mouseOvered {
+	position:absolute;
+	width:37px;
+	height:31px;
+	text-align:center;
+	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat;
+	z-index:9996;
+}	
+div.diigoHighlight.type_2 span {
+	color:#000;
+	font:bold 13px Arial, Helvetica, sans-serif;
+	cursor: default;
+	line-height: 37px;
+	text-shadow: #fff 0 1px 0;
+}
+/*
+* html div.diigoHighlight.type_2{
+	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale, src="http://www.diigo.com/javascripts/webtoolbar/images/float_icon.png");
+	overflow:hidden;
+	background:none;
+}
+*/
+	
+
+div.diigoIcon.commented.TextIcon.diigoEdit{
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+
+	
+div.diigoIcon.commented.ImageIcon.diigoEdit{
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+
+
+/*mouse over effect*/
+/*
+.diigoHighlight.id_190e5778b533dc0fa1b1660653a4f6f5 {outline: 2px dotted green !important;}
+*/
+div.diigoIcon{
+	cursor:pointer !important;
+	margin: 0pt; 
+	padding: 0px 0px 0px 0px;
+	position: absolute;
+	display:none;
+	width: 24px !important; 
+	z-index:999999;
+	height: 23px !important;
+	background: transparent url('chrome://diigotb/skin/edit-highlight.png') no-repeat left;
+}
+
+div.diigoIcon span{
+	color:#000000;
+	display:block;
+	font-family:Helvetica,Arial,sans-serif;
+	font-size:13px;
+	font-weight:700;
+	line-height:18px;
+	text-align:center;
+	text-shadow:0 1px 1px #FFFFFF;
+}
+
+div.diigoIcon.commented.ImageIcon{
+	display:block !important;
+	background-color: transparent !important;
+}
+	
+div.diigoIcon:hover{
+	background-background: transparent !important;
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+	
+div.diigoIcon.commented.TextIcon{
+	display:block !important;
+	left:0;
+	bottom:0;
+}
+	
+div.diigoIcon.commented.public{
+	background: #FFFFFF url('chrome://diigotb/skin/public-annotation.png') no-repeat left;
+}
+
+div.diigoIcon.commented.private{
+	background: #FFFFFF url('chrome://diigotb/skin/private-annotation.png') no-repeat left;
+}
+	
+div.diigoIcon.commented.group{
+	background: #FFFFFF url('chrome://diigotb/skin/group-annotation.png') no-repeat left;
+}
+	
+/*Clip video*/
+div.diigoClipVideo{
+	float:left;
+	height:16px;
+	padding:0 16px 0 6px;
+	background:#f5f5f5 url(chrome://diigotb/skin/toolbar-clip-bg.gif) no-repeat right 0;
+	border:1px solid #ccc;
+	border-bottom-width:0;
+	font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
+	z-index:999;
+	position:absolute;
+}
+
+div.diigoClipVideo.clipped {
+  background-position: right -32px; left: 717px; top: 135px;
+}
+
+	div.diigoClipVideo span{
+		font-weight:bold;
+		font-size:10px;
+		line-height:16px;
+		text-decoration:underline;
+		color:#03f;
+		cursor:pointer;
+		margin-right:6px
+	}
+	div.diigoClipVideo span:hover,div.diigoClipVideo span:active{
+		color:#00f
+	}
+	/*.diigolet input{
+		font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
+		font-size:9px;
+	}*/
+	
+/*-----------notice msg--------------*/
+.diigotb-notice-img  {
+	float:left!important;
+	height:16px!important;
+	width:16px!important;
+	margin-top:6px!important;
+	margin-right:3px!important;
+}
+.success .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll 0 0 transparent!important;
+}
+.failed .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -16px 0 transparent!important;
+}
+.info .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -32px 0 transparent!important;
+}
+.process .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/processing.gif") no-repeat scroll left 0 transparent!important;
+}	
+	
+.diigotb-notice-msg-rt  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left bottom transparent!important;
+	line-height:28px!important;
+	padding-left:10px!important;
+	height:30px!important;
+}
+.failed .diigotb-notice-msg-rt  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left top transparent!important;
+}
+	
+.diigotb-notice-close{
+	float:right!important;
+	height:16px!important;
+	width:16px!important;
+	margin-left:20px!important;
+	margin-top:6px!important;
+	cursor:pointer;
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -48px 0 transparent!important;
+}
+
+.diigotb-notice-close:hover{
+	background-position: -63px 0!important;
+}
+	
+.diigotb-notice-msg  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right bottom transparent!important;
+	float:right!important;
+	height:30px!important;
+	padding:0 11px 0 0!important;
+	border: none!important;
+	margin:0!important;
+	position:fixed!important;
+	font:12px/14px Helvetica,Arial,sans-serif!important;
+	z-index:100000!important;
+}
+.diigotb-notice-msg a {
+	color:#0044cc!important; 
+	text-decoration:underline!important;
+}
+	
+.failed.diigotb-notice-msg  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right top transparent!important;
+}
+	
+}
+
+
+@media print{
+em.diigoHighlight.a, em.diigoHighlight.b, em.diigoHighlight.c {
+	border-bottom:0.5pt dashed Black;
+}
+
+
+/*image highlight*/
+/*no inline comments*/
+img.diigoHighlight {
+	border:0.5pt dashed Black
+}
+
+/*float note*/
+div.diigoHighlight.type_2 {
+	display:none
+}
+div.diigoHighlight.type_2 span {
+	display:none
+}
+}</style><style id="diigo-activeHighlight" type="text/css">dummyRuleForDigg{}</style></head><body
+ class="not-front not-logged-in node-type-rf-diffusion one-sidebar 
+sidebar-right emissions page-node-2347301 
+section-emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg
+ popups-processed tableHeader-processed"><div id="_atssh" 
+style="visibility: hidden; height: 1px; width: 1px; position: absolute; 
+z-index: 100000;"><iframe src="emission_fichiers/sh20.htm" 
+style="height: 1px; width: 1px; position: absolute; z-index: 100000; 
+border: 0pt none; left: 0pt; top: 0pt;" id="_atssh433"></iframe></div>
+	<div id="header-commun" class="header-footer content-header-footer"><div
+ id="header-content"><ul><li class="first-header"><a 
+href="http://radiofrance.fr/" name="top-page-ancre">radiofrance.fr</a></li><li><a
+ href="http://www.franceinter.com/">france inter</a></li><li><a 
+href="http://www.france-info.com/">france info</a></li><li><a 
+href="http://www.francebleu.com/">france bleu</a></li><li><a 
+href="http://www.franceculture.com/">france culture</a></li><li><a 
+href="http://www.francemusique.com/">france musique</a></li><li><a 
+href="http://fip-radio.com/">fip</a></li><li><a 
+href="http://www.lemouv.com/">le mouv'</a></li><li class="last-header"><a
+ href="http://concerts.radiofrance.fr/">les orchestres</a></li></ul><div
+ class="clearer">&nbsp;</div></div></div><div id="page">
+    <div id="page-inner"> 
+<!-- début du header -->
+                <div id="header">
+                    <!-- début du menu d'accès rapide -->
+                    <div id="acces-rapide"><a name="top"></a>
+                    <a href="#acces-navigation-primaire" 
+title="descriptif du lien">acces rapide a la navigation principale</a><br>
+                    <a href="#acces-navigation-secondaire" 
+title="descriptif du lien">acces rapide a la navigation secondaire</a><br>
+                    <a href="#acces-contenu" title="descriptif du lien">acces
+ rapide au contenu</a><br>
+                    <a href="#acces-right" title="descriptif du lien">acces
+ rapide au contenu de droite</a><br>
+                    <a href="#acces-footer" title="descriptif du lien">acces
+ rapide au footer</a><br>
+                    </div>
+            <a href="http://www.franceculture.com/" class="retour-home"><img
+ src="emission_fichiers/logo.png" alt="Accueil" height="106" width="106"></a>
+            <div id="block-simplenews-65" class="block block-simplenews">
+  <div class="block-inner">
+  
+  <div class="block-content">
+        <p>Recevez la lettre d'information</p>
+  
+      <form 
+action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
+ accept-charset="UTF-8" method="post" id="simplenews-block-form-65">
+<div><div class="form-item" id="edit-mail-1-wrapper">
+ <label for="edit-mail-1">E-mail&nbsp;: <span class="form-required" 
+title="Ce champ est obligatoire.">*</span></label>
+ <input maxlength="128" name="mail" id="edit-mail-1" size="20" 
+value="identifiant@mail.com" class="form-text required idleField" 
+type="text">
+</div>
+<div class="form-radios"><div class="form-item" 
+id="edit-action-subscribe-wrapper">
+ <label class="option" for="edit-action-subscribe"><input 
+id="edit-action-subscribe" name="action" value="subscribe" 
+checked="checked" class="form-radio" type="radio"> S'abonner</label>
+</div>
+<div class="form-item" id="edit-action-unsubscribe-wrapper">
+ <label class="option" for="edit-action-unsubscribe"><input 
+id="edit-action-unsubscribe" name="action" value="unsubscribe" 
+class="form-radio" type="radio"> Se désabonner</label>
+</div>
+</div><input name="submit" value="Enregistrer" id="edit-submit-1" 
+class="form-submit submit" src="emission_fichiers/inscription.png" 
+type="image">
+<input name="form_build_id" id="form-d495e634489f3be0bd7ebbe9bf42e037" 
+value="form-d495e634489f3be0bd7ebbe9bf42e037" type="hidden">
+<input name="form_id" id="edit-simplenews-block-form-65" 
+value="simplenews_block_form_65" type="hidden">
+
+</div></form>
+  
+  
+  
+    </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+            <div class="search"><form 
+action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
+ accept-charset="UTF-8" method="post" id="antidot-search-block-form-1">
+<div><div class="form-item" id="search_top_page-wrapper">
+ <label for="search_top_page">Cherchez sur France Culture&nbsp;: </label>
+ <input maxlength="128" name="antidot_search_block_form" 
+id="search_top_page" size="15" title="Entrez les termes que vous voulez 
+rechercher." autocomplete="off" class="form-text idleField" type="text">
+</div>
+<input name="op" id="edit-submit" value="Recherche" class="submit 
+rollover" src="emission_fichiers/search-submit.png" alt="Rechercher" 
+height="26" type="image" width="26"><input name="form_build_id" 
+id="form-0fb0ec9e93007e0870ba7f8b130bd7f7" 
+value="form-0fb0ec9e93007e0870ba7f8b130bd7f7" type="hidden">
+<input name="form_id" id="edit-antidot-search-block-form-1" 
+value="antidot_search_block_form" type="hidden">
+
+</div></form>
+</div>            
+            <!--block de navigation secondaire -->
+            <a name="acces-navigation-secondaire"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            <ul class="" id="menu-top"><li class="leaf first menu-top"><a
+ href="http://www.franceculture.com/quelisentils" title="" accesskey="b">Que
+ lisent-ils ?</a></li>
+<li class="leaf  menu-top"><a 
+href="http://www.franceculture.com/votre-agenda" title="" accesskey="b">Votre
+ agenda Culture</a></li>
+<li class="leaf  menu-top"><a 
+href="http://www.franceculture.com/culture-academie" title="" 
+accesskey="b">Culture Académie</a></li>
+<li class="leaf  menu-top login"><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Connexion [Popup]" alt="Connexion" class="popups-form-reload 
+popups-processed" accesskey="b">Connexion</a></li>
+<li class="leaf last menu-top register"><a 
+href="http://www.franceculture.com/user/register-profile" title="pas 
+encore membre ? [Popup]" alt="pas encore membre ?" 
+class="popups-form-reload popups-processed" accesskey="b">pas encore 
+membre ?</a></li>
+</ul>            <!-- block de navigation principale -->
+            <a name="acces-navigation-primaire"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            <ul class="" id="menu-principal"><li class="leaf first 
+menu-principal"><a 
+href="http://www.franceculture.com/rubrique/information" title="" 
+accesskey="b">Information</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/litt%C3%A9rature" title="" 
+accesskey="b">Littérature</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/id%C3%A9es" title="" 
+accesskey="b">Idées</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/arts-spectacles" title="" 
+accesskey="b">Arts et spectacles</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/histoire" title="" 
+accesskey="b">Histoire</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/sciences" title="" 
+accesskey="b">Sciences</a></li>
+<li class="leaf  first menu-action"><a 
+href="http://www.franceculture.com/podcasts" title="" accesskey="b">Podcasts</a></li>
+<li class="leaf  menu-action"><a 
+href="http://www.franceculture.com/emissions/titre" title="" 
+accesskey="b">Emissions</a></li>
+<li class="leaf last menu-action"><a 
+href="http://www.franceculture.com/grille-des-programmes/" title="" 
+accesskey="b">Programmes</a></li>
+</ul>            
+    <div id="x02">
+      <script language="JavaScript">
+        <!--
+        OAS_AD("x02");
+        //-->
+      </script>
+    </div>        </div><!-- /header -->
+        
+        <!-- début du contenu -->   
+        <div id="main"><a name="acces-contenu"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            
+            <div id="content">
+                                                                      
+                <div id="content-inner">
+                                    <div id="content-top">
+                      <div id="block-fcbloc-emission-header" 
+class="block block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  
+	<div class="bandeau">
+		<h1 class="theme1-130">Les Retours du dimanche 
+			<a href="http://www.franceculture.com/emission/1232581/rss" 
+class="feed-icon"><img src="emission_fichiers/picto-rss.gif" 
+alt="Syndiquer le contenu" title="Les Retours du dimanche " height="16" 
+width="16"></a>
+			<span class="emission-producteurs">par <a 
+href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
+ Broué</a>, <a 
+href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
+Gardette</a></span>
+			<a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche.html"
+ class="site" title="Les Retours du dimanche ">Le site de l'émission</a>
+		</h1>
+		<div class="image">
+		<img src="emission_fichiers/retour_dimanche.png" alt="Les Retours du 
+dimanche " title="" height="100" width="640">
+		<a href="http://www.franceculture.com/podcast/1232581" title="Les 
+Retours du dimanche "><img 
+src="emission_fichiers/culture_les_retours_du_dimanche.jpg" 
+alt="Emission Les Retours du dimanche " title="" class="illu-small" 
+height="75" width="75"></a>
+		</div>
+		<p>le dimanche de 18h10 à 19h </p>
+	</div>
+		  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+ 
+                  </div>
+                                                      
+                  <div id="node-2347301" class="node node-rf_diffusion">
+
+	
+	  	  <div class="titre-plus">
+	    <div class="listen">
+                  <a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player?p=reecoute-2347301#reecoute-2347301">
+            <img alt="Ecoutez l'émission" 
+src="emission_fichiers/listen.png" height="78" width="78">
+          </a>
+	  <span>50 minutes</span>
+        	    </div>
+	    <h2 class="title">
+	      Le salaire de la politique ; les vuvuzelas ; l'actualité 
+politique belge          	      <a class="num-com" href="#comments">
+	          <span>0</span>
+	        </a>
+        	    </h2>
+	    <p>
+	      <span class="date">20.06.2010 - 18:10</span>
+	      	    </p>
+	    <div class="clear"></div>
+	    	  </div>
+	  	  	
+	  	
+	  	  <span class="print-link"></span><div class="field 
+field-type-multimedia-editorial-element field-field-contenu">
+    <div class="field-items">
+            <div class="field-item odd">
+                    <div class="dnd-drop-wrapper">
+
+  
+  <div class="image atom-Image">
+      <img class="dnd-dropped" src="emission_fichiers/Garrigou.jpg" 
+alt="">
+      <div class="opaque"><p>le sociologue Alain Garrigou <span>©Radio 
+France</span></p></div>
+  </div>
+  
+
+</div><p>Au sommaire des <strong>Retours du dimanche </strong>:</p><p>&nbsp;</p><p>La
+
+
+ revue 
+d'actualités : rappel des petits et grands évènements de la semaine. : <a
+ title=" ça s'est passé cette semaine" 
+href="http://www.franceculture.com/2010-06-19-20-juin-2010-ca-s-039-est-passe-cette-semaine.html">il
+ faut reconnaître un mérite à Raymond Domenech et à ses joueurs...</a></p><p>&nbsp;</p><p>L'entretien
+
+
+
+ : "<a href="#t=700">Le salaire de la politique</a>", <span><span 
+class="262252614-17062010">après que la question de la rémunération des 
+politiques a été posée par le 
+premier ministre&nbsp;cette semaine. Invité : </span></span>l'historien 
+et professeur en science politique <strong>Alain Garrigou</strong>, 
+auteur de <em>Mourir pour des Idées, la vie posthume d'Alphone Baudin</em>,
+ paru aux éditions Les Belles Lettres en avril 2010.</p><p>&nbsp;</p><p>&nbsp;</p>
+ 
+ <!-- START Integration testing  ###################################### --> 
+ <!-- IRI PLAYER EXPERIMENTATION --> 
+	
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+	
+	<div id="LdtPlayer"></div> 
+	
+	<script  type="text/javascript">	
+		var config = {
+						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:1,
+							mode:'radio',
+							container:'LdtPlayer',
+							debug:false,
+							css:'../src/css/LdtPlayerFc.css'},
+						player:{
+							type:'jwplayer',
+							src:'../res/swf/player.swf'}
+					};
+		__IriSP.init(config);     
+	</script> 
+ 
+ 
+<!-- END  ###################################### ####################################--> 
+ 
+ <br/>
+ 
+ <p> <a href="#t=1773">La
+ revue de 
+presse </a>: les <strong>vuvuzelas comme phénomène identitaire</strong>, 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.<br>
+<br> <a href="#t=1846"> La bulle sonore :</a><strong> Patrick Roegiers</strong><strong> </strong>pour revenir
+ sur<strong> l'actualité politique en Belgique. </strong>Notre invité 
+est romancier, auteur de <em>La Belgique, Le roman d'un pays</em>, paru 
+chez Découvertes Gallimard en 2005, et <em>Le mal du pays, autoportrait 
+de la Belgique</em>, publié au Seuil en 2003. Il a récemment publié <em>La
+ Nuit du Monde</em>, au Seuil en janvier 2010.</p><p>&nbsp;</p><p>
+ <a href="#t=2647">La 
+chronique d'Anthony Bellanger de </a> <strong>Courrier
+ 
+International.</strong></p> 
+<p><br>Et comme chaque semaine : le sujet choisi par l'invité, notre 
+choix pour 
+la semaine à venir...</p>        </div>
+        </div>
+</div>
+	            <div class="clear"></div>
+	  
+          <p class="invites">Invités :<br>
+      <a 
+href="http://www.franceculture.com/personne-alain-garrigou.html">Alain 
+Garrigou</a>, professeur agrégé d'histoire et docteur en science 
+politique à l'université de Paris-X Nanterre<br><a 
+href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>      </p>
+        	    <p class="theme">Thèmes : 
+        <a href="http://www.franceculture.com/rubrique/information" 
+title="">Information</a>| <a 
+href="http://www.franceculture.com/theme/d%C3%A9bat" title="">Débat</a>|
+ <a href="http://www.franceculture.com/theme/gouvernement" title="">Gouvernement</a>|
+ <a 
+href="http://www.franceculture.com/theme/sciences-dures-et-sciences-humaines/histoire"
+ title="">Histoire</a>      </p>
+	  	  	  	  	  <div class="rel-doc">
+	    <h2 class="titre-barre"><span>Documents</span></h2>
+	    <ul><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
+    Mourir pour des idées, la vie posthume d'Alphone Baudin  </a>
+  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
+ Garrigou</a>  <span>
+  Belles lettres,   2010  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
+  <img src="emission_fichiers/baudin.jpg" alt="" title="" 
+class="imagecache imagecache-oeuvre_image_liste" height="143" width="95"></a>
+</li><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
+    Les élites contre la République : histoire et mutations de Sciences 
+Po et de l'ENA  </a>
+  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
+ Garrigou</a>  <span>
+  Editions La découverte,     </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
+  <img 
+src="emission_fichiers/les_lites_contre_la_rpublique_histoire_et_mutations_de_scien.jpg"
+ alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
+height="157" width="95"></a>
+</li><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
+    Le mal du pays : autobiographie de la Belgique  </a>
+  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>  <span>
+  Seuil,   2003  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
+  <img 
+src="emission_fichiers/le_mal_du_pays_autobiographie_de_la_belgique20100424.jpg"
+ alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
+height="161" width="95"></a>
+</li><li style="display: none;" class="more-liste liste-clear"></li><li 
+style="display: none;" class="more-liste"><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
+    La nuit du monde  </a>
+  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>  <span>
+  Seuil,   2010  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
+  <img src="emission_fichiers/la_nuit_du_monde20100423.jpg" alt="" 
+title="" class="imagecache imagecache-oeuvre_image_liste" height="143" 
+width="95"></a>
+</li><li style="display: none;" class="more-liste"><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
+    L'évangile selon Jésus-Christ  </a>
+  <a 
+href="http://www.franceculture.com/personne-jos%C3%A9-saramago.html">José
+ Saramago</a>  <span>
+  Ed. du Seuil - coll. Points,   2000  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
+  <img src="emission_fichiers/97820204039860-2000020811.jpg" alt="" 
+title="" class="imagecache imagecache-oeuvre_image_liste" height="158" 
+width="95"></a>
+</li></ul><div class="clear"></div><a style="background: 
+url(&quot;/sites/all/themes/franceculture/images/urg-down.png&quot;) 
+no-repeat scroll 100% 4px transparent;" class="more-doc">voir les 5 
+documents</a>	  </div>
+	  	  	<div class="clear"></div>
+	</div> <!-- /node -->
+  <div id="comments" class="com">
+    <h2 class="titre-barre"><span>0 commentaire</span></h2>
+    <div class="box">
+          <h2 class="title titre-barre"><span>Votre commentaire</span></h2>
+        <form action="/comment/reply/2347301" accept-charset="UTF-8" 
+method="post" id="comment-form">
+<div><div class="form-item" id="edit-name-wrapper">
+ <label for="edit-name">votre nom&nbsp;: </label>
+ <input maxlength="60" name="name" id="edit-name" size="30" 
+value="Anonyme" class="form-text idleField" type="text">
+</div>
+<div class="form-item" id="edit-mail-wrapper">
+ <label for="edit-mail">votre adresse électronique&nbsp;: </label>
+ <input maxlength="64" name="mail" id="edit-mail" size="30" 
+class="form-text idleField" type="text">
+</div>
+<div class="form-item" id="edit-comment-wrapper">
+ <label for="edit-comment">votre commentaire&nbsp;: <span 
+class="form-required" title="Ce champ est obligatoire.">*</span></label>
+ <div class="resizable-textarea"><span><textarea cols="60" rows="15" 
+name="comment" id="edit-comment" class="form-textarea resizable required
+ clearonfocus textarea-processed">Tapez ici vos commentaires</textarea><div
+ style="margin-right: -33px;" class="grippie"></div></span></div>
+</div>
+<div class="wysiwyg wysiwyg-format-5 wysiwyg-editor-none 
+wysiwyg-field-edit-comment wysiwyg-status-1 wysiwyg-toggle-1 
+wysiwyg-resizable-1"> </div><input name="form_build_id" 
+id="form-3d46a280b7c4d6960ed80ba3c5ae0418" 
+value="form-3d46a280b7c4d6960ed80ba3c5ae0418" type="hidden">
+<input name="form_id" id="edit-comment-form" value="comment_form" 
+type="hidden">
+<input name="op" id="edit-submit" value="Envoyer" class="form-submit" 
+type="submit"><div id="saving"><p class="saving">Enregistrement des 
+données…</p></div>
+<input name="op" id="edit-preview" value="Aperçu" class="form-submit" 
+type="submit">
+
+</div></form>
+</div> <!-- /box -->
+  </div>
+ <!-- /comment wrapper -->
+<div id="block-print-0" class="block block-print">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  <span class="print_html"><a 
+href="http://www.franceculture.com/print/463861" title="Imprimer le 
+contenu" class="print-page" onclick="window.open(this.href); return 
+false" rel="nofollow">imprimer</a></span>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="share" class="block block-addthis share-script">
+  
+		<div class="addthis_toolbox addthis_default_style">
+			<a class="addthis_button_email share-mail at300b" title="partager par
+ courier"><span class="at300bs at15t_email"></span>envoyer par courriel</a>
+			
+			<span class="more-services">
+				<a title="Send to Facebook" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=facebook&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_facebook share-services at300b"><span 
+class="at300bs at15t_facebook"></span>facebook</a>
+				<a title="Tweet This" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=twitter&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_twitter share-services at300b"><span 
+class="at300bs at15t_twitter"></span>twitter</a>
+				<a title="Send to Netvibes" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=netvibes&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_netvibes share-services at300b"><span 
+class="at300bs at15t_netvibes"></span>netvibes</a>
+				<a title="Send to Delicious" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=delicious&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_delicious share-services at300b"><span 
+class="at300bs at15t_delicious"></span>delicious</a>
+			</span>
+			<a style="background: 
+url(&quot;/sites/all/themes/franceculture/images/share-more.png&quot;) 
+no-repeat scroll 100% 4px transparent;" href="#" title="plus d'actions 
+de partage" class="share-more">partager</a>
+		<div class="atclear"></div></div>
+		<script type="text/javascript" src="emission_fichiers/addthis_widget.js"></script>
+		</div>
+ 
+                  
+                  <div class="clear"></div>
+               </div> <!-- /content-inner -->
+                
+                            
+            </div> <!-- /content -->
+            
+                        <!-- début de sidebar-right -->   
+            <div id="sidebar-right"><a name="acces-right"></a><a 
+href="#top" class="back-to-top">retour en haut de page</a>
+               <div id="block-fc_bloc_direct-direct" class="block 
+block-fc_bloc_direct block-ecoute">
+  <div class="block-inner">
+      <h2 class="titre-barre"><span>Ecoutez France Culture</span></h2>
+    <div class="content"><div class="context">
+	<a href="http://www.franceculture.com/player" title="écouter le direct"
+ class="rf-player-open img-float rf-player-open-processed">
+		<img src="emission_fichiers/direct.png" alt="écouter le direct" 
+height="72" width="72">
+	</a>
+	<h3>
+		<span class="timer"><a href="http://www.franceculture.com/player" 
+class="rf-player-open rf-player-open-processed">En direct</a></span>
+		<a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player" title="écouter le direct">Sur
+ France Culture</a>
+		<a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player" title="écouter le direct"></a>
+	</h3>
+	<p></p>
+	<div class="clear"></div>
+</div>
+<p>
+	<span class="timer"></span>
+	
+</p>
+<p class="auteur">
+	
+</p>
+</div>
+    </div>
+</div><div id="block-fcbloc-emission-equipe" class="block block-fcbloc">
+  <div class="block-inner">
+      <h2 class="title"><span>L'équipe</span></h2>
+  
+  <div class="block-content">
+  <div class="item-list"><ul><li class="first">
+			<h3>Production</h3>
+			<p><a 
+href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
+ Broué</a>, <a 
+href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
+Gardette</a></p>
+			</li>
+<li>
+			<h3>Réalisation</h3>
+			<p>Jean-Christophe Francis</p>
+			</li>
+<li>
+			<h3>Collaboratrice(s) Spécialisée(s)</h3>
+			<p>Soline Ledésert</p>
+			</li>
+<li class="last">
+			<h3>Chronique(s)</h3>
+			<p><a 
+href="http://www.franceculture.com/personne-anthony-bellanger.html">Anthony
+ Bellanger</a></p>
+			</li>
+</ul></div>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-fcbloc-publicite" class="block block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  <p class="pub-notice">publicité</p><div class="pub-inner"><script language="JavaScript">
+<!--
+OAS_AD("Middle");
+//-->
+</script>&nbsp;</div>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-fcbloc-sur-le-meme-theme" class="block block-fcbloc">
+  <div class="block-inner">
+      <h2 class="title"><span>Sur le même thème</span></h2>
+  
+  <div class="block-content">
+  <div class="view view-commun-fo-blocs-full-node 
+view-id-commun_fo_blocs_full_node view-display-id-page_1 view-dom-id-12">
+    
+  
+  
+      <div class="view-content">
+        <ul>
+    <li class="first odd">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/culture-ac-seminaire-d%E2%80%99antoine-compagnon-ecrire-la-vie-26.html">Écrire
+ la vie (2/6)</a>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+00:00
+
+      </span>
+  
+    </li>
+      <li class="even">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-dossier-du-jour-conference-des-donateurs-a-kaboul-2010-07-20.html">Conférence
+ des donateurs à Kaboul</a>
+  
+
+      <p>
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-dossier-du-jour.html"> 
+Dossier du jour </a>
+      </p>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+À écouter le 19.07.2010
+
+      </span>
+  
+
+      <span>
+  
+    
+      <span class="timer"><span class="date-display-single">4</span> 
+min.</span>
+      </span>
+  
+    </li>
+      <li class="last odd">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-place-de-la-toile-lift-marseille-2010-07-24.html">Lift
+ Marseille</a>
+  
+
+      <p>
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-place-de-la-toile.html">Place
+ de la toile</a>
+      </p>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+À écouter le 16.07.2010
+
+      </span>
+  
+
+      <span>
+  
+    
+      <span class="timer"><span class="date-display-single">59</span> 
+min.</span>
+      </span>
+  
+    </li>
+    </ul>
+    </div>
+  
+  
+  
+  
+  
+  
+</div>   </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-views-diffusion_fo_blocs-block_1" class="block 
+block-views">
+  <div class="block-inner">
+      <h2 class="title"><span>Dernières diffusions</span></h2>
+  
+  <div class="block-content">
+  <div class="view view-diffusion-fo-blocs view-id-diffusion_fo_blocs 
+view-display-id-block_1 view-dom-id-13">
+    
+  
+  
+      <div class="view-content">
+      <div class="item-list">
+    <ul>
+          <li class="views-row views-row-1 views-row-odd 
+views-row-first">  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html">LES
+ RETOURS DU DIMANCHE - Best of 1/2</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">18.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">49</span> min.</span></span>
+  </span>
+</li>
+          <li class="views-row views-row-2 views-row-even">  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m">Médias
+ et démocratie: quel est le rôle du journaliste ? ; le déclin du 
+ministère des affaires étrangères ; les Roms</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">11.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">50</span> min.</span></span>
+  </span>
+</li>
+          <li class="views-row views-row-3 views-row-odd views-row-last">
+  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-">Qu'est-ce
+ qu'une découverte scientifique ? ; l'avenir d'Eric Woerth au 
+gouvernement ; hommage à Laurent Terzieff ; Percy Kemp</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">04.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">50</span> min.</span></span>
+  </span>
+</li>
+      </ul>
+</div>    </div>
+  
+  
+  
+  
+  
+  
+</div>   </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+ 
+            </div> <!-- /sidebar-right -->
+                    
+        <div class="clear"></div>
+        </div> <!-- /main -->
+
+        <!-- début du footer -->   
+        <div id="footer-top"><a name="acces-footer"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+           
+        <br class="clear">
+<div id="pub-bottom-right">
+           <div id="block-fcbloc-footer-adsense" class="block 
+block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  
+            <script language="JavaScript">
+            <!--
+              OAS_AD("BottomRight");
+            //-->
+            </script>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+         </div>
+        </div> <!-- /footer -->
+    
+    </div> <!-- /page-inner -->
+</div> <!-- /page -->
+  <div id="footer-commun" class="header-footer footer-franceculture"><div
+ class="content-header-footer"><div id="footer-chaine"><div 
+id="colonne-liens-footer" class="colonne-footer colonne-footer-first"><a
+ href="http://www.franceculture.com/"><img 
+src="emission_fichiers/franceculture.png" alt="logo de franceculture"></a><p><a
+ href="http://www.franceculture.com/sitemap">plan du site</a></p><p><a 
+href="http://www.franceculture.com/a_propos">à propos</a></p><p><a 
+href="http://www.franceculture.com/contact">contact</a></p></div><!--fin de div colonne-liens-footer--><div
+ id="colonne-ecouter-footer" class="colonne-footer"><h4>écouter</h4><ul><li
+ class="color-chaine "><a href="http://www.franceculture.com/player" 
+class="rf-player-open rf-player-open-processed">direct</a></li><li><a 
+href="http://www.franceculture.com/programmes">grille</a></li><li><a 
+href="http://www.franceculture.com/frequences">fréquences</a></li><li><a
+ href="http://www.franceculture.com/podcasts">podcasts</a></li><li><a 
+href="http://www.radiofrance.fr/boite-a-outils/widget/">applis</a></li><li><a
+ href="http://www.radiofrance.fr/boite-a-outils/faq/">aide à l'écoute</a></li></ul></div><!--fin de div colonne-thematique-footer--><div
+ id="colonne-thematique-footer" class="colonne-footer"><h4>thématiques</h4><ul><li><a
+ href="http://www.franceculture.com/rubrique/information">information</a>
+ - <span>économie, justice, politique française, relations 
+internationales</span></li><li><a 
+href="http://www.franceculture.com/rubrique/litterature">littérature</a>
+ - <span>édition, poésie, prix littéraires, roman, théâtre</span></li><li><a
+ href="http://www.franceculture.com/rubrique/idees">idées</a> - <span>débats,
+ philosophie, sociologie</span></li><li><a 
+href="http://www.franceculture.com/rubrique/arts-spectacles">arts &amp; 
+spectacles</a> - <span>architecture, cinéma, danse, musique, spectacle, 
+télévision</span></li><li><a 
+href="http://www.franceculture.com/rubrique/histoire">histoire</a> - <span>histoire
+ de l'art, histoire de France, histoire des idées, histoire des sciences</span></li><li><a
+ href="http://www.franceculture.com/rubrique/sciences">sciences</a> - <span>astronomie,
+ biologie, mathématiques, physique</span></li><li><a 
+href="http://www.franceculture.com/quelisentils">que lisent-ils</a> - <a
+ href="http://www.franceculture.com/votre-agenda">votre agenda culturel</a>
+ - <a href="http://www.franceculture.com/culture-academie">culture 
+académie</a> - <a href="http://www.franceculture.com/blogs">les blogs</a></li></ul></div><!--fin de div colonne-partager-footer--><div
+ id="colonne-partager-footer" class="colonne-footer colonne-footer-last"><div
+ id="liens-partage-footer"><h4>nous rejoindre</h4><ul><li 
+id="facebook-footer"><a 
+href="http://www.facebook.com/pages/FRANCE-CULTURE/83625483348?ref=ts" 
+class="gris">facebook</a></li><li id="twitter-footer"><a 
+href="http://www.twitter.com/france_culture" class="gris">twitter</a></li><li
+ id="dailymotion-footer"><a 
+href="http://www.dailymotion.com/franceculture" class="gris">dailymotion</a></li><li
+ class="clearer">&nbsp;</li></ul></div><!--fin de bloc 1--><div><h4>s'abonner</h4><span><a
+ href="http://www.franceculture.com/podcasts" class="gris">podcasts</a></span>
+ - <span><a href="http://www.franceculture.com/la-lettre" 
+class="color-chaine">newsletter</a></span></div></div><!--fin de div colonne-partager-footer--><div
+ class="clearer">&nbsp;</div></div><div id="sous-footer"><div 
+id="footer-rf"><ul><li class="first"><a 
+href="http://www.radiofrance.fr/">radiofrance.fr</a></li><li><a 
+href="http://www.radiofrance.fr/les-blogs/blog-du-mediateur/">médiateur</a></li><li><a
+ href="http://www.radiofrance.fr/liens-bas-de-page/mentionslegales/">mentions
+ légales</a></li><li class="last"><a 
+href="http://www.radiofrance.fr/boite-a-outils/frequences/">fréquences</a></li><li
+ class="last-page"><span class="haut-de-page"><a href="#top-page-ancre" 
+id="top-page" class="gris">haut de page</a></span></li></ul><p>Radio 
+France décline toute responsabilité quant au contenu des sites proposés 
+en liens</p></div><!--fin de div footer-rf--></div></div></div>  <script type="text/javascript">
+<!--//--><![CDATA[//><!--
+$.post(Drupal.settings.basePath + 'jstats.php', {"path":"node\/2347301","nid":"2347301"});
+//--><!]]>
+</script>
+<!-- eStat -->
+<script language="JavaScript">
+<!--
+var _PJS=0;
+//-->
+</script>
+<script language="JavaScript" src="emission_fichiers/265074200838.js"></script>
+<script language="JavaScript">
+<!--
+if(_PJS)
+{
+  eStat_id.cmclient("franceculture");
+  eStat_id.niveau(1,"information");
+  eStat_id.niveau(2,"les-retours-du-dimanche");
+  eStat_id.niveau(3,"le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20");
+  eStat_id.niveau(4,"histoire-gouvernement-debat");
+  eStat_tag.post("ml");
+}
+//-->
+</script>
+<noscript>
+<img src="http://stat3.cybermonitor.com/franceculture_v?c=information&p=les-retours-du-dimanche&l3=le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&l4=histoire-gouvernement-debatst=0&sjs=0" border="0" width="1" height="1" />
+</noscript>
+<!-- /eStat -->
+<!-- xiti -->
+<script type="text/javascript">
+<!--
+xtnv = document;        //parent.document or top.document or document         
+xtsd = "http://logp";
+xtsite = "24121";
+xtn2 = "3";   // level 2 site 
+xtpage ="Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20";        //page name
+xtdi = "";        //implication degree
+//-->
+</script>
+
+<script type="text/javascript" src="emission_fichiers/xtcore.js"></script>
+
+<noscript>
+<img width="1" height="1" alt="" src="http://logp.xiti.com/hit.xiti?s=24121&s2=3&p=Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&di=&" >
+</noscript>
+<!-- /xiti -->
+</body><div style="display: none; width: 24px;" id="diigotb-imagepanel"><div
+ class="diigotb-btn enabled" title="Save this image to Diigo" 
+id="diigotb-quick-save"></div></div><div style="display: none;" 
+class="diigotb-border diigotb-left"></div><div style="display: none;" 
+class="diigotb-border diigotb-top"></div><div style="display: none;" 
+class="diigotb-border diigotb-right"></div><div style="display: none;" 
 class="diigotb-border diigotb-bottom"></div></html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html class="js" dir="ltr" xml:lang="fr" 
-xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><link media="all" 
-href="emission_fichiers/widget40.css" type="text/css" rel="stylesheet">
-
-
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<script type="text/javascript" src="emission_fichiers/swfobject.txt"></script>
-<meta name="afs:suggest/onload" content="onSuggestLoad()">
-<link rel="shortcut icon" 
-href="http://www.franceculture.com/sites/default/files/franceculture_favicon.png"
- type="image/x-icon">
-<link rel="alternate" type="application/rss+xml" title="Les Retours du 
-dimanche " href="http://www.franceculture.com/emission/1232581/rss">
-  <title>Le salaire de la politique ; les vuvuzelas ; l'actualité 
-politique belge - Information - France Culture</title>
-  <link type="text/css" rel="stylesheet" media="all" 
-href="emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css">
-<link type="text/css" rel="stylesheet" media="screen" 
-href="emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css">
-<link type="text/css" rel="stylesheet" media="print" 
-href="emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css">
-<!--[if lte IE 7]>
-<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/ie.css?y" />
-<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/footer2.css?y" />
-<![endif]-->
-  <script type="text/javascript" src="emission_fichiers/jquery_005.js"></script>
-<script type="text/javascript" src="emission_fichiers/drupal.js"></script>
-<script type="text/javascript" src="emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_widget_twitter.js"></script>
-<script type="text/javascript" src="emission_fichiers/youtube.js"></script>
-<script type="text/javascript" src="emission_fichiers/fivestar.js"></script>
-<script type="text/javascript" src="emission_fichiers/high.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_antidot_recherche.js"></script>
-<script type="text/javascript" src="emission_fichiers/panels.js"></script>
-<script type="text/javascript" src="emission_fichiers/popups_002.js"></script>
-<script type="text/javascript" src="emission_fichiers/popups.js"></script>
-<script type="text/javascript" src="emission_fichiers/tableheader.js"></script>
-<script type="text/javascript" src="emission_fichiers/comment.js"></script>
-<script type="text/javascript" src="emission_fichiers/textarea.js"></script>
-<script type="text/javascript" src="emission_fichiers/fc_bloc_direct.js"></script>
-<script type="text/javascript" src="emission_fichiers/ajax-responder.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_006.js"></script>
-<script type="text/javascript" src="emission_fichiers/rf_player.js"></script>
-<script type="text/javascript" src="emission_fichiers/rollover.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_002.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_003.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery.js"></script>
-<script type="text/javascript" src="emission_fichiers/footer.js"></script>
-<script type="text/javascript" src="emission_fichiers/jquery_004.js"></script>
-<script type="text/javascript" src="emission_fichiers/script.js"></script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery.extend(Drupal.settings, {"basePath":"\/","fivestar":{"titleUser":"Your rating: ","titleAverage":"Average: ","feedbackSavingVote":"Saving your vote...","feedbackVoteSaved":"Your vote has been saved.","feedbackDeletingVote":"Deleting your vote...","feedbackVoteDeleted":"Your vote has been deleted."},"adresseProxy":"http:\/\/www.franceculture.com\/proxy","popups":{"originalPath":"node\/2347301","defaultTargetSelector":"#main","modulePath":"sites\/all\/modules\/contrib\/popups","autoCloseFinalMessage":1},"fc_bloc_direct":{"interval":60000,"refresh_on_load":1}});
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2169101#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/778481#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/1061061#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/437741#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-function quelisentils_redirect() {
-  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2357521#fc-quelisentils-comment-form';
-  location.reload(true);
-  return false;
-}
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-jQuery(document).ready(function() {
-    $(".more-doc").text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
-    $(".rel-doc .more-liste").hide();
-    
-$(".more-doc").toggle(
-function(){
-$(".rel-doc .more-liste").show("slow");
-$(this).text("n'afficher que les 3 premiers").css("background" , 'url("/sites/all/themes/franceculture/images/urg-up.png") no-repeat 100% 4px');
-},
-function(){
-$(".rel-doc .more-liste").hide("slow");
-$(this).text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
-});
-});
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
-
-    $(document).ready(function(){  
-      $('#cb-left').addClass('script-vertical');
-      $('#script-scroll').addClass('script');
-			$('#share').addClass('share-script');
-			$('.share-more').css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
-
-			$('.share-more').toggle(
-				function(){
-					$('.share-script .more-services').addClass('active');
-					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-less.png") no-repeat 100% 4px');
-				},
-				function(){
-					$('.share-script .more-services').removeClass('active');
-					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
-				}
-			);
-      $('span.more-services a.addthis_button_facebook').click(function() {
-        window.open(this.href, 'facebook-share', 'resizable=no,with=500,height=315');
-        return false;
-      });
-  });
-//--><!]]>
-</script>
-<script type="text/javascript">
-<!--//--><![CDATA[//><!--
- 
-    $.fn.cleartextonfocus = function() {
-    	return this.focus(function() {
-    		if(this.value == this.defaultValue) {
-    			this.value = '';
-    		}
-    	}).blur(function() {
-    		if(!this.value.length) {
-    			this.value = this.defaultValue;
-    		}
-    	});
-    };
-
-    $(document).ready(function(){
-      $('textarea.clearonfocus').cleartextonfocus();
-    });
-  
-//--><!]]>
-</script>
-  <!--[if lte IE 7]><script type="text/javascript" src="/sites/all/themes/franceculture/ie.js?y"></script><![endif]--><script language="JavaScript">
-<!--
-//configuration
-OAS_url ='http://pub.ftv-publicite.fr/RealMedia/ads/';
-OAS_listpos = 'Middle,x02,BottomRight';
-OAS_query = '?';
-OAS_sitepage = 'www.radiofrance.fr/franceculture/les-retours-du-dimanche';
-//end of configuration
-OAS_version = 10;
-OAS_rn = '001234567890'; OAS_rns = '1234567890';
-OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
-function OAS_NORMAL(pos) { 
-  document.write("<a href='" + OAS_url + "click_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' target=_top>");
-  document.write("<img src='" + OAS_url + "adstream_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' border=0 alt='Click!'></a>");
-}
-//-->
-</script>
-<script language="JavaScript1.1">
-<!--
-OAS_version = 11;
-if (navigator.userAgent.indexOf('Mozilla/3') != -1)
-  OAS_version = 10;
-  if (OAS_version >= 11)
-    document.write("<sc"+"ript language='JavaScript1.1' src='" + OAS_url + "adstream_mjx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + OAS_query + "'><\/script>");
-//-->
-</script><script language="JavaScript1.1" src="emission_fichiers/1219830366Middlex02BottomRight.js"></script><script language="JavaScript">
-<!-- 
-document.write('');
-function OAS_AD(pos) {
-  if (OAS_version >= 11 && typeof(OAS_RICH!='undefined'))
-    OAS_RICH(pos);
-  else
-    OAS_NORMAL(pos);
-}
-//-->
-</script>
-<style type="text/css">/**
- * Highlight style classes
- * .a background color
- * .b underline
- * .c underline + font color
- */
- 
-@media screen{
-em.diigoHighlight {
-	text-align:inherit;
-	text-decoration: inherit;
-	line-height:inherit;
-	font:inherit;
-	color:inherit;
-	display:inline;
-	position:relative;
-}
-em.diigoHighlight.a.mouseOvered {
-	background-color: #ffc62a !important;
-}	
-
-em.diigoHighlight.b.mouseOvered, em.diigoHighlight.c.mouseOvered {
-	border-bottom: solid 2px #ffc62a;
-}
-	
-em.diigoHighlight.c {
-	color: #000099;
-}
-em.diigoHighlight.c.mouseOvered {
-	color: #ffc62a;
-}	
-
-em.diigoHighlight.a.yellow {
-	background-color: #FF9;
-}
-
-em.diigoHighlight.b.yellow, em.diigoHighlight.c.yellow {
-	border-bottom: solid 2px #FF9;
-}
-	
-img.diigoHighlight.yellow {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #FF9;
-}
-	
-em.diigoHighlight.a.blue {
-	background-color: #ABD5FF;
-}
-
-em.diigoHighlight.b.blue, em.diigoHighlight.c.blue {
-	border-bottom: solid 2px #ABD5FF;
-}
-	
-img.diigoHighlight.blue {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #ABD5FF;
-}
-	
-	
-em.diigoHighlight.a.green {
-	background-color: #B2E57E;
-}
-
-em.diigoHighlight.b.green, em.diigoHighlight.c.green {
-	border-bottom: solid 2px #B2E57E;
-}
-
-img.diigoHighlight.green {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #B2E57E;
-}	
-	
-	
-em.diigoHighlight.a.pink {
-	background-color: #ffcccc;
-}
-
-em.diigoHighlight.b.pink, em.diigoHighlight.c.pink {
-	border-bottom: solid 2px #ffcccc;
-}
-	
-img.diigoHighlight.pink {/*image highlight*/
-	cursor: pointer; 
-	outline:2px solid #ffcccc;
-}	
-	
-img.diigoHighlight.mouseOvered {
-	cursor: pointer; 
-	outline:2px solid #ffc62a;
-}	
-	
-
-div.diigotb-inline-cloud{
-	position:fixed !important;
-	width:440px !important;
-	height:370px !important;
-	left:0;top:0;
-	background-color:#fef5c7 !important;
-	z-index:9999999999 !important;
-	display:none;
-	-moz-border-radius:15px !important;
-}
-/*  capture image */
-
-.diigotb-body #diigotb-upload-cover{
-	cursor:crosshair!important;
-	z-index:1999999!important;
-	position:fixed!important;
-	left:0!important;
-	top:31px;
-}
-	
-.diigotb-body #diigotb-upload-tip{
-    color: #fff!important;
-    padding:2px 4px!important;
-    position:fixed!important;
-    z-index:11000001!important;
-}
-	
-.diigotb-body #diigotb-upload-select{
-	position:fixed!important;
-	z-index:1000001;
-}
-	
-.diigotb-body #diigotb-upload-resizer{
-	z-index:11000002!important;
-	position:fixed!important;
-	cursor:move!important;
-	border:1px dashed black!important;
-}
-	
-.diigotb-body #currentColor{
-  background-color: #fff!important;
-  width: 37px!important;
-  height: 37px!important;
-  padding: 1px!important;
-  border: 1px solid #2e68e6!important;
-  float: left!important;
-  margin: 0 5px 0 0!important;
-}
-	
-.diigotb-body #currentColor div{
-  width: 37px!important;
-  height: 37px!important;	
-  margin:0!important;
-}
-.diigotb-body .selectPanel{
-	margin-top:5px!important;
-}
-	
-.diigotb-body .colorCell{
-  float: left!important;
-  margin: 0 1px 1px 0!important;
-  border: 1px solid #5f92ff!important;
-  width: 18px!important;
-  height: 18px!important;
-}
-	
-.diigotb-body .colorCell:hover{
-  border: 1px solid #FF9900!important;
-}
-.diigotb-body .colorCell.actived{
-  border: 1px solid #FF9900!important;
-}	
-	
-.diigotb-body .colorCell div{
-  width: 18px!important;
-  height: 18px!important;
-  cursor:pointer!important;
-  margin:0!important;
-}
-
-.diigotb-body .capture-black{background-color:#000!important;}
-.diigotb-body .capture-white{background-color:#fff!important;}
-.diigotb-body .capture-gray{background-color:#808080!important;}
-.diigotb-body .capture-light-gray{background-color:#c0c0c0!important;}
-
-.diigotb-body .capture-red{background-color:#ff0000!important;}
-.diigotb-body .capture-cyan{background-color:#00ffff!important;}
-.diigotb-body .capture-orange{background-color:#ff9900!important;}
-.diigotb-body .capture-blue{background-color:#0000ff!important;}
-
-.diigotb-body .capture-yellow{background-color:#ffff00!important;}
-.diigotb-body .capture-purple{background-color:#9900ff!important;}
-.diigotb-body .capture-green{background-color:#00ff00!important;}
-.diigotb-body .capture-pink{background-color:#ff00ff!important;}
-	
-.diigotb-body #diigotb-colorpanel{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-left.png) no-repeat scroll left center!important;
-	display:block;
-	height:55px!important;
-	position:fixed!important;
-	width:180px!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-	
-.diigotb-body .diigotb-cbg{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-right.png) no-repeat scroll right top!important;
-	height:55px!important;
-	line-height:55px!important;
-	padding-left:6px!important;
-	width:180px!important;
-	margin:0!important;
-}
-
-	
-.diigotb-body #currentArrow{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow.png) no-repeat scroll 0 0!important;
-	height:6px!important;
-	left:0;
-	position:relative!important;
-	top:-5px;
-	width:7px!important;
-	margin:0!important;
-}
-	
-.diigotb-body #currentArrow._istop{
-	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow-down.png) no-repeat scroll 0 0!important;
-	top:51px!important;
-}
-	
-	
-.diigotb-body #diigotb-text-area{
-	position:fixed!important;
-	z-index:11000010!important;
-}
-	
-.diigotb-body .diigotb-text-input{
-	font: 18px/22px Helvetica,Arial,sans-serif!important;
-	border:0px solid #5f92ff!important;
-	z-index:11000011!important;
-}	
-	
-.diigotb-body #diigotb-editpanel{
-	background:transparent url(chrome://diigotb/skin/ann-bar-bg-right.png) no-repeat scroll right center!important;
-	height:35px!important;
-	position: fixed!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-	
-	
-.diigotb-body .diigotb-btn div{
-	cursor:pointer!important;
-	width:18px!important;
-	height:18px!important;
-	margin:2px!important;
-}
-.diigotb-body .diigotb-btn{
-	width:23px!important;
-	height:23px!important;
-}
-		
-	
-.diigotb-body #diigotb-editpanel .diigotb-bg{
-	background:transparent url(chrome://diigotb/skin/ann-bar-bg-left.png) repeat-x scroll left center!important;
-	height:35px!important;
-	padding-left:6px!important;
-	line-height:35px!important;
-	margin:0!important;
-}
-	
-		
-.diigotb-body div.diigotb-tip{
-	-moz-border-radius:4px 4px 4px 4px;
-	background-color:#f1f2f7;
-	border:1px solid #767676;
-	color:black;
-	display:none;
-	-moz-box-shadow:5px 5px 5px -5px #767676;
-	font:12px Arial,Helvetica,sans-serif;
-	margin:0 !important;
-	padding:3px 6px !important;
-	position:absolute;
-	z-index:2147483647;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn{
-	padding:0px!important;
-	display:inline-table!important;
-	margin-bottom:0 !important;
-	margin-left:0 !important;
-	margin-right:0 !important;
-	margin-top:5px;
-}
-	
-	
-.diigotb-body #diigotb-editpanel div.diigotb-sep img{
-	pading:0!important;
-	margin:0!important;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-sep{
-	pading:4px 0!important;
-	display:inline-table!important;
-	margin:0!important;
-	line-height:0 !important;
-}	
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn.enabled:hover{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
-}
-	
-.diigotb-body #diigotb-editpanel #diigotb-undo.enabled div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-editpanel div.diigotb-btn.actived{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
-}
-	
-.diigotb-image-border{
-	border:1px solid #666 !important;
-}
-	
-#diigotb-imagepanel{
-	height:22px!important;
-	position: absolute!important;
-	z-index:11000022!important;
-	margin:0!important;
-}
-
-#diigotb-imagepanel .diigotb-btn{
-	cursor:pointer!important;
-	width:20px!important;
-	height:20px!important;
-	margin:2px!important;
-	float:left !important;
-	background:transparent url(chrome://diigotb/skin/save-image-action-icons.png) no-repeat scroll!important;
-}	
-	
-	
-#diigotb-imagepanel #diigotb-quick-save{
-	background-position:0 0!important;
-}
-		
-#diigotb-imagepanel.processing #diigotb-quick-save{
-	background-position:0 -20px!important;
-	cursor:default!important;
-}
-
-		
-#diigotb-imagepanel.needpremium #diigotb-quick-save{
-	background-position:0 -20px!important;
-	cursor:default!important;
-}	
-
-#diigotb-imagepanel.hassaved #diigotb-quick-save{
-	background-position: -60px 0!important;
-	cursor: pointer !important;
-}
-
-.diigotb-imagetip{
-	background:transparent url(chrome://diigotb/skin/notice-bar-bg-right.png) no-repeat scroll right center !important;
-	height:21px !important;
-	margin:0 !important;
-	position:absolute !important;
-	z-index:11000022 !important;
-	width:106px;
-}
-	
-.diigotb-imagebg{
-	background:transparent url(chrome://diigotb/skin/notice-bar-bg-left.png) repeat-x scroll left center !important;
-	height:21px !important;
-	margin:0 !important;
-	padding-left:6px !important;
-	width:90px;
-}
-	
-.diigotb-imagetip-text{
-	padding-left:20px!important;
-	font:11px/13px Helvetica,Arial,sans-serif!important;
-	color:white!important;
-	line-height:20px!important;
-	float:left;
-}
-	
-.diigotb-imagetip.processing .diigotb-imagetip-text{
-	background:transparent url(chrome://diigotb/skin/processing-fb.gif) no-repeat scroll left center !important;
-}
-	
-.diigotb-imagetip.hassaved .diigotb-imagetip-text{
-	background:transparent url(chrome://diigotb/skin/icon-done.png) no-repeat scroll left center !important;
-}
-	
-.diigotb-border{
-	position: absolute!important;
-	z-index:11000000!important;
-	margin:0!important;
-	background-color: #4b8cdc!important;
-}
-.diigotb-left{
-	width:1px!important;
-}
-.diigotb-right{
-	width:1px!important;
-}
-.diigotb-top{
-	height:1px!important;
-}
-.diigotb-bottom{
-	height:1px!important;
-}
-
-.diigotb-body #diigotb-rect div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-rectangle.png') no-repeat center center!important;
-}	
-.diigotb-body #diigotb-round div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-ellipse.png') no-repeat center center!important;
-}
-.diigotb-body #diigotb-text div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-font.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-arrow div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-arrow.png') no-repeat center center!important;
-}
-	
-.diigotb-body .diigotb-sep{
-	background: transparent url('chrome://diigotb/skin/ann-bar-bg-separator.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-undo div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo-disabled.png') no-repeat center center!important;
-}
-	
-.diigotb-body #diigotb-capture-save div{
-	background: transparent url('chrome://diigotb/skin/ann-bar-opt-quickly-save.png') no-repeat center center!important;
-}
-	
-	
-	
-.diigotb-body #diigotb-upload-resizer div {
-  position: absolute!important;
-  width: 9px!important;
-  height: 9px!important;
-  /*background-color: white;*/
-  z-index:11000002!important;
-  margin:0px!important;
-  background:transparent url(chrome://diigotb/skin/spot.png) no-repeat scroll left center!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gleft {
-  left: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gtop {
-  top: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gright {
-  right: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gbottom {
-  bottom: -9px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.ghor {
-  margin-left: auto!important;
-  margin-right: auto!important;
-  left: 0px!important;
-  right: 0px!important;
-}
-
-.diigotb-body #diigotb-upload-resizer div.gver {
-  margin-top: auto!important;
-  margin-bottom: auto!important;
-  top: 0px!important;
-  bottom: 0px!important;
-}
-	
-.diigotb-body{
-	padding-top: 31px!important;
-}
-	
-.diigotb-body #diigotb-topbar{
-  background: url(chrome://diigotb/skin/topbar-bg.png) left top repeat-x!important;
-  border-bottom: 1px solid #999!important;
-  color: #555!important;
-  font: 12px/18px Helvetica,Arial,sans-serif!important;
-  height: 30px!important;
-  line-height: 30px!important;
-  position: fixed!important;
-  left: 0!important;
-  top: 0!important;
-  text-align:center!important;
-  z-index:1999999!important;
-}
-
-.diigotb-body #diigotb-msg img{
-  margin:0 5px 0 0!important;
-  vertical-align: middle!important;
-}
-	
-.diigotb-body #diigotb-msg{
-	color:#333!important;
-}
-
-.diigotb-body #diigotb-msg a{
-  color: #0044cc!important;
-  text-decoration: none!important;
-}
-
-.diigotb-body #diigotb-msg a:hover{
-  text-decoration: underline!important;
-}
-
-.diigotb-body #diigotb-escLink{
-  display: block!important;
-  float: right!important;
-  margin: 5px 5px 0 0!important;
-  text-decoration: none!important;
-  width: 50px!important;
-  cursor:pointer!important;
-}
-
-.diigotb-body #diigotb-escLink:hover{
-  text-decoration: underline!important;
-}
-
-.diigotb-body #diigotb-escLink span{
-  background: url(chrome://diigotb/skin/esc-right.png) right top no-repeat!important;
-  display: block!important;
-  padding-right: 9px!important;
-}
-
-.diigotb-body #diigotb-escLink span strong{
-  background: url(chrome://diigotb/skin/esc-left.png) left top no-repeat!important;
-  display: block!important;
-  color: #fff!important;
-  font-weight: 700!important;
-  line-height: 20px!important;
-  text-indent:7px!important;
-}
-	
-	
-
-/*highlight label*/
-.diigoHighlight .diigoHighlightLabel sup {
-	font:normal normal normal 8px/8px "lucida grande",tahoma,verdana,arial,sans-serif;
-	text-decoration:none;
-	background-color:inherit;
-	cursor:default;
-}
-	
-body.diigoHiPen.yellow{
-	cursor:url(chrome://diigotb/skin/highlighter-orange.cur), text !important
-}
-	
-body.diigoHiPen.blue{
-	cursor:url(chrome://diigotb/skin/highlighter-blue.cur), text !important
-}
-
-body.diigoHiPen.green{
-	cursor:url(chrome://diigotb/skin/highlighter-green.cur), text !important
-}	
-	
-body.diigoHiPen.pink{
-	cursor:url(chrome://diigotb/skin/highlighter-pink.cur), text !important
-}
-em.diigoHighlight.type_0.commented {	
-	padding-left:30px;
-}
-	
-/*float note*/
-div.diigoHighlight.type_2 {
-	position:absolute;
-	width:29px;
-	height:36px;
-	text-align:center;
-	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat 50% 50%;
-	z-index:9996;
-}
-div.diigoHighlight.type_2.mouseOvered {
-	position:absolute;
-	width:37px;
-	height:31px;
-	text-align:center;
-	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat;
-	z-index:9996;
-}	
-div.diigoHighlight.type_2 span {
-	color:#000;
-	font:bold 13px Arial, Helvetica, sans-serif;
-	cursor: default;
-	line-height: 37px;
-	text-shadow: #fff 0 1px 0;
-}
-/*
-* html div.diigoHighlight.type_2{
-	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale, src="http://www.diigo.com/javascripts/webtoolbar/images/float_icon.png");
-	overflow:hidden;
-	background:none;
-}
-*/
-	
-
-div.diigoIcon.commented.TextIcon.diigoEdit{
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-
-	
-div.diigoIcon.commented.ImageIcon.diigoEdit{
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-
-
-/*mouse over effect*/
-/*
-.diigoHighlight.id_190e5778b533dc0fa1b1660653a4f6f5 {outline: 2px dotted green !important;}
-*/
-div.diigoIcon{
-	cursor:pointer !important;
-	margin: 0pt; 
-	padding: 0px 0px 0px 0px;
-	position: absolute;
-	display:none;
-	width: 24px !important; 
-	z-index:999999;
-	height: 23px !important;
-	background: transparent url('chrome://diigotb/skin/edit-highlight.png') no-repeat left;
-}
-
-div.diigoIcon span{
-	color:#000000;
-	display:block;
-	font-family:Helvetica,Arial,sans-serif;
-	font-size:13px;
-	font-weight:700;
-	line-height:18px;
-	text-align:center;
-	text-shadow:0 1px 1px #FFFFFF;
-}
-
-div.diigoIcon.commented.ImageIcon{
-	display:block !important;
-	background-color: transparent !important;
-}
-	
-div.diigoIcon:hover{
-	background-background: transparent !important;
-	background-repeat:no-repeat !important;
-	background-position:right !important;
-}
-	
-div.diigoIcon.commented.TextIcon{
-	display:block !important;
-	left:0;
-	bottom:0;
-}
-	
-div.diigoIcon.commented.public{
-	background: #FFFFFF url('chrome://diigotb/skin/public-annotation.png') no-repeat left;
-}
-
-div.diigoIcon.commented.private{
-	background: #FFFFFF url('chrome://diigotb/skin/private-annotation.png') no-repeat left;
-}
-	
-div.diigoIcon.commented.group{
-	background: #FFFFFF url('chrome://diigotb/skin/group-annotation.png') no-repeat left;
-}
-	
-/*Clip video*/
-div.diigoClipVideo{
-	float:left;
-	height:16px;
-	padding:0 16px 0 6px;
-	background:#f5f5f5 url(chrome://diigotb/skin/toolbar-clip-bg.gif) no-repeat right 0;
-	border:1px solid #ccc;
-	border-bottom-width:0;
-	font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
-	z-index:999;
-	position:absolute;
-}
-
-div.diigoClipVideo.clipped {
-  background-position: right -32px; left: 717px; top: 135px;
-}
-
-	div.diigoClipVideo span{
-		font-weight:bold;
-		font-size:10px;
-		line-height:16px;
-		text-decoration:underline;
-		color:#03f;
-		cursor:pointer;
-		margin-right:6px
-	}
-	div.diigoClipVideo span:hover,div.diigoClipVideo span:active{
-		color:#00f
-	}
-	/*.diigolet input{
-		font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
-		font-size:9px;
-	}*/
-	
-/*-----------notice msg--------------*/
-.diigotb-notice-img  {
-	float:left!important;
-	height:16px!important;
-	width:16px!important;
-	margin-top:6px!important;
-	margin-right:3px!important;
-}
-.success .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll 0 0 transparent!important;
-}
-.failed .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -16px 0 transparent!important;
-}
-.info .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -32px 0 transparent!important;
-}
-.process .diigotb-notice-img{
-	background:url("chrome://diigotb/skin/processing.gif") no-repeat scroll left 0 transparent!important;
-}	
-	
-.diigotb-notice-msg-rt  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left bottom transparent!important;
-	line-height:28px!important;
-	padding-left:10px!important;
-	height:30px!important;
-}
-.failed .diigotb-notice-msg-rt  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left top transparent!important;
-}
-	
-.diigotb-notice-close{
-	float:right!important;
-	height:16px!important;
-	width:16px!important;
-	margin-left:20px!important;
-	margin-top:6px!important;
-	cursor:pointer;
-	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -48px 0 transparent!important;
-}
-
-.diigotb-notice-close:hover{
-	background-position: -63px 0!important;
-}
-	
-.diigotb-notice-msg  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right bottom transparent!important;
-	float:right!important;
-	height:30px!important;
-	padding:0 11px 0 0!important;
-	border: none!important;
-	margin:0!important;
-	position:fixed!important;
-	font:12px/14px Helvetica,Arial,sans-serif!important;
-	z-index:100000!important;
-}
-.diigotb-notice-msg a {
-	color:#0044cc!important; 
-	text-decoration:underline!important;
-}
-	
-.failed.diigotb-notice-msg  {
-	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right top transparent!important;
-}
-	
-}
-
-
-@media print{
-em.diigoHighlight.a, em.diigoHighlight.b, em.diigoHighlight.c {
-	border-bottom:0.5pt dashed Black;
-}
-
-
-/*image highlight*/
-/*no inline comments*/
-img.diigoHighlight {
-	border:0.5pt dashed Black
-}
-
-/*float note*/
-div.diigoHighlight.type_2 {
-	display:none
-}
-div.diigoHighlight.type_2 span {
-	display:none
-}
-}</style><style id="diigo-activeHighlight" type="text/css">dummyRuleForDigg{}</style></head><body
- class="not-front not-logged-in node-type-rf-diffusion one-sidebar 
-sidebar-right emissions page-node-2347301 
-section-emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg
- popups-processed tableHeader-processed"><div id="_atssh" 
-style="visibility: hidden; height: 1px; width: 1px; position: absolute; 
-z-index: 100000;"><iframe src="emission_fichiers/sh20.htm" 
-style="height: 1px; width: 1px; position: absolute; z-index: 100000; 
-border: 0pt none; left: 0pt; top: 0pt;" id="_atssh433"></iframe></div>
-	<div id="header-commun" class="header-footer content-header-footer"><div
- id="header-content"><ul><li class="first-header"><a 
-href="http://radiofrance.fr/" name="top-page-ancre">radiofrance.fr</a></li><li><a
- href="http://www.franceinter.com/">france inter</a></li><li><a 
-href="http://www.france-info.com/">france info</a></li><li><a 
-href="http://www.francebleu.com/">france bleu</a></li><li><a 
-href="http://www.franceculture.com/">france culture</a></li><li><a 
-href="http://www.francemusique.com/">france musique</a></li><li><a 
-href="http://fip-radio.com/">fip</a></li><li><a 
-href="http://www.lemouv.com/">le mouv'</a></li><li class="last-header"><a
- href="http://concerts.radiofrance.fr/">les orchestres</a></li></ul><div
- class="clearer">&nbsp;</div></div></div><div id="page">
-    <div id="page-inner"> 
-<!-- début du header -->
-                <div id="header">
-                    <!-- début du menu d'accès rapide -->
-                    <div id="acces-rapide"><a name="top"></a>
-                    <a href="#acces-navigation-primaire" 
-title="descriptif du lien">acces rapide a la navigation principale</a><br>
-                    <a href="#acces-navigation-secondaire" 
-title="descriptif du lien">acces rapide a la navigation secondaire</a><br>
-                    <a href="#acces-contenu" title="descriptif du lien">acces
- rapide au contenu</a><br>
-                    <a href="#acces-right" title="descriptif du lien">acces
- rapide au contenu de droite</a><br>
-                    <a href="#acces-footer" title="descriptif du lien">acces
- rapide au footer</a><br>
-                    </div>
-            <a href="http://www.franceculture.com/" class="retour-home"><img
- src="emission_fichiers/logo.png" alt="Accueil" height="106" width="106"></a>
-            <div id="block-simplenews-65" class="block block-simplenews">
-  <div class="block-inner">
-  
-  <div class="block-content">
-        <p>Recevez la lettre d'information</p>
-  
-      <form 
-action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
- accept-charset="UTF-8" method="post" id="simplenews-block-form-65">
-<div><div class="form-item" id="edit-mail-1-wrapper">
- <label for="edit-mail-1">E-mail&nbsp;: <span class="form-required" 
-title="Ce champ est obligatoire.">*</span></label>
- <input maxlength="128" name="mail" id="edit-mail-1" size="20" 
-value="identifiant@mail.com" class="form-text required idleField" 
-type="text">
-</div>
-<div class="form-radios"><div class="form-item" 
-id="edit-action-subscribe-wrapper">
- <label class="option" for="edit-action-subscribe"><input 
-id="edit-action-subscribe" name="action" value="subscribe" 
-checked="checked" class="form-radio" type="radio"> S'abonner</label>
-</div>
-<div class="form-item" id="edit-action-unsubscribe-wrapper">
- <label class="option" for="edit-action-unsubscribe"><input 
-id="edit-action-unsubscribe" name="action" value="unsubscribe" 
-class="form-radio" type="radio"> Se désabonner</label>
-</div>
-</div><input name="submit" value="Enregistrer" id="edit-submit-1" 
-class="form-submit submit" src="emission_fichiers/inscription.png" 
-type="image">
-<input name="form_build_id" id="form-d495e634489f3be0bd7ebbe9bf42e037" 
-value="form-d495e634489f3be0bd7ebbe9bf42e037" type="hidden">
-<input name="form_id" id="edit-simplenews-block-form-65" 
-value="simplenews_block_form_65" type="hidden">
-
-</div></form>
-  
-  
-  
-    </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-            <div class="search"><form 
-action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
- accept-charset="UTF-8" method="post" id="antidot-search-block-form-1">
-<div><div class="form-item" id="search_top_page-wrapper">
- <label for="search_top_page">Cherchez sur France Culture&nbsp;: </label>
- <input maxlength="128" name="antidot_search_block_form" 
-id="search_top_page" size="15" title="Entrez les termes que vous voulez 
-rechercher." autocomplete="off" class="form-text idleField" type="text">
-</div>
-<input name="op" id="edit-submit" value="Recherche" class="submit 
-rollover" src="emission_fichiers/search-submit.png" alt="Rechercher" 
-height="26" type="image" width="26"><input name="form_build_id" 
-id="form-0fb0ec9e93007e0870ba7f8b130bd7f7" 
-value="form-0fb0ec9e93007e0870ba7f8b130bd7f7" type="hidden">
-<input name="form_id" id="edit-antidot-search-block-form-1" 
-value="antidot_search_block_form" type="hidden">
-
-</div></form>
-</div>            
-            <!--block de navigation secondaire -->
-            <a name="acces-navigation-secondaire"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            <ul class="" id="menu-top"><li class="leaf first menu-top"><a
- href="http://www.franceculture.com/quelisentils" title="" accesskey="b">Que
- lisent-ils ?</a></li>
-<li class="leaf  menu-top"><a 
-href="http://www.franceculture.com/votre-agenda" title="" accesskey="b">Votre
- agenda Culture</a></li>
-<li class="leaf  menu-top"><a 
-href="http://www.franceculture.com/culture-academie" title="" 
-accesskey="b">Culture Académie</a></li>
-<li class="leaf  menu-top login"><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Connexion [Popup]" alt="Connexion" class="popups-form-reload 
-popups-processed" accesskey="b">Connexion</a></li>
-<li class="leaf last menu-top register"><a 
-href="http://www.franceculture.com/user/register-profile" title="pas 
-encore membre ? [Popup]" alt="pas encore membre ?" 
-class="popups-form-reload popups-processed" accesskey="b">pas encore 
-membre ?</a></li>
-</ul>            <!-- block de navigation principale -->
-            <a name="acces-navigation-primaire"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            <ul class="" id="menu-principal"><li class="leaf first 
-menu-principal"><a 
-href="http://www.franceculture.com/rubrique/information" title="" 
-accesskey="b">Information</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/litt%C3%A9rature" title="" 
-accesskey="b">Littérature</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/id%C3%A9es" title="" 
-accesskey="b">Idées</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/arts-spectacles" title="" 
-accesskey="b">Arts et spectacles</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/histoire" title="" 
-accesskey="b">Histoire</a></li>
-<li class="leaf  menu-principal"><a 
-href="http://www.franceculture.com/rubrique/sciences" title="" 
-accesskey="b">Sciences</a></li>
-<li class="leaf  first menu-action"><a 
-href="http://www.franceculture.com/podcasts" title="" accesskey="b">Podcasts</a></li>
-<li class="leaf  menu-action"><a 
-href="http://www.franceculture.com/emissions/titre" title="" 
-accesskey="b">Emissions</a></li>
-<li class="leaf last menu-action"><a 
-href="http://www.franceculture.com/grille-des-programmes/" title="" 
-accesskey="b">Programmes</a></li>
-</ul>            
-    <div id="x02">
-      <script language="JavaScript">
-        <!--
-        OAS_AD("x02");
-        //-->
-      </script>
-    </div>        </div><!-- /header -->
-        
-        <!-- début du contenu -->   
-        <div id="main"><a name="acces-contenu"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-            
-            <div id="content">
-                                                                      
-                <div id="content-inner">
-                                    <div id="content-top">
-                      <div id="block-fcbloc-emission-header" 
-class="block block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  
-	<div class="bandeau">
-		<h1 class="theme1-130">Les Retours du dimanche 
-			<a href="http://www.franceculture.com/emission/1232581/rss" 
-class="feed-icon"><img src="emission_fichiers/picto-rss.gif" 
-alt="Syndiquer le contenu" title="Les Retours du dimanche " height="16" 
-width="16"></a>
-			<span class="emission-producteurs">par <a 
-href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
- Broué</a>, <a 
-href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
-Gardette</a></span>
-			<a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche.html"
- class="site" title="Les Retours du dimanche ">Le site de l'émission</a>
-		</h1>
-		<div class="image">
-		<img src="emission_fichiers/retour_dimanche.png" alt="Les Retours du 
-dimanche " title="" height="100" width="640">
-		<a href="http://www.franceculture.com/podcast/1232581" title="Les 
-Retours du dimanche "><img 
-src="emission_fichiers/culture_les_retours_du_dimanche.jpg" 
-alt="Emission Les Retours du dimanche " title="" class="illu-small" 
-height="75" width="75"></a>
-		</div>
-		<p>le dimanche de 18h10 à 19h </p>
-	</div>
-		  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
- 
-                  </div>
-                                                      
-                  <div id="node-2347301" class="node node-rf_diffusion">
-
-	
-	  	  <div class="titre-plus">
-	    <div class="listen">
-                  <a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player?p=reecoute-2347301#reecoute-2347301">
-            <img alt="Ecoutez l'émission" 
-src="emission_fichiers/listen.png" height="78" width="78">
-          </a>
-	  <span>50 minutes</span>
-        	    </div>
-	    <h2 class="title">
-	      Le salaire de la politique ; les vuvuzelas ; l'actualité 
-politique belge          	      <a class="num-com" href="#comments">
-	          <span>0</span>
-	        </a>
-        	    </h2>
-	    <p>
-	      <span class="date">20.06.2010 - 18:10</span>
-	      	    </p>
-	    <div class="clear"></div>
-	    	  </div>
-	  	  	
-	  	
-	  	  <span class="print-link"></span><div class="field 
-field-type-multimedia-editorial-element field-field-contenu">
-    <div class="field-items">
-            <div class="field-item odd">
-                    <div class="dnd-drop-wrapper">
-
-  
-  <div class="image atom-Image">
-      <img class="dnd-dropped" src="emission_fichiers/Garrigou.jpg" 
-alt="">
-      <div class="opaque"><p>le sociologue Alain Garrigou <span>©Radio 
-France</span></p></div>
-  </div>
-  
-
-</div><p>Au sommaire des <strong>Retours du dimanche </strong>:</p><p>&nbsp;</p><p>La
-
-
- revue 
-d'actualités : rappel des petits et grands évènements de la semaine. : <a
- title=" ça s'est passé cette semaine" 
-href="http://www.franceculture.com/2010-06-19-20-juin-2010-ca-s-039-est-passe-cette-semaine.html">il
- faut reconnaître un mérite à Raymond Domenech et à ses joueurs...</a></p><p>&nbsp;</p><p>L'entretien
-
-
-
- : "<a href="#t=700">Le salaire de la politique</a>", <span><span 
-class="262252614-17062010">après que la question de la rémunération des 
-politiques a été posée par le 
-premier ministre&nbsp;cette semaine. Invité : </span></span>l'historien 
-et professeur en science politique <strong>Alain Garrigou</strong>, 
-auteur de <em>Mourir pour des Idées, la vie posthume d'Alphone Baudin</em>,
- paru aux éditions Les Belles Lettres en avril 2010.</p><p>&nbsp;</p><p>&nbsp;</p>
- 
- <!-- START Integration testing  ###################################### --> 
- <!-- IRI PLAYER EXPERIMENTATION --> 
-	
-	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
-	
-	<div id="LdtPlayer"></div> 
-	
-	<script  type="text/javascript">	
-		var config = {
-						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:1,
-							mode:'radio',
-							container:'LdtPlayer',
-							debug:false,
-							css:'../src/css/LdtPlayer.css'},
-						player:{
-							type:'jwplayer',
-							src:'../res/swf/player.swf'}
-					};
-		__IriSP.init(config);     
-	</script> 
- 
- 
-<!-- END  ###################################### ####################################--> 
- 
- <br/>
- 
- <p> <a href="#t=1773">La
- revue de 
-presse </a>: les <strong>vuvuzelas comme phénomène identitaire</strong>, 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.<br>
-<br> <a href="#t=1846"> La bulle sonore :</a><strong> Patrick Roegiers</strong><strong> </strong>pour revenir
- sur<strong> l'actualité politique en Belgique. </strong>Notre invité 
-est romancier, auteur de <em>La Belgique, Le roman d'un pays</em>, paru 
-chez Découvertes Gallimard en 2005, et <em>Le mal du pays, autoportrait 
-de la Belgique</em>, publié au Seuil en 2003. Il a récemment publié <em>La
- Nuit du Monde</em>, au Seuil en janvier 2010.</p><p>&nbsp;</p><p>
- <a href="#t=2647">La 
-chronique d'Anthony Bellanger de </a> <strong>Courrier
- 
-International.</strong></p> 
-<p><br>Et comme chaque semaine : le sujet choisi par l'invité, notre 
-choix pour 
-la semaine à venir...</p>        </div>
-        </div>
-</div>
-	            <div class="clear"></div>
-	  
-          <p class="invites">Invités :<br>
-      <a 
-href="http://www.franceculture.com/personne-alain-garrigou.html">Alain 
-Garrigou</a>, professeur agrégé d'histoire et docteur en science 
-politique à l'université de Paris-X Nanterre<br><a 
-href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>      </p>
-        	    <p class="theme">Thèmes : 
-        <a href="http://www.franceculture.com/rubrique/information" 
-title="">Information</a>| <a 
-href="http://www.franceculture.com/theme/d%C3%A9bat" title="">Débat</a>|
- <a href="http://www.franceculture.com/theme/gouvernement" title="">Gouvernement</a>|
- <a 
-href="http://www.franceculture.com/theme/sciences-dures-et-sciences-humaines/histoire"
- title="">Histoire</a>      </p>
-	  	  	  	  	  <div class="rel-doc">
-	    <h2 class="titre-barre"><span>Documents</span></h2>
-	    <ul><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
-    Mourir pour des idées, la vie posthume d'Alphone Baudin  </a>
-  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
- Garrigou</a>  <span>
-  Belles lettres,   2010  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
-  <img src="emission_fichiers/baudin.jpg" alt="" title="" 
-class="imagecache imagecache-oeuvre_image_liste" height="143" width="95"></a>
-</li><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
-    Les élites contre la République : histoire et mutations de Sciences 
-Po et de l'ENA  </a>
-  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
- Garrigou</a>  <span>
-  Editions La découverte,     </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
-  <img 
-src="emission_fichiers/les_lites_contre_la_rpublique_histoire_et_mutations_de_scien.jpg"
- alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
-height="157" width="95"></a>
-</li><li><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
-    Le mal du pays : autobiographie de la Belgique  </a>
-  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>  <span>
-  Seuil,   2003  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
-  <img 
-src="emission_fichiers/le_mal_du_pays_autobiographie_de_la_belgique20100424.jpg"
- alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
-height="161" width="95"></a>
-</li><li style="display: none;" class="more-liste liste-clear"></li><li 
-style="display: none;" class="more-liste"><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
-    La nuit du monde  </a>
-  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
- Roegiers</a>  <span>
-  Seuil,   2010  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
-  <img src="emission_fichiers/la_nuit_du_monde20100423.jpg" alt="" 
-title="" class="imagecache imagecache-oeuvre_image_liste" height="143" 
-width="95"></a>
-</li><li style="display: none;" class="more-liste"><p>
-  <a 
-href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
-    L'évangile selon Jésus-Christ  </a>
-  <a 
-href="http://www.franceculture.com/personne-jos%C3%A9-saramago.html">José
- Saramago</a>  <span>
-  Ed. du Seuil - coll. Points,   2000  </span>
-  </p>
-<a 
-href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
-  <img src="emission_fichiers/97820204039860-2000020811.jpg" alt="" 
-title="" class="imagecache imagecache-oeuvre_image_liste" height="158" 
-width="95"></a>
-</li></ul><div class="clear"></div><a style="background: 
-url(&quot;/sites/all/themes/franceculture/images/urg-down.png&quot;) 
-no-repeat scroll 100% 4px transparent;" class="more-doc">voir les 5 
-documents</a>	  </div>
-	  	  	<div class="clear"></div>
-	</div> <!-- /node -->
-  <div id="comments" class="com">
-    <h2 class="titre-barre"><span>0 commentaire</span></h2>
-    <div class="box">
-          <h2 class="title titre-barre"><span>Votre commentaire</span></h2>
-        <form action="/comment/reply/2347301" accept-charset="UTF-8" 
-method="post" id="comment-form">
-<div><div class="form-item" id="edit-name-wrapper">
- <label for="edit-name">votre nom&nbsp;: </label>
- <input maxlength="60" name="name" id="edit-name" size="30" 
-value="Anonyme" class="form-text idleField" type="text">
-</div>
-<div class="form-item" id="edit-mail-wrapper">
- <label for="edit-mail">votre adresse électronique&nbsp;: </label>
- <input maxlength="64" name="mail" id="edit-mail" size="30" 
-class="form-text idleField" type="text">
-</div>
-<div class="form-item" id="edit-comment-wrapper">
- <label for="edit-comment">votre commentaire&nbsp;: <span 
-class="form-required" title="Ce champ est obligatoire.">*</span></label>
- <div class="resizable-textarea"><span><textarea cols="60" rows="15" 
-name="comment" id="edit-comment" class="form-textarea resizable required
- clearonfocus textarea-processed">Tapez ici vos commentaires</textarea><div
- style="margin-right: -33px;" class="grippie"></div></span></div>
-</div>
-<div class="wysiwyg wysiwyg-format-5 wysiwyg-editor-none 
-wysiwyg-field-edit-comment wysiwyg-status-1 wysiwyg-toggle-1 
-wysiwyg-resizable-1"> </div><input name="form_build_id" 
-id="form-3d46a280b7c4d6960ed80ba3c5ae0418" 
-value="form-3d46a280b7c4d6960ed80ba3c5ae0418" type="hidden">
-<input name="form_id" id="edit-comment-form" value="comment_form" 
-type="hidden">
-<input name="op" id="edit-submit" value="Envoyer" class="form-submit" 
-type="submit"><div id="saving"><p class="saving">Enregistrement des 
-données…</p></div>
-<input name="op" id="edit-preview" value="Aperçu" class="form-submit" 
-type="submit">
-
-</div></form>
-</div> <!-- /box -->
-  </div>
- <!-- /comment wrapper -->
-<div id="block-print-0" class="block block-print">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  <span class="print_html"><a 
-href="http://www.franceculture.com/print/463861" title="Imprimer le 
-contenu" class="print-page" onclick="window.open(this.href); return 
-false" rel="nofollow">imprimer</a></span>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="share" class="block block-addthis share-script">
-  
-		<div class="addthis_toolbox addthis_default_style">
-			<a class="addthis_button_email share-mail at300b" title="partager par
- courier"><span class="at300bs at15t_email"></span>envoyer par courriel</a>
-			
-			<span class="more-services">
-				<a title="Send to Facebook" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=facebook&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_facebook share-services at300b"><span 
-class="at300bs at15t_facebook"></span>facebook</a>
-				<a title="Tweet This" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=twitter&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_twitter share-services at300b"><span 
-class="at300bs at15t_twitter"></span>twitter</a>
-				<a title="Send to Netvibes" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=netvibes&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_netvibes share-services at300b"><span 
-class="at300bs at15t_netvibes"></span>netvibes</a>
-				<a title="Send to Delicious" target="_blank" 
-href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=delicious&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
- class="addthis_button_delicious share-services at300b"><span 
-class="at300bs at15t_delicious"></span>delicious</a>
-			</span>
-			<a style="background: 
-url(&quot;/sites/all/themes/franceculture/images/share-more.png&quot;) 
-no-repeat scroll 100% 4px transparent;" href="#" title="plus d'actions 
-de partage" class="share-more">partager</a>
-		<div class="atclear"></div></div>
-		<script type="text/javascript" src="emission_fichiers/addthis_widget.js"></script>
-		</div>
- 
-                  
-                  <div class="clear"></div>
-               </div> <!-- /content-inner -->
-                
-                            
-            </div> <!-- /content -->
-            
-                        <!-- début de sidebar-right -->   
-            <div id="sidebar-right"><a name="acces-right"></a><a 
-href="#top" class="back-to-top">retour en haut de page</a>
-               <div id="block-fc_bloc_direct-direct" class="block 
-block-fc_bloc_direct block-ecoute">
-  <div class="block-inner">
-      <h2 class="titre-barre"><span>Ecoutez France Culture</span></h2>
-    <div class="content"><div class="context">
-	<a href="http://www.franceculture.com/player" title="écouter le direct"
- class="rf-player-open img-float rf-player-open-processed">
-		<img src="emission_fichiers/direct.png" alt="écouter le direct" 
-height="72" width="72">
-	</a>
-	<h3>
-		<span class="timer"><a href="http://www.franceculture.com/player" 
-class="rf-player-open rf-player-open-processed">En direct</a></span>
-		<a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player" title="écouter le direct">Sur
- France Culture</a>
-		<a class="rf-player-open rf-player-open-processed" 
-href="http://www.franceculture.com/player" title="écouter le direct"></a>
-	</h3>
-	<p></p>
-	<div class="clear"></div>
-</div>
-<p>
-	<span class="timer"></span>
-	
-</p>
-<p class="auteur">
-	
-</p>
-</div>
-    </div>
-</div><div id="block-fcbloc-emission-equipe" class="block block-fcbloc">
-  <div class="block-inner">
-      <h2 class="title"><span>L'équipe</span></h2>
-  
-  <div class="block-content">
-  <div class="item-list"><ul><li class="first">
-			<h3>Production</h3>
-			<p><a 
-href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
- Broué</a>, <a 
-href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
-Gardette</a></p>
-			</li>
-<li>
-			<h3>Réalisation</h3>
-			<p>Jean-Christophe Francis</p>
-			</li>
-<li>
-			<h3>Collaboratrice(s) Spécialisée(s)</h3>
-			<p>Soline Ledésert</p>
-			</li>
-<li class="last">
-			<h3>Chronique(s)</h3>
-			<p><a 
-href="http://www.franceculture.com/personne-anthony-bellanger.html">Anthony
- Bellanger</a></p>
-			</li>
-</ul></div>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-fcbloc-publicite" class="block block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  <p class="pub-notice">publicité</p><div class="pub-inner"><script language="JavaScript">
-<!--
-OAS_AD("Middle");
-//-->
-</script>&nbsp;</div>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-fcbloc-sur-le-meme-theme" class="block block-fcbloc">
-  <div class="block-inner">
-      <h2 class="title"><span>Sur le même thème</span></h2>
-  
-  <div class="block-content">
-  <div class="view view-commun-fo-blocs-full-node 
-view-id-commun_fo_blocs_full_node view-display-id-page_1 view-dom-id-12">
-    
-  
-  
-      <div class="view-content">
-        <ul>
-    <li class="first odd">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/culture-ac-seminaire-d%E2%80%99antoine-compagnon-ecrire-la-vie-26.html">Écrire
- la vie (2/6)</a>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-00:00
-
-      </span>
-  
-    </li>
-      <li class="even">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-dossier-du-jour-conference-des-donateurs-a-kaboul-2010-07-20.html">Conférence
- des donateurs à Kaboul</a>
-  
-
-      <p>
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-dossier-du-jour.html"> 
-Dossier du jour </a>
-      </p>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-À écouter le 19.07.2010
-
-      </span>
-  
-
-      <span>
-  
-    
-      <span class="timer"><span class="date-display-single">4</span> 
-min.</span>
-      </span>
-  
-    </li>
-      <li class="last odd">
-      
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-place-de-la-toile-lift-marseille-2010-07-24.html">Lift
- Marseille</a>
-  
-
-      <p>
-  
-    
-      <a 
-href="http://www.franceculture.com/emission-place-de-la-toile.html">Place
- de la toile</a>
-      </p>
-  
-
-      <span class="date">
-  
-    
-      <div class="clear"></div>
-À écouter le 16.07.2010
-
-      </span>
-  
-
-      <span>
-  
-    
-      <span class="timer"><span class="date-display-single">59</span> 
-min.</span>
-      </span>
-  
-    </li>
-    </ul>
-    </div>
-  
-  
-  
-  
-  
-  
-</div>   </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-<div id="block-views-diffusion_fo_blocs-block_1" class="block 
-block-views">
-  <div class="block-inner">
-      <h2 class="title"><span>Dernières diffusions</span></h2>
-  
-  <div class="block-content">
-  <div class="view view-diffusion-fo-blocs view-id-diffusion_fo_blocs 
-view-display-id-block_1 view-dom-id-13">
-    
-  
-  
-      <div class="view-content">
-      <div class="item-list">
-    <ul>
-          <li class="views-row views-row-1 views-row-odd 
-views-row-first">  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html">LES
- RETOURS DU DIMANCHE - Best of 1/2</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">18.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">49</span> min.</span></span>
-  </span>
-</li>
-          <li class="views-row views-row-2 views-row-even">  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m">Médias
- et démocratie: quel est le rôle du journaliste ? ; le déclin du 
-ministère des affaires étrangères ; les Roms</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">11.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">50</span> min.</span></span>
-  </span>
-</li>
-          <li class="views-row views-row-3 views-row-odd views-row-last">
-  
-  <div class="views-field-title-1">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-">Qu'est-ce
- qu'une découverte scientifique ? ; l'avenir d'Eric Woerth au 
-gouvernement ; hommage à Laurent Terzieff ; Percy Kemp</a></span>
-  </div>
-  
-  <div class="views-field-field-contenu-value">
-                <span class="field-content"><a 
-href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-"
- title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
-alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
-rollover" height="15" width="15"></a><a title="[Popup]" 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- class="popups-form-reload popups-processed"><img 
-src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
- title="Ajouter à ma liste de lecture" class="pictos rollover" 
-height="15" width="15"></a><a 
-href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
- title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
- src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
-mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
-rollover" height="15" width="15"></a></span>
-  </div>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value">
-                <span class="field-content"><span 
-class="date-display-single">04.07.2010</span></span>
-  </span>
-  
-  <span class="views-field-field-diffusion-date-debut-fin-value-1">
-                <span class="field-content"><span class="timer"><span 
-class="date-display-single">50</span> min.</span></span>
-  </span>
-</li>
-      </ul>
-</div>    </div>
-  
-  
-  
-  
-  
-  
-</div>   </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
- 
-            </div> <!-- /sidebar-right -->
-                    
-        <div class="clear"></div>
-        </div> <!-- /main -->
-
-        <!-- début du footer -->   
-        <div id="footer-top"><a name="acces-footer"></a><a href="#top" 
-class="back-to-top">retour en haut de page</a>
-           
-        <br class="clear">
-<div id="pub-bottom-right">
-           <div id="block-fcbloc-footer-adsense" class="block 
-block-fcbloc">
-  <div class="block-inner">
-  
-  <div class="block-content">
-  
-            <script language="JavaScript">
-            <!--
-              OAS_AD("BottomRight");
-            //-->
-            </script>  </div>
-
-      <div class="closure"></div>
-  </div>
-</div> <!-- /block -->
-         </div>
-        </div> <!-- /footer -->
-    
-    </div> <!-- /page-inner -->
-</div> <!-- /page -->
-  <div id="footer-commun" class="header-footer footer-franceculture"><div
- class="content-header-footer"><div id="footer-chaine"><div 
-id="colonne-liens-footer" class="colonne-footer colonne-footer-first"><a
- href="http://www.franceculture.com/"><img 
-src="emission_fichiers/franceculture.png" alt="logo de franceculture"></a><p><a
- href="http://www.franceculture.com/sitemap">plan du site</a></p><p><a 
-href="http://www.franceculture.com/a_propos">à propos</a></p><p><a 
-href="http://www.franceculture.com/contact">contact</a></p></div><!--fin de div colonne-liens-footer--><div
- id="colonne-ecouter-footer" class="colonne-footer"><h4>écouter</h4><ul><li
- class="color-chaine "><a href="http://www.franceculture.com/player" 
-class="rf-player-open rf-player-open-processed">direct</a></li><li><a 
-href="http://www.franceculture.com/programmes">grille</a></li><li><a 
-href="http://www.franceculture.com/frequences">fréquences</a></li><li><a
- href="http://www.franceculture.com/podcasts">podcasts</a></li><li><a 
-href="http://www.radiofrance.fr/boite-a-outils/widget/">applis</a></li><li><a
- href="http://www.radiofrance.fr/boite-a-outils/faq/">aide à l'écoute</a></li></ul></div><!--fin de div colonne-thematique-footer--><div
- id="colonne-thematique-footer" class="colonne-footer"><h4>thématiques</h4><ul><li><a
- href="http://www.franceculture.com/rubrique/information">information</a>
- - <span>économie, justice, politique française, relations 
-internationales</span></li><li><a 
-href="http://www.franceculture.com/rubrique/litterature">littérature</a>
- - <span>édition, poésie, prix littéraires, roman, théâtre</span></li><li><a
- href="http://www.franceculture.com/rubrique/idees">idées</a> - <span>débats,
- philosophie, sociologie</span></li><li><a 
-href="http://www.franceculture.com/rubrique/arts-spectacles">arts &amp; 
-spectacles</a> - <span>architecture, cinéma, danse, musique, spectacle, 
-télévision</span></li><li><a 
-href="http://www.franceculture.com/rubrique/histoire">histoire</a> - <span>histoire
- de l'art, histoire de France, histoire des idées, histoire des sciences</span></li><li><a
- href="http://www.franceculture.com/rubrique/sciences">sciences</a> - <span>astronomie,
- biologie, mathématiques, physique</span></li><li><a 
-href="http://www.franceculture.com/quelisentils">que lisent-ils</a> - <a
- href="http://www.franceculture.com/votre-agenda">votre agenda culturel</a>
- - <a href="http://www.franceculture.com/culture-academie">culture 
-académie</a> - <a href="http://www.franceculture.com/blogs">les blogs</a></li></ul></div><!--fin de div colonne-partager-footer--><div
- id="colonne-partager-footer" class="colonne-footer colonne-footer-last"><div
- id="liens-partage-footer"><h4>nous rejoindre</h4><ul><li 
-id="facebook-footer"><a 
-href="http://www.facebook.com/pages/FRANCE-CULTURE/83625483348?ref=ts" 
-class="gris">facebook</a></li><li id="twitter-footer"><a 
-href="http://www.twitter.com/france_culture" class="gris">twitter</a></li><li
- id="dailymotion-footer"><a 
-href="http://www.dailymotion.com/franceculture" class="gris">dailymotion</a></li><li
- class="clearer">&nbsp;</li></ul></div><!--fin de bloc 1--><div><h4>s'abonner</h4><span><a
- href="http://www.franceculture.com/podcasts" class="gris">podcasts</a></span>
- - <span><a href="http://www.franceculture.com/la-lettre" 
-class="color-chaine">newsletter</a></span></div></div><!--fin de div colonne-partager-footer--><div
- class="clearer">&nbsp;</div></div><div id="sous-footer"><div 
-id="footer-rf"><ul><li class="first"><a 
-href="http://www.radiofrance.fr/">radiofrance.fr</a></li><li><a 
-href="http://www.radiofrance.fr/les-blogs/blog-du-mediateur/">médiateur</a></li><li><a
- href="http://www.radiofrance.fr/liens-bas-de-page/mentionslegales/">mentions
- légales</a></li><li class="last"><a 
-href="http://www.radiofrance.fr/boite-a-outils/frequences/">fréquences</a></li><li
- class="last-page"><span class="haut-de-page"><a href="#top-page-ancre" 
-id="top-page" class="gris">haut de page</a></span></li></ul><p>Radio 
-France décline toute responsabilité quant au contenu des sites proposés 
-en liens</p></div><!--fin de div footer-rf--></div></div></div>  <script type="text/javascript">
-<!--//--><![CDATA[//><!--
-$.post(Drupal.settings.basePath + 'jstats.php', {"path":"node\/2347301","nid":"2347301"});
-//--><!]]>
-</script>
-<!-- eStat -->
-<script language="JavaScript">
-<!--
-var _PJS=0;
-//-->
-</script>
-<script language="JavaScript" src="emission_fichiers/265074200838.js"></script>
-<script language="JavaScript">
-<!--
-if(_PJS)
-{
-  eStat_id.cmclient("franceculture");
-  eStat_id.niveau(1,"information");
-  eStat_id.niveau(2,"les-retours-du-dimanche");
-  eStat_id.niveau(3,"le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20");
-  eStat_id.niveau(4,"histoire-gouvernement-debat");
-  eStat_tag.post("ml");
-}
-//-->
-</script>
-<noscript>
-<img src="http://stat3.cybermonitor.com/franceculture_v?c=information&p=les-retours-du-dimanche&l3=le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&l4=histoire-gouvernement-debatst=0&sjs=0" border="0" width="1" height="1" />
-</noscript>
-<!-- /eStat -->
-<!-- xiti -->
-<script type="text/javascript">
-<!--
-xtnv = document;        //parent.document or top.document or document         
-xtsd = "http://logp";
-xtsite = "24121";
-xtn2 = "3";   // level 2 site 
-xtpage ="Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20";        //page name
-xtdi = "";        //implication degree
-//-->
-</script>
-
-<script type="text/javascript" src="emission_fichiers/xtcore.js"></script>
-
-<noscript>
-<img width="1" height="1" alt="" src="http://logp.xiti.com/hit.xiti?s=24121&s2=3&p=Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&di=&" >
-</noscript>
-<!-- /xiti -->
-</body><div style="display: none; width: 24px;" id="diigotb-imagepanel"><div
- class="diigotb-btn enabled" title="Save this image to Diigo" 
-id="diigotb-quick-save"></div></div><div style="display: none;" 
-class="diigotb-border diigotb-left"></div><div style="display: none;" 
-class="diigotb-border diigotb-top"></div><div style="display: none;" 
-class="diigotb-border diigotb-right"></div><div style="display: none;" 
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html class="js" dir="ltr" xml:lang="fr" 
+xmlns="http://www.w3.org/1999/xhtml" lang="fr"><head><link media="all" 
+href="emission_fichiers/widget40.css" type="text/css" rel="stylesheet">
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<script type="text/javascript" src="emission_fichiers/swfobject.txt"></script>
+<meta name="afs:suggest/onload" content="onSuggestLoad()">
+<link rel="shortcut icon" 
+href="http://www.franceculture.com/sites/default/files/franceculture_favicon.png"
+ type="image/x-icon">
+<link rel="alternate" type="application/rss+xml" title="Les Retours du 
+dimanche " href="http://www.franceculture.com/emission/1232581/rss">
+  <title>Le salaire de la politique ; les vuvuzelas ; l'actualité 
+politique belge - Information - France Culture</title>
+  <link type="text/css" rel="stylesheet" media="all" 
+href="emission_fichiers/css_e94d821d2c09c140834405452127e5ae.css">
+<link type="text/css" rel="stylesheet" media="screen" 
+href="emission_fichiers/css_bf9cf64d750be06f6006828a2bed7b98.css">
+<link type="text/css" rel="stylesheet" media="print" 
+href="emission_fichiers/css_8af77a07a1f960afe4e4736580827c7c.css">
+<!--[if lte IE 7]>
+<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/ie.css?y" />
+<link type="text/css" rel="stylesheet" media="all" href="/sites/all/themes/franceculture/footer2.css?y" />
+<![endif]-->
+  <script type="text/javascript" src="emission_fichiers/jquery_005.js"></script>
+<script type="text/javascript" src="emission_fichiers/drupal.js"></script>
+<script type="text/javascript" src="emission_fichiers/fr_4fb8f115d8d263374d07dafa1b2a40b5.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_widget_twitter.js"></script>
+<script type="text/javascript" src="emission_fichiers/youtube.js"></script>
+<script type="text/javascript" src="emission_fichiers/fivestar.js"></script>
+<script type="text/javascript" src="emission_fichiers/high.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_antidot_recherche.js"></script>
+<script type="text/javascript" src="emission_fichiers/panels.js"></script>
+<script type="text/javascript" src="emission_fichiers/popups_002.js"></script>
+<script type="text/javascript" src="emission_fichiers/popups.js"></script>
+<script type="text/javascript" src="emission_fichiers/tableheader.js"></script>
+<script type="text/javascript" src="emission_fichiers/comment.js"></script>
+<script type="text/javascript" src="emission_fichiers/textarea.js"></script>
+<script type="text/javascript" src="emission_fichiers/fc_bloc_direct.js"></script>
+<script type="text/javascript" src="emission_fichiers/ajax-responder.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_006.js"></script>
+<script type="text/javascript" src="emission_fichiers/rf_player.js"></script>
+<script type="text/javascript" src="emission_fichiers/rollover.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_002.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_003.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery.js"></script>
+<script type="text/javascript" src="emission_fichiers/footer.js"></script>
+<script type="text/javascript" src="emission_fichiers/jquery_004.js"></script>
+<script type="text/javascript" src="emission_fichiers/script.js"></script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+jQuery.extend(Drupal.settings, {"basePath":"\/","fivestar":{"titleUser":"Your rating: ","titleAverage":"Average: ","feedbackSavingVote":"Saving your vote...","feedbackVoteSaved":"Your vote has been saved.","feedbackDeletingVote":"Deleting your vote...","feedbackVoteDeleted":"Your vote has been deleted."},"adresseProxy":"http:\/\/www.franceculture.com\/proxy","popups":{"originalPath":"node\/2347301","defaultTargetSelector":"#main","modulePath":"sites\/all\/modules\/contrib\/popups","autoCloseFinalMessage":1},"fc_bloc_direct":{"interval":60000,"refresh_on_load":1}});
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2169101#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/778481#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/1061061#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/437741#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+function quelisentils_redirect() {
+  location.href = Drupal.settings.basePath + 'quelisentils/oeuvre/2357521#fc-quelisentils-comment-form';
+  location.reload(true);
+  return false;
+}
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+jQuery(document).ready(function() {
+    $(".more-doc").text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
+    $(".rel-doc .more-liste").hide();
+    
+$(".more-doc").toggle(
+function(){
+$(".rel-doc .more-liste").show("slow");
+$(this).text("n'afficher que les 3 premiers").css("background" , 'url("/sites/all/themes/franceculture/images/urg-up.png") no-repeat 100% 4px');
+},
+function(){
+$(".rel-doc .more-liste").hide("slow");
+$(this).text("voir les 5 documents").css("background" , 'url("/sites/all/themes/franceculture/images/urg-down.png") no-repeat 100% 4px');
+});
+});
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+
+    $(document).ready(function(){  
+      $('#cb-left').addClass('script-vertical');
+      $('#script-scroll').addClass('script');
+			$('#share').addClass('share-script');
+			$('.share-more').css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
+
+			$('.share-more').toggle(
+				function(){
+					$('.share-script .more-services').addClass('active');
+					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-less.png") no-repeat 100% 4px');
+				},
+				function(){
+					$('.share-script .more-services').removeClass('active');
+					$(this).css('background' , 'url("/sites/all/themes/franceculture/images/share-more.png") no-repeat 100% 4px');
+				}
+			);
+      $('span.more-services a.addthis_button_facebook').click(function() {
+        window.open(this.href, 'facebook-share', 'resizable=no,with=500,height=315');
+        return false;
+      });
+  });
+//--><!]]>
+</script>
+<script type="text/javascript">
+<!--//--><![CDATA[//><!--
+ 
+    $.fn.cleartextonfocus = function() {
+    	return this.focus(function() {
+    		if(this.value == this.defaultValue) {
+    			this.value = '';
+    		}
+    	}).blur(function() {
+    		if(!this.value.length) {
+    			this.value = this.defaultValue;
+    		}
+    	});
+    };
+
+    $(document).ready(function(){
+      $('textarea.clearonfocus').cleartextonfocus();
+    });
+  
+//--><!]]>
+</script>
+  <!--[if lte IE 7]><script type="text/javascript" src="/sites/all/themes/franceculture/ie.js?y"></script><![endif]--><script language="JavaScript">
+<!--
+//configuration
+OAS_url ='http://pub.ftv-publicite.fr/RealMedia/ads/';
+OAS_listpos = 'Middle,x02,BottomRight';
+OAS_query = '?';
+OAS_sitepage = 'www.radiofrance.fr/franceculture/les-retours-du-dimanche';
+//end of configuration
+OAS_version = 10;
+OAS_rn = '001234567890'; OAS_rns = '1234567890';
+OAS_rn = new String (Math.random()); OAS_rns = OAS_rn.substring (2, 11);
+function OAS_NORMAL(pos) { 
+  document.write("<a href='" + OAS_url + "click_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' target=_top>");
+  document.write("<img src='" + OAS_url + "adstream_nx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + "!" + pos + OAS_query + "' border=0 alt='Click!'></a>");
+}
+//-->
+</script>
+<script language="JavaScript1.1">
+<!--
+OAS_version = 11;
+if (navigator.userAgent.indexOf('Mozilla/3') != -1)
+  OAS_version = 10;
+  if (OAS_version >= 11)
+    document.write("<sc"+"ript language='JavaScript1.1' src='" + OAS_url + "adstream_mjx.ads/" + OAS_sitepage + "/1" + OAS_rns + "@" + OAS_listpos + OAS_query + "'><\/script>");
+//-->
+</script><script language="JavaScript1.1" src="emission_fichiers/1219830366Middlex02BottomRight.js"></script><script language="JavaScript">
+<!-- 
+document.write('');
+function OAS_AD(pos) {
+  if (OAS_version >= 11 && typeof(OAS_RICH!='undefined'))
+    OAS_RICH(pos);
+  else
+    OAS_NORMAL(pos);
+}
+//-->
+</script>
+<style type="text/css">/**
+ * Highlight style classes
+ * .a background color
+ * .b underline
+ * .c underline + font color
+ */
+ 
+@media screen{
+em.diigoHighlight {
+	text-align:inherit;
+	text-decoration: inherit;
+	line-height:inherit;
+	font:inherit;
+	color:inherit;
+	display:inline;
+	position:relative;
+}
+em.diigoHighlight.a.mouseOvered {
+	background-color: #ffc62a !important;
+}	
+
+em.diigoHighlight.b.mouseOvered, em.diigoHighlight.c.mouseOvered {
+	border-bottom: solid 2px #ffc62a;
+}
+	
+em.diigoHighlight.c {
+	color: #000099;
+}
+em.diigoHighlight.c.mouseOvered {
+	color: #ffc62a;
+}	
+
+em.diigoHighlight.a.yellow {
+	background-color: #FF9;
+}
+
+em.diigoHighlight.b.yellow, em.diigoHighlight.c.yellow {
+	border-bottom: solid 2px #FF9;
+}
+	
+img.diigoHighlight.yellow {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #FF9;
+}
+	
+em.diigoHighlight.a.blue {
+	background-color: #ABD5FF;
+}
+
+em.diigoHighlight.b.blue, em.diigoHighlight.c.blue {
+	border-bottom: solid 2px #ABD5FF;
+}
+	
+img.diigoHighlight.blue {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #ABD5FF;
+}
+	
+	
+em.diigoHighlight.a.green {
+	background-color: #B2E57E;
+}
+
+em.diigoHighlight.b.green, em.diigoHighlight.c.green {
+	border-bottom: solid 2px #B2E57E;
+}
+
+img.diigoHighlight.green {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #B2E57E;
+}	
+	
+	
+em.diigoHighlight.a.pink {
+	background-color: #ffcccc;
+}
+
+em.diigoHighlight.b.pink, em.diigoHighlight.c.pink {
+	border-bottom: solid 2px #ffcccc;
+}
+	
+img.diigoHighlight.pink {/*image highlight*/
+	cursor: pointer; 
+	outline:2px solid #ffcccc;
+}	
+	
+img.diigoHighlight.mouseOvered {
+	cursor: pointer; 
+	outline:2px solid #ffc62a;
+}	
+	
+
+div.diigotb-inline-cloud{
+	position:fixed !important;
+	width:440px !important;
+	height:370px !important;
+	left:0;top:0;
+	background-color:#fef5c7 !important;
+	z-index:9999999999 !important;
+	display:none;
+	-moz-border-radius:15px !important;
+}
+/*  capture image */
+
+.diigotb-body #diigotb-upload-cover{
+	cursor:crosshair!important;
+	z-index:1999999!important;
+	position:fixed!important;
+	left:0!important;
+	top:31px;
+}
+	
+.diigotb-body #diigotb-upload-tip{
+    color: #fff!important;
+    padding:2px 4px!important;
+    position:fixed!important;
+    z-index:11000001!important;
+}
+	
+.diigotb-body #diigotb-upload-select{
+	position:fixed!important;
+	z-index:1000001;
+}
+	
+.diigotb-body #diigotb-upload-resizer{
+	z-index:11000002!important;
+	position:fixed!important;
+	cursor:move!important;
+	border:1px dashed black!important;
+}
+	
+.diigotb-body #currentColor{
+  background-color: #fff!important;
+  width: 37px!important;
+  height: 37px!important;
+  padding: 1px!important;
+  border: 1px solid #2e68e6!important;
+  float: left!important;
+  margin: 0 5px 0 0!important;
+}
+	
+.diigotb-body #currentColor div{
+  width: 37px!important;
+  height: 37px!important;	
+  margin:0!important;
+}
+.diigotb-body .selectPanel{
+	margin-top:5px!important;
+}
+	
+.diigotb-body .colorCell{
+  float: left!important;
+  margin: 0 1px 1px 0!important;
+  border: 1px solid #5f92ff!important;
+  width: 18px!important;
+  height: 18px!important;
+}
+	
+.diigotb-body .colorCell:hover{
+  border: 1px solid #FF9900!important;
+}
+.diigotb-body .colorCell.actived{
+  border: 1px solid #FF9900!important;
+}	
+	
+.diigotb-body .colorCell div{
+  width: 18px!important;
+  height: 18px!important;
+  cursor:pointer!important;
+  margin:0!important;
+}
+
+.diigotb-body .capture-black{background-color:#000!important;}
+.diigotb-body .capture-white{background-color:#fff!important;}
+.diigotb-body .capture-gray{background-color:#808080!important;}
+.diigotb-body .capture-light-gray{background-color:#c0c0c0!important;}
+
+.diigotb-body .capture-red{background-color:#ff0000!important;}
+.diigotb-body .capture-cyan{background-color:#00ffff!important;}
+.diigotb-body .capture-orange{background-color:#ff9900!important;}
+.diigotb-body .capture-blue{background-color:#0000ff!important;}
+
+.diigotb-body .capture-yellow{background-color:#ffff00!important;}
+.diigotb-body .capture-purple{background-color:#9900ff!important;}
+.diigotb-body .capture-green{background-color:#00ff00!important;}
+.diigotb-body .capture-pink{background-color:#ff00ff!important;}
+	
+.diigotb-body #diigotb-colorpanel{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-left.png) no-repeat scroll left center!important;
+	display:block;
+	height:55px!important;
+	position:fixed!important;
+	width:180px!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+	
+.diigotb-body .diigotb-cbg{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-bg-right.png) no-repeat scroll right top!important;
+	height:55px!important;
+	line-height:55px!important;
+	padding-left:6px!important;
+	width:180px!important;
+	margin:0!important;
+}
+
+	
+.diigotb-body #currentArrow{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow.png) no-repeat scroll 0 0!important;
+	height:6px!important;
+	left:0;
+	position:relative!important;
+	top:-5px;
+	width:7px!important;
+	margin:0!important;
+}
+	
+.diigotb-body #currentArrow._istop{
+	background:transparent url(chrome://diigotb/skin/ann-bar-palette-arrow-down.png) no-repeat scroll 0 0!important;
+	top:51px!important;
+}
+	
+	
+.diigotb-body #diigotb-text-area{
+	position:fixed!important;
+	z-index:11000010!important;
+}
+	
+.diigotb-body .diigotb-text-input{
+	font: 18px/22px Helvetica,Arial,sans-serif!important;
+	border:0px solid #5f92ff!important;
+	z-index:11000011!important;
+}	
+	
+.diigotb-body #diigotb-editpanel{
+	background:transparent url(chrome://diigotb/skin/ann-bar-bg-right.png) no-repeat scroll right center!important;
+	height:35px!important;
+	position: fixed!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+	
+	
+.diigotb-body .diigotb-btn div{
+	cursor:pointer!important;
+	width:18px!important;
+	height:18px!important;
+	margin:2px!important;
+}
+.diigotb-body .diigotb-btn{
+	width:23px!important;
+	height:23px!important;
+}
+		
+	
+.diigotb-body #diigotb-editpanel .diigotb-bg{
+	background:transparent url(chrome://diigotb/skin/ann-bar-bg-left.png) repeat-x scroll left center!important;
+	height:35px!important;
+	padding-left:6px!important;
+	line-height:35px!important;
+	margin:0!important;
+}
+	
+		
+.diigotb-body div.diigotb-tip{
+	-moz-border-radius:4px 4px 4px 4px;
+	background-color:#f1f2f7;
+	border:1px solid #767676;
+	color:black;
+	display:none;
+	-moz-box-shadow:5px 5px 5px -5px #767676;
+	font:12px Arial,Helvetica,sans-serif;
+	margin:0 !important;
+	padding:3px 6px !important;
+	position:absolute;
+	z-index:2147483647;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn{
+	padding:0px!important;
+	display:inline-table!important;
+	margin-bottom:0 !important;
+	margin-left:0 !important;
+	margin-right:0 !important;
+	margin-top:5px;
+}
+	
+	
+.diigotb-body #diigotb-editpanel div.diigotb-sep img{
+	pading:0!important;
+	margin:0!important;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-sep{
+	pading:4px 0!important;
+	display:inline-table!important;
+	margin:0!important;
+	line-height:0 !important;
+}	
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn.enabled:hover{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
+}
+	
+.diigotb-body #diigotb-editpanel #diigotb-undo.enabled div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-editpanel div.diigotb-btn.actived{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-current.png') no-repeat!important;
+}
+	
+.diigotb-image-border{
+	border:1px solid #666 !important;
+}
+	
+#diigotb-imagepanel{
+	height:22px!important;
+	position: absolute!important;
+	z-index:11000022!important;
+	margin:0!important;
+}
+
+#diigotb-imagepanel .diigotb-btn{
+	cursor:pointer!important;
+	width:20px!important;
+	height:20px!important;
+	margin:2px!important;
+	float:left !important;
+	background:transparent url(chrome://diigotb/skin/save-image-action-icons.png) no-repeat scroll!important;
+}	
+	
+	
+#diigotb-imagepanel #diigotb-quick-save{
+	background-position:0 0!important;
+}
+		
+#diigotb-imagepanel.processing #diigotb-quick-save{
+	background-position:0 -20px!important;
+	cursor:default!important;
+}
+
+		
+#diigotb-imagepanel.needpremium #diigotb-quick-save{
+	background-position:0 -20px!important;
+	cursor:default!important;
+}	
+
+#diigotb-imagepanel.hassaved #diigotb-quick-save{
+	background-position: -60px 0!important;
+	cursor: pointer !important;
+}
+
+.diigotb-imagetip{
+	background:transparent url(chrome://diigotb/skin/notice-bar-bg-right.png) no-repeat scroll right center !important;
+	height:21px !important;
+	margin:0 !important;
+	position:absolute !important;
+	z-index:11000022 !important;
+	width:106px;
+}
+	
+.diigotb-imagebg{
+	background:transparent url(chrome://diigotb/skin/notice-bar-bg-left.png) repeat-x scroll left center !important;
+	height:21px !important;
+	margin:0 !important;
+	padding-left:6px !important;
+	width:90px;
+}
+	
+.diigotb-imagetip-text{
+	padding-left:20px!important;
+	font:11px/13px Helvetica,Arial,sans-serif!important;
+	color:white!important;
+	line-height:20px!important;
+	float:left;
+}
+	
+.diigotb-imagetip.processing .diigotb-imagetip-text{
+	background:transparent url(chrome://diigotb/skin/processing-fb.gif) no-repeat scroll left center !important;
+}
+	
+.diigotb-imagetip.hassaved .diigotb-imagetip-text{
+	background:transparent url(chrome://diigotb/skin/icon-done.png) no-repeat scroll left center !important;
+}
+	
+.diigotb-border{
+	position: absolute!important;
+	z-index:11000000!important;
+	margin:0!important;
+	background-color: #4b8cdc!important;
+}
+.diigotb-left{
+	width:1px!important;
+}
+.diigotb-right{
+	width:1px!important;
+}
+.diigotb-top{
+	height:1px!important;
+}
+.diigotb-bottom{
+	height:1px!important;
+}
+
+.diigotb-body #diigotb-rect div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-rectangle.png') no-repeat center center!important;
+}	
+.diigotb-body #diigotb-round div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-ellipse.png') no-repeat center center!important;
+}
+.diigotb-body #diigotb-text div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-font.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-arrow div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-arrow.png') no-repeat center center!important;
+}
+	
+.diigotb-body .diigotb-sep{
+	background: transparent url('chrome://diigotb/skin/ann-bar-bg-separator.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-undo div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-undo-disabled.png') no-repeat center center!important;
+}
+	
+.diigotb-body #diigotb-capture-save div{
+	background: transparent url('chrome://diigotb/skin/ann-bar-opt-quickly-save.png') no-repeat center center!important;
+}
+	
+	
+	
+.diigotb-body #diigotb-upload-resizer div {
+  position: absolute!important;
+  width: 9px!important;
+  height: 9px!important;
+  /*background-color: white;*/
+  z-index:11000002!important;
+  margin:0px!important;
+  background:transparent url(chrome://diigotb/skin/spot.png) no-repeat scroll left center!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gleft {
+  left: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gtop {
+  top: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gright {
+  right: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gbottom {
+  bottom: -9px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.ghor {
+  margin-left: auto!important;
+  margin-right: auto!important;
+  left: 0px!important;
+  right: 0px!important;
+}
+
+.diigotb-body #diigotb-upload-resizer div.gver {
+  margin-top: auto!important;
+  margin-bottom: auto!important;
+  top: 0px!important;
+  bottom: 0px!important;
+}
+	
+.diigotb-body{
+	padding-top: 31px!important;
+}
+	
+.diigotb-body #diigotb-topbar{
+  background: url(chrome://diigotb/skin/topbar-bg.png) left top repeat-x!important;
+  border-bottom: 1px solid #999!important;
+  color: #555!important;
+  font: 12px/18px Helvetica,Arial,sans-serif!important;
+  height: 30px!important;
+  line-height: 30px!important;
+  position: fixed!important;
+  left: 0!important;
+  top: 0!important;
+  text-align:center!important;
+  z-index:1999999!important;
+}
+
+.diigotb-body #diigotb-msg img{
+  margin:0 5px 0 0!important;
+  vertical-align: middle!important;
+}
+	
+.diigotb-body #diigotb-msg{
+	color:#333!important;
+}
+
+.diigotb-body #diigotb-msg a{
+  color: #0044cc!important;
+  text-decoration: none!important;
+}
+
+.diigotb-body #diigotb-msg a:hover{
+  text-decoration: underline!important;
+}
+
+.diigotb-body #diigotb-escLink{
+  display: block!important;
+  float: right!important;
+  margin: 5px 5px 0 0!important;
+  text-decoration: none!important;
+  width: 50px!important;
+  cursor:pointer!important;
+}
+
+.diigotb-body #diigotb-escLink:hover{
+  text-decoration: underline!important;
+}
+
+.diigotb-body #diigotb-escLink span{
+  background: url(chrome://diigotb/skin/esc-right.png) right top no-repeat!important;
+  display: block!important;
+  padding-right: 9px!important;
+}
+
+.diigotb-body #diigotb-escLink span strong{
+  background: url(chrome://diigotb/skin/esc-left.png) left top no-repeat!important;
+  display: block!important;
+  color: #fff!important;
+  font-weight: 700!important;
+  line-height: 20px!important;
+  text-indent:7px!important;
+}
+	
+	
+
+/*highlight label*/
+.diigoHighlight .diigoHighlightLabel sup {
+	font:normal normal normal 8px/8px "lucida grande",tahoma,verdana,arial,sans-serif;
+	text-decoration:none;
+	background-color:inherit;
+	cursor:default;
+}
+	
+body.diigoHiPen.yellow{
+	cursor:url(chrome://diigotb/skin/highlighter-orange.cur), text !important
+}
+	
+body.diigoHiPen.blue{
+	cursor:url(chrome://diigotb/skin/highlighter-blue.cur), text !important
+}
+
+body.diigoHiPen.green{
+	cursor:url(chrome://diigotb/skin/highlighter-green.cur), text !important
+}	
+	
+body.diigoHiPen.pink{
+	cursor:url(chrome://diigotb/skin/highlighter-pink.cur), text !important
+}
+em.diigoHighlight.type_0.commented {	
+	padding-left:30px;
+}
+	
+/*float note*/
+div.diigoHighlight.type_2 {
+	position:absolute;
+	width:29px;
+	height:36px;
+	text-align:center;
+	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat 50% 50%;
+	z-index:9996;
+}
+div.diigoHighlight.type_2.mouseOvered {
+	position:absolute;
+	width:37px;
+	height:31px;
+	text-align:center;
+	background:transparent url('chrome://diigotb/skin/float_icon.png') no-repeat;
+	z-index:9996;
+}	
+div.diigoHighlight.type_2 span {
+	color:#000;
+	font:bold 13px Arial, Helvetica, sans-serif;
+	cursor: default;
+	line-height: 37px;
+	text-shadow: #fff 0 1px 0;
+}
+/*
+* html div.diigoHighlight.type_2{
+	filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale, src="http://www.diigo.com/javascripts/webtoolbar/images/float_icon.png");
+	overflow:hidden;
+	background:none;
+}
+*/
+	
+
+div.diigoIcon.commented.TextIcon.diigoEdit{
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+
+	
+div.diigoIcon.commented.ImageIcon.diigoEdit{
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+
+
+/*mouse over effect*/
+/*
+.diigoHighlight.id_190e5778b533dc0fa1b1660653a4f6f5 {outline: 2px dotted green !important;}
+*/
+div.diigoIcon{
+	cursor:pointer !important;
+	margin: 0pt; 
+	padding: 0px 0px 0px 0px;
+	position: absolute;
+	display:none;
+	width: 24px !important; 
+	z-index:999999;
+	height: 23px !important;
+	background: transparent url('chrome://diigotb/skin/edit-highlight.png') no-repeat left;
+}
+
+div.diigoIcon span{
+	color:#000000;
+	display:block;
+	font-family:Helvetica,Arial,sans-serif;
+	font-size:13px;
+	font-weight:700;
+	line-height:18px;
+	text-align:center;
+	text-shadow:0 1px 1px #FFFFFF;
+}
+
+div.diigoIcon.commented.ImageIcon{
+	display:block !important;
+	background-color: transparent !important;
+}
+	
+div.diigoIcon:hover{
+	background-background: transparent !important;
+	background-repeat:no-repeat !important;
+	background-position:right !important;
+}
+	
+div.diigoIcon.commented.TextIcon{
+	display:block !important;
+	left:0;
+	bottom:0;
+}
+	
+div.diigoIcon.commented.public{
+	background: #FFFFFF url('chrome://diigotb/skin/public-annotation.png') no-repeat left;
+}
+
+div.diigoIcon.commented.private{
+	background: #FFFFFF url('chrome://diigotb/skin/private-annotation.png') no-repeat left;
+}
+	
+div.diigoIcon.commented.group{
+	background: #FFFFFF url('chrome://diigotb/skin/group-annotation.png') no-repeat left;
+}
+	
+/*Clip video*/
+div.diigoClipVideo{
+	float:left;
+	height:16px;
+	padding:0 16px 0 6px;
+	background:#f5f5f5 url(chrome://diigotb/skin/toolbar-clip-bg.gif) no-repeat right 0;
+	border:1px solid #ccc;
+	border-bottom-width:0;
+	font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
+	z-index:999;
+	position:absolute;
+}
+
+div.diigoClipVideo.clipped {
+  background-position: right -32px; left: 717px; top: 135px;
+}
+
+	div.diigoClipVideo span{
+		font-weight:bold;
+		font-size:10px;
+		line-height:16px;
+		text-decoration:underline;
+		color:#03f;
+		cursor:pointer;
+		margin-right:6px
+	}
+	div.diigoClipVideo span:hover,div.diigoClipVideo span:active{
+		color:#00f
+	}
+	/*.diigolet input{
+		font-family:"lucida grande",tahoma,verdana,arial,sans-serif;
+		font-size:9px;
+	}*/
+	
+/*-----------notice msg--------------*/
+.diigotb-notice-img  {
+	float:left!important;
+	height:16px!important;
+	width:16px!important;
+	margin-top:6px!important;
+	margin-right:3px!important;
+}
+.success .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll 0 0 transparent!important;
+}
+.failed .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -16px 0 transparent!important;
+}
+.info .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -32px 0 transparent!important;
+}
+.process .diigotb-notice-img{
+	background:url("chrome://diigotb/skin/processing.gif") no-repeat scroll left 0 transparent!important;
+}	
+	
+.diigotb-notice-msg-rt  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left bottom transparent!important;
+	line-height:28px!important;
+	padding-left:10px!important;
+	height:30px!important;
+}
+.failed .diigotb-notice-msg-rt  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-left.png") no-repeat scroll left top transparent!important;
+}
+	
+.diigotb-notice-close{
+	float:right!important;
+	height:16px!important;
+	width:16px!important;
+	margin-left:20px!important;
+	margin-top:6px!important;
+	cursor:pointer;
+	background:url("chrome://diigotb/skin/notice-icons.png") no-repeat scroll -48px 0 transparent!important;
+}
+
+.diigotb-notice-close:hover{
+	background-position: -63px 0!important;
+}
+	
+.diigotb-notice-msg  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right bottom transparent!important;
+	float:right!important;
+	height:30px!important;
+	padding:0 11px 0 0!important;
+	border: none!important;
+	margin:0!important;
+	position:fixed!important;
+	font:12px/14px Helvetica,Arial,sans-serif!important;
+	z-index:100000!important;
+}
+.diigotb-notice-msg a {
+	color:#0044cc!important; 
+	text-decoration:underline!important;
+}
+	
+.failed.diigotb-notice-msg  {
+	background:url("chrome://diigotb/skin/notice-bar-2-bg-right.png") no-repeat scroll right top transparent!important;
+}
+	
+}
+
+
+@media print{
+em.diigoHighlight.a, em.diigoHighlight.b, em.diigoHighlight.c {
+	border-bottom:0.5pt dashed Black;
+}
+
+
+/*image highlight*/
+/*no inline comments*/
+img.diigoHighlight {
+	border:0.5pt dashed Black
+}
+
+/*float note*/
+div.diigoHighlight.type_2 {
+	display:none
+}
+div.diigoHighlight.type_2 span {
+	display:none
+}
+}</style><style id="diigo-activeHighlight" type="text/css">dummyRuleForDigg{}</style></head><body
+ class="not-front not-logged-in node-type-rf-diffusion one-sidebar 
+sidebar-right emissions page-node-2347301 
+section-emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg
+ popups-processed tableHeader-processed"><div id="_atssh" 
+style="visibility: hidden; height: 1px; width: 1px; position: absolute; 
+z-index: 100000;"><iframe src="emission_fichiers/sh20.htm" 
+style="height: 1px; width: 1px; position: absolute; z-index: 100000; 
+border: 0pt none; left: 0pt; top: 0pt;" id="_atssh433"></iframe></div>
+	<div id="header-commun" class="header-footer content-header-footer"><div
+ id="header-content"><ul><li class="first-header"><a 
+href="http://radiofrance.fr/" name="top-page-ancre">radiofrance.fr</a></li><li><a
+ href="http://www.franceinter.com/">france inter</a></li><li><a 
+href="http://www.france-info.com/">france info</a></li><li><a 
+href="http://www.francebleu.com/">france bleu</a></li><li><a 
+href="http://www.franceculture.com/">france culture</a></li><li><a 
+href="http://www.francemusique.com/">france musique</a></li><li><a 
+href="http://fip-radio.com/">fip</a></li><li><a 
+href="http://www.lemouv.com/">le mouv'</a></li><li class="last-header"><a
+ href="http://concerts.radiofrance.fr/">les orchestres</a></li></ul><div
+ class="clearer">&nbsp;</div></div></div><div id="page">
+    <div id="page-inner"> 
+<!-- début du header -->
+                <div id="header">
+                    <!-- début du menu d'accès rapide -->
+                    <div id="acces-rapide"><a name="top"></a>
+                    <a href="#acces-navigation-primaire" 
+title="descriptif du lien">acces rapide a la navigation principale</a><br>
+                    <a href="#acces-navigation-secondaire" 
+title="descriptif du lien">acces rapide a la navigation secondaire</a><br>
+                    <a href="#acces-contenu" title="descriptif du lien">acces
+ rapide au contenu</a><br>
+                    <a href="#acces-right" title="descriptif du lien">acces
+ rapide au contenu de droite</a><br>
+                    <a href="#acces-footer" title="descriptif du lien">acces
+ rapide au footer</a><br>
+                    </div>
+            <a href="http://www.franceculture.com/" class="retour-home"><img
+ src="emission_fichiers/logo.png" alt="Accueil" height="106" width="106"></a>
+            <div id="block-simplenews-65" class="block block-simplenews">
+  <div class="block-inner">
+  
+  <div class="block-content">
+        <p>Recevez la lettre d'information</p>
+  
+      <form 
+action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
+ accept-charset="UTF-8" method="post" id="simplenews-block-form-65">
+<div><div class="form-item" id="edit-mail-1-wrapper">
+ <label for="edit-mail-1">E-mail&nbsp;: <span class="form-required" 
+title="Ce champ est obligatoire.">*</span></label>
+ <input maxlength="128" name="mail" id="edit-mail-1" size="20" 
+value="identifiant@mail.com" class="form-text required idleField" 
+type="text">
+</div>
+<div class="form-radios"><div class="form-item" 
+id="edit-action-subscribe-wrapper">
+ <label class="option" for="edit-action-subscribe"><input 
+id="edit-action-subscribe" name="action" value="subscribe" 
+checked="checked" class="form-radio" type="radio"> S'abonner</label>
+</div>
+<div class="form-item" id="edit-action-unsubscribe-wrapper">
+ <label class="option" for="edit-action-unsubscribe"><input 
+id="edit-action-unsubscribe" name="action" value="unsubscribe" 
+class="form-radio" type="radio"> Se désabonner</label>
+</div>
+</div><input name="submit" value="Enregistrer" id="edit-submit-1" 
+class="form-submit submit" src="emission_fichiers/inscription.png" 
+type="image">
+<input name="form_build_id" id="form-d495e634489f3be0bd7ebbe9bf42e037" 
+value="form-d495e634489f3be0bd7ebbe9bf42e037" type="hidden">
+<input name="form_id" id="edit-simplenews-block-form-65" 
+value="simplenews_block_form_65" type="hidden">
+
+</div></form>
+  
+  
+  
+    </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+            <div class="search"><form 
+action="/emission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg"
+ accept-charset="UTF-8" method="post" id="antidot-search-block-form-1">
+<div><div class="form-item" id="search_top_page-wrapper">
+ <label for="search_top_page">Cherchez sur France Culture&nbsp;: </label>
+ <input maxlength="128" name="antidot_search_block_form" 
+id="search_top_page" size="15" title="Entrez les termes que vous voulez 
+rechercher." autocomplete="off" class="form-text idleField" type="text">
+</div>
+<input name="op" id="edit-submit" value="Recherche" class="submit 
+rollover" src="emission_fichiers/search-submit.png" alt="Rechercher" 
+height="26" type="image" width="26"><input name="form_build_id" 
+id="form-0fb0ec9e93007e0870ba7f8b130bd7f7" 
+value="form-0fb0ec9e93007e0870ba7f8b130bd7f7" type="hidden">
+<input name="form_id" id="edit-antidot-search-block-form-1" 
+value="antidot_search_block_form" type="hidden">
+
+</div></form>
+</div>            
+            <!--block de navigation secondaire -->
+            <a name="acces-navigation-secondaire"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            <ul class="" id="menu-top"><li class="leaf first menu-top"><a
+ href="http://www.franceculture.com/quelisentils" title="" accesskey="b">Que
+ lisent-ils ?</a></li>
+<li class="leaf  menu-top"><a 
+href="http://www.franceculture.com/votre-agenda" title="" accesskey="b">Votre
+ agenda Culture</a></li>
+<li class="leaf  menu-top"><a 
+href="http://www.franceculture.com/culture-academie" title="" 
+accesskey="b">Culture Académie</a></li>
+<li class="leaf  menu-top login"><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Connexion [Popup]" alt="Connexion" class="popups-form-reload 
+popups-processed" accesskey="b">Connexion</a></li>
+<li class="leaf last menu-top register"><a 
+href="http://www.franceculture.com/user/register-profile" title="pas 
+encore membre ? [Popup]" alt="pas encore membre ?" 
+class="popups-form-reload popups-processed" accesskey="b">pas encore 
+membre ?</a></li>
+</ul>            <!-- block de navigation principale -->
+            <a name="acces-navigation-primaire"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            <ul class="" id="menu-principal"><li class="leaf first 
+menu-principal"><a 
+href="http://www.franceculture.com/rubrique/information" title="" 
+accesskey="b">Information</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/litt%C3%A9rature" title="" 
+accesskey="b">Littérature</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/id%C3%A9es" title="" 
+accesskey="b">Idées</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/arts-spectacles" title="" 
+accesskey="b">Arts et spectacles</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/histoire" title="" 
+accesskey="b">Histoire</a></li>
+<li class="leaf  menu-principal"><a 
+href="http://www.franceculture.com/rubrique/sciences" title="" 
+accesskey="b">Sciences</a></li>
+<li class="leaf  first menu-action"><a 
+href="http://www.franceculture.com/podcasts" title="" accesskey="b">Podcasts</a></li>
+<li class="leaf  menu-action"><a 
+href="http://www.franceculture.com/emissions/titre" title="" 
+accesskey="b">Emissions</a></li>
+<li class="leaf last menu-action"><a 
+href="http://www.franceculture.com/grille-des-programmes/" title="" 
+accesskey="b">Programmes</a></li>
+</ul>            
+    <div id="x02">
+      <script language="JavaScript">
+        <!--
+        OAS_AD("x02");
+        //-->
+      </script>
+    </div>        </div><!-- /header -->
+        
+        <!-- début du contenu -->   
+        <div id="main"><a name="acces-contenu"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+            
+            <div id="content">
+                                                                      
+                <div id="content-inner">
+                                    <div id="content-top">
+                      <div id="block-fcbloc-emission-header" 
+class="block block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  
+	<div class="bandeau">
+		<h1 class="theme1-130">Les Retours du dimanche 
+			<a href="http://www.franceculture.com/emission/1232581/rss" 
+class="feed-icon"><img src="emission_fichiers/picto-rss.gif" 
+alt="Syndiquer le contenu" title="Les Retours du dimanche " height="16" 
+width="16"></a>
+			<span class="emission-producteurs">par <a 
+href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
+ Broué</a>, <a 
+href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
+Gardette</a></span>
+			<a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche.html"
+ class="site" title="Les Retours du dimanche ">Le site de l'émission</a>
+		</h1>
+		<div class="image">
+		<img src="emission_fichiers/retour_dimanche.png" alt="Les Retours du 
+dimanche " title="" height="100" width="640">
+		<a href="http://www.franceculture.com/podcast/1232581" title="Les 
+Retours du dimanche "><img 
+src="emission_fichiers/culture_les_retours_du_dimanche.jpg" 
+alt="Emission Les Retours du dimanche " title="" class="illu-small" 
+height="75" width="75"></a>
+		</div>
+		<p>le dimanche de 18h10 à 19h </p>
+	</div>
+		  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+ 
+                  </div>
+                                                      
+                  <div id="node-2347301" class="node node-rf_diffusion">
+
+	
+	  	  <div class="titre-plus">
+	    <div class="listen">
+                  <a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player?p=reecoute-2347301#reecoute-2347301">
+            <img alt="Ecoutez l'émission" 
+src="emission_fichiers/listen.png" height="78" width="78">
+          </a>
+	  <span>50 minutes</span>
+        	    </div>
+	    <h2 class="title">
+	      Le salaire de la politique ; les vuvuzelas ; l'actualité 
+politique belge          	      <a class="num-com" href="#comments">
+	          <span>0</span>
+	        </a>
+        	    </h2>
+	    <p>
+	      <span class="date">20.06.2010 - 18:10</span>
+	      	    </p>
+	    <div class="clear"></div>
+	    	  </div>
+	  	  	
+	  	
+	  	  <span class="print-link"></span><div class="field 
+field-type-multimedia-editorial-element field-field-contenu">
+    <div class="field-items">
+            <div class="field-item odd">
+                    <div class="dnd-drop-wrapper">
+
+  
+  <div class="image atom-Image">
+      <img class="dnd-dropped" src="emission_fichiers/Garrigou.jpg" 
+alt="">
+      <div class="opaque"><p>le sociologue Alain Garrigou <span>©Radio 
+France</span></p></div>
+  </div>
+  
+
+</div><p>Au sommaire des <strong>Retours du dimanche </strong>:</p><p>&nbsp;</p><p>La
+
+
+ revue 
+d'actualités : rappel des petits et grands évènements de la semaine. : <a
+ title=" ça s'est passé cette semaine" 
+href="http://www.franceculture.com/2010-06-19-20-juin-2010-ca-s-039-est-passe-cette-semaine.html">il
+ faut reconnaître un mérite à Raymond Domenech et à ses joueurs...</a></p><p>&nbsp;</p><p>L'entretien
+
+
+
+ : "<a href="#t=700">Le salaire de la politique</a>", <span><span 
+class="262252614-17062010">après que la question de la rémunération des 
+politiques a été posée par le 
+premier ministre&nbsp;cette semaine. Invité : </span></span>l'historien 
+et professeur en science politique <strong>Alain Garrigou</strong>, 
+auteur de <em>Mourir pour des Idées, la vie posthume d'Alphone Baudin</em>,
+ paru aux éditions Les Belles Lettres en avril 2010.</p><p>&nbsp;</p><p>&nbsp;</p>
+ 
+ <!-- START Integration testing  ###################################### --> 
+ <!-- IRI PLAYER EXPERIMENTATION --> 
+	
+	<script type="text/javascript" src="../src/js/LdtPlayer.js"></script> 
+	
+	<div id="LdtPlayer"></div> 
+	
+	<script  type="text/javascript">	
+		var config = {
+						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:1,
+							mode:'radio',
+							container:'LdtPlayer',
+							debug:false,
+							css:'../src/css/LdtPlayer.css'},
+						player:{
+							type:'jwplayer',
+							src:'../res/swf/player.swf'}
+					};
+		__IriSP.init(config);     
+	</script> 
+ 
+ 
+<!-- END  ###################################### ####################################--> 
+ 
+ <br/>
+ 
+ <p> <a href="#t=1773">La
+ revue de 
+presse </a>: les <strong>vuvuzelas comme phénomène identitaire</strong>, 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.<br>
+<br> <a href="#t=1846"> La bulle sonore :</a><strong> Patrick Roegiers</strong><strong> </strong>pour revenir
+ sur<strong> l'actualité politique en Belgique. </strong>Notre invité 
+est romancier, auteur de <em>La Belgique, Le roman d'un pays</em>, paru 
+chez Découvertes Gallimard en 2005, et <em>Le mal du pays, autoportrait 
+de la Belgique</em>, publié au Seuil en 2003. Il a récemment publié <em>La
+ Nuit du Monde</em>, au Seuil en janvier 2010.</p><p>&nbsp;</p><p>
+ <a href="#t=2647">La 
+chronique d'Anthony Bellanger de </a> <strong>Courrier
+ 
+International.</strong></p> 
+<p><br>Et comme chaque semaine : le sujet choisi par l'invité, notre 
+choix pour 
+la semaine à venir...</p>        </div>
+        </div>
+</div>
+	            <div class="clear"></div>
+	  
+          <p class="invites">Invités :<br>
+      <a 
+href="http://www.franceculture.com/personne-alain-garrigou.html">Alain 
+Garrigou</a>, professeur agrégé d'histoire et docteur en science 
+politique à l'université de Paris-X Nanterre<br><a 
+href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>      </p>
+        	    <p class="theme">Thèmes : 
+        <a href="http://www.franceculture.com/rubrique/information" 
+title="">Information</a>| <a 
+href="http://www.franceculture.com/theme/d%C3%A9bat" title="">Débat</a>|
+ <a href="http://www.franceculture.com/theme/gouvernement" title="">Gouvernement</a>|
+ <a 
+href="http://www.franceculture.com/theme/sciences-dures-et-sciences-humaines/histoire"
+ title="">Histoire</a>      </p>
+	  	  	  	  	  <div class="rel-doc">
+	    <h2 class="titre-barre"><span>Documents</span></h2>
+	    <ul><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
+    Mourir pour des idées, la vie posthume d'Alphone Baudin  </a>
+  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
+ Garrigou</a>  <span>
+  Belles lettres,   2010  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-mourir-pour-des-idees-la-vie-posthume-d-alphone-baudin-de-alain-garrigou.html">
+  <img src="emission_fichiers/baudin.jpg" alt="" title="" 
+class="imagecache imagecache-oeuvre_image_liste" height="143" width="95"></a>
+</li><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
+    Les élites contre la République : histoire et mutations de Sciences 
+Po et de l'ENA  </a>
+  <a href="http://www.franceculture.com/personne-alain-garrigou.html">Alain
+ Garrigou</a>  <span>
+  Editions La découverte,     </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-les-elites-contre-la-republique-histoire-et-mutations-de-sciences-po-et-de-l-ena-de-alain-gar">
+  <img 
+src="emission_fichiers/les_lites_contre_la_rpublique_histoire_et_mutations_de_scien.jpg"
+ alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
+height="157" width="95"></a>
+</li><li><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
+    Le mal du pays : autobiographie de la Belgique  </a>
+  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>  <span>
+  Seuil,   2003  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-le-mal-du-pays-autobiographie-de-la-belgique-de-patrick-roegiers.html">
+  <img 
+src="emission_fichiers/le_mal_du_pays_autobiographie_de_la_belgique20100424.jpg"
+ alt="" title="" class="imagecache imagecache-oeuvre_image_liste" 
+height="161" width="95"></a>
+</li><li style="display: none;" class="more-liste liste-clear"></li><li 
+style="display: none;" class="more-liste"><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
+    La nuit du monde  </a>
+  <a href="http://www.franceculture.com/personne-patrick-roegiers.html">Patrick
+ Roegiers</a>  <span>
+  Seuil,   2010  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-la-nuit-du-monde-de-patrick-roegiers.html">
+  <img src="emission_fichiers/la_nuit_du_monde20100423.jpg" alt="" 
+title="" class="imagecache imagecache-oeuvre_image_liste" height="143" 
+width="95"></a>
+</li><li style="display: none;" class="more-liste"><p>
+  <a 
+href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
+    L'évangile selon Jésus-Christ  </a>
+  <a 
+href="http://www.franceculture.com/personne-jos%C3%A9-saramago.html">José
+ Saramago</a>  <span>
+  Ed. du Seuil - coll. Points,   2000  </span>
+  </p>
+<a 
+href="http://www.franceculture.com/oeuvre-l-evangile-selon-jesus-christ-de-jose-saramago.html">
+  <img src="emission_fichiers/97820204039860-2000020811.jpg" alt="" 
+title="" class="imagecache imagecache-oeuvre_image_liste" height="158" 
+width="95"></a>
+</li></ul><div class="clear"></div><a style="background: 
+url(&quot;/sites/all/themes/franceculture/images/urg-down.png&quot;) 
+no-repeat scroll 100% 4px transparent;" class="more-doc">voir les 5 
+documents</a>	  </div>
+	  	  	<div class="clear"></div>
+	</div> <!-- /node -->
+  <div id="comments" class="com">
+    <h2 class="titre-barre"><span>0 commentaire</span></h2>
+    <div class="box">
+          <h2 class="title titre-barre"><span>Votre commentaire</span></h2>
+        <form action="/comment/reply/2347301" accept-charset="UTF-8" 
+method="post" id="comment-form">
+<div><div class="form-item" id="edit-name-wrapper">
+ <label for="edit-name">votre nom&nbsp;: </label>
+ <input maxlength="60" name="name" id="edit-name" size="30" 
+value="Anonyme" class="form-text idleField" type="text">
+</div>
+<div class="form-item" id="edit-mail-wrapper">
+ <label for="edit-mail">votre adresse électronique&nbsp;: </label>
+ <input maxlength="64" name="mail" id="edit-mail" size="30" 
+class="form-text idleField" type="text">
+</div>
+<div class="form-item" id="edit-comment-wrapper">
+ <label for="edit-comment">votre commentaire&nbsp;: <span 
+class="form-required" title="Ce champ est obligatoire.">*</span></label>
+ <div class="resizable-textarea"><span><textarea cols="60" rows="15" 
+name="comment" id="edit-comment" class="form-textarea resizable required
+ clearonfocus textarea-processed">Tapez ici vos commentaires</textarea><div
+ style="margin-right: -33px;" class="grippie"></div></span></div>
+</div>
+<div class="wysiwyg wysiwyg-format-5 wysiwyg-editor-none 
+wysiwyg-field-edit-comment wysiwyg-status-1 wysiwyg-toggle-1 
+wysiwyg-resizable-1"> </div><input name="form_build_id" 
+id="form-3d46a280b7c4d6960ed80ba3c5ae0418" 
+value="form-3d46a280b7c4d6960ed80ba3c5ae0418" type="hidden">
+<input name="form_id" id="edit-comment-form" value="comment_form" 
+type="hidden">
+<input name="op" id="edit-submit" value="Envoyer" class="form-submit" 
+type="submit"><div id="saving"><p class="saving">Enregistrement des 
+données…</p></div>
+<input name="op" id="edit-preview" value="Aperçu" class="form-submit" 
+type="submit">
+
+</div></form>
+</div> <!-- /box -->
+  </div>
+ <!-- /comment wrapper -->
+<div id="block-print-0" class="block block-print">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  <span class="print_html"><a 
+href="http://www.franceculture.com/print/463861" title="Imprimer le 
+contenu" class="print-page" onclick="window.open(this.href); return 
+false" rel="nofollow">imprimer</a></span>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="share" class="block block-addthis share-script">
+  
+		<div class="addthis_toolbox addthis_default_style">
+			<a class="addthis_button_email share-mail at300b" title="partager par
+ courier"><span class="at300bs at15t_email"></span>envoyer par courriel</a>
+			
+			<span class="more-services">
+				<a title="Send to Facebook" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=facebook&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_facebook share-services at300b"><span 
+class="at300bs at15t_facebook"></span>facebook</a>
+				<a title="Tweet This" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=twitter&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_twitter share-services at300b"><span 
+class="at300bs at15t_twitter"></span>twitter</a>
+				<a title="Send to Netvibes" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=netvibes&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_netvibes share-services at300b"><span 
+class="at300bs at15t_netvibes"></span>netvibes</a>
+				<a title="Send to Delicious" target="_blank" 
+href="http://www.addthis.com/bookmark.php?pub=&amp;v=250&amp;source=tbx-250&amp;tt=0&amp;s=delicious&amp;url=http%3A%2F%2Fwww.franceculture.com%2Femission-les-retours-du-dimanche-le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belg&amp;title=Le%20salaire%20de%20la%20politique%20%3B%20les%20vuvuzelas%20%3B%20l%27actualit%C3%A9%20politique%20belge%20-%20Information%20-%20France%20Culture&amp;content=&amp;sms_ss=1&amp;lng=fr"
+ class="addthis_button_delicious share-services at300b"><span 
+class="at300bs at15t_delicious"></span>delicious</a>
+			</span>
+			<a style="background: 
+url(&quot;/sites/all/themes/franceculture/images/share-more.png&quot;) 
+no-repeat scroll 100% 4px transparent;" href="#" title="plus d'actions 
+de partage" class="share-more">partager</a>
+		<div class="atclear"></div></div>
+		<script type="text/javascript" src="emission_fichiers/addthis_widget.js"></script>
+		</div>
+ 
+                  
+                  <div class="clear"></div>
+               </div> <!-- /content-inner -->
+                
+                            
+            </div> <!-- /content -->
+            
+                        <!-- début de sidebar-right -->   
+            <div id="sidebar-right"><a name="acces-right"></a><a 
+href="#top" class="back-to-top">retour en haut de page</a>
+               <div id="block-fc_bloc_direct-direct" class="block 
+block-fc_bloc_direct block-ecoute">
+  <div class="block-inner">
+      <h2 class="titre-barre"><span>Ecoutez France Culture</span></h2>
+    <div class="content"><div class="context">
+	<a href="http://www.franceculture.com/player" title="écouter le direct"
+ class="rf-player-open img-float rf-player-open-processed">
+		<img src="emission_fichiers/direct.png" alt="écouter le direct" 
+height="72" width="72">
+	</a>
+	<h3>
+		<span class="timer"><a href="http://www.franceculture.com/player" 
+class="rf-player-open rf-player-open-processed">En direct</a></span>
+		<a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player" title="écouter le direct">Sur
+ France Culture</a>
+		<a class="rf-player-open rf-player-open-processed" 
+href="http://www.franceculture.com/player" title="écouter le direct"></a>
+	</h3>
+	<p></p>
+	<div class="clear"></div>
+</div>
+<p>
+	<span class="timer"></span>
+	
+</p>
+<p class="auteur">
+	
+</p>
+</div>
+    </div>
+</div><div id="block-fcbloc-emission-equipe" class="block block-fcbloc">
+  <div class="block-inner">
+      <h2 class="title"><span>L'équipe</span></h2>
+  
+  <div class="block-content">
+  <div class="item-list"><ul><li class="first">
+			<h3>Production</h3>
+			<p><a 
+href="http://www.franceculture.com/personne-caroline-brou%C3%A9.html">Caroline
+ Broué</a>, <a 
+href="http://www.franceculture.com/personne-herve-gardette.html">Hervé 
+Gardette</a></p>
+			</li>
+<li>
+			<h3>Réalisation</h3>
+			<p>Jean-Christophe Francis</p>
+			</li>
+<li>
+			<h3>Collaboratrice(s) Spécialisée(s)</h3>
+			<p>Soline Ledésert</p>
+			</li>
+<li class="last">
+			<h3>Chronique(s)</h3>
+			<p><a 
+href="http://www.franceculture.com/personne-anthony-bellanger.html">Anthony
+ Bellanger</a></p>
+			</li>
+</ul></div>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-fcbloc-publicite" class="block block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  <p class="pub-notice">publicité</p><div class="pub-inner"><script language="JavaScript">
+<!--
+OAS_AD("Middle");
+//-->
+</script>&nbsp;</div>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-fcbloc-sur-le-meme-theme" class="block block-fcbloc">
+  <div class="block-inner">
+      <h2 class="title"><span>Sur le même thème</span></h2>
+  
+  <div class="block-content">
+  <div class="view view-commun-fo-blocs-full-node 
+view-id-commun_fo_blocs_full_node view-display-id-page_1 view-dom-id-12">
+    
+  
+  
+      <div class="view-content">
+        <ul>
+    <li class="first odd">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/culture-ac-seminaire-d%E2%80%99antoine-compagnon-ecrire-la-vie-26.html">Écrire
+ la vie (2/6)</a>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+00:00
+
+      </span>
+  
+    </li>
+      <li class="even">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-dossier-du-jour-conference-des-donateurs-a-kaboul-2010-07-20.html">Conférence
+ des donateurs à Kaboul</a>
+  
+
+      <p>
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-dossier-du-jour.html"> 
+Dossier du jour </a>
+      </p>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+À écouter le 19.07.2010
+
+      </span>
+  
+
+      <span>
+  
+    
+      <span class="timer"><span class="date-display-single">4</span> 
+min.</span>
+      </span>
+  
+    </li>
+      <li class="last odd">
+      
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-place-de-la-toile-lift-marseille-2010-07-24.html">Lift
+ Marseille</a>
+  
+
+      <p>
+  
+    
+      <a 
+href="http://www.franceculture.com/emission-place-de-la-toile.html">Place
+ de la toile</a>
+      </p>
+  
+
+      <span class="date">
+  
+    
+      <div class="clear"></div>
+À écouter le 16.07.2010
+
+      </span>
+  
+
+      <span>
+  
+    
+      <span class="timer"><span class="date-display-single">59</span> 
+min.</span>
+      </span>
+  
+    </li>
+    </ul>
+    </div>
+  
+  
+  
+  
+  
+  
+</div>   </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+<div id="block-views-diffusion_fo_blocs-block_1" class="block 
+block-views">
+  <div class="block-inner">
+      <h2 class="title"><span>Dernières diffusions</span></h2>
+  
+  <div class="block-content">
+  <div class="view view-diffusion-fo-blocs view-id-diffusion_fo_blocs 
+view-display-id-block_1 view-dom-id-13">
+    
+  
+  
+      <div class="view-content">
+      <div class="item-list">
+    <ul>
+          <li class="views-row views-row-1 views-row-odd 
+views-row-first">  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html">LES
+ RETOURS DU DIMANCHE - Best of 1/2</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-les-retours-du-dimanche-best-of-12-2010-07-18.html"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">18.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">49</span> min.</span></span>
+  </span>
+</li>
+          <li class="views-row views-row-2 views-row-even">  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m">Médias
+ et démocratie: quel est le rôle du journaliste ? ; le déclin du 
+ministère des affaires étrangères ; les Roms</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-medias-et-democratie-quel-est-le-role-du-journaliste-le-declin-du-m"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">11.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">50</span> min.</span></span>
+  </span>
+</li>
+          <li class="views-row views-row-3 views-row-odd views-row-last">
+  
+  <div class="views-field-title-1">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-">Qu'est-ce
+ qu'une découverte scientifique ? ; l'avenir d'Eric Woerth au 
+gouvernement ; hommage à Laurent Terzieff ; Percy Kemp</a></span>
+  </div>
+  
+  <div class="views-field-field-contenu-value">
+                <span class="field-content"><a 
+href="http://www.franceculture.com/emission-les-retours-du-dimanche-qu-est-ce-qu-une-decouverte-scientifique-l-avenir-d-eric-woerth-au-"
+ title="Audio"><img src="emission_fichiers/picto-ecoute-rouge.png" 
+alt="Écouter l'émission" title="Écouter l'émission" class="pictos 
+rollover" height="15" width="15"></a><a title="[Popup]" 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ class="popups-form-reload popups-processed"><img 
+src="emission_fichiers/more-red.png" alt="Ajouter à ma liste de lecture"
+ title="Ajouter à ma liste de lecture" class="pictos rollover" 
+height="15" width="15"></a><a 
+href="http://www.franceculture.com/user/connect?destination=node%2F2347301"
+ title="Mobile [Popup]" class="popups-form-reload popups-processed"><img
+ src="emission_fichiers/picto-mobile.png" alt="Recevoir l'émission sur 
+mon mobile" title="Recevoir l'émission sur mon mobile" class="pictos 
+rollover" height="15" width="15"></a></span>
+  </div>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value">
+                <span class="field-content"><span 
+class="date-display-single">04.07.2010</span></span>
+  </span>
+  
+  <span class="views-field-field-diffusion-date-debut-fin-value-1">
+                <span class="field-content"><span class="timer"><span 
+class="date-display-single">50</span> min.</span></span>
+  </span>
+</li>
+      </ul>
+</div>    </div>
+  
+  
+  
+  
+  
+  
+</div>   </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+ 
+            </div> <!-- /sidebar-right -->
+                    
+        <div class="clear"></div>
+        </div> <!-- /main -->
+
+        <!-- début du footer -->   
+        <div id="footer-top"><a name="acces-footer"></a><a href="#top" 
+class="back-to-top">retour en haut de page</a>
+           
+        <br class="clear">
+<div id="pub-bottom-right">
+           <div id="block-fcbloc-footer-adsense" class="block 
+block-fcbloc">
+  <div class="block-inner">
+  
+  <div class="block-content">
+  
+            <script language="JavaScript">
+            <!--
+              OAS_AD("BottomRight");
+            //-->
+            </script>  </div>
+
+      <div class="closure"></div>
+  </div>
+</div> <!-- /block -->
+         </div>
+        </div> <!-- /footer -->
+    
+    </div> <!-- /page-inner -->
+</div> <!-- /page -->
+  <div id="footer-commun" class="header-footer footer-franceculture"><div
+ class="content-header-footer"><div id="footer-chaine"><div 
+id="colonne-liens-footer" class="colonne-footer colonne-footer-first"><a
+ href="http://www.franceculture.com/"><img 
+src="emission_fichiers/franceculture.png" alt="logo de franceculture"></a><p><a
+ href="http://www.franceculture.com/sitemap">plan du site</a></p><p><a 
+href="http://www.franceculture.com/a_propos">à propos</a></p><p><a 
+href="http://www.franceculture.com/contact">contact</a></p></div><!--fin de div colonne-liens-footer--><div
+ id="colonne-ecouter-footer" class="colonne-footer"><h4>écouter</h4><ul><li
+ class="color-chaine "><a href="http://www.franceculture.com/player" 
+class="rf-player-open rf-player-open-processed">direct</a></li><li><a 
+href="http://www.franceculture.com/programmes">grille</a></li><li><a 
+href="http://www.franceculture.com/frequences">fréquences</a></li><li><a
+ href="http://www.franceculture.com/podcasts">podcasts</a></li><li><a 
+href="http://www.radiofrance.fr/boite-a-outils/widget/">applis</a></li><li><a
+ href="http://www.radiofrance.fr/boite-a-outils/faq/">aide à l'écoute</a></li></ul></div><!--fin de div colonne-thematique-footer--><div
+ id="colonne-thematique-footer" class="colonne-footer"><h4>thématiques</h4><ul><li><a
+ href="http://www.franceculture.com/rubrique/information">information</a>
+ - <span>économie, justice, politique française, relations 
+internationales</span></li><li><a 
+href="http://www.franceculture.com/rubrique/litterature">littérature</a>
+ - <span>édition, poésie, prix littéraires, roman, théâtre</span></li><li><a
+ href="http://www.franceculture.com/rubrique/idees">idées</a> - <span>débats,
+ philosophie, sociologie</span></li><li><a 
+href="http://www.franceculture.com/rubrique/arts-spectacles">arts &amp; 
+spectacles</a> - <span>architecture, cinéma, danse, musique, spectacle, 
+télévision</span></li><li><a 
+href="http://www.franceculture.com/rubrique/histoire">histoire</a> - <span>histoire
+ de l'art, histoire de France, histoire des idées, histoire des sciences</span></li><li><a
+ href="http://www.franceculture.com/rubrique/sciences">sciences</a> - <span>astronomie,
+ biologie, mathématiques, physique</span></li><li><a 
+href="http://www.franceculture.com/quelisentils">que lisent-ils</a> - <a
+ href="http://www.franceculture.com/votre-agenda">votre agenda culturel</a>
+ - <a href="http://www.franceculture.com/culture-academie">culture 
+académie</a> - <a href="http://www.franceculture.com/blogs">les blogs</a></li></ul></div><!--fin de div colonne-partager-footer--><div
+ id="colonne-partager-footer" class="colonne-footer colonne-footer-last"><div
+ id="liens-partage-footer"><h4>nous rejoindre</h4><ul><li 
+id="facebook-footer"><a 
+href="http://www.facebook.com/pages/FRANCE-CULTURE/83625483348?ref=ts" 
+class="gris">facebook</a></li><li id="twitter-footer"><a 
+href="http://www.twitter.com/france_culture" class="gris">twitter</a></li><li
+ id="dailymotion-footer"><a 
+href="http://www.dailymotion.com/franceculture" class="gris">dailymotion</a></li><li
+ class="clearer">&nbsp;</li></ul></div><!--fin de bloc 1--><div><h4>s'abonner</h4><span><a
+ href="http://www.franceculture.com/podcasts" class="gris">podcasts</a></span>
+ - <span><a href="http://www.franceculture.com/la-lettre" 
+class="color-chaine">newsletter</a></span></div></div><!--fin de div colonne-partager-footer--><div
+ class="clearer">&nbsp;</div></div><div id="sous-footer"><div 
+id="footer-rf"><ul><li class="first"><a 
+href="http://www.radiofrance.fr/">radiofrance.fr</a></li><li><a 
+href="http://www.radiofrance.fr/les-blogs/blog-du-mediateur/">médiateur</a></li><li><a
+ href="http://www.radiofrance.fr/liens-bas-de-page/mentionslegales/">mentions
+ légales</a></li><li class="last"><a 
+href="http://www.radiofrance.fr/boite-a-outils/frequences/">fréquences</a></li><li
+ class="last-page"><span class="haut-de-page"><a href="#top-page-ancre" 
+id="top-page" class="gris">haut de page</a></span></li></ul><p>Radio 
+France décline toute responsabilité quant au contenu des sites proposés 
+en liens</p></div><!--fin de div footer-rf--></div></div></div>  <script type="text/javascript">
+<!--//--><![CDATA[//><!--
+$.post(Drupal.settings.basePath + 'jstats.php', {"path":"node\/2347301","nid":"2347301"});
+//--><!]]>
+</script>
+<!-- eStat -->
+<script language="JavaScript">
+<!--
+var _PJS=0;
+//-->
+</script>
+<script language="JavaScript" src="emission_fichiers/265074200838.js"></script>
+<script language="JavaScript">
+<!--
+if(_PJS)
+{
+  eStat_id.cmclient("franceculture");
+  eStat_id.niveau(1,"information");
+  eStat_id.niveau(2,"les-retours-du-dimanche");
+  eStat_id.niveau(3,"le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20");
+  eStat_id.niveau(4,"histoire-gouvernement-debat");
+  eStat_tag.post("ml");
+}
+//-->
+</script>
+<noscript>
+<img src="http://stat3.cybermonitor.com/franceculture_v?c=information&p=les-retours-du-dimanche&l3=le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&l4=histoire-gouvernement-debatst=0&sjs=0" border="0" width="1" height="1" />
+</noscript>
+<!-- /eStat -->
+<!-- xiti -->
+<script type="text/javascript">
+<!--
+xtnv = document;        //parent.document or top.document or document         
+xtsd = "http://logp";
+xtsite = "24121";
+xtn2 = "3";   // level 2 site 
+xtpage ="Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20";        //page name
+xtdi = "";        //implication degree
+//-->
+</script>
+
+<script type="text/javascript" src="emission_fichiers/xtcore.js"></script>
+
+<noscript>
+<img width="1" height="1" alt="" src="http://logp.xiti.com/hit.xiti?s=24121&s2=3&p=Emissions::les-retours-du-dimanche::le-salaire-de-la-politique-les-vuvuzelas-l-actualite-politique-belge-2010-06-20&di=&" >
+</noscript>
+<!-- /xiti -->
+</body><div style="display: none; width: 24px;" id="diigotb-imagepanel"><div
+ class="diigotb-btn enabled" title="Save this image to Diigo" 
+id="diigotb-quick-save"></div></div><div style="display: none;" 
+class="diigotb-border diigotb-left"></div><div style="display: none;" 
+class="diigotb-border diigotb-top"></div><div style="display: none;" 
+class="diigotb-border diigotb-right"></div><div style="display: none;" 
 class="diigotb-border diigotb-bottom"></div></html>
\ No newline at end of file
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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(a<c.u(6)){a=6;s=p/4}j{s=p/(2*c.f)*c.v(6/a)}b-(a*c.m(2,q*(n-=1))*c.o((n*9-s)*(2*c.f)/p))+8},J:e(p,n,8,6,9){t a,s;d(n==0)b 8;d((n/=9/2)==2)b 8+6;a=6*0.3;p=9*.3;d(a<c.u(6)){a=6;s=p/4}j{s=p/(2*c.f)*c.v(6/a)}b a*c.m(2,-q*n)*c.o((n*9-s)*(2*c.f)/p)+6+8},H:e(p,n,8,6,9){t a,s;d(n==0)b 8;d((n/=9/2)==2)b 8+6;a=6*0.3;p=9*.3;d(a<c.u(6)){a=6;s=p/4}j{s=p/(2*c.f)*c.v(6/a)}d(n<1){b-.5*(a*c.m(2,q*(n-=1))*c.o((n*9-s)*(2*c.f)/p))+8}b a*c.m(2,-q*(n-=1))*c.o((n*9-s)*(2*c.f)/p)*.5+6+8}}});',46,46,'||||||delta||firstNum|duration||return|Math|if|function|PI|75|jQuery|easing|else|bounceout|5625|pow||sin||10|bouncein||var|abs|asin|linear|cos|bounceboth|984375|625|extend|easein|easeout|25|9375|easeboth|elasticboth|elasticin|elasticout'.split('|'),0,{}))
--- a/web/res/metadataplayer/test/interface 1.2/compressed/fisheye.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/compressed/fisheye.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,13 +1,13 @@
-/**
- * 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.
- *
- */
-
+/**
+ * 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.
+ *
+ */
+
 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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"),"<V />");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(\'<r 1d="t" h="1e: 1j; 10: 0; 1m: 0; 1l: 1k;"></r>\');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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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;i<m.17;i++){6 2a=I(m[i]);6 1J=!56(2a)?\'2Q\':(!/4q|15|1R|4r|4z|5a|5h|5E|5G|5H|5D/i.1I(m[i])?\'2h\':1b);7(1J){G(6 j=0;j<4.f.1t.17;j++){U=\'1u\'+4.f.1t[j]+1J;h[U]=1J==\'2h\'?[4.f.16(4.10(8,U)),4.f.16(m[i])]:[I(4.10(8,U)),2a]}}u{y[\'5C\']=m[i]}}2N}}u{y[o]=F}B 1b};G(p 1g W){7(p==\'1f\'){6 Q=4.20(W[p]);G(1e 1g Q){A.1T(1e,Q[1e])}}u 7(p==\'5g\'){7(1v.1L)G(6 i=0;i<1v.1L.17;i++){6 19=1v.1L[i].19||1v.1L[i].5k||1Q;7(19){G(6 j=0;j<19.17;j++){7(19[j].5t==\'.\'+W[p]){6 1d=1o 5d(\'\\.\'+W[p]+\' {\');6 Z=19[j].1f.5z;6 Q=4.20(Z.11(1d,\'\').11(/}/g,\'\'));G(1e 1g Q){A.1T(1e,Q[1e])}}}}}}u{A.1T(p,W[p])}}y.1S=1c==\'15\'?\'2P\':1c;y.1W=\'1R\';z.O=q(){6 t=(1o 2T()).2Y();7(t>k.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;i<Z.17;i++){1d=Z[i].2v(\':\');7(1d.17==2){Q[4.2O(1d[0].11(/\\-(\\w)/g,q(m,c){B c.4e()}))]=4.2O(1d[1])}}}B Q};',62,365,'||||jQuery||var|if|elem|||||255||fx||props|||options||||tp||function||||else|oldStyle||result|||this|return|easing|parseInt|wrs|vp|for|es|parseFloat|left|top|position|color|css|step|opacity|newStyles|margins|px|duration|nmp|old|prop|animationHandler|cs|styles|curCSS|replace|128||wr|none|parseColor|length|orig|cssRules|rgb|false|oldDisplay|rule|np|style|in|0px|0x|F0|fA|139|speed|timer|new|namedColors|hide|attr|queue|cssSides|border|document|pr|case|show|211|margin|exec|192|true|marginTop|borderColor|padding|opt|test|sideEnd|marginLeft|styleSheets|callback|marginBottom|marginRight|zIndex|null|hidden|display|getValues|complete|startTime|overflow|visibility|restoreStyle|absolute|parseStyle|parentNode|cssSidesEnd|borderWidth|oldFloat|stopAnim|sizes|Math|relative|typeof|floatVal|fontWeight|pValue|nodeName|169|object|pause|Color|browser|extend|currentStyle|styleFloat|wid|setInterval|each|notColor|107|144|100|230|140|split|240|224|165|999|msie|insertBefore|clearInterval|245|oldVisibility|height|width|apply|toggle|cssProps|oldOverflow|colorCssProps|linear|break|trim|block|Width|10000|firstNum|Date|delta|fxCheckTag|iUtil|isFunction|getTime|values|fxe|darkcyan|darkgrey|darkblue|black|aqua|wrapper|col|colgroup|azure|beige|brown|blue|220|cyan|189|darkred|td|tbody|204|tr|darksalmon|darkviolet|122|150|233|153|darkorchid|183|th|darkkhaki|tfoot|darkmagenta|darkolivegreen|caption|darkorange|thead|85|darkgreen|option|table|form|button|iframe|ul|dl|id|div|148|ol|textarea|select|random|w_|float|getSize|createElement|img|hr|input|br|wrapEl|addClass|appendChild||getMargins|optgroup|alpha|frameset||frame|listStyle|header|script|filter|meta|toUpperCase|wb|hb|fxWrapper|buildWrapper|cssFloat|destroyWrapper|firstChild|removeChild|body|lightpink|maxHeight|transparent|dotted|fuchsia|maxWidth|minHeight|paddingBottom|outlineWidth|outlineOffset|minWidth|dashed|lineHeight|borderLeftWidth|borderBottomWidth|100000000|match|borderRightWidth|borderTopWidth|letterSpacing|fontSize|bottom|paddingLeft|paddingRight|fn|Left|Bottom|Right|animate|stop|PI|cos|switch|stopAll|Top|outlineColor|backgroundColor|textIndent||right|paddingTop|borderBottomColor|borderLeftColor||isNaN|borderTopColor|borderRightColor|window|solid|238|lightgreen|RegExp|lightcyan|lightgrey|className|double|193|182|rules|216|173|indigo|green|215|gold|75|130|selectorText|lightblue|khaki|lime|lightyellow|yellow|cssText|white|magenta|borderStyle|outset|groove|dequeue|ridge|inset|silver|string|red|navy|orange|maroon|pink|toLowerCase|purple|203|olive'.split('|'),0,{}))
--- a/web/res/metadataplayer/test/interface 1.2/compressed/ifxblind.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/compressed/ifxblind.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,13 +1,13 @@
-/**
- * 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.
- *   
- *
- */
+/**
+ * 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.
+ *   
+ *
+ */
 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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(\'<t N="2"></t>\');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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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"></1j>\').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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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.A<f){f=1}e=7(\'g\',5.4.K);5.4.s=f;8(e.19()>0){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.A<f){f=1}}e=7(\'g\',5.4.K);5.4.s=f;8(e.19()>0){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.A<f||f<1){f=1}5.4.s=f;F=7.J.18(5);1T=7.J.2b(5);1X=7.J.26(5);8(5.4.v){5.4.v.o.9(\'q\',\'L\')}8(5.4.r){5.4.r.o.9(\'q\',\'L\')}8(5.4.l){y=C(1T.t)+C(1X.t);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}}8(!5.4.1s){5.4.1W=o.l?o.l.V:(C(5.4.l.9(\'V\'))||0);5.4.1s=o.l?o.l.H:(C(5.4.l.9(\'H\'))||0)}5.4.l.9(\'z\',y+(F.h-5.4.1W)/2+\'n\');5.4.l.9(\'1h\',(F.1N-5.4.1s)/2+\'n\');5.4.l.9(\'q\',\'1x\')}e=7(\'g\',5.4.K);8(e.19()>0){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(\'<g I="\'+u.I+\'" />\');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(\'<R 10="27"></R>\');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(\'<a U="#\'+13+o.m+\'" 10="2j" 1p="\'+6.4.e[i].15+\'">\'+13+\'</a>\'+(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(\'<R 10="29">&1F;</R>\');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(\'<a U="#2\'+o.m+\'" 10="1S">&1F;</a>\');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(\'<a U="#0\'+o.m+\'" 10="1V">&1F;</a>\');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(\'<R 10="1H"></R>\');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(\'<R 10="2a" 1a="q: L;"><g I="\'+o.l+\'" /></R>\');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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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;</1P>\');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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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(\'<m V="s"><m V="12"></m><m V="W"></m></m>\');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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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,{}))
--- 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(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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()+\'</8P>\'});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()+\'</8P>\'}});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<ar.1g;i++){81[ar[i].4Y]=ar[i].7c.h4}2n.1f[1u].1D(2n,[81])}},di:u(e){if(k.N.1R){if(k.N.2h!=S)k.N.1R.K(k.N.2h||0).3l=\'\';k.N.1R.K(k.N.2h||0).3l=\'\';k.N.2h=T(q.5C(\'8K\'))||0;k.N.1R.K(k.N.2h||0).3l=k.N.1d.1f.7H}},dj:u(2k){1X.bH(k.N.2I);2k=2k||k.2k.gS(1X.2k);2k.aP();2k.aW();D 1d=k.N.aY(k.N.1d);D 3M=q.5C(\'4I\');k.N.1d.2y=1d.3j+3M+k.N.1d.1f.3N+1d.66;k.N.4y=q.5C(\'4I\');k.N.6J(k.N.1d,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g,1d.3j.1g+3M.1g+k.N.1d.1f.3N.1g);k.N.4w();if(k.N.1d.1f.68){4u=T(q.5C(\'8K\'))||0;k.N.8Q(k.N.1d,k.N.1d.1f.4e.K(4u),\'68\')}E I},eJ:u(e){3K=e.7L||e.7K||-1;if(/13|27|35|36|38|40/.48(3K)&&k.N.1R){if(1X.2k){1X.2k.bT=1b;1X.2k.c0=I}P{e.aP();e.aW()}E I}},2r:u(M){if(!M.aN||!k.1a){E}if(!k.N.1c){if(k.3a.4t){k(\'2e\',1h).1S(\'<3A 14="19:1o;Y:1P;5E:9n:9w.9y.cC(1G=0);" id="ds" 2J="ek:I;" ej="0" ep="cD"></3A>\');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;</9h></22>\');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;i<k.1y.29.1g;i++){if(!k.1y.29[i].2X){k.1y.29[i].2X=k.23(k.1a.7G(k.1y.29[i]),k.1a.74(k.1y.29[i]),k.1a.6z(k.1y.29[i]))}P{k.1y.29[i].2X.t=k.1y.29[i].3d;k.1y.29[i].2X.l=k.1y.29[i].3c}if(k.1y.4Q.A&&k.1y.4Q.A.7q==1b){69={x:k.1y.4Q.A.2v,y:k.1y.4Q.A.2q,1C:k.1y.4Q.A.1B.1C,hb:k.1y.4Q.A.1B.hb}}P{69=k.23(k.1a.7G(k.1y.4Q),k.1a.74(k.1y.4Q))}if(k.1y.29[i].2X.t>0&&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(45<F.A.6M){E}P{k.11.ea(e)}}D dx=F.A.4B.x-F.A.1s.x;D dy=F.A.4B.y-F.A.1s.y;24(D i in F.A.5t){D 3y=F.A.5t[i].1D(F,[F.A.2c.x+dx,F.A.2c.y+dy,dx,dy]);if(3y&&3y.1K==7M){dx=i!=\'7R\'?3y.dx:(3y.x-F.A.2c.x);dy=i!=\'7R\'?3y.dy:(3y.y-F.A.2c.y)}}F.A.2v=F.A.1B.x+dx-F.A.9B;F.A.2q=F.A.1B.y+dy-F.A.ai;if(F.A.5i&&(F.A.3H||F.A.2Z)){k.3b.3H(F,F.A.2v,F.A.2q)}if(F.A.4m)F.A.4m.1D(F,[F.A.2c.x+dx,F.A.2c.y+dy]);if(!F.A.1O||F.A.1O==\'4j\'){F.A.8y=F.A.2c.x+dx;k.11.1c.K(0).14.O=F.A.2v+\'U\'}if(!F.A.1O||F.A.1O==\'49\'){F.A.8v=F.A.2c.y+dy;k.11.1c.K(0).14.Q=F.A.2q+\'U\'}if(k.1x&&k.1x.8D>0){k.1x.al(F)}E I},2r:u(o){if(!k.11.1c){k(\'2e\',1h).1S(\'<22 id="e8"></22>\');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.2v||5G>(k.11.F.A.2q+k.11.F.A.1B.h)||(5G+7S)<k.11.F.A.2q)?1b:I},1s:u(5J,5G,7Q,7S){E 5J<k.11.F.A.4B.x&&(5J+7Q)>k.11.F.A.4B.x&&5G<k.11.F.A.4B.y&&(5G+7S)>k.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"),"<br />");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;\',\'>\':\'&gt;\',\'"\':\'&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;"></22>\');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;i<k.fx.8A.1g;i++){D 64=k.fx.cc[2w][0]+k.fx.8A[i]+k.fx.cc[2w][1];2j[64]=2w==\'a8\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),2m(m[i])]}1r;1e\'2E\':24(D i=0;i<m.1g;i++){D bd=2m(m[i]);D a9=!hX(bd)?\'dK\':(!/cu|1o|2K|hY|hZ|i6|i7|ii|ij|ik|il/i.48(m[i])?\'bh\':I);if(a9){24(D j=0;j<k.fx.8A.1g;j++){64=\'2E\'+k.fx.8A[j]+a9;2j[64]=a9==\'bh\'?[k.fx.6D(k.6E(2f,64)),k.fx.6D(m[i])]:[2m(k.6E(2f,64)),bd]}}P{y[\'ie\']=m[i]}}1r}}P{y[2w]=43}E I};24(p in 5X){if(p==\'14\'){D 5f=k.bl(5X[p]);24(7A in 5f){q.ag(7A,5f[7A])}}P if(p==\'3l\'){if(1h.af)24(D i=0;i<1h.af.1g;i++){D 7e=1h.af[i].7e||1h.af[i].i9||S;if(7e){24(D j=0;j<7e.1g;j++){if(7e[j].i8==\'.\'+5X[p]){D 6X=12 bb(\'\\.\'+5X[p]+\' {\');D 5Z=7e[j].14.9X;D 5f=k.bl(5Z.4E(6X,\'\').4E(/}/g,\'\'));24(7A in 5f){q.ag(7A,5f[7A])}}}}}}P{q.ag(p,5X[p])}}y.19=72==\'1o\'?\'2B\':72;y.2U=\'2K\';z.2D=u(){D t=(12 7g()).7z();if(t>M.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"></22>\');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.Q<k.R.1A.1k.7h){4W=1I.W+2z.Q-k.R.1A.1k.7h;2z.Q=k.R.1A.1k.7h;if(k.R.1A.1k.4v){4p=4W/k.R.1A.1k.4v;3m(k.R.41){1e\'76\':1e\'w\':1e\'5F\':2z.O+=1I.Z-4p;1r}1I.Z=4p}1I.W=4W}if(2z.O<k.R.1A.1k.70){4p=1I.Z+2z.O-k.R.1A.1k.70;2z.O=k.R.1A.1k.70;if(k.R.1A.1k.4v){4W=4p*k.R.1A.1k.4v;3m(k.R.41){1e\'n\':1e\'76\':1e\'at\':2z.Q+=1I.W-4W;1r}1I.W=4W}1I.Z=4p}if(2z.Q+1I.W>k.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-20<q.3d){D 3X=18.3L(3e.t,10);99-=3X;9g+=3X;q.3d-=3X}P if(q.3d+q.f.1M.h<q.f.3e.h&&1s.y+20>q.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-20<q.3c){D 3X=18.3L(3e.l,10);93-=3X;5F+=3X;q.3c-=3X}P if(q.3c+q.f.1M.w<q.f.3e.w&&1s.x+20>q.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.l||q.1M.y>k.2C.b||(q.1M.y+q.1M.hb)<k.2C.t)){k.96=1b;if(q.s!=1b){q.s=1b;k(q).2R(k.3k.f.7j)}if(aw!=-1){q.s=I;k(q).4i(k.3k.f.7j)}}P if((q.s==1b)&&(aw==-1)){q.s=I;k(q).4i(k.3k.f.7j)}P if((!q.s)&&(k.7n==1b)&&(aw!=-1)){q.s=1b;k(q).2R(k.3k.f.7j)}});E I};k.cX=u(e){if(!k.3k)E;k.g0.1D(k.3k,[e])};k.g0=u(e){k(1h).3q(\'3D\',k.am).3q(\'5P\',k.cX);if(!k.3k)E;k.2C.B(\'19\',\'1o\');if(q.f.hc)k.2C.4i(q.f.hc);k.3k=I;k(\'2e\').1S(k.2C.K(0));if(k.96==1b){if(q.f.98)q.f.98(k.cJ(k.1p(q,\'id\')))}P{if(q.f.9d)q.f.9d(k.cJ(k.1p(q,\'id\')))}k.7o=[]};k.cJ=u(s){D h=\'\';D o=[];if(a=k(\'#\'+s)){a.K(0).f.el.1E(u(){if(q.s==1b){if(h.1g>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"></22>\').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"></22>\');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<el.L.1Q.1g;i++){7Z=T(i)+1;el.L.1U.o.1S(\'<a 3h="#\'+7Z+o.1Z+\'" 6T="gR" 4g="\'+el.L.1Q[i].6L+\'">\'+7Z+\'</a>\'+(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;</22>\');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(\'<a 3h="#2\'+o.1Z+\'" 6T="eY">&7k;</a>\');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(\'<a 3h="#0\'+o.1Z+\'" 6T="ee">&7k;</a>\');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"></22>\');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+\'" /></22>\');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;i<k.1t.7s.1g;i++){D 1j=k.1x.3P[k.1t.7s[i]].K(0);D id=k.1p(1j,\'id\');D 8i=k.1t.8x(id);if(1j.1i.ay!=8i.7l){1j.1i.ay=8i.7l;if(8q==I&&1j.1i.2Z){8q=1j.1i.2Z}8i.id=id;86[86.1g]=8i}}k.1t.7s=[];if(8q!=I&&86.1g>0){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;</22>\');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><22 id="bL"></22></22>\');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<m;i++)if(q[i]==v)E i;E-1});',62,1293,'||||||||||||||||||||jQuery||||||this||||function||||||dragCfg|css|elm|var|return|dragged|easing|speed|false|callback|get|ss|options|iAuto|left|else|top|iResize|null|parseInt|px|oldStyle|height|slideshow|position|width||iDrag|new||style||||Math|display|iUtil|true|helper|subject|case|autoCFG|length|document|dropCfg|iEL|resizeOptions|carouselCfg|duration|interfaceFX|none|attr|sizes|break|pointer|iSort|type|ImageBox|queue|iDrop|iAutoscroller|slide|resizeElement|oC|wb|apply|each|fisheyeCfg|opacity|delta|newSizes|bind|constructor|custom|pos|size|axis|absolute|images|items|append|img|slideslinks|255|firstNum|window|show|container||complete|div|extend|for||start||cont|elsToScroll|100|loader|oR||body|elem|typeof|selectedItem|oldP|props|event|accordionCfg|parseFloat|field|getSize|containment|ny|build|relative|iTooltip|islideshow|nx|tp|slideCaption|value|newPosition|Function|block|selectHelper|step|border|itemWidth|hide|dequeue|timer|src|hidden|right|limit|nr|fractions|0px|PI|addClass|direction|end|overflow|cursorAt|result|parentData|onShow|onChange|to|parentNode|||||||||browser|iSlider|scrollLeft|scrollTop|scr|transferHelper|text|href|onHide|pre|selectdrug|className|switch|visibility|item|wrapper|unbind|max|nextslide|values|currentslide|handle|getPosition|html|newCoords|prevslide|iframe|iExpander|accept|mousemove|canvas|createElement|margins|onSlide|zIndex|indexOf|pressedKey|min|valueToAdd|multipleSeparator|pageSize|zones|highlighted|toggle|abs|onStop|dragElem|times|fadeDuration|diff|dhs|handlers||resizeDirection||vp|so|distance|ghosting||test|vertically|getPointer|startTop|offsetWidth|subjectValue|lastSuggestion|DropOutDirectiont|title|wrs|removeClass|horizontally|startLeft|out|onDrag|oP|onStart|nWidth|percent|down|ifxFirstDisplay|msie|iteration|ratio|clear|color|lastValue|slideCfg|fontSize|currentPointer|dimm|bottom|replace|up|prevImage|tooltipCFG|rel|els|fxCheckTag|context|nextImage|params|shs|fieldData|elToScroll|nodeEl|borderTopWidth|chunks|destroy|string|nHeight|paddingLeft|tagName|currentStyle||halign|slidePos|onclick|delay||containerW|from|helperclass|endLeft|endTop|borderLeftWidth|dragmoveBy|documentElement|dhe|newStyles|clonedEl|click|si|marginLeft|marginBottom|clientScroll|OpenClose|paddingBottom|empty|toWrite|selectionStart|overzone|toAdd|onDragModifier|holder|mousedown|animate|toDrag|cnt|marginRight|linksPosition|blur|getAttribute|hight|filter|sw|zoney|cos|slideshows|zonex|marginTop|collected|paddingTop|url|borderRightWidth|mouseup|borderBottomWidth|activeLinkClass|dragHandle|clearInterval|paddingRight|sortCfg|offsetHeight|prop|oldVisibility|styles||BlindDirection|point|fxh|nmp|old|post|currentPanel|onSelect|elementData|grid|pow|toLowerCase|animationHandler|cur|containerH|close|puff|getWidth|currentRel|imageEl|Expander|getHeight|iFisheye|random|newDimensions|itemHeight|reflections|sliders|selRange|wr|orig|margin|maxWidth|keyup|getScroll|captionText|totalImages|128|parseColor|curCSS|outerContainer|Scale|restore|tolerance|selection|focus|caption|snapDistance|revert|current|3000|captionPosition|hpc|onload|class|getBorder|setInterval|oldStyleAttr|rule|rgb|open|minLeft|ActiveXObject|oldDisplay|restoreStyle|getSizeLite||nw|0x||F0|fadeOut|focused|firstChild|while|cssRules|fadeIn|Date|minTop|backgroundColor|sc|nbsp|hash|captionEl|selectKeyHelper|selectCurrent|newTop|init|newLeft|changed|Draggable|inFrontOf|efx|139|onHover|onOut|getTime|np|keydown|split|radiusY|increment|Array|getPositionLite|selectClass|opera|onHighlight|keyCode|charCode|Object|toInteger|frameClass|hasTabsEnabled|zonew|user|zoneh|positionItems|onClick|oD|scrollIntoView|accordionPos|proximity|indic||data|containerSize|sin|iTTabs||ts|ImageBoxPrevImage|ImageBoxNextImage|imageSrc|newPos|maxHeight|minHeight|elS|activeClass|panels|maxBottom|maxRight|ser|move|opened|bounceout|animationInProgress|overlay|stop|reflectionSize|fnc|classname|insideParent|offsetLeft|jEl|nRy|pr|serialize|nRx|tooltipHelper|cssSides|mouseout|select|count|namedColors|padding|offsetTop|directionIncrement|parentEl|400|dir|expand|createTextNode|finishedPre|clientHeight|li|applyOn|content|contBorders|object|parentBorders|alpha|clientWidth|png|gallery|fontWeight|link|yproc|xproc|sx|parent|showImage|selectedone|imgs|onselect|sy|startDrag|cursor|captionClass|onselectstop|getElementById|linksClass|sh|ul|onActivate|isDroppable|nextEl|onDrop|oldTitle|progid|prevslideClass|prevEl|oldPosition|SliderContainer|Image|linkRel|selectKeyUp|selectKeyDown|DXImageTransform|inCache|Microsoft|mouseover|dragstop|diffX|211|nextslideClass|prot|auto|dEs|hidehelper|isDraggable|activeclass|unit|DoFold|unfold|nodeName|startTime|buildWrapper|prev|1px|oldColor|setTimeout|ScrollTo|st|sl|cssText|9999|next|destroyWrapper|opt|diffHeight|diffWidth|exec|hoverclass|image|blind|borderColor|sideEnd|self|key||default|2000|styleSheets|getValues|192|diffY|lnk|reflexions|checkhover|selectcheck|maxRotation|ImageBoxOuterContainer|gradient|panelHeight|childs|headers|ne|hideImage|minWidth|iIndex|itemsText|os|side|iCarousel|5625|1000|itemMinWidth|linksSeparator|setSelectionRange|protectRotation|positionContainer|posx|hoverClass|valToAdd|minchars|helperClass|source|nextImageEl|preventDefault|multiple|headerSelector|DraggableDestroy|getPadding|autofill|handleEl|stopPropagation|prevImageEl|getFieldValues|panelSelector|String|createTextRange|floats|lastSi|shrink|oPad|windowSize|paddingLeftSize|angle|paddingY|paddingX|RegExp|borderRightSize|floatVal|firstStep|pulse|Pulsate|Color|rotationSpeed|paddingBottomSize|remove|parseStyle|getClient|Number|helperSize|bounce|doTab||zoom|borderLeftSize|oBor|paddingRightSize|borderTopSize|paddingTopSize|stopAnim|pValue|borderBottomSize|extraWidth|restricted|autoSize|unselectable|SliderIteration|prepend|clearTimeout|isSlider|oneIsSortable|applyOnHover|tooltipURL|tabindex|draginit|mouse|restoreStyles|sliderSize|sliderPos|parentPos|cancelBubble|autocomplete|inputWidth|oldBorder|dragmove|clnt|sliderEl|returnValue|loaderWidth|idsa|letterSpacing|pause|getContainment|fade|snapToGrid|linear|10000|slideshowHolder|asin|cssSidesEnd|borderWidth|fitToContainer|TEXTAREA|entities|INPUT|spacer|writeItems|character|currentValue|paddings|169|oldFloat|borders|hidefocused|bouncein||modifyContainer|transparent|center|loadImage|func|getMargins|initialPosition|textAlign|innerHeight|Alpha|no|captionImages|closeEl|shake|prevTop|traverseDOM|Selectserialize|stopDrag|slider|ImageBoxCaption|ImageBoxIframe|300|ImageBoxOverlay|sortable|moveDrag|autoplay|measure|prevLeft|intersect|ImageBoxCurrentImage|selectstop|Shake|index|dragEl|keyPressed|scrollHeight|scroll|innerWidth|match|elPosition|scrollWidth|textImage|slideBor|jpg|captionSize|textImageFrom|visible||loaderHeight|ImageBoxCaptionImages||hoverItem|clickItem|emptyGIF||notColor|slideshowCaption|Droppable|goprev|childNodes|autocompleteHelper|autocompleteIframe|slidePad|fit|165|clientSize|||fontFamily|colorCssProps|elType|onhover|cssProps|expanderHelper|boxModel|itransferTo|keypress|moveStart|offsetParent|Width|selectstart|fxe|selectionEnd|checkCache|fontStyle|update|DroppableDestroy|remeasure|fontStretch|fontVariant|onblur|slideshowLoader|htmlEntities|wordSpacing|createRange|224|KhtmlUserSelect||closeHTML|on|sortHelper|245|userSelect|dragHelper|hrefAttr|dragstart|107|loaderSRC|highlight|slideshowPrevslide||gonext||styleFloat|frameborder|javascript|||relAttr|wid|scrolling||onslide|||listStyle|imageTypes|insertBefore|999|textDecoration|sqrt|140|230|maxy|240|ImageBoxContainer|doScroll|interval|set|dragmoveByKey|protect|ImageBoxCaptionText|144|ImageBoxLoader|off|checkdrop|isSelectable|hlt|30px|selectedclass|tooltipTitle|imagebox|shc|overlayOpacity|selRange2|slideshowNextSlide|gif|getSelectionStart|360|iAccordion|getElementsByTagName|iBounce|after|SortableAddItem|onResize|150|itemZIndex|grow|getHeightMinMax|borderTopUnit|selectcheckApply|borderRightUnit|zindex|fontUnit|togglehor|time|se|parte|easeout|isSortable||SlideInUp|fold|SlideOutUp|rgba|addColorStop|yfrac|containerMaxx|interfaceColorFX|containerMaxy||leftUnit|mousex||radiusX|check|getContext|xfrac|addItem|topUnit|fracH|cloneNode|togglever|paddingLeftUnit|borderBottomUnit|finish|onDragStop|onout|posy|isFunction|oldOverflow|directions|vertical|fracW|fakeAccordionClass|parts|fadeTo|inputValue|xml|selectstopApply|slideshowLinks|onDragStart|BlindUp|paddingTopUnit|500|trim|maxx|borderLeftUnit|paddingRightUnit|filteredPosition|BlindDown|paddingBottomUnit|horizontal|valign|find|ImageBoxClose|onselectstart|mozUserSelect|ondragstart|scale|110|globalCompositeOperation|bmp||drawImage|ondrop|password|quot||save|starty|jpeg|||number|startx|finishOpacity|hover|recallDroppables|flipv|finishx|destination|khtml|moz|lt|amp|pW|clientX|Accordion|translate|captiontext|elasticin|slideshowLink|fix|elasticout|resize|elasticboth|bounceboth|984375|9375|Selectable|30002|list|625|30001|nodeValue|before|100000|purgeEvents|substr|duplicate|moveEnd|||substring|success|param|par|array|Fisheye|name|POST|ajax|easeboth|location|fromHandler|collapse|MozUserSelect||ResizableDestroy|rotationTimer|fillRect|fill|WebKit|fillStyle|createLinearGradient|Resizable|navigator|appVersion|lineHeigt|alt|AlphaImageLoader|prototype|SliderGetValues|DisableTabs|Carousel|load|easein|IMG|200|Slider|ToolTip|wh|nextSibling|Autocomplete|SliderSetValues|pageX|float|centerEl|fixPNG|isNaN|dotted|dashed|stopAll|Left|outlineColor|Top|Right|Bottom|solid|double|selectorText|rules|onchange|SlideToggleRight|SlideOutRight||borderStyle||TransferTo||groove|ridge|inset|outset|borderTopColor||borderRightColor|olive|navy|orange||pink|203|maroon||magenta|182|193|lightyellow|lime|purple|red|outlineOffset|outlineWidth|borderBottomColor|borderLeftColor|lineHeight|loading|silver|white|yellow|Showing|100000000|SlideInRight|clientY|Highlight|SortableDestroy|CloseVertically|CloseHorizontally|FoldToggle|UnFold|SlideInDown|SlideToggleUp|SortSerialize|Fold|SwitchHorizontally|SwitchVertically|Sortable|scrollTo|EnableTabs|ScrollToAnchors|pt|Puff|OpenVertically|OpenHorizontally|Grow|Shrink|DropToggleRight|DropInRight|BlindToggleHorizontally|BlindRight|http|Bounce|120|BlindLeft|BlindToggleVertically|SlideToggleLeft|SlideOutLeft|toUpperCase|SlideInLeft|SlideToggleDown|SlideOutDown|DropOutLeft|DropInLeft|DropToggleLeft|DropOutRight|DropToggleUp|DropInUp|DropOutDown|DropInDown|DropToggleDown|DropOutUp|lightpink|textIndent|aqua|appendChild|azure|beige|220|last|cssFloat|first|ol|wrapEl|fxWrapper|black|imageLoaded|darkkhaki|darkgreen|189|183|darkmagenta|firstResize|darkgrey|brown|cyan|darkblue|darkcyan|table|form|col|tfoot|colgroup|th|header|thead|tbody|112|Autoexpand|tr|td|script|frame|input|pageY|textarea|button|w_|removeChild|frameset|option|optgroup|meta|darkolivegreen|blue|122|233|green|lightcyan|204|darkviolet|lightgreen|indigo|216|khaki|darksalmon|130|darkred|lightblue|148|173|215|238|fuchsia|gold|darkorchid|153|darkorange|lightgrey'.split('|'),0,{}))
--- a/web/res/metadataplayer/test/interface 1.2/source/accordion.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/source/accordion.js	Wed Apr 27 18:54:31 2011 +0200
@@ -1,165 +1,165 @@
-/**
- * Interface Elements for jQuery
- * Accordion
- * 
- * http://interface.eyecon.ro
- * 
- * Copyright (c) 2006 Stefan Petre
- * Dual licensed under the MIT (MIT-LICENSE.txt) 
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- */
-
-/**
- * Create an accordion from a HTML structure
- *
- * @example $('#myAccordion').Accordion(
- *				{
- *					headerSelector	: 'dt',
- *					panelSelector	: 'dd',
- *					activeClass		: 'myAccordionActive',
- *					hoverClass		: 'myAccordionHover',
- *					panelHeight		: 200,
- *					speed			: 300
- *				}
- *			);
- * @desc Converts definition list with id 'myAccordion' into an accordion width dt tags as headers and dd tags as panels
- * 
- * @name Accordion
- * @description Create an accordion from a HTML structure
- * @param Hash hash A hash of parameters
- * @option Integer panelHeight the pannels' height
- * @option String headerSelector selector for header elements
- * @option String panelSelector selector for panel elements
- * @option String activeClass (optional) CSS Class for active header
- * @option String hoverClass (optional) CSS Class for hovered header
- * @option Function onShow (optional) callback called whenever an pannel gets active
- * @option Function onHide (optional) callback called whenever an pannel gets incative
- * @option Function onClick (optional) callback called just before an panel gets active
- * @option Mixed speed (optional) animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast']
- * @option Integer crrentPanel (otional) the active panel on initialisation
- *
- * @type jQuery
- * @cat Plugins/Interface
- * @author Stefan Petre
- */
-jQuery.iAccordion = {
-	build : function(options)
-	{
-		return this.each(
-			function()
-			{
-				if (!options.headerSelector || !options.panelSelector)
-					return;
-				var el = this;
-				el.accordionCfg = {
-					panelHeight			: options.panelHeight||300,
-					headerSelector		: options.headerSelector,
-					panelSelector		: options.panelSelector,
-					activeClass			: options.activeClass||'fakeAccordionClass',
-					hoverClass			: options.hoverClass||'fakeAccordionClass',
-					onShow				: options.onShow && typeof options.onShow == 'function' ? options.onShow : false,
-					onHide				: options.onShow && typeof options.onHide == 'function' ? options.onHide : false,
-					onClick				: options.onClick && typeof options.onClick == 'function' ? options.onClick : false,
-					headers				: jQuery(options.headerSelector, this),
-					panels				: jQuery(options.panelSelector, this),
-					speed				: options.speed||400,
-					currentPanel		: options.currentPanel||0
-				};
-				el.accordionCfg.panels
-					.hide()
-					.css('height', '1px')
-					.eq(0)
-					.css(
-						{
-							height: el.accordionCfg.panelHeight + 'px',
-							display: 'block'
-						}
-					)
-					.end();
-					
-				el.accordionCfg.headers
-				.each(
-					function(nr)
-					{
-						this.accordionPos = nr;
-					}
-				)
-				.hover(
-					function()
-					{
-						jQuery(this).addClass(el.accordionCfg.hoverClass);
-					},
-					function()
-					{
-						jQuery(this).removeClass(el.accordionCfg.hoverClass);
-					}
-				)
-				.bind(
-					'click',
-					function(e)
-					{
-						if (el.accordionCfg.currentPanel == this.accordionPos)
-							return;
-						el.accordionCfg.headers
-							.eq(el.accordionCfg.currentPanel)
-							.removeClass(el.accordionCfg.activeClass)
-							.end()
-							.eq(this.accordionPos)
-							.addClass(el.accordionCfg.activeClass)
-							.end();
-						el.accordionCfg.panels
-						.eq(el.accordionCfg.currentPanel)
-							.animate(
-								{height:0},
-								el.accordionCfg.speed,
-								function()
-								{
-									this.style.display = 'none';
-									if (el.accordionCfg.onHide) {
-										el.accordionCfg.onHide.apply(el, [this]);
-									}
-								}
-							)
-						.end()
-						.eq(this.accordionPos)
-							.show()
-							.animate (
-								{height:el.accordionCfg.panelHeight},
-								el.accordionCfg.speed,
-								function()
-								{
-									this.style.display = 'block';
-									if (el.accordionCfg.onShow) {
-										el.accordionCfg.onShow.apply(el, [this]);
-									}
-								}
-							)
-						.end();
-						
-						if (el.accordionCfg.onClick) {
-							el.accordionCfg.onClick.apply(
-								el, 
-								[
-									this, 
-									el.accordionCfg.panels.get(this.accordionPos),
-									el.accordionCfg.headers.get(el.accordionCfg.currentPanel),
-									el.accordionCfg.panels.get(el.accordionCfg.currentPanel)
-								]
-							);
-						}
-						el.accordionCfg.currentPanel = this.accordionPos;
-					}
-				)
-				.eq(0)
-				.addClass(el.accordionCfg.activeClass)
-				.end();
-				jQuery(this)
-					.css('height', jQuery(this).css('height'))
-					.css('overflow', 'hidden');
-			}
-		);
-	}
-};
-
+/**
+ * Interface Elements for jQuery
+ * Accordion
+ * 
+ * http://interface.eyecon.ro
+ * 
+ * Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt) 
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ */
+
+/**
+ * Create an accordion from a HTML structure
+ *
+ * @example $('#myAccordion').Accordion(
+ *				{
+ *					headerSelector	: 'dt',
+ *					panelSelector	: 'dd',
+ *					activeClass		: 'myAccordionActive',
+ *					hoverClass		: 'myAccordionHover',
+ *					panelHeight		: 200,
+ *					speed			: 300
+ *				}
+ *			);
+ * @desc Converts definition list with id 'myAccordion' into an accordion width dt tags as headers and dd tags as panels
+ * 
+ * @name Accordion
+ * @description Create an accordion from a HTML structure
+ * @param Hash hash A hash of parameters
+ * @option Integer panelHeight the pannels' height
+ * @option String headerSelector selector for header elements
+ * @option String panelSelector selector for panel elements
+ * @option String activeClass (optional) CSS Class for active header
+ * @option String hoverClass (optional) CSS Class for hovered header
+ * @option Function onShow (optional) callback called whenever an pannel gets active
+ * @option Function onHide (optional) callback called whenever an pannel gets incative
+ * @option Function onClick (optional) callback called just before an panel gets active
+ * @option Mixed speed (optional) animation speed, integer for miliseconds, string ['slow' | 'normal' | 'fast']
+ * @option Integer crrentPanel (otional) the active panel on initialisation
+ *
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+jQuery.iAccordion = {
+	build : function(options)
+	{
+		return this.each(
+			function()
+			{
+				if (!options.headerSelector || !options.panelSelector)
+					return;
+				var el = this;
+				el.accordionCfg = {
+					panelHeight			: options.panelHeight||300,
+					headerSelector		: options.headerSelector,
+					panelSelector		: options.panelSelector,
+					activeClass			: options.activeClass||'fakeAccordionClass',
+					hoverClass			: options.hoverClass||'fakeAccordionClass',
+					onShow				: options.onShow && typeof options.onShow == 'function' ? options.onShow : false,
+					onHide				: options.onShow && typeof options.onHide == 'function' ? options.onHide : false,
+					onClick				: options.onClick && typeof options.onClick == 'function' ? options.onClick : false,
+					headers				: jQuery(options.headerSelector, this),
+					panels				: jQuery(options.panelSelector, this),
+					speed				: options.speed||400,
+					currentPanel		: options.currentPanel||0
+				};
+				el.accordionCfg.panels
+					.hide()
+					.css('height', '1px')
+					.eq(0)
+					.css(
+						{
+							height: el.accordionCfg.panelHeight + 'px',
+							display: 'block'
+						}
+					)
+					.end();
+					
+				el.accordionCfg.headers
+				.each(
+					function(nr)
+					{
+						this.accordionPos = nr;
+					}
+				)
+				.hover(
+					function()
+					{
+						jQuery(this).addClass(el.accordionCfg.hoverClass);
+					},
+					function()
+					{
+						jQuery(this).removeClass(el.accordionCfg.hoverClass);
+					}
+				)
+				.bind(
+					'click',
+					function(e)
+					{
+						if (el.accordionCfg.currentPanel == this.accordionPos)
+							return;
+						el.accordionCfg.headers
+							.eq(el.accordionCfg.currentPanel)
+							.removeClass(el.accordionCfg.activeClass)
+							.end()
+							.eq(this.accordionPos)
+							.addClass(el.accordionCfg.activeClass)
+							.end();
+						el.accordionCfg.panels
+						.eq(el.accordionCfg.currentPanel)
+							.animate(
+								{height:0},
+								el.accordionCfg.speed,
+								function()
+								{
+									this.style.display = 'none';
+									if (el.accordionCfg.onHide) {
+										el.accordionCfg.onHide.apply(el, [this]);
+									}
+								}
+							)
+						.end()
+						.eq(this.accordionPos)
+							.show()
+							.animate (
+								{height:el.accordionCfg.panelHeight},
+								el.accordionCfg.speed,
+								function()
+								{
+									this.style.display = 'block';
+									if (el.accordionCfg.onShow) {
+										el.accordionCfg.onShow.apply(el, [this]);
+									}
+								}
+							)
+						.end();
+						
+						if (el.accordionCfg.onClick) {
+							el.accordionCfg.onClick.apply(
+								el, 
+								[
+									this, 
+									el.accordionCfg.panels.get(this.accordionPos),
+									el.accordionCfg.headers.get(el.accordionCfg.currentPanel),
+									el.accordionCfg.panels.get(el.accordionCfg.currentPanel)
+								]
+							);
+						}
+						el.accordionCfg.currentPanel = this.accordionPos;
+					}
+				)
+				.eq(0)
+				.addClass(el.accordionCfg.activeClass)
+				.end();
+				jQuery(this)
+					.css('height', jQuery(this).css('height'))
+					.css('overflow', 'hidden');
+			}
+		);
+	}
+};
+
 jQuery.fn.Accordion = jQuery.iAccordion.build;
\ No newline at end of file
--- a/web/res/metadataplayer/test/interface 1.2/source/easing.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/source/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
--- a/web/res/metadataplayer/test/interface 1.2/source/fisheye.js	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/interface 1.2/source/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
--- 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<jQuery.iAutoscroller.elsToScroll.length; i++) {
-				if(!jQuery.iAutoscroller.elsToScroll[i].parentData) {
-					jQuery.iAutoscroller.elsToScroll[i].parentData = jQuery.extend(
-						jQuery.iUtil.getPositionLite(jQuery.iAutoscroller.elsToScroll[i]),
-						jQuery.iUtil.getSizeLite(jQuery.iAutoscroller.elsToScroll[i]),
-						jQuery.iUtil.getScroll(jQuery.iAutoscroller.elsToScroll[i])
-					);
-				} else {
-					jQuery.iAutoscroller.elsToScroll[i].parentData.t = jQuery.iAutoscroller.elsToScroll[i].scrollTop;
-					jQuery.iAutoscroller.elsToScroll[i].parentData.l = jQuery.iAutoscroller.elsToScroll[i].scrollLeft;
-				}
-				
-				if (jQuery.iAutoscroller.elToScroll.dragCfg && jQuery.iAutoscroller.elToScroll.dragCfg.init == true) {
-					elementData = {
-						x : jQuery.iAutoscroller.elToScroll.dragCfg.nx,
-						y : jQuery.iAutoscroller.elToScroll.dragCfg.ny,
-						wb : jQuery.iAutoscroller.elToScroll.dragCfg.oC.wb,
-						hb : jQuery.iAutoscroller.elToScroll.dragCfg.oC.hb
-					};
-				} else {
-					elementData = jQuery.extend(
-						jQuery.iUtil.getPositionLite(jQuery.iAutoscroller.elToScroll),
-						jQuery.iUtil.getSizeLite(jQuery.iAutoscroller.elToScroll)
-					);
-				}
-				if (
-					jQuery.iAutoscroller.elsToScroll[i].parentData.t > 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<jQuery.iAutoscroller.elsToScroll.length; i++) {
+				if(!jQuery.iAutoscroller.elsToScroll[i].parentData) {
+					jQuery.iAutoscroller.elsToScroll[i].parentData = jQuery.extend(
+						jQuery.iUtil.getPositionLite(jQuery.iAutoscroller.elsToScroll[i]),
+						jQuery.iUtil.getSizeLite(jQuery.iAutoscroller.elsToScroll[i]),
+						jQuery.iUtil.getScroll(jQuery.iAutoscroller.elsToScroll[i])
+					);
+				} else {
+					jQuery.iAutoscroller.elsToScroll[i].parentData.t = jQuery.iAutoscroller.elsToScroll[i].scrollTop;
+					jQuery.iAutoscroller.elsToScroll[i].parentData.l = jQuery.iAutoscroller.elsToScroll[i].scrollLeft;
+				}
+				
+				if (jQuery.iAutoscroller.elToScroll.dragCfg && jQuery.iAutoscroller.elToScroll.dragCfg.init == true) {
+					elementData = {
+						x : jQuery.iAutoscroller.elToScroll.dragCfg.nx,
+						y : jQuery.iAutoscroller.elToScroll.dragCfg.ny,
+						wb : jQuery.iAutoscroller.elToScroll.dragCfg.oC.wb,
+						hb : jQuery.iAutoscroller.elToScroll.dragCfg.oC.hb
+					};
+				} else {
+					elementData = jQuery.extend(
+						jQuery.iUtil.getPositionLite(jQuery.iAutoscroller.elToScroll),
+						jQuery.iUtil.getSizeLite(jQuery.iAutoscroller.elToScroll)
+					);
+				}
+				if (
+					jQuery.iAutoscroller.elsToScroll[i].parentData.t > 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
--- 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
--- 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" ), "<br />");
-		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 = {
-			'&':'&amp;',
-			'<':'&lt;',
-			'>':'&gt;',
-			'"':'&quot;'
-		};
-		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('<div id="expanderHelper" style="position: absolute; top: 0; left: 0; visibility: hidden;"></div>');
-			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" ), "<br />");
+		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 = {
+			'&':'&amp;',
+			'<':'&lt;',
+			'>':'&gt;',
+			'"':'&quot;'
+		};
+		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('<div id="expanderHelper" style="position: absolute; top: 0; left: 0; visibility: hidden;"></div>');
+			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
--- 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<document.styleSheets.length; i++){
-						var cssRules = document.styleSheets[i].cssRules||document.styleSheets[i].rules||null;
-						if (cssRules) {
-							for (var j=0; j<cssRules.length; j++) {
-								if(cssRules[j].selectorText == '.' + prop[p]) {
-									var rule = new RegExp('\.' + prop[p] + ' {');
-									var styles = cssRules[j].style.cssText;
-									var newStyles = jQuery.parseStyle(styles.replace(rule, '').replace(/}/g, ''));
-									for (np in newStyles) {
-										this.getValues(np, newStyles[np]);
-									}
-								}
-							}
-						}
-					}
-			} else {
-				this.getValues(p, prop[p]);
-			}
-		}
-		y.display = oldDisplay == 'none' ? 'block' : oldDisplay;
-		y.overflow = 'hidden';
-		
-		/*if (options.show)
-			y.display = "";*/
-		
-		z.step = function(){
-			var t = (new Date()).getTime();
-			if (t > 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<document.styleSheets.length; i++){
+						var cssRules = document.styleSheets[i].cssRules||document.styleSheets[i].rules||null;
+						if (cssRules) {
+							for (var j=0; j<cssRules.length; j++) {
+								if(cssRules[j].selectorText == '.' + prop[p]) {
+									var rule = new RegExp('\.' + prop[p] + ' {');
+									var styles = cssRules[j].style.cssText;
+									var newStyles = jQuery.parseStyle(styles.replace(rule, '').replace(/}/g, ''));
+									for (np in newStyles) {
+										this.getValues(np, newStyles[np]);
+									}
+								}
+							}
+						}
+					}
+			} else {
+				this.getValues(p, prop[p]);
+			}
+		}
+		y.display = oldDisplay == 'none' ? 'block' : oldDisplay;
+		y.overflow = 'hidden';
+		
+		/*if (options.show)
+			y.display = "";*/
+		
+		z.step = function(){
+			var t = (new Date()).getTime();
+			if (t > 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
--- 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
--- 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
--- 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
--- 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);
+	}
+};
+
--- 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
--- 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);
+	};
+};
--- 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
--- 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
--- 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;
+	}
+};
--- 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('<div id="transferHelper"></div>');
-		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('<div id="transferHelper"></div>');
+		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
--- 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('<div id="selectHelper"></div>').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('<div id="selectHelper"></div>').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
--- 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
--- 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('<img src="' + slideshow.ss.images[slide-1].src + '" />');
-				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('<img src="' + slideshow.ss.images[slideshow.ss.currentslide - 1].src + '" />');
-		
-		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('<img src="' + this.src + '" />');
-		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('<div class="slideshowLinks"></div>');
-			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<el.ss.images.length; i++) {
-				indic = parseInt(i) + 1;
-				el.ss.slideslinks.o.append('<a href="#' + indic + o.container + '" class="slideshowLink" title="' + el.ss.images[i].caption + '">' + indic + '</a>' + (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('<div class="slideshowCaption">&nbsp;</div>');
-			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('<a href="#2' + o.container + '" class="slideshowNextSlide">&nbsp;</a>');
-			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('<a href="#0' + o.container + '" class="slideshowPrevslide">&nbsp;</a>');
-			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('<div class="slideshowHolder"></div>');
-		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('<div class="slideshowLoader" style="display: none;"><img src="' + o.loader + '" /></div>');
-			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('<img src="' + slideshow.ss.images[slide-1].src + '" />');
+				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('<img src="' + slideshow.ss.images[slideshow.ss.currentslide - 1].src + '" />');
+		
+		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('<img src="' + this.src + '" />');
+		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('<div class="slideshowLinks"></div>');
+			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<el.ss.images.length; i++) {
+				indic = parseInt(i) + 1;
+				el.ss.slideslinks.o.append('<a href="#' + indic + o.container + '" class="slideshowLink" title="' + el.ss.images[i].caption + '">' + indic + '</a>' + (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('<div class="slideshowCaption">&nbsp;</div>');
+			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('<a href="#2' + o.container + '" class="slideshowNextSlide">&nbsp;</a>');
+			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('<a href="#0' + o.container + '" class="slideshowPrevslide">&nbsp;</a>');
+			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('<div class="slideshowHolder"></div>');
+		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('<div class="slideshowLoader" style="display: none;"><img src="' + o.loader + '" /></div>');
+			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
--- 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('&nbsp;');
-		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<jQuery.iSort.changed.length; i++){
-			var iEL = jQuery.iDrop.zones[jQuery.iSort.changed[i]].get(0);
-			var id = jQuery.attr(iEL, 'id');
-			var ser = jQuery.iSort.serialize(id);
-			if (iEL.dropCfg.os != ser.hash) {
-				iEL.dropCfg.os = ser.hash;
-				if (fnc == false && iEL.dropCfg.onChange) {
-					fnc = iEL.dropCfg.onChange;
-				}
-				ser.id = id;
-				ts[ts.length] = ser;
-			}
-		}
-		jQuery.iSort.changed = [];
-		if (fnc != false && ts.length > 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('<div id="sortHelper">&nbsp;</div>');
-				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('<li id="newitem">new item</li>')
-		 *                         .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('&nbsp;');
+		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<jQuery.iSort.changed.length; i++){
+			var iEL = jQuery.iDrop.zones[jQuery.iSort.changed[i]].get(0);
+			var id = jQuery.attr(iEL, 'id');
+			var ser = jQuery.iSort.serialize(id);
+			if (iEL.dropCfg.os != ser.hash) {
+				iEL.dropCfg.os = ser.hash;
+				if (fnc == false && iEL.dropCfg.onChange) {
+					fnc = iEL.dropCfg.onChange;
+				}
+				ser.id = id;
+				ts[ts.length] = ser;
+			}
+		}
+		jQuery.iSort.changed = [];
+		if (fnc != false && ts.length > 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('<div id="sortHelper">&nbsp;</div>');
+				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('<li id="newitem">new item</li>')
+		 *                         .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
--- 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('<div id="tooltipHelper"><div id="tooltipTitle"></div><div id="tooltipURL"></div></div>');
-			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('<div id="tooltipHelper"><div id="tooltipTitle"></div><div id="tooltipURL"></div></div>');
+			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
--- 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
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-test 
-
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<script type="text/javascript"> 
-
-
-// Creates canvas 320  200 at 10, 50
-var paper = Raphael(10, 50, 500, 200);
-	
-
-	p  = paper.rect(50, 50 , 50, 50 ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0.50, 1, 1)",});	
-	p.mouseover(function () {
-			this.animate({height:Math.floor(Math.random()*50) }, 400, "bounce");
-	}).mouseout(function () {
-			this.animate({width:Math.floor(Math.random()*50) }, 400, "bounce");
-	})
-	
-	q  = paper.rect(50, 50 , 50, 50 ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0.90, 1, 1)",});	
-	q.mouseover(function () {
-			this.animate({height:Math.floor(Math.random()*50) }, 400, "bounce");
-	}).mouseout(function () {
-			this.animate({width:Math.floor(Math.random()*50) }, 400, "bounce");
-	})
-
-</script>
-test
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+test 
+
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<script type="text/javascript"> 
+
+
+// Creates canvas 320 � 200 at 10, 50
+var paper = Raphael(10, 50, 500, 200);
+	
+
+	p  = paper.rect(50, 50 , 50, 50 ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0.50, 1, 1)",});	
+	p.mouseover(function () {
+			this.animate({height:Math.floor(Math.random()*50) }, 400, "bounce");
+	}).mouseout(function () {
+			this.animate({width:Math.floor(Math.random()*50) }, 400, "bounce");
+	})
+	
+	q  = paper.rect(50, 50 , 50, 50 ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0.90, 1, 1)",});	
+	q.mouseover(function () {
+			this.animate({height:Math.floor(Math.random()*50) }, 400, "bounce");
+	}).mouseout(function () {
+			this.animate({width:Math.floor(Math.random()*50) }, 400, "bounce");
+	})
+
+</script>
+test
+
+</body>
+</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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-
-<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<script type='text/javascript' src='http://www.cybunk.com/iritest/FC/src/js/LdtPlayer.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-</div>
-
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+
+<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<script type='text/javascript' src='http://www.cybunk.com/iritest/FC/src/js/LdtPlayer.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+</div>
+
+
+</body>
+</html>
--- 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<h;g++){var i=b[g]||{};c[f](i.type)&&e[L](d[i.type]().attr(i))}return e}return bV[m](a,arguments)}a.version="1.5.2";var b=/[, ]+/,c={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},d=/\{(\d+)\}/g,e="prototype",f="hasOwnProperty",g=document,h=window,i={was:Object[e][f].call(h,"Raphael"),is:h.Raphael},j=function(){this.customAttributes={}},k,l="appendChild",m="apply",n="concat",o="createTouch"in g,p="",q=" ",r=String,s="split",t="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend orientationchange touchcancel gesturestart gesturechange gestureend"[s](q),u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},v="join",w="length",x=r[e].toLowerCase,y=Math,z=y.max,A=y.min,B=y.abs,C=y.pow,D=y.PI,E="number",F="string",G="array",H="toString",I="fill",J=Object[e][H],K={},L="push",M=/^url\(['"]?([^\)]+?)['"]?\)$/i,N=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,O={"NaN":1,Infinity:1,"-Infinity":1},P=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Q=y.round,R="setAttribute",S=parseFloat,T=parseInt,U=" progid:DXImageTransform.Microsoft",V=r[e].toUpperCase,W={blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:"10px \"Arial\"","font-family":"\"Arial\"","font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},X={along:"along",blur:E,"clip-rect":"csv",cx:E,cy:E,fill:"colour","fill-opacity":E,"font-size":E,height:E,opacity:E,path:"path",r:E,rotation:"csv",rx:E,ry:E,scale:"csv",stroke:"colour","stroke-opacity":E,"stroke-width":E,translation:"csv",width:E,x:E,y:E},Y="replace",Z=/^(from|to|\d+%?)$/,$=/\s*,\s*/,_={hs:1,rg:1},ba=/,?([achlmqrstvxz]),?/gi,bb=/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,bc=/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,bd=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,be=function(a,b){return a.key-b.key};a.type=h.SVGAngle||g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if(a.type=="VML"){var bf=g.createElement("div"),bg;bf.innerHTML="<v:shape adj=\"1\"/>";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(f<d)return c-f;if(f>b-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("<body>");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||n<p)&&(u+=180);return{x:k,y:l,m:{x:m,y:n},n:{x:o,y:p},start:{x:q,y:r},end:{x:s,y:t},alpha:u}};var bn=bm(function(a){if(!a)return{x:0,y:0,width:0,height:0};a=bw(a);var b=0,c=0,d=[],e=[],f;for(var g=0,h=a[w];g<h;g++){f=a[g];if(f[0]=="M"){b=f[1];c=f[2];d[L](b);e[L](c)}else{var i=bv(b,c,f[1],f[2],f[3],f[4],f[5],f[6]);d=d[n](i.min.x,i.max.x);e=e[n](i.min.y,i.max.y);b=f[5];c=f[6]}}var j=A[m](0,d),k=A[m](0,e);return{x:j,y:k,width:z[m](0,d)-j,height:z[m](0,e)-k}}),bo=function(b){var c=[];if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);for(var d=0,e=b[w];d<e;d++){c[d]=[];for(var f=0,g=b[d][w];f<g;f++)c[d][f]=b[d][f]}c[H]=a._path2string;return c},bp=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=b[0][1];e=b[0][2];f=d;g=e;h++;c[L](["M",d,e])}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=x.call(l[0])){k[0]=x.call(l[0]);switch(k[0]){case"a":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]-d).toFixed(3);k[7]=+(l[7]-e).toFixed(3);break;case"v":k[1]=+(l[1]-e).toFixed(3);break;case"m":f=l[1];g=l[2];default:for(var m=1,n=l[w];m<n;m++)k[m]=+(l[m]-(m%2?d:e)).toFixed(3)}}else{k=c[i]=[];if(l[0]=="m"){f=l[1]+d;g=l[2]+e}for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o]}var q=c[i][w];switch(c[i][0]){case"z":d=f;e=g;break;case"h":d+=+c[i][q-1];break;case"v":e+=+c[i][q-1];break;default:d+=+c[i][q-2];e+=+c[i][q-1]}}c[H]=a._path2string;return c},0,bo),bq=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=+b[0][1];e=+b[0][2];f=d;g=e;h++;c[0]=["M",d,e]}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=V.call(l[0])){k[0]=V.call(l[0]);switch(k[0]){case"A":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]+d);k[7]=+(l[7]+e);break;case"V":k[1]=+l[1]+e;break;case"H":k[1]=+l[1]+d;break;case"M":f=+l[1]+d;g=+l[2]+e;default:for(var m=1,n=l[w];m<n;m++)k[m]=+l[m]+(m%2?d:e)}}else for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o];switch(k[0]){case"Z":d=f;e=g;break;case"H":d=k[1];break;case"V":e=k[1];break;case"M":f=c[i][c[i][w]-2];g=c[i][c[i][w]-1];default:d=c[i][c[i][w]-2];e=c[i][c[i][w]-1]}}c[H]=a._path2string;return c},null,bo),br=function(a,b,c,d){return[a,b,c,d,c,d]},bs=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},bt=function(a,b,c,d,e,f,g,h,i,j){var k=D*120/180,l=D/180*(+e||0),m=[],o,p=bm(function(a,b,c){var d=a*y.cos(c)-b*y.sin(c),e=a*y.sin(c)+b*y.cos(c);return{x:d,y:e}});if(j){G=j[0];H=j[1];E=j[2];F=j[3]}else{o=p(a,b,-l);a=o.x;b=o.y;o=p(h,i,-l);h=o.x;i=o.y;var q=y.cos(D/180*e),r=y.sin(D/180*e),t=(a-h)/2,u=(b-i)/2,x=t*t/(c*c)+u*u/(d*d);if(x>1){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=a<E?D-G:G;H=h<E?D-H:H;G<0&&(G=D*2+G);H<0&&(H=D*2+H);g&&G>H&&(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<Z;Y++)X[Y]=Y%2?p(m[Y-1],m[Y],l).y:p(m[Y],m[Y+1],l).x;return X}},bu=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,y:C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h}},bv=bm(function(a,b,c,d,e,f,g,h){var i=e-2*c+a-(g-2*e+c),j=2*(c-a)-2*(e-c),k=a-c,l=(-j+y.sqrt(j*j-4*i*k))/2/i,n=(-j-y.sqrt(j*j-4*i*k))/2/i,o=[b,h],p=[a,g],q;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)}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);j<k;j++){c[j]=g(c[j],e);h(c,j);d&&(d[j]=g(d[j],f));d&&h(d,j);i(c,d,e,f,j);i(d,c,f,e,j);var l=c[j],o=d&&d[j],p=l[w],q=d&&o[w];e.x=l[p-2];e.y=l[p-1];e.bx=S(l[p-4])||e.x;e.by=S(l[p-3])||e.y;f.bx=d&&(S(o[q-4])||f.x);f.by=d&&(S(o[q-3])||f.y);f.x=d&&o[q-2];f.y=d&&o[q-1]}return d?[c,d]:c},null,bo),bx=bm(function(b){var c=[];for(var d=0,e=b[w];d<e;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);f.color=a.getRGB(g[1]);if(f.color.error)return null;f.color=f.color.hex;g[2]&&(f.offset=g[2]+"%");c[L](f)}for(d=1,e=c[w]-1;d<e;d++){if(!c[d].offset){var h=S(c[d-1].offset||0),i=0;for(var j=d+1;j<e;j++){if(c[j].offset){i=c[j].offset;break}}if(!i){i=100;j=e}i=S(i);var k=(i-h)/(j-d+1);for(;d<j;d++){h+=k;c[d].offset=h+"%"}}}return c}),by=function(b,c,d,e){var f;if(a.is(b,F)||a.is(b,"object")){f=a.is(b,F)?g.getElementById(b):b;if(f.tagName)return c==null?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}}else return{container:1,x:b,y:c,width:d,height:e}},bz=function(a,b){var c=this;for(var d in b){if(b[f](d)&&!(d in a))switch(typeof b[d]){case"function":(function(b){a[d]=a===c?b:function(){return b[m](c,arguments)}})(b[d]);break;case"object":a[d]=a[d]||{};bz.call(this,a[d],b[d]);break;default:a[d]=b[d];break}}},bA=function(a,b){a==b.top&&(b.top=a.prev);a==b.bottom&&(b.bottom=a.next);a.next&&(a.next.prev=a.prev);a.prev&&(a.prev.next=a.next)},bB=function(a,b){if(b.top===a)return;bA(a,b);a.next=null;a.prev=b.top;b.top.next=a;b.top=a},bC=function(a,b){if(b.bottom===a)return;bA(a,b);a.next=b.bottom;a.prev=null;b.bottom.prev=a;b.bottom=a},bD=function(a,b,c){bA(a,c);b==c.top&&(c.top=a);b.next&&(b.next.prev=a);a.next=b.next;a.prev=b;b.next=a},bE=function(a,b,c){bA(a,c);b==c.bottom&&(c.bottom=a);b.prev&&(b.prev.next=a);a.prev=b.prev;b.prev=a;a.next=b},bF=function(a){return function(){throw new Error("Raphaël: you are calling to method “"+a+"” of removed object")}};a.pathToRelative=bp;if(a.svg){k.svgns="http://www.w3.org/2000/svg";k.xlink="http://www.w3.org/1999/xlink";Q=function(a){return+a+(~(~a)===a)*0.5};var bG=function(a,b){if(b)for(var c in b)b[f](c)&&a[R](c,r(b[c]));else{a=g.createElementNS(k.svgns,a);a.style.webkitTapHighlightColor="rgba(0,0,0,0)";return a}};a[H]=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var bH=function(a,b){var c=bG("path");b.canvas&&b.canvas[l](c);var d=new bN(c,b);d.type="path";bK(d,{fill:"none",stroke:"#000",path:a});return d},bI=function(a,b,c){var d="linear",e=0.5,f=0.5,h=a.style;b=r(b)[Y](bd,function(a,b,c){d="radial";if(b&&c){e=S(b);f=S(c);var g=(f>0.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];q<t;q++){var u=bG("stop");bG(u,{offset:m[q].offset?m[q].offset:q?"100%":"0%","stop-color":m[q].color||"#fff"});o[l](u)}bG(a,{fill:"url(#"+o.id+")",opacity:1,"fill-opacity":1});h.fill=p;h.opacity=1;h.fillOpacity=1;return 1},bJ=function(b){var c=b.getBBox();bG(b.pattern,{patternTransform:a.format("translate({0},{1})",c.x,c.y)})},bK=function(c,d){var e={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},h=c.node,i=c.attrs,j=c.rotate(),k=function(a,b){b=e[x.call(b)];if(b){var c=a.attrs["stroke-width"]||"1",f=({round:c,square:c,butt:0})[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],i=b[w];while(i--)g[i]=b[i]*c+(i%2?1:-1)*f;bG(h,{"stroke-dasharray":g[v](",")})}};d[f]("rotation")&&(j=d.rotation);var m=r(j)[s](b);if(m.length-1){m[1]=+m[1];m[2]=+m[2]}else m=null;S(j)&&c.rotate(0,true);for(var n in d){if(d[f](n)){if(!W[f](n))continue;var o=d[n];i[n]=o;switch(n){case"blur":c.blur(o);break;case"rotation":c.rotate(o,true);break;case"href":case"title":case"target":var t=h.parentNode;if(x.call(t.tagName)!="a"){var u=bG("a");t.insertBefore(u,h);u[l](h);t=u}n=="target"&&o=="blank"?t.setAttributeNS(c.paper.xlink,"show","new"):t.setAttributeNS(c.paper.xlink,n,o);break;case"cursor":h.style.cursor=o;break;case"clip-rect":var y=r(o)[s](b);if(y[w]==4){c.clip&&c.clip.parentNode.parentNode.removeChild(c.clip.parentNode);var z=bG("clipPath"),A=bG("rect");z.id=bh();bG(A,{x:y[0],y:y[1],width:y[2],height:y[3]});z[l](A);c.paper.defs[l](z);bG(h,{"clip-path":"url(#"+z.id+")"});c.clip=A}if(!o){var B=g.getElementById(h.getAttribute("clip-path")[Y](/(^url\(#|\)$)/g,p));B&&B.parentNode.removeChild(B);bG(h,{"clip-path":p});delete c.clip}break;case"path":c.type=="path"&&bG(h,{d:o?i.path=bq(o):"M0,0"});break;case"width":h[R](n,o);if(i.fx){n="x";o=i.x}else break;case"x":i.fx&&(o=-i.x-(i.width||0));case"rx":if(n=="rx"&&c.type=="rect")break;case"cx":m&&(n=="x"||n=="cx")&&(m[1]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"height":h[R](n,o);if(i.fy){n="y";o=i.y}else break;case"y":i.fy&&(o=-i.y-(i.height||0));case"ry":if(n=="ry"&&c.type=="rect")break;case"cy":m&&(n=="y"||n=="cy")&&(m[2]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"r":c.type=="rect"?bG(h,{rx:o,ry:o}):h[R](n,o);break;case"src":c.type=="image"&&h.setAttributeNS(c.paper.xlink,"href",o);break;case"stroke-width":h.style.strokeWidth=o;h[R](n,o);i["stroke-dasharray"]&&k(c,i["stroke-dasharray"]);break;case"stroke-dasharray":k(c,o);break;case"translation":var C=r(o)[s](b);C[0]=+C[0]||0;C[1]=+C[1]||0;if(m){m[1]+=C[0];m[2]+=C[1]}cz.call(c,C[0],C[1]);break;case"scale":C=r(o)[s](b);c.scale(+C[0]||1,+C[1]||+C[0]||1,isNaN(S(C[2]))?null:+C[2],isNaN(S(C[3]))?null:+C[3]);break;case I:var D=r(o).match(M);if(D){z=bG("pattern");var E=bG("image");z.id=bh();bG(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});bG(E,{x:0,y:0});E.setAttributeNS(c.paper.xlink,"href",D[1]);z[l](E);var F=g.createElement("img");F.style.cssText="position:absolute;left:-9999em;top-9999em";F.onload=function(){bG(z,{width:this.offsetWidth,height:this.offsetHeight});bG(E,{width:this.offsetWidth,height:this.offsetHeight});g.body.removeChild(this);c.paper.safari()};g.body[l](F);F.src=D[1];c.paper.defs[l](z);h.style.fill="url(#"+z.id+")";bG(h,{fill:"url(#"+z.id+")"});c.pattern=z;c.pattern&&bJ(c);break}var G=a.getRGB(o);if(G.error)if((({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper)){i.gradient=o;i.fill="none";break}else{delete d.gradient;delete i.gradient;!a.is(i.opacity,"undefined")&&a.is(d.opacity,"undefined")&&bG(h,{opacity:i.opacity});!a.is(i["fill-opacity"],"undefined")&&a.is(d["fill-opacity"],"undefined")&&bG(h,{"fill-opacity":i["fill-opacity"]})}G[f]("opacity")&&bG(h,{"fill-opacity":G.opacity>1?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];j<k;j++)if(i[j]){var m=bG("tspan");j&&bG(m,{dy:h*bL,x:d.x});m[l](g.createTextNode(i[j]));e[l](m)}}else{i=e.getElementsByTagName("tspan");for(j=0,k=i[w];j<k;j++)j&&bG(i[j],{dy:h*bL,x:d.x})}bG(e,{y:d.y});var n=b.getBBox(),o=d.y-(n.y+n.height/2);o&&a.is(o,"finite")&&bG(e,{y:d.y+o})},bN=function(b,c){var d=0,e=0;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.paper=c;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!c.bottom&&(c.bottom=this);this.prev=c.top;c.top&&(c.top.next=this);c.top=this;this.next=null},bO=bN[e];bN[e].rotate=function(c,d,e){if(this.removed)return this;if(c==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}var f=this.getBBox();c=r(c)[s](b);if(c[w]-1){d=S(c[1]);e=S(c[2])}c=S(c[0]);d!=null&&d!==false?this._.rt.deg=c:this._.rt.deg+=c;e==null&&(d=null);this._.rt.cx=d;this._.rt.cy=e;d=d==null?f.x+f.width/2:d;e=e==null?f.y+f.height/2:e;if(this._.rt.deg){this.transformations[0]=a.format("rotate({0} {1} {2})",this._.rt.deg,d,e);this.clip&&bG(this.clip,{transform:a.format("rotate({0} {1} {2})",-this._.rt.deg,d,e)})}else{this.transformations[0]=p;this.clip&&bG(this.clip,{transform:p})}bG(this.node,{transform:this.transformations[v](q)});return this};bN[e].hide=function(){!this.removed&&(this.node.style.display="none");return this};bN[e].show=function(){!this.removed&&(this.node.style.display="");return this};bN[e].remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);for(var a in this)delete this[a];this.removed=true};bN[e].getBBox=function(){if(this.removed)return this;if(this.type=="path")return bn(this.attrs.path);if(this.node.style.display=="none"){this.show();var a=true}var b={};try{b=this.node.getBBox()}catch(a){}finally{b=b||{}}if(this.type=="text"){b={x:b.x,y:Infinity,width:0,height:0};for(var c=0,d=this.node.getNumberOfChars();c<d;c++){var e=this.node.getExtentOfChar(c);e.y<b.y&&(b.y=e.y);e.y+e.height-b.y>b.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<i;h++)g[b[h]]=this.attr(b[h]);return g}if(c!=null){var j={};j[b]=c}else b!=null&&a.is(b,"object")&&(j=b);for(var k in this.paper.customAttributes)if(this.paper.customAttributes[f](k)&&j[f](k)&&a.is(this.paper.customAttributes[k],"function")){var l=this.paper.customAttributes[k].apply(this,[][n](j[k]));this.attrs[k]=j[k];for(var m in l)l[f](m)&&(j[m]=l[m])}bK(this,j);return this};bN[e].toFront=function(){if(this.removed)return this;this.node.parentNode[l](this.node);var a=this.paper;a.top!=this&&bB(this,a);return this};bN[e].toBack=function(){if(this.removed)return this;if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);bC(this,this.paper);var a=this.paper}return this};bN[e].insertAfter=function(a){if(this.removed)return this;var b=a.node||a[a.length-1].node;b.nextSibling?b.parentNode.insertBefore(this.node,b.nextSibling):b.parentNode[l](this.node);bD(this,a,this.paper);return this};bN[e].insertBefore=function(a){if(this.removed)return this;var b=a.node||a[0].node;b.parentNode.insertBefore(this.node,b);bE(this,a,this.paper);return this};bN[e].blur=function(a){var b=this;if(+a!==0){var c=bG("filter"),d=bG("feGaussianBlur");b.attrs.blur=a;c.id=bh();bG(d,{stdDeviation:+a||1.5});c.appendChild(d);b.paper.defs.appendChild(c);b._blur=c;bG(b.node,{filter:"url(#"+c.id+")"})}else{if(b._blur){b._blur.parentNode.removeChild(b._blur);delete b._blur;delete b.attrs.blur}b.node.removeAttribute("filter")}};var bP=function(a,b,c,d){var e=bG("circle");a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"};f.type="circle";bG(e,f.attrs);return f},bQ=function(a,b,c,d,e,f){var g=bG("rect");a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};h.type="rect";bG(g,h.attrs);return h},bR=function(a,b,c,d,e){var f=bG("ellipse");a.canvas&&a.canvas[l](f);var g=new bN(f,a);g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"};g.type="ellipse";bG(f,g.attrs);return g},bS=function(a,b,c,d,e,f){var g=bG("image");bG(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"});g.setAttributeNS(a.xlink,"href",b);a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:c,y:d,width:e,height:f,src:b};h.type="image";return h},bT=function(a,b,c,d){var e=bG("text");bG(e,{x:b,y:c,"text-anchor":"middle"});a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={x:b,y:c,"text-anchor":"middle",text:d,font:W.font,stroke:"none",fill:"#000"};f.type="text";bK(f,f.attrs);return f},bU=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas[R]("width",this.width);this.canvas[R]("height",this.height);return this},bV=function(){var b=by[m](0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,h=b.height;if(!c)throw new Error("SVG container not found.");var i=bG("svg");d=d||0;e=e||0;f=f||512;h=h||342;bG(i,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:f,height:h});if(c==1){i.style.cssText="position:absolute;left:"+d+"px;top:"+e+"px";g.body[l](i)}else c.firstChild?c.insertBefore(i,c.firstChild):c[l](i);c=new j;c.width=f;c.height=h;c.canvas=i;bz.call(c,c,a.fn);c.clear();return c};k.clear=function(){var a=this.canvas;while(a.firstChild)a.removeChild(a.firstChild);this.bottom=this.top=null;(this.desc=bG("desc"))[l](g.createTextNode("Created with Raphaël"));a[l](this.desc);a[l](this.defs=bG("defs"))};k.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a)}}if(a.vml){var bW={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bX=/([clmz]),?([^clmz]*)/gi,bY=/ progid:\S+Blur\([^\)]+\)/g,bZ=/-?[^,\s-]+/g,b$=1000+q+1000,b_=10,ca={path:1,rect:1},cb=function(a){var b=/[ahqstv]/ig,c=bq;r(a).match(b)&&(c=bw);b=/[clmz]/g;if(c==bq&&!r(a).match(b)){var d=r(a)[Y](bX,function(a,b,c){var d=[],e=x.call(b)=="m",f=bW[b];c[Y](bZ,function(a){if(e&&d[w]==2){f+=d+bW[b=="m"?"l":"L"];d=[]}d[L](Q(a*b_))});return f+d});return d}var e=c(a),f,g;d=[];for(var h=0,i=e[w];h<i;h++){f=e[h];g=x.call(e[h][0]);g=="z"&&(g="x");for(var j=1,k=f[w];j<k;j++)g+=Q(f[j]*b_)+(j!=k-1?",":p);d[L](g)}return d[v](q)};a[H]=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};bH=function(a,b){var c=cd("group");c.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";c.coordsize=b.coordsize;c.coordorigin=b.coordorigin;var d=cd("shape"),e=d.style;e.width=b.width+"px";e.height=b.height+"px";d.coordsize=b$;d.coordorigin=b.coordorigin;c[l](d);var f=new bN(d,c,b),g={fill:"none",stroke:"#000"};a&&(g.path=a);f.type="path";f.path=[];f.Path=p;bK(f,g);b.canvas[l](c);return f};bK=function(c,d){c.attrs=c.attrs||{};var e=c.node,h=c.attrs,i=e.style,j,k=(d.x!=h.x||d.y!=h.y||d.width!=h.width||d.height!=h.height||d.r!=h.r)&&c.type=="rect",m=c;for(var n in d)d[f](n)&&(h[n]=d[n]);if(k){h.path=cc(h.x,h.y,h.width,h.height,h.r);c.X=h.x;c.Y=h.y;c.W=h.width;c.H=h.height}d.href&&(e.href=d.href);d.title&&(e.title=d.title);d.target&&(e.target=d.target);d.cursor&&(i.cursor=d.cursor);"blur"in d&&c.blur(d.blur);if(d.path&&c.type=="path"||k)e.path=cb(h.path);d.rotation!=null&&c.rotate(d.rotation,true);if(d.translation){j=r(d.translation)[s](b);cz.call(c,j[0],j[1]);if(c._.rt.cx!=null){c._.rt.cx+=+j[0];c._.rt.cy+=+j[1];c.setBox(c.attrs,j[0],j[1])}}if(d.scale){j=r(d.scale)[s](b);c.scale(+j[0]||1,+j[1]||+j[0]||1,+j[2]||null,+j[3]||null)}if("clip-rect"in d){var o=r(d["clip-rect"])[s](b);if(o[w]==4){o[2]=+o[2]+ +o[0];o[3]=+o[3]+ +o[1];var q=e.clipRect||g.createElement("div"),t=q.style,u=e.parentNode;t.clip=a.format("rect({1}px {2}px {3}px {0}px)",o);if(!e.clipRect){t.position="absolute";t.top=0;t.left=0;t.width=c.paper.width+"px";t.height=c.paper.height+"px";u.parentNode.insertBefore(q,u);q[l](u);e.clipRect=q}}d["clip-rect"]||e.clipRect&&(e.clipRect.style.clip=p)}c.type=="image"&&d.src&&(e.src=d.src);if(c.type=="image"&&d.opacity){e.filterOpacity=U+".Alpha(opacity="+d.opacity*100+")";i.filter=(e.filterMatrix||p)+(e.filterOpacity||p)}d.font&&(i.font=d.font);d["font-family"]&&(i.fontFamily="\""+d["font-family"][s](",")[0][Y](/^['"]+|['"]+$/g,p)+"\"");d["font-size"]&&(i.fontSize=d["font-size"]);d["font-weight"]&&(i.fontWeight=d["font-weight"]);d["font-style"]&&(i.fontStyle=d["font-style"]);if(d.opacity!=null||d["stroke-width"]!=null||d.fill!=null||d.stroke!=null||d["stroke-width"]!=null||d["stroke-opacity"]!=null||d["fill-opacity"]!=null||d["stroke-dasharray"]!=null||d["stroke-miterlimit"]!=null||d["stroke-linejoin"]!=null||d["stroke-linecap"]!=null){e=c.shape||e;var v=e.getElementsByTagName(I)&&e.getElementsByTagName(I)[0],x=false;!v&&(x=v=cd(I));if("fill-opacity"in d||"opacity"in d){var y=((+h["fill-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+a.getRGB(d.fill).o+1||2)-1);y=A(z(y,0),1);v.opacity=y}d.fill&&(v.on=true);if(v.on==null||d.fill=="none")v.on=false;if(v.on&&d.fill){var B=d.fill.match(M);if(B){v.src=B[1];v.type="tile"}else{v.color=a.getRGB(d.fill).hex;v.src=p;v.type="solid";if(a.getRGB(d.fill).error&&(m.type in{circle:1,ellipse:1}||r(d.fill).charAt()!="r")&&bI(m,d.fill)){h.fill="none";h.gradient=d.fill}}}x&&e[l](v);var C=e.getElementsByTagName("stroke")&&e.getElementsByTagName("stroke")[0],D=false;!C&&(D=C=cd("stroke"));if(d.stroke&&d.stroke!="none"||d["stroke-width"]||d["stroke-opacity"]!=null||d["stroke-dasharray"]||d["stroke-miterlimit"]||d["stroke-linejoin"]||d["stroke-linecap"])C.on=true;(d.stroke=="none"||C.on==null||d.stroke==0||d["stroke-width"]==0)&&(C.on=false);var E=a.getRGB(d.stroke);C.on&&d.stroke&&(C.color=E.hex);y=((+h["stroke-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+E.o+1||2)-1);var F=(S(d["stroke-width"])||1)*0.75;y=A(z(y,0),1);d["stroke-width"]==null&&(F=h["stroke-width"]);d["stroke-width"]&&(C.weight=F);F&&F<1&&(y*=F)&&(C.weight=1);C.opacity=y;d["stroke-linejoin"]&&(C.joinstyle=d["stroke-linejoin"]||"miter");C.miterlimit=d["stroke-miterlimit"]||8;d["stroke-linecap"]&&(C.endcap=d["stroke-linecap"]=="butt"?"flat":d["stroke-linecap"]=="square"?"square":"round");if(d["stroke-dasharray"]){var G={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};C.dashstyle=G[f](d["stroke-dasharray"])?G[d["stroke-dasharray"]]:p}D&&e[l](C)}if(m.type=="text"){i=m.paper.span.style;h.font&&(i.font=h.font);h["font-family"]&&(i.fontFamily=h["font-family"]);h["font-size"]&&(i.fontSize=h["font-size"]);h["font-weight"]&&(i.fontWeight=h["font-weight"]);h["font-style"]&&(i.fontStyle=h["font-style"]);m.node.string&&(m.paper.span.innerHTML=r(m.node.string)[Y](/</g,"&#60;")[Y](/&/g,"&#38;")[Y](/\n/g,"<br>"));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<k;j++)h[j].offset&&i[L](h[j].offset+q+h[j].color);d.colors&&(d.colors.value=i[w]?i[v]():"0% "+d.color);if(e=="radial"){d.type="gradientradial";d.focus="100%";d.focussize=f;d.focusposition=f}else{d.type="gradient";d.angle=(270-g)%360}}return 1};bN=function(b,c,d){var e=0,f=0,g=0,h=1;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=c;this.paper=d;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null};bO=bN[e];bO.rotate=function(a,c,d){if(this.removed)return this;if(a==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}a=r(a)[s](b);if(a[w]-1){c=S(a[1]);d=S(a[2])}a=S(a[0]);c!=null?this._.rt.deg=a:this._.rt.deg+=a;d==null&&(c=null);this._.rt.cx=c;this._.rt.cy=d;this.setBox(this.attrs,c,d);this.Group.style.rotation=this._.rt.deg;return this};bO.setBox=function(a,b,c){if(this.removed)return this;var d=this.Group.style,e=this.shape&&this.shape.style||this.node.style;a=a||{};for(var g in a)a[f](g)&&(this.attrs[g]=a[g]);b=b||this._.rt.cx;c=c||this._.rt.cy;var h=this.attrs,i,j,k,l;switch(this.type){case"circle":i=h.cx-h.r;j=h.cy-h.r;k=l=h.r*2;break;case"ellipse":i=h.cx-h.rx;j=h.cy-h.ry;k=h.rx*2;l=h.ry*2;break;case"image":i=+h.x;j=+h.y;k=h.width||0;l=h.height||0;break;case"text":this.textpath.v=["m",Q(h.x),", ",Q(h.y-2),"l",Q(h.x)+1,", ",Q(h.y-2)][v](p);i=h.x-Q(this.W/2);j=h.y-this.H/2;k=this.W;l=this.H;break;case"rect":case"path":if(this.attrs.path){var m=bn(this.attrs.path);i=m.x;j=m.y;k=m.width;l=m.height}else{i=0;j=0;k=this.paper.width;l=this.paper.height}break;default:i=0;j=0;k=this.paper.width;l=this.paper.height;break}b=b==null?i+k/2:b;c=c==null?j+l/2:c;var n=b-this.paper.width/2,o=c-this.paper.height/2,q;d.left!=(q=n+"px")&&(d.left=q);d.top!=(q=o+"px")&&(d.top=q);this.X=ca[f](this.type)?-n:i;this.Y=ca[f](this.type)?-o:j;this.W=k;this.H=l;if(ca[f](this.type)){e.left!=(q=-n*b_+"px")&&(e.left=q);e.top!=(q=-o*b_+"px")&&(e.top=q)}else if(this.type=="text"){e.left!=(q=-n+"px")&&(e.left=q);e.top!=(q=-o+"px")&&(e.top=q)}else{d.width!=(q=this.paper.width+"px")&&(d.width=q);d.height!=(q=this.paper.height+"px")&&(d.height=q);e.left!=(q=i-n+"px")&&(e.left=q);e.top!=(q=j-o+"px")&&(e.top=q);e.width!=(q=k+"px")&&(e.width=q);e.height!=(q=l+"px")&&(e.height=q)}};bO.hide=function(){!this.removed&&(this.Group.style.display="none");return this};bO.show=function(){!this.removed&&(this.Group.style.display="block");return this};bO.getBBox=function(){if(this.removed)return this;if(ca[f](this.type))return bn(this.attrs.path);return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H}};bO.remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)delete this[a];this.removed=true};bO.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,"string")){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(this.attrs&&c==null&&a.is(b,G)){var g,h={};for(e=0,g=b[w];e<g;e++)h[b[e]]=this.attr(b[e]);return h}var i;if(c!=null){i={};i[b]=c}c==null&&a.is(b,"object")&&(i=b);if(i){for(var j in this.paper.customAttributes)if(this.paper.customAttributes[f](j)&&i[f](j)&&a.is(this.paper.customAttributes[j],"function")){var k=this.paper.customAttributes[j].apply(this,[][n](i[j]));this.attrs[j]=i[j];for(var l in k)k[f](l)&&(i[l]=k[l])}i.text&&this.type=="text"&&(this.node.string=i.text);bK(this,i);i.gradient&&(({circle:1,ellipse:1})[f](this.type)||r(i.gradient).charAt()!="r")&&bI(this,i.gradient);(!ca[f](this.type)||this._.rt.deg)&&this.setBox(this.attrs)}return this};bO.toFront=function(){!this.removed&&this.Group.parentNode[l](this.Group);this.paper.top!=this&&bB(this,this.paper);return this};bO.toBack=function(){if(this.removed)return this;if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);bC(this,this.paper)}return this};bO.insertAfter=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[a.length-1]);a.Group.nextSibling?a.Group.parentNode.insertBefore(this.Group,a.Group.nextSibling):a.Group.parentNode[l](this.Group);bD(this,a,this.paper);return this};bO.insertBefore=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[0]);a.Group.parentNode.insertBefore(this.Group,a.Group);bE(this,a,this.paper);return this};bO.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(bY,p);if(+b!==0){this.attrs.blur=b;c.filter=d+q+U+".Blur(pixelradius="+(+b||1.5)+")";c.margin=a.format("-{0}px 0 0 -{0}px",Q(+b||1.5))}else{c.filter=d;c.margin=0;delete this.attrs.blur}};bP=function(a,b,c,d){var e=cd("group"),f=cd("oval"),g=f.style;e.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";e.coordsize=b$;e.coordorigin=a.coordorigin;e[l](f);var h=new bN(f,e,a);h.type="circle";bK(h,{stroke:"#000",fill:"none"});h.attrs.cx=b;h.attrs.cy=c;h.attrs.r=d;h.setBox({x:b-d,y:c-d,width:d*2,height:d*2});a.canvas[l](e);return h};function cc(b,c,d,e,f){return f?a.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",b+f,c,d-f*2,f,-f,e-f*2,f*2-d,f*2-e):a.format("M{0},{1}l{2},0,0,{3},{4},0z",b,c,d,e,-d)}bQ=function(a,b,c,d,e,f){var g=cc(b,c,d,e,f),h=a.path(g),i=h.attrs;h.X=i.x=b;h.Y=i.y=c;h.W=i.width=d;h.H=i.height=e;i.r=f;i.path=g;h.type="rect";return h};bR=function(a,b,c,d,e){var f=cd("group"),g=cd("oval"),h=g.style;f.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";f.coordsize=b$;f.coordorigin=a.coordorigin;f[l](g);var i=new bN(g,f,a);i.type="ellipse";bK(i,{stroke:"#000"});i.attrs.cx=b;i.attrs.cy=c;i.attrs.rx=d;i.attrs.ry=e;i.setBox({x:b-d,y:c-e,width:d*2,height:e*2});a.canvas[l](f);return i};bS=function(a,b,c,d,e,f){var g=cd("group"),h=cd("image");g.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";g.coordsize=b$;g.coordorigin=a.coordorigin;h.src=b;g[l](h);var i=new bN(h,g,a);i.type="image";i.attrs.src=b;i.attrs.x=c;i.attrs.y=d;i.attrs.w=e;i.attrs.h=f;i.setBox({x:c,y:d,width:e,height:f});a.canvas[l](g);return i};bT=function(b,c,d,e){var f=cd("group"),g=cd("shape"),h=g.style,i=cd("path"),j=i.style,k=cd("textpath");f.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";f.coordsize=b$;f.coordorigin=b.coordorigin;i.v=a.format("m{0},{1}l{2},{1}",Q(c*10),Q(d*10),Q(c*10)+1);i.textpathok=true;h.width=b.width;h.height=b.height;k.string=r(e);k.on=true;g[l](k);g[l](i);f[l](g);var m=new bN(k,f,b);m.shape=g;m.textpath=i;m.type="text";m.attrs.text=e;m.attrs.x=c;m.attrs.y=d;m.attrs.w=1;m.attrs.h=1;bK(m,{font:W.font,stroke:"none",fill:"#000"});m.setBox();b.canvas[l](f);return m};bU=function(a,b){var c=this.canvas.style;a==+a&&(a+="px");b==+b&&(b+="px");c.width=a;c.height=b;c.clip="rect(0 "+a+" "+b+" 0)";return this};var cd;g.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!g.namespaces.rvml&&g.namespaces.add("rvml","urn:schemas-microsoft-com:vml");cd=function(a){return g.createElement("<rvml:"+a+" class=\"rvml\">")}}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;g<h;g++){if(e.targetTouches[g].target==a){var i=e;e=e.targetTouches[g];e.originalEvent=i;e.preventDefault=cg;e.stopPropagation=ci;break}}return c.call(d,e)};a.addEventListener(e,g,false);return function(){a.removeEventListener(e,g,false);return true}};if(g.attachEvent)return function(a,b,c,d){var e=function(a){a=a||h.event;a.preventDefault=a.preventDefault||cf;a.stopPropagation=a.stopPropagation||ch;return c.call(d,a)};a.attachEvent("on"+b,e);var f=function(){a.detachEvent("on"+b,e);return true};return f}}})(),ck=[],cl=function(a){var b=a.clientX,c=a.clientY,d=g.documentElement.scrollTop||g.body.scrollTop,e=g.documentElement.scrollLeft||g.body.scrollLeft,f,h=ck.length;while(h--){f=ck[h];if(o){var i=a.touches.length,j;while(i--){j=a.touches[i];if(j.identifier==f.el._drag.id){b=j.clientX;c=j.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}}else a.preventDefault();b+=e;c+=d;f.move&&f.move.call(f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},cm=function(b){a.unmousemove(cl).unmouseup(cm);var c=ck.length,d;while(c--){d=ck[c];d.el._drag={};d.end&&d.end.call(d.end_scope||d.start_scope||d.move_scope||d.el,b)}ck=[]};for(var cn=t[w];cn--;)(function(b){a[b]=bN[e][b]=function(c,d){if(a.is(c,"function")){this.events=this.events||[];this.events.push({name:b,f:c,unbind:cj(this.shape||this.node||g,b,c,d||this)})}return this};a["un"+b]=bN[e]["un"+b]=function(a){var c=this.events,d=c[w];while(d--)if(c[d].name==b&&c[d].f==a){c[d].unbind();c.splice(d,1);!c.length&&delete this.events;return this}return this}})(t[cn]);bO.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)};bO.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};bO.drag=function(b,c,d,e,f,h){this._drag={};this.mousedown(function(i){(i.originalEvent||i).preventDefault();var j=g.documentElement.scrollTop||g.body.scrollTop,k=g.documentElement.scrollLeft||g.body.scrollLeft;this._drag.x=i.clientX+k;this._drag.y=i.clientY+j;this._drag.id=i.identifier;c&&c.call(f||e||this,i.clientX+k,i.clientY+j,i);!ck.length&&a.mousemove(cl).mouseup(cm);ck.push({el:this,move:b,end:d,move_scope:e,start_scope:f,end_scope:h})});return this};bO.undrag=function(b,c,d){var e=ck.length;while(e--)ck[e].el==this&&(ck[e].move==b&&ck[e].end==d)&&ck.splice(e++,1);!ck.length&&a.unmousemove(cl).unmouseup(cm)};k.circle=function(a,b,c){return bP(this,a||0,b||0,c||0)};k.rect=function(a,b,c,d,e){return bQ(this,a||0,b||0,c||0,d||0,e||0)};k.ellipse=function(a,b,c,d){return bR(this,a||0,b||0,c||0,d||0)};k.path=function(b){b&&!a.is(b,F)&&!a.is(b[0],G)&&(b+=p);return bH(a.format[m](a,arguments),this)};k.image=function(a,b,c,d,e){return bS(this,a||"about:blank",b||0,c||0,d||0,e||0)};k.text=function(a,b,c){return bT(this,a||0,b||0,r(c))};k.set=function(a){arguments[w]>1&&(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];K<L;K++){var M=G[K],N=V.call(M[0]);{if(N=="M"&&H)continue;H=false}if(N=="A"){M[G[K][w]-2]*=I;M[G[K][w]-1]*=J;M[1]*=m;M[2]*=o;M[5]=+(t+u?!(!(+M[5])):!(+M[5]))}else if(N=="H")for(var O=1,P=M[w];O<P;O++)M[O]*=I;else if(N=="V")for(O=1,P=M[w];O<P;O++)M[O]*=J;else for(O=1,P=M[w];O<P;O++)M[O]*=O%2?I:J}var Q=bn(G);e=A-Q.x-Q.width/2;f=C-Q.y-Q.height/2;G[0][1]+=e;G[0][2]+=f;this.attr({path:G});break}if(this.type in{text:1,image:1}&&(t!=1||u!=1))if(this.transformations){this.transformations[2]="scale("[n](t,",",u,")");this.node[R]("transform",this.transformations[v](q));e=t==-1?-i.x-(E||0):i.x;f=u==-1?-i.y-(F||0):i.y;this.attr({x:e,y:f});i.fx=t-1;i.fy=u-1}else{this.node.filterMatrix=U+".Matrix(M11="[n](t,", M12=0, M21=0, M22=",u,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}else if(this.transformations){this.transformations[2]=p;this.node[R]("transform",this.transformations[v](q));i.fx=0;i.fy=0}else{this.node.filterMatrix=p;z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}i.scale=[a,b,c,d][v](q);this._.sx=a;this._.sy=b}return this};bO.clone=function(){if(this.removed)return null;var a=this.attr();delete a.scale;delete a.translation;return this.paper[this.type]().attr(a)};var cp={},cq=function(b,c,d,e,f,g,h,i,j){var k=0,l=100,m=[b,c,d,e,f,g,h,i].join(),n=cp[m],o,p;!n&&(cp[m]=n={data:[]});n.timer&&clearTimeout(n.timer);n.timer=setTimeout(function(){delete cp[m]},2000);if(j!=null){var q=cq(b,c,d,e,f,g,h,i);l=~(~q)*10}for(var r=0;r<l+1;r++){if(n.data[j]>r)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;o<p;o++){i=d[o];if(i[0]=="M"){g=+i[1];h=+i[2]}else{j=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6]);if(n+j>e){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;c<cv[w];c++){var d=cv[c];if(d.stop||d.el.removed)continue;var e=b-d.start,g=d.ms,h=d.easing,i=d.from,j=d.diff,k=d.to,l=d.t,m=d.el,n={},o;if(e<g){var r=h(e/g);for(var s in i)if(i[f](s)){switch(X[s]){case"along":o=r*g*j[s];k.back&&(o=k.len-o);var t=ct(k[s],o);m.translate(j.sx-j.x||0,j.sy-j.y||0);j.x=t.x;j.y=t.y;m.translate(t.x-j.sx,t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y);break;case E:o=+i[s]+r*g*j[s];break;case"colour":o="rgb("+[cy(Q(i[s].r+r*g*j[s].r)),cy(Q(i[s].g+r*g*j[s].g)),cy(Q(i[s].b+r*g*j[s].b))][v](",")+")";break;case"path":o=[];for(var u=0,x=i[s][w];u<x;u++){o[u]=[i[s][u][0]];for(var y=1,z=i[s][u][w];y<z;y++)o[u][y]=+i[s][u][y]+r*g*j[s][u][y];o[u]=o[u][v](q)}o=o[v](q);break;case"csv":switch(s){case"translation":var A=r*g*j[s][0]-l.x,B=r*g*j[s][1]-l.y;l.x+=A;l.y+=B;o=A+q+B;break;case"rotation":o=+i[s][0]+r*g*j[s][0];i[s][1]&&(o+=","+i[s][1]+","+i[s][2]);break;case"scale":o=[+i[s][0]+r*g*j[s][0],+i[s][1]+r*g*j[s][1],2 in k[s]?k[s][2]:p,3 in k[s]?k[s][3]:p][v](q);break;case"clip-rect":o=[];u=4;while(u--)o[u]=+i[s][u]+r*g*j[s][u];break}break;default:var C=[].concat(i[s]);o=[];u=m.paper.customAttributes[s].length;while(u--)o[u]=+C[u]+r*g*j[s][u];break}n[s]=o}m.attr(n);m._run&&m._run.call(m)}else{if(k.along){t=ct(k.along,k.len*!k.back);m.translate(j.sx-(j.x||0)+t.x-j.sx,j.sy-(j.y||0)+t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y)}(l.x||l.y)&&m.translate(-l.x,-l.y);k.scale&&(k.scale+=p);m.attr(k);cv.splice(c--,1)}}a.svg&&m&&m.paper&&m.paper.safari();cv[w]&&setTimeout(cw)},cx=function(b,c,d,e,f){var g=d-e;c.timeouts.push(setTimeout(function(){a.is(f,"function")&&f.call(c);c.animate(b,g,b.easing)},e))},cy=function(a){return z(A(a,255),0)},cz=function(a,b){if(a==null)return{x:this._.tx,y:this._.ty,toString:co};this._.tx+=+a;this._.ty+=+b;switch(this.type){case"circle":case"ellipse":this.attr({cx:+a+this.attrs.cx,cy:+b+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+a+this.attrs.x,y:+b+this.attrs.y});break;case"path":var c=bp(this.attrs.path);c[0][1]+=+a;c[0][2]+=+b;this.attr({path:c});break}return this};bO.animateWith=function(a,b,c,d,e){for(var f=0,g=cv.length;f<g;f++)cv[f].el.id==a.id&&(b.start=cv[f].start);return this.animate(b,c,d,e)};bO.animateAlong=cA();bO.animateAlongBack=cA(1);function cA(b){return function(c,d,e,f){var g={back:b};a.is(e,"function")?f=e:g.rot=e;c&&c.constructor==bN&&(c=c.attrs.path);c&&(g.along=c);return this.animate(g,d,f)}}function cB(a,b,c,d,e,f){var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;function m(a){return((i*a+h)*a+g)*a}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function o(a,b){var c,d,e,f,j,k;for(e=a,k=0;k<8;k++){f=m(e)-a;if(B(f)<b)return e;j=(3*i*e+2*h)*e+g;if(B(j)<0.000001)break;e=e-f/j}c=0;d=1;e=a;if(e<c)return c;if(e>d)return d;while(c<d){f=m(e);if(B(f-a)<b)return e;a>f?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<x;v++){l[m][v]=[0];for(var y=1,z=i[m][v][w];y<z;y++)l[m][v][y]=(u[v][y]-i[m][v][y])/d}break;case"csv":var A=r(c[m])[s](b),B=r(i[m])[s](b);switch(m){case"translation":i[m]=[0,0];l[m]=[A[0]/d,A[1]/d];break;case"rotation":i[m]=B[1]==A[1]&&B[2]==A[2]?B:[0,A[1],A[2]];l[m]=[(A[0]-i[m][0])/d,0,0];break;case"scale":c[m]=A;i[m]=r(i[m])[s](b);l[m]=[(A[0]-i[m][0])/d,(A[1]-i[m][1])/d,0,0];break;case"clip-rect":i[m]=r(i[m])[s](b);l[m]=[];v=4;while(v--)l[m][v]=(A[v]-i[m][v])/d;break}j[m]=A;break;default:A=[].concat(c[m]);B=[].concat(i[m]);l[m]=[];v=h.paper.customAttributes[m][w];while(v--)l[m][v]=((A[v]||0)-(B[v]||0))/d;break}}}if(k){var G=a.easing_formulas[e];if(!G){G=r(e).match(P);if(G&&G[w]==5){var H=G;G=function(a){return cB(a,+H[1],+H[2],+H[3],+H[4],d)}}else G=function(a){return a}}cv.push({start:c.start||+(new Date),ms:d,easing:G,from:i,diff:l,to:j,el:h,t:{x:0,y:0}});a.is(g,"function")&&(h._ac=setTimeout(function(){g.call(h)},d));cv[w]==1&&setTimeout(cw)}else{var C=[],D;for(var F in c)if(c[f](F)&&Z.test(F)){m={value:c[F]};F=="from"&&(F=0);F=="to"&&(F=100);m.key=T(F,10);C.push(m)}C.sort(be);C[0].key&&C.unshift({key:0,value:h.attrs});for(v=0,x=C[w];v<x;v++)cx(C[v].value,h,d/100*C[v].key,d/100*(C[v-1]&&C[v-1].key||0),C[v-1]&&C[v-1].value.callback);D=C[C[w]-1].value.callback;D&&h.timeouts.push(setTimeout(function(){D.call(h)},d))}return this};bO.stop=function(){for(var a=0;a<cv.length;a++)cv[a].el.id==this.id&&cv.splice(a--,1);for(a=0,ii=this.timeouts&&this.timeouts.length;a<ii;a++)clearTimeout(this.timeouts[a]);this.timeouts=[];clearTimeout(this._ac);delete this._ac;return this};bO.translate=function(a,b){return this.attr({translation:a+" "+b})};bO[H]=function(){return"Raphaël’s object"};a.ae=cv;var cC=function(a){this.items=[];this[w]=0;this.type="set";if(a)for(var b=0,c=a[w];b<c;b++){if(a[b]&&(a[b].constructor==bN||a[b].constructor==cC)){this[this.items[w]]=this.items[this.items[w]]=a[b];this[w]++}}};cC[e][L]=function(){var a,b;for(var c=0,d=arguments[w];c<d;c++){a=arguments[c];if(a&&(a.constructor==bN||a.constructor==cC)){b=this.items[w];this[b]=this.items[b]=a;this[w]++}}return this};cC[e].pop=function(){delete this[this[w]--];return this.items.pop()};for(var cD in bO)bO[f](cD)&&(cC[e][cD]=(function(a){return function(){for(var b=0,c=this.items[w];b<c;b++)this.items[b][a][m](this.items[b],arguments);return this}})(cD));cC[e].attr=function(b,c){if(b&&a.is(b,G)&&a.is(b[0],"object"))for(var d=0,e=b[w];d<e;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items[w];f<g;f++)this.items[f].attr(b,c);return this};cC[e].animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f=this.items[w],g=f,h,i=this,j;e&&(j=function(){!(--f)&&e.call(i)});d=a.is(d,F)?d:j;h=this.items[--g].animate(b,c,d,j);while(g--)this.items[g]&&!this.items[g].removed&&this.items[g].animateWith(h,b,c,d,j);return this};cC[e].insertAfter=function(a){var b=this.items[w];while(b--)this.items[b].insertAfter(a);return this};cC[e].getBBox=function(){var a=[],b=[],c=[],d=[];for(var e=this.items[w];e--;){var f=this.items[e].getBBox();a[L](f.x);b[L](f.y);c[L](f.x+f.width);d[L](f.y+f.height)}a=A[m](0,a);b=A[m](0,b);return{x:a,y:b,width:z[m](0,c)-a,height:z[m](0,d)-b}};cC[e].clone=function(a){a=new cC;for(var b=0,c=this.items[w];b<c;b++)a[L](this.items[b].clone());return a};a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[f](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c][L](b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=T(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[f](e)){var g=a.glyphs[e];b.glyphs[e]={w:g.w,k:{},d:g.d&&"M"+g.d[Y](/[mlcxtrv]/g,function(a){return({l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"})[a]||"M"})+"z"};if(g.k)for(var h in g.k)g[f](h)&&(b.glyphs[e].k[h]=g.k[h])}}return a};k.getFont=function(b,c,d,e){e=e||"normal";d=d||"normal";c=+c||({normal:400,bold:700,lighter:300,bolder:800})[c]||400;if(!a.fonts)return;var g=a.fonts[b];if(!g){var h=new RegExp("(^|\\s)"+b[Y](/[^\w\d\s+!~.:_-]/g,p)+"(\\s|$)","i");for(var i in a.fonts)if(a.fonts[f](i)){if(h.test(i)){g=a.fonts[i];break}}}var j;if(g)for(var k=0,l=g[w];k<l;k++){j=g[k];if(j.face["font-weight"]==c&&(j.face["font-style"]==d||!j.face["font-style"])&&j.face["font-stretch"]==e)break}return j};k.print=function(c,d,e,f,g,h,i){h=h||"middle";i=z(A(i||0,1),-1);var j=this.set(),k=r(e)[s](p),l=0,m=p,n;a.is(f,e)&&(f=this.getFont(f));if(f){n=(g||16)/f.face["units-per-em"];var o=f.face.bbox.split(b),q=+o[0],t=+o[1]+(h=="baseline"?o[3]-o[1]+ +f.face.descent:(o[3]-o[1])/2);for(var u=0,v=k[w];u<v;u++){var x=u&&f.glyphs[k[u-1]]||{},y=f.glyphs[k[u]];l+=u?(x.w||f.w)+(x.k&&x.k[k[u]]||0)+f.w*i:0;y&&y.d&&j[L](this.path(y.d).attr({fill:"#000",stroke:"none",translation:[l,0]}))}j.scale(n,n,q,t).translate(c-q,d-t)}return j};a.format=function(b,c){var e=a.is(c,G)?[0][n](c):arguments;b&&a.is(b,F)&&e[w]-1&&(b=b[Y](d,function(a,b){return e[++b]==null?p:e[b]}));return b||p};a.ninja=function(){i.was?h.Raphael=i.is:delete Raphael;return a};a.el=bO;a.st=cC[e];i.was?h.Raphael=a:Raphael=a})()
\ No newline at end of file
--- a/web/res/metadataplayer/test/raphael.html	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/res/metadataplayer/test/raphael.html	Wed Apr 27 18:54:31 2011 +0200
@@ -1,66 +1,66 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-test 
-
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<script type="text/javascript"> 
-
-
-// Creates canvas 320  200 at 10, 50
-var paper = Raphael(10, 50, 500, 200);
-	lineSize : 500;
-	
-	
-	element = new Array();
-	
-	
-    position = 'left';
-    //rect = paper.rect(20, 20, 50, 50).attr({"fill": "#fbb"});
-	//rect.attr({"stroke-width":1});
-	
-	for(var i=0; i<100; i++) {
-		var x 		= 5*i;
-		var width   = Math.floor(Math.random()*20);
-		p = element[i]  = paper.rect(x, 50-width , 5, width ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0."+i+", 1, 1)",});	
-		
-		p.mouseover(function () {
-            var heightM = Math.floor(Math.random()*50)
-				this.animate({height:heightM }, 400, "bounce");
-		})
-	}
-	
-	for(var i=0; i<element.length; i++) {
-		 MyElement = element[i];
-		 $(MyElement.node).mouseover(function (){
-			var heightM = Math.floor(Math.random()*50)
-			this.parent.animate({height:heightM }, 400, "bounce");
-		}); 
-	}
-	
-  /*
-  $(rect.node).mouseover(function () {
-    if (position === 'left') {
-      rect.animate({x: 300, y: 100}, 400, "<>");
-      position = 'right';
-    } else {
-      rect.animate({x: 20, y: 20 }, 800, "bounce");
-      position = 'left';
-    }
-  });
- */
-  setInterval(function () {
-
-  }, 10);
-</script>
-test
-
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+test 
+
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<script type="text/javascript"> 
+
+
+// Creates canvas 320 � 200 at 10, 50
+var paper = Raphael(10, 50, 500, 200);
+	lineSize : 500;
+	
+	
+	element = new Array();
+	
+	
+    position = 'left';
+    //rect = paper.rect(20, 20, 50, 50).attr({"fill": "#fbb"});
+	//rect.attr({"stroke-width":1});
+	
+	for(var i=0; i<100; i++) {
+		var x 		= 5*i;
+		var width   = Math.floor(Math.random()*20);
+		p = element[i]  = paper.rect(x, 50-width , 5, width ).attr({stroke:"#fff","stroke-width":0.3,  fill: "hsb(0."+i+", 1, 1)",});	
+		
+		p.mouseover(function () {
+            var heightM = Math.floor(Math.random()*50)
+				this.animate({height:heightM }, 400, "bounce");
+		})
+	}
+	
+	for(var i=0; i<element.length; i++) {
+		 MyElement = element[i];
+		 $(MyElement.node).mouseover(function (){
+			var heightM = Math.floor(Math.random()*50)
+			this.parent.animate({height:heightM }, 400, "bounce");
+		}); 
+	}
+	
+  /*
+  $(rect.node).mouseover(function () {
+    if (position === 'left') {
+      rect.animate({x: 300, y: 100}, 400, "<>");
+      position = 'right';
+    } else {
+      rect.animate({x: 20, y: 20 }, 800, "bounce");
+      position = 'left';
+    }
+  });
+ */
+  setInterval(function () {
+
+  }, 10);
+</script>
+test
+
+</body>
+</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 @@
-<!doctype html>
-<html>
-  <head>
-    <script src='raphael-min.js'></script>
-    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js'></script>
-    <script>
-      $(function () {
-        var paper = Raphael(10, 50, 300, 250);
-        var circle = paper.circle(50, 40, 10);
-        circle.attr('fill', '#c00');
-        circle.attr('stroke', '#fff');
-      });
-    </script>
-  </head>
-
-  <body></body>
+<!doctype html>
+<html>
+  <head>
+    <script src='raphael-min.js'></script>
+    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js'></script>
+    <script>
+      $(function () {
+        var paper = Raphael(10, 50, 300, 250);
+        var circle = paper.circle(50, 40, 10);
+        circle.attr('fill', '#c00');
+        circle.attr('stroke', '#fff');
+      });
+    </script>
+  </head>
+
+  <body></body>
 </html>
\ No newline at end of file
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Example raphael</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
-</head>
-<body>
-
-<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
-<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
-<script type="text/javascript" src="raphael-min.js"></script>
-
-<div>
-<!--
-<script type='text/javascript' src='http://www.cybunk.com/irinumberOfTweet/FC/src/js/LdtPlayer.js'></script>
-  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
-  <script type="text/javascript">
-	var config = {
-			metadata:{
-				format:'cinelab',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
-				load:'jsonp'},
-			gui:{
-				width:650,
-				height:480,
-				mode:'video',
-				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-				debug:false,
-				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
-			player:{
-				type:'jwplayer',
-				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-		};
-	__IriSP.init(config);     
-</script>
-</div>
--->
-
-<div id="charttimeline">ici</div>
-
-<script type="text/javascript"> 
-
-// v1 ::
-//		- config
-// 		- organisation classe
-//		- zoom 
-// 		- rollover !! 
-// 		- legend  !!
-// 		- seek !!
-//		
-
-
-	/*
-		1 | 1D973D > vert 	> ++ > OK
-		2 | C5A62D > orange	> ?? > Q
-		3 | CE0A15 > rouge  > -- > KO
-		4 | 036AAE > bleu   > == > REF
-		5 | 585858 > gris   > NQ > ""
-	*/
-	
-	
-cinelabToChart=	 function (){
-}
-
-chartTimeline = function (){
-
-}
-
-chartTimeline = function (config){
-	this.config = config;
-	
-}
-chartTimeline.prototype.create function(){
-} 
-
-	// configuration 
-	var config = {
-					target:"charttimeline",
-					x:8,
-					y:438,
-					width:650,
-					height:200,
-					heightmax:50
-					}
-	// Make and define the Raphael area
-	var paper = Raphael(document.getElementById(config.target),config.width, config.height);
-	
-	// variable 
-	var yCoef	  = 2; 					// coef for height of 1 tweet 
-	var frameSize = 5; 					// frame size 
-	var lineSize  = 650;				// timeline width 
-	var nbrframes = lineSize/frameSize; // frame numbers
-	var numberOfTweet  	  = 400;				
-	var duration  = 4299820 ;
-	
-	frameLenght = lineSize/frameSize;
-	var timeline;
-	var tweets  = new Array();
-	var element = new Array();
-	var cluster = new Array();
-	var frames  = new Array(frameLenght);
-	var slices  = new Array();
-	var colors  = new Array("","#1D973D","#C5A62D","#CE0A15","#036AAE","#585858");
-
-	var traceNum = 0;
-	function trace(msg,value){
-		traceNum += 1;
-		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-output");
-	}
-	
-	function qualificationTrans(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;
-		}
-	}
-	
-	var k=0;
-	
-	$.ajax({
-	  dataType: "json",
-	  url:"metadata.json",
-	  success : function(json){
-		trace("load","");
-			$.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; j<item.content['polemics'].length; j++){
-							
-									
-									
-									tweets[k] = {
-												id:i,
-												qualification:qualificationTrans(item.content['polemics'][j]),
-												yIndicator:MyTime,
-												yframe:Myframe
-												}
-									trace("t","y = "+tweets[k].yIndicator+" | yf = "+tweets[k].yframe+" | q = "+tweets[k].qualification);
-									k+=1;
-							}
-					}else{
-						//trace("k = ",i);
-						tweets[k] = {
-									id:i,
-									qualification:qualificationTrans(""),
-									yIndicator:MyTime,
-									yframe:Myframe
-						}
-						k+=1;
-					}
-					
-				} else {
-					//trace("tweet qualification = ","null");
-				}
-			});	
-		trace("======= ",k);
-	   DrawTweets ();
-	   
-	  }
-	 });
- 
-	slice = function(){
-		var id;
-		var values;
-		var elements;
-	}
-	
-	slice = function(id,values){
-		
-	}
-
-
-	// Random value for tweet simulations 
-	/*
-	for(var i=0; i<numberOfTweet; i++) {	
-		var MyTime  = Math.floor(Math.random()*500);
-		var Myframe = Math.floor(MyTime/lineSize*frameLenght);
-		
-		tweets[i] = {
-						id:i,
-						qualification:Math.floor(Math.random()*6),
-						yIndicator:MyTime,
-						yframe:Myframe
-					}
-		//trace("t","y = "+tweets[i].yIndicator+" | f = "+tweets[i].yframe+" | q = "+tweets[i].qualification);
-		// ajout dans cluster 
-	}*/
-	
-	// tweet classement 
-	function DrawTweets (){
-	numberOfTweet = tweets.length;
-	//alert(numberOfTweet);
-		for(var i=0; i<nbrframes; i++) {	
-			for(var j=0; j<numberOfTweet; j++) {	
-				if (i==tweets[j].yframe){
-					
-					var k = tweets[j].qualification;
-					//trace("add in "+i,k);
-					// crer un tableau pour les cluster
-					if(frames[i]==undefined){
-						frames[i] = new Array();
-					}
-					// asign le comptage au cluster
-					if(frames[i][k]==undefined){
-						frames[i][k]=1;
-					}else{
-						frames[i][k]+=1;
-					}
-				}
-			}
-			
-		}
-			
-		var max  = 0;
-		var padding = 50;
-		var height  = 50;
-
-		for(var i=0; i<nbrframes; i++) {
-			var moy	= 0;
-			for (var j=1; j<6; j++){		
-				if (frames[i]!=undefined){
-					if (frames[i][j]!=undefined){
-						moy += frames[i][j]
-					}
-				}
-			}
-			//trace("frame "+i,moy);
-			if (moy>max){max=moy;}
-		}
-		trace("frame max =",max);
-		trace("===================","=====================");
-		
-		for(var i=0; i<nbrframes; i++) {
-			var addEheight = 0;
-			for (var j=6; j>0; j--){
-				if (frames[i]!=undefined){
-					if (frames[i][j]!=undefined){
-						var Eheight  = frames[i][j]*5;
-						paper.rect(i*frameSize, padding-Eheight-addEheight, 4, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
-						addEheight +=Eheight;
-					}
-				}
-			
-			}
-		}
-
-	}
-  
-</script>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Example raphael</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+</head>
+<body>
+
+<div id="Ldt-output" name="Ldt-output" style="position:absolute;left:600px;" ></div>
+<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
+<script type="text/javascript" src="raphael-min.js"></script>
+
+<div>
+<!--
+<script type='text/javascript' src='http://www.cybunk.com/irinumberOfTweet/FC/src/js/LdtPlayer.js'></script>
+  <div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"/>
+  <script type="text/javascript">
+	var config = {
+			metadata:{
+				format:'cinelab',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/ldtplatform/ldt/cljson/id/13b0aa52-336b-11e0-b233-00145ea49a02',
+				load:'jsonp'},
+			gui:{
+				width:650,
+				height:480,
+				mode:'video',
+				container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+				debug:false,
+				css:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/css/LdtPlayer.css'},
+			player:{
+				type:'jwplayer',
+				src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+		};
+	__IriSP.init(config);     
+</script>
+</div>
+-->
+
+<div id="charttimeline">ici</div>
+
+<script type="text/javascript"> 
+
+// v1 ::
+//		- config
+// 		- organisation classe
+//		- zoom 
+// 		- rollover !! 
+// 		- legend  !!
+// 		- seek !!
+//		
+
+
+	/*
+		1 | 1D973D > vert 	> ++ > OK
+		2 | C5A62D > orange	> ?? > Q
+		3 | CE0A15 > rouge  > -- > KO
+		4 | 036AAE > bleu   > == > REF
+		5 | 585858 > gris   > NQ > ""
+	*/
+	
+	
+cinelabToChart=	 function (){
+}
+
+chartTimeline = function (){
+
+}
+
+chartTimeline = function (config){
+	this.config = config;
+	
+}
+chartTimeline.prototype.create function(){
+} 
+
+	// configuration 
+	var config = {
+					target:"charttimeline",
+					x:8,
+					y:438,
+					width:650,
+					height:200,
+					heightmax:50
+					}
+	// Make and define the Raphael area
+	var paper = Raphael(document.getElementById(config.target),config.width, config.height);
+	
+	// variable 
+	var yCoef	  = 2; 					// coef for height of 1 tweet 
+	var frameSize = 5; 					// frame size 
+	var lineSize  = 650;				// timeline width 
+	var nbrframes = lineSize/frameSize; // frame numbers
+	var numberOfTweet  	  = 400;				
+	var duration  = 4299820 ;
+	
+	frameLenght = lineSize/frameSize;
+	var timeline;
+	var tweets  = new Array();
+	var element = new Array();
+	var cluster = new Array();
+	var frames  = new Array(frameLenght);
+	var slices  = new Array();
+	var colors  = new Array("","#1D973D","#C5A62D","#CE0A15","#036AAE","#585858");
+
+	var traceNum = 0;
+	function trace(msg,value){
+		traceNum += 1;
+		$("<div>"+traceNum+" - "+msg+" : "+value+"</div>").appendTo("#Ldt-output");
+	}
+	
+	function qualificationTrans(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;
+		}
+	}
+	
+	var k=0;
+	
+	$.ajax({
+	  dataType: "json",
+	  url:"metadata.json",
+	  success : function(json){
+		trace("load","");
+			$.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; j<item.content['polemics'].length; j++){
+							
+									
+									
+									tweets[k] = {
+												id:i,
+												qualification:qualificationTrans(item.content['polemics'][j]),
+												yIndicator:MyTime,
+												yframe:Myframe
+												}
+									trace("t","y = "+tweets[k].yIndicator+" | yf = "+tweets[k].yframe+" | q = "+tweets[k].qualification);
+									k+=1;
+							}
+					}else{
+						//trace("k = ",i);
+						tweets[k] = {
+									id:i,
+									qualification:qualificationTrans(""),
+									yIndicator:MyTime,
+									yframe:Myframe
+						}
+						k+=1;
+					}
+					
+				} else {
+					//trace("tweet qualification = ","null");
+				}
+			});	
+		trace("======= ",k);
+	   DrawTweets ();
+	   
+	  }
+	 });
+ 
+	slice = function(){
+		var id;
+		var values;
+		var elements;
+	}
+	
+	slice = function(id,values){
+		
+	}
+
+
+	// Random value for tweet simulations 
+	/*
+	for(var i=0; i<numberOfTweet; i++) {	
+		var MyTime  = Math.floor(Math.random()*500);
+		var Myframe = Math.floor(MyTime/lineSize*frameLenght);
+		
+		tweets[i] = {
+						id:i,
+						qualification:Math.floor(Math.random()*6),
+						yIndicator:MyTime,
+						yframe:Myframe
+					}
+		//trace("t","y = "+tweets[i].yIndicator+" | f = "+tweets[i].yframe+" | q = "+tweets[i].qualification);
+		// ajout dans cluster 
+	}*/
+	
+	// tweet classement 
+	function DrawTweets (){
+	numberOfTweet = tweets.length;
+	//alert(numberOfTweet);
+		for(var i=0; i<nbrframes; i++) {	
+			for(var j=0; j<numberOfTweet; j++) {	
+				if (i==tweets[j].yframe){
+					
+					var k = tweets[j].qualification;
+					//trace("add in "+i,k);
+					// cr�er un tableau pour les cluster
+					if(frames[i]==undefined){
+						frames[i] = new Array();
+					}
+					// asign� le comptage au cluster
+					if(frames[i][k]==undefined){
+						frames[i][k]=1;
+					}else{
+						frames[i][k]+=1;
+					}
+				}
+			}
+			
+		}
+			
+		var max  = 0;
+		var padding = 50;
+		var height  = 50;
+
+		for(var i=0; i<nbrframes; i++) {
+			var moy	= 0;
+			for (var j=1; j<6; j++){		
+				if (frames[i]!=undefined){
+					if (frames[i][j]!=undefined){
+						moy += frames[i][j]
+					}
+				}
+			}
+			//trace("frame "+i,moy);
+			if (moy>max){max=moy;}
+		}
+		trace("frame max =",max);
+		trace("===================","=====================");
+		
+		for(var i=0; i<nbrframes; i++) {
+			var addEheight = 0;
+			for (var j=6; j>0; j--){
+				if (frames[i]!=undefined){
+					if (frames[i][j]!=undefined){
+						var Eheight  = frames[i][j]*5;
+						paper.rect(i*frameSize, padding-Eheight-addEheight, 4, Eheight).attr({stroke:"#00","stroke-width":0.1,  fill: colors[j]});	
+						addEheight +=Eheight;
+					}
+				}
+			
+			}
+		}
+
+	}
+  
+</script>
+</body>
+</html>
--- 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
--- 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
--- 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 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<title>Niceforms</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<script language="javascript" type="text/javascript" src="niceforms.js"></script>
-<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
-</head>
-
-<body><div id="container">
-<form action="vars.php" method="post" class="niceform">
-	<fieldset>
-    	<legend>Personal Info</legend>
-        <dl>
-        	<dt><label for="email">Email Address:</label></dt>
-            <dd><input type="text" name="email" id="email" size="32" maxlength="128" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="password">Password:</label></dt>
-            <dd><input type="password" name="password" id="password" size="32" maxlength="32" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="gender">Gender:</label></dt>
-            <dd>
-            	<select size="1" name="gender" id="gender">
-                    <option value="Guy">Guy</option>
-                    <option value="Girl">Girl</option>
-                    <option value="Dude">Dude</option>
-                    <option value="Chic">Chic</option>
-                    <option value="Gentleman">Gentleman</option>
-                    <option value="Lady">Lady</option>
-                    <option value="Male">Male</option>
-                    <option value="Female">Female</option>
-                    <option value="Don't Ask">Don't Ask</option>
-            	</select>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="dobMonth">Date of Birth:</label></dt>
-            <dd>
-            	<select size="1" name="dobMonth" id="dobMonth">
-                	<option value="Jan">Jan</option>
-                    <option value="Feb">Feb</option>
-                    <option value="Mar">Mar</option>
-                    <option value="Apr">Apr</option>
-                    <option value="May">May</option>
-                    <option value="Jun">Jun</option>
-                    <option value="Jul">Jul</option>
-                    <option value="Aug">Aug</option>
-                    <option value="Sep">Sep</option>
-                    <option value="Oct">Oct</option>
-                    <option value="Nov">Nov</option>
-                    <option value="Dec">Dec</option>
-                </select>
-                <select size="1" name="dobDay" id="dobDay">
-                	<option value="01">01</option>
-                    <option value="02">02</option>
-                    <option value="03">03</option>
-                    <option value="04">04</option>
-                    <option value="05">05</option>
-                    <option value="06">06</option>
-                    <option value="07">07</option>
-                    <option value="08">08</option>
-                    <option value="09">09</option>
-                    <option value="10">10</option>
-                    <option value="11">11</option>
-                    <option value="12">12</option>
-                    <option value="13">13</option>
-                    <option value="14">14</option>
-                    <option value="15">15</option>
-                    <option value="16">16</option>
-                    <option value="17">17</option>
-                    <option value="18">18</option>
-                    <option value="19">19</option>
-                    <option value="20">20</option>
-                    <option value="21">21</option>
-                    <option value="22">22</option>
-                    <option value="23">23</option>
-                    <option value="24">24</option>
-                    <option value="25">25</option>
-                    <option value="26">26</option>
-                    <option value="27">27</option>
-                    <option value="28">28</option>
-                    <option value="29">29</option>
-                    <option value="30">30</option>
-                    <option value="31">31</option>
-                </select>
-                <select size="1" name="dobYear" id="dobYear">
-                	<option value="2000">2000</option>
-                    <option value="1999">1999</option>
-                    <option value="1998">1998</option>
-                    <option value="1997">1997</option>
-                    <option value="1996">1996</option>
-                    <option value="1995">1995</option>
-					<option value="1994">1994</option>
-					<option value="1993">1993</option>
-					<option value="1992">1992</option>
-					<option value="1991">1991</option>
-					<option value="1990">1990</option>
-					<option value="1989">1989</option>
-					<option value="1988">1988</option>
-					<option value="1987">1987</option>
-					<option value="1986">1986</option>
-					<option value="1985">1985</option>
-					<option value="1984">1984</option>
-					<option value="1983">1983</option>
-					<option value="1982">1982</option>
-					<option value="1981">1981</option>
-					<option value="1980">1980</option>
-					<option value="1979">1979</option>
-					<option value="1978">1978</option>
-					<option value="1977">1977</option>
-					<option value="1976">1976</option>
-					<option value="1975">1975</option>
-					<option value="1974">1974</option>
-					<option value="1973">1973</option>
-					<option value="1972">1972</option>
-					<option value="1971">1971</option>
-					<option value="1970">1970</option>
-					<option value="1969">1969</option>
-					<option value="1968">1968</option>
-					<option value="1967">1967</option>
-					<option value="1966">1966</option>
-					<option value="1965">1965</option>
-					<option value="1964">1964</option>
-					<option value="1963">1963</option>
-					<option value="1962">1962</option>
-					<option value="1961">1961</option>
-					<option value="1960">1960</option>
-					<option value="1959">1959</option>
-					<option value="1958">1958</option>
-					<option value="1957">1957</option>
-					<option value="1956">1956</option>
-					<option value="1955">1955</option>
-					<option value="1954">1954</option>
-					<option value="1953">1953</option>
-					<option value="1952">1952</option>
-					<option value="1951">1951</option>
-					<option value="1950">1950</option>
-                </select>
-            </dd>
-        </dl>
-    </fieldset>
-    <fieldset>
-    	<legend>Preferences</legend>
-        <dl>
-        	<dt><label for="color">Favorite Color:</label></dt>
-            <dd>
-            	<input type="radio" name="color" id="colorBlue" value="Blue" /><label for="colorBlue" class="opt">Blue</label>
-                <input type="radio" name="color" id="colorRed" value="Red" /><label for="colorRed" class="opt">Red</label>
-                <input type="radio" name="color" id="colorGreen" value="Green" /><label for="colorGreen" class="opt">Green</label>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="interests">Interests:</label></dt>
-            <dd>
-                <input type="checkbox" name="interests[]" id="interestsNews" value="News" /><label for="interestsNews" class="opt">News</label>
-                <input type="checkbox" name="interests[]" id="interestsSports" value="Sports" /><label for="interestsSports" class="opt">Sports</label>
-                <input type="checkbox" name="interests[]" id="interestsEntertainment" value="Entertainment" /><label for="interestsEntertainment" class="opt">Entertainment</label>
-                <input type="checkbox" name="interests[]" id="interestsCars" value="Cars" /><label for="interestsCars" class="opt">Automotive</label>
-                <input type="checkbox" name="interests[]" id="interestsTechnology" value="Technology" /><label for="interestsTechnology" class="opt">Technology</label>
-            </dd>
-        </dl>
-        <dl>
-        	<dt><label for="languages">Languages:</label></dt>
-            <dd>
-            	<select size="4" name="languages[]" id="languages" multiple="multiple">
-                	<option value="English">English</option>
-                    <option value="French">French</option>
-                    <option value="Spanish">Spanish</option>
-                    <option value="Italian">Italian</option>
-                    <option value="Chinese">Chinese</option>
-                    <option value="Japanese">Japanese</option>
-                    <option value="Russian">Russian</option>
-                    <option value="Esperanto">Esperanto</option>
-                </select>
-            </dd>
-        </dl>
-    </fieldset>
-    <fieldset>
-    	<legend>Comments</legend>
-        <dl>
-        	<dt><label for="comments">Message:</label></dt>
-            <dd><textarea name="comments" id="comments" rows="5" cols="60"></textarea></dd>
-        </dl>
-        <dl>
-        	<dt><label for="upload">Upload a File:</label></dt>
-            <dd><input type="file" name="upload" id="upload" /></dd>
-        </dl>
-        <dl>
-        	<dt><label for="test">Sample Button:</label></dt>
-            <dd><button type="button" name="test" id="test">I Do Nothing</button></dd>
-        </dl>
-    </fieldset>
-    <fieldset class="action">
-    	<input type="submit" name="submit" id="submit" value="Submit" />
-    </fieldset>
-</form>
-<p id="footer">Niceforms v.2.0<br />&copy;Lucian Slatineanu - <a href="http://www.emblematiq.com/">Emblematiq</a><br />Last update: Nov 13 2008</p>
-</div></body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Niceforms</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<script language="javascript" type="text/javascript" src="niceforms.js"></script>
+<link rel="stylesheet" type="text/css" media="all" href="niceforms-default.css" />
+</head>
+
+<body><div id="container">
+<form action="vars.php" method="post" class="niceform">
+	<fieldset>
+    	<legend>Personal Info</legend>
+        <dl>
+        	<dt><label for="email">Email Address:</label></dt>
+            <dd><input type="text" name="email" id="email" size="32" maxlength="128" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="password">Password:</label></dt>
+            <dd><input type="password" name="password" id="password" size="32" maxlength="32" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="gender">Gender:</label></dt>
+            <dd>
+            	<select size="1" name="gender" id="gender">
+                    <option value="Guy">Guy</option>
+                    <option value="Girl">Girl</option>
+                    <option value="Dude">Dude</option>
+                    <option value="Chic">Chic</option>
+                    <option value="Gentleman">Gentleman</option>
+                    <option value="Lady">Lady</option>
+                    <option value="Male">Male</option>
+                    <option value="Female">Female</option>
+                    <option value="Don't Ask">Don't Ask</option>
+            	</select>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="dobMonth">Date of Birth:</label></dt>
+            <dd>
+            	<select size="1" name="dobMonth" id="dobMonth">
+                	<option value="Jan">Jan</option>
+                    <option value="Feb">Feb</option>
+                    <option value="Mar">Mar</option>
+                    <option value="Apr">Apr</option>
+                    <option value="May">May</option>
+                    <option value="Jun">Jun</option>
+                    <option value="Jul">Jul</option>
+                    <option value="Aug">Aug</option>
+                    <option value="Sep">Sep</option>
+                    <option value="Oct">Oct</option>
+                    <option value="Nov">Nov</option>
+                    <option value="Dec">Dec</option>
+                </select>
+                <select size="1" name="dobDay" id="dobDay">
+                	<option value="01">01</option>
+                    <option value="02">02</option>
+                    <option value="03">03</option>
+                    <option value="04">04</option>
+                    <option value="05">05</option>
+                    <option value="06">06</option>
+                    <option value="07">07</option>
+                    <option value="08">08</option>
+                    <option value="09">09</option>
+                    <option value="10">10</option>
+                    <option value="11">11</option>
+                    <option value="12">12</option>
+                    <option value="13">13</option>
+                    <option value="14">14</option>
+                    <option value="15">15</option>
+                    <option value="16">16</option>
+                    <option value="17">17</option>
+                    <option value="18">18</option>
+                    <option value="19">19</option>
+                    <option value="20">20</option>
+                    <option value="21">21</option>
+                    <option value="22">22</option>
+                    <option value="23">23</option>
+                    <option value="24">24</option>
+                    <option value="25">25</option>
+                    <option value="26">26</option>
+                    <option value="27">27</option>
+                    <option value="28">28</option>
+                    <option value="29">29</option>
+                    <option value="30">30</option>
+                    <option value="31">31</option>
+                </select>
+                <select size="1" name="dobYear" id="dobYear">
+                	<option value="2000">2000</option>
+                    <option value="1999">1999</option>
+                    <option value="1998">1998</option>
+                    <option value="1997">1997</option>
+                    <option value="1996">1996</option>
+                    <option value="1995">1995</option>
+					<option value="1994">1994</option>
+					<option value="1993">1993</option>
+					<option value="1992">1992</option>
+					<option value="1991">1991</option>
+					<option value="1990">1990</option>
+					<option value="1989">1989</option>
+					<option value="1988">1988</option>
+					<option value="1987">1987</option>
+					<option value="1986">1986</option>
+					<option value="1985">1985</option>
+					<option value="1984">1984</option>
+					<option value="1983">1983</option>
+					<option value="1982">1982</option>
+					<option value="1981">1981</option>
+					<option value="1980">1980</option>
+					<option value="1979">1979</option>
+					<option value="1978">1978</option>
+					<option value="1977">1977</option>
+					<option value="1976">1976</option>
+					<option value="1975">1975</option>
+					<option value="1974">1974</option>
+					<option value="1973">1973</option>
+					<option value="1972">1972</option>
+					<option value="1971">1971</option>
+					<option value="1970">1970</option>
+					<option value="1969">1969</option>
+					<option value="1968">1968</option>
+					<option value="1967">1967</option>
+					<option value="1966">1966</option>
+					<option value="1965">1965</option>
+					<option value="1964">1964</option>
+					<option value="1963">1963</option>
+					<option value="1962">1962</option>
+					<option value="1961">1961</option>
+					<option value="1960">1960</option>
+					<option value="1959">1959</option>
+					<option value="1958">1958</option>
+					<option value="1957">1957</option>
+					<option value="1956">1956</option>
+					<option value="1955">1955</option>
+					<option value="1954">1954</option>
+					<option value="1953">1953</option>
+					<option value="1952">1952</option>
+					<option value="1951">1951</option>
+					<option value="1950">1950</option>
+                </select>
+            </dd>
+        </dl>
+    </fieldset>
+    <fieldset>
+    	<legend>Preferences</legend>
+        <dl>
+        	<dt><label for="color">Favorite Color:</label></dt>
+            <dd>
+            	<input type="radio" name="color" id="colorBlue" value="Blue" /><label for="colorBlue" class="opt">Blue</label>
+                <input type="radio" name="color" id="colorRed" value="Red" /><label for="colorRed" class="opt">Red</label>
+                <input type="radio" name="color" id="colorGreen" value="Green" /><label for="colorGreen" class="opt">Green</label>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="interests">Interests:</label></dt>
+            <dd>
+                <input type="checkbox" name="interests[]" id="interestsNews" value="News" /><label for="interestsNews" class="opt">News</label>
+                <input type="checkbox" name="interests[]" id="interestsSports" value="Sports" /><label for="interestsSports" class="opt">Sports</label>
+                <input type="checkbox" name="interests[]" id="interestsEntertainment" value="Entertainment" /><label for="interestsEntertainment" class="opt">Entertainment</label>
+                <input type="checkbox" name="interests[]" id="interestsCars" value="Cars" /><label for="interestsCars" class="opt">Automotive</label>
+                <input type="checkbox" name="interests[]" id="interestsTechnology" value="Technology" /><label for="interestsTechnology" class="opt">Technology</label>
+            </dd>
+        </dl>
+        <dl>
+        	<dt><label for="languages">Languages:</label></dt>
+            <dd>
+            	<select size="4" name="languages[]" id="languages" multiple="multiple">
+                	<option value="English">English</option>
+                    <option value="French">French</option>
+                    <option value="Spanish">Spanish</option>
+                    <option value="Italian">Italian</option>
+                    <option value="Chinese">Chinese</option>
+                    <option value="Japanese">Japanese</option>
+                    <option value="Russian">Russian</option>
+                    <option value="Esperanto">Esperanto</option>
+                </select>
+            </dd>
+        </dl>
+    </fieldset>
+    <fieldset>
+    	<legend>Comments</legend>
+        <dl>
+        	<dt><label for="comments">Message:</label></dt>
+            <dd><textarea name="comments" id="comments" rows="5" cols="60"></textarea></dd>
+        </dl>
+        <dl>
+        	<dt><label for="upload">Upload a File:</label></dt>
+            <dd><input type="file" name="upload" id="upload" /></dd>
+        </dl>
+        <dl>
+        	<dt><label for="test">Sample Button:</label></dt>
+            <dd><button type="button" name="test" id="test">I Do Nothing</button></dd>
+        </dl>
+    </fieldset>
+    <fieldset class="action">
+    	<input type="submit" name="submit" id="submit" value="Submit" />
+    </fieldset>
+</form>
+<p id="footer">Niceforms v.2.0<br />&copy;Lucian Slatineanu - <a href="http://www.emblematiq.com/">Emblematiq</a><br />Last update: Nov 13 2008</p>
+</div></body>
+</html>
--- 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
--- 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<h;g++){var i=b[g]||{};c[f](i.type)&&e[L](d[i.type]().attr(i))}return e}return bV[m](a,arguments)}a.version="1.5.2";var b=/[, ]+/,c={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},d=/\{(\d+)\}/g,e="prototype",f="hasOwnProperty",g=document,h=window,i={was:Object[e][f].call(h,"Raphael"),is:h.Raphael},j=function(){this.customAttributes={}},k,l="appendChild",m="apply",n="concat",o="createTouch"in g,p="",q=" ",r=String,s="split",t="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend orientationchange touchcancel gesturestart gesturechange gestureend"[s](q),u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},v="join",w="length",x=r[e].toLowerCase,y=Math,z=y.max,A=y.min,B=y.abs,C=y.pow,D=y.PI,E="number",F="string",G="array",H="toString",I="fill",J=Object[e][H],K={},L="push",M=/^url\(['"]?([^\)]+?)['"]?\)$/i,N=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,O={"NaN":1,Infinity:1,"-Infinity":1},P=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Q=y.round,R="setAttribute",S=parseFloat,T=parseInt,U=" progid:DXImageTransform.Microsoft",V=r[e].toUpperCase,W={blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:"10px \"Arial\"","font-family":"\"Arial\"","font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},X={along:"along",blur:E,"clip-rect":"csv",cx:E,cy:E,fill:"colour","fill-opacity":E,"font-size":E,height:E,opacity:E,path:"path",r:E,rotation:"csv",rx:E,ry:E,scale:"csv",stroke:"colour","stroke-opacity":E,"stroke-width":E,translation:"csv",width:E,x:E,y:E},Y="replace",Z=/^(from|to|\d+%?)$/,$=/\s*,\s*/,_={hs:1,rg:1},ba=/,?([achlmqrstvxz]),?/gi,bb=/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,bc=/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,bd=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,be=function(a,b){return a.key-b.key};a.type=h.SVGAngle||g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if(a.type=="VML"){var bf=g.createElement("div"),bg;bf.innerHTML="<v:shape adj=\"1\"/>";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(f<d)return c-f;if(f>b-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("<body>");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||n<p)&&(u+=180);return{x:k,y:l,m:{x:m,y:n},n:{x:o,y:p},start:{x:q,y:r},end:{x:s,y:t},alpha:u}};var bn=bm(function(a){if(!a)return{x:0,y:0,width:0,height:0};a=bw(a);var b=0,c=0,d=[],e=[],f;for(var g=0,h=a[w];g<h;g++){f=a[g];if(f[0]=="M"){b=f[1];c=f[2];d[L](b);e[L](c)}else{var i=bv(b,c,f[1],f[2],f[3],f[4],f[5],f[6]);d=d[n](i.min.x,i.max.x);e=e[n](i.min.y,i.max.y);b=f[5];c=f[6]}}var j=A[m](0,d),k=A[m](0,e);return{x:j,y:k,width:z[m](0,d)-j,height:z[m](0,e)-k}}),bo=function(b){var c=[];if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);for(var d=0,e=b[w];d<e;d++){c[d]=[];for(var f=0,g=b[d][w];f<g;f++)c[d][f]=b[d][f]}c[H]=a._path2string;return c},bp=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=b[0][1];e=b[0][2];f=d;g=e;h++;c[L](["M",d,e])}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=x.call(l[0])){k[0]=x.call(l[0]);switch(k[0]){case"a":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]-d).toFixed(3);k[7]=+(l[7]-e).toFixed(3);break;case"v":k[1]=+(l[1]-e).toFixed(3);break;case"m":f=l[1];g=l[2];default:for(var m=1,n=l[w];m<n;m++)k[m]=+(l[m]-(m%2?d:e)).toFixed(3)}}else{k=c[i]=[];if(l[0]=="m"){f=l[1]+d;g=l[2]+e}for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o]}var q=c[i][w];switch(c[i][0]){case"z":d=f;e=g;break;case"h":d+=+c[i][q-1];break;case"v":e+=+c[i][q-1];break;default:d+=+c[i][q-2];e+=+c[i][q-1]}}c[H]=a._path2string;return c},0,bo),bq=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=+b[0][1];e=+b[0][2];f=d;g=e;h++;c[0]=["M",d,e]}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=V.call(l[0])){k[0]=V.call(l[0]);switch(k[0]){case"A":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]+d);k[7]=+(l[7]+e);break;case"V":k[1]=+l[1]+e;break;case"H":k[1]=+l[1]+d;break;case"M":f=+l[1]+d;g=+l[2]+e;default:for(var m=1,n=l[w];m<n;m++)k[m]=+l[m]+(m%2?d:e)}}else for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o];switch(k[0]){case"Z":d=f;e=g;break;case"H":d=k[1];break;case"V":e=k[1];break;case"M":f=c[i][c[i][w]-2];g=c[i][c[i][w]-1];default:d=c[i][c[i][w]-2];e=c[i][c[i][w]-1]}}c[H]=a._path2string;return c},null,bo),br=function(a,b,c,d){return[a,b,c,d,c,d]},bs=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},bt=function(a,b,c,d,e,f,g,h,i,j){var k=D*120/180,l=D/180*(+e||0),m=[],o,p=bm(function(a,b,c){var d=a*y.cos(c)-b*y.sin(c),e=a*y.sin(c)+b*y.cos(c);return{x:d,y:e}});if(j){G=j[0];H=j[1];E=j[2];F=j[3]}else{o=p(a,b,-l);a=o.x;b=o.y;o=p(h,i,-l);h=o.x;i=o.y;var q=y.cos(D/180*e),r=y.sin(D/180*e),t=(a-h)/2,u=(b-i)/2,x=t*t/(c*c)+u*u/(d*d);if(x>1){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=a<E?D-G:G;H=h<E?D-H:H;G<0&&(G=D*2+G);H<0&&(H=D*2+H);g&&G>H&&(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<Z;Y++)X[Y]=Y%2?p(m[Y-1],m[Y],l).y:p(m[Y],m[Y+1],l).x;return X}},bu=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,y:C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h}},bv=bm(function(a,b,c,d,e,f,g,h){var i=e-2*c+a-(g-2*e+c),j=2*(c-a)-2*(e-c),k=a-c,l=(-j+y.sqrt(j*j-4*i*k))/2/i,n=(-j-y.sqrt(j*j-4*i*k))/2/i,o=[b,h],p=[a,g],q;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)}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);j<k;j++){c[j]=g(c[j],e);h(c,j);d&&(d[j]=g(d[j],f));d&&h(d,j);i(c,d,e,f,j);i(d,c,f,e,j);var l=c[j],o=d&&d[j],p=l[w],q=d&&o[w];e.x=l[p-2];e.y=l[p-1];e.bx=S(l[p-4])||e.x;e.by=S(l[p-3])||e.y;f.bx=d&&(S(o[q-4])||f.x);f.by=d&&(S(o[q-3])||f.y);f.x=d&&o[q-2];f.y=d&&o[q-1]}return d?[c,d]:c},null,bo),bx=bm(function(b){var c=[];for(var d=0,e=b[w];d<e;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);f.color=a.getRGB(g[1]);if(f.color.error)return null;f.color=f.color.hex;g[2]&&(f.offset=g[2]+"%");c[L](f)}for(d=1,e=c[w]-1;d<e;d++){if(!c[d].offset){var h=S(c[d-1].offset||0),i=0;for(var j=d+1;j<e;j++){if(c[j].offset){i=c[j].offset;break}}if(!i){i=100;j=e}i=S(i);var k=(i-h)/(j-d+1);for(;d<j;d++){h+=k;c[d].offset=h+"%"}}}return c}),by=function(b,c,d,e){var f;if(a.is(b,F)||a.is(b,"object")){f=a.is(b,F)?g.getElementById(b):b;if(f.tagName)return c==null?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}}else return{container:1,x:b,y:c,width:d,height:e}},bz=function(a,b){var c=this;for(var d in b){if(b[f](d)&&!(d in a))switch(typeof b[d]){case"function":(function(b){a[d]=a===c?b:function(){return b[m](c,arguments)}})(b[d]);break;case"object":a[d]=a[d]||{};bz.call(this,a[d],b[d]);break;default:a[d]=b[d];break}}},bA=function(a,b){a==b.top&&(b.top=a.prev);a==b.bottom&&(b.bottom=a.next);a.next&&(a.next.prev=a.prev);a.prev&&(a.prev.next=a.next)},bB=function(a,b){if(b.top===a)return;bA(a,b);a.next=null;a.prev=b.top;b.top.next=a;b.top=a},bC=function(a,b){if(b.bottom===a)return;bA(a,b);a.next=b.bottom;a.prev=null;b.bottom.prev=a;b.bottom=a},bD=function(a,b,c){bA(a,c);b==c.top&&(c.top=a);b.next&&(b.next.prev=a);a.next=b.next;a.prev=b;b.next=a},bE=function(a,b,c){bA(a,c);b==c.bottom&&(c.bottom=a);b.prev&&(b.prev.next=a);a.prev=b.prev;b.prev=a;a.next=b},bF=function(a){return function(){throw new Error("Raphaël: you are calling to method “"+a+"” of removed object")}};a.pathToRelative=bp;if(a.svg){k.svgns="http://www.w3.org/2000/svg";k.xlink="http://www.w3.org/1999/xlink";Q=function(a){return+a+(~(~a)===a)*0.5};var bG=function(a,b){if(b)for(var c in b)b[f](c)&&a[R](c,r(b[c]));else{a=g.createElementNS(k.svgns,a);a.style.webkitTapHighlightColor="rgba(0,0,0,0)";return a}};a[H]=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var bH=function(a,b){var c=bG("path");b.canvas&&b.canvas[l](c);var d=new bN(c,b);d.type="path";bK(d,{fill:"none",stroke:"#000",path:a});return d},bI=function(a,b,c){var d="linear",e=0.5,f=0.5,h=a.style;b=r(b)[Y](bd,function(a,b,c){d="radial";if(b&&c){e=S(b);f=S(c);var g=(f>0.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];q<t;q++){var u=bG("stop");bG(u,{offset:m[q].offset?m[q].offset:q?"100%":"0%","stop-color":m[q].color||"#fff"});o[l](u)}bG(a,{fill:"url(#"+o.id+")",opacity:1,"fill-opacity":1});h.fill=p;h.opacity=1;h.fillOpacity=1;return 1},bJ=function(b){var c=b.getBBox();bG(b.pattern,{patternTransform:a.format("translate({0},{1})",c.x,c.y)})},bK=function(c,d){var e={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},h=c.node,i=c.attrs,j=c.rotate(),k=function(a,b){b=e[x.call(b)];if(b){var c=a.attrs["stroke-width"]||"1",f=({round:c,square:c,butt:0})[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],i=b[w];while(i--)g[i]=b[i]*c+(i%2?1:-1)*f;bG(h,{"stroke-dasharray":g[v](",")})}};d[f]("rotation")&&(j=d.rotation);var m=r(j)[s](b);if(m.length-1){m[1]=+m[1];m[2]=+m[2]}else m=null;S(j)&&c.rotate(0,true);for(var n in d){if(d[f](n)){if(!W[f](n))continue;var o=d[n];i[n]=o;switch(n){case"blur":c.blur(o);break;case"rotation":c.rotate(o,true);break;case"href":case"title":case"target":var t=h.parentNode;if(x.call(t.tagName)!="a"){var u=bG("a");t.insertBefore(u,h);u[l](h);t=u}n=="target"&&o=="blank"?t.setAttributeNS(c.paper.xlink,"show","new"):t.setAttributeNS(c.paper.xlink,n,o);break;case"cursor":h.style.cursor=o;break;case"clip-rect":var y=r(o)[s](b);if(y[w]==4){c.clip&&c.clip.parentNode.parentNode.removeChild(c.clip.parentNode);var z=bG("clipPath"),A=bG("rect");z.id=bh();bG(A,{x:y[0],y:y[1],width:y[2],height:y[3]});z[l](A);c.paper.defs[l](z);bG(h,{"clip-path":"url(#"+z.id+")"});c.clip=A}if(!o){var B=g.getElementById(h.getAttribute("clip-path")[Y](/(^url\(#|\)$)/g,p));B&&B.parentNode.removeChild(B);bG(h,{"clip-path":p});delete c.clip}break;case"path":c.type=="path"&&bG(h,{d:o?i.path=bq(o):"M0,0"});break;case"width":h[R](n,o);if(i.fx){n="x";o=i.x}else break;case"x":i.fx&&(o=-i.x-(i.width||0));case"rx":if(n=="rx"&&c.type=="rect")break;case"cx":m&&(n=="x"||n=="cx")&&(m[1]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"height":h[R](n,o);if(i.fy){n="y";o=i.y}else break;case"y":i.fy&&(o=-i.y-(i.height||0));case"ry":if(n=="ry"&&c.type=="rect")break;case"cy":m&&(n=="y"||n=="cy")&&(m[2]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"r":c.type=="rect"?bG(h,{rx:o,ry:o}):h[R](n,o);break;case"src":c.type=="image"&&h.setAttributeNS(c.paper.xlink,"href",o);break;case"stroke-width":h.style.strokeWidth=o;h[R](n,o);i["stroke-dasharray"]&&k(c,i["stroke-dasharray"]);break;case"stroke-dasharray":k(c,o);break;case"translation":var C=r(o)[s](b);C[0]=+C[0]||0;C[1]=+C[1]||0;if(m){m[1]+=C[0];m[2]+=C[1]}cz.call(c,C[0],C[1]);break;case"scale":C=r(o)[s](b);c.scale(+C[0]||1,+C[1]||+C[0]||1,isNaN(S(C[2]))?null:+C[2],isNaN(S(C[3]))?null:+C[3]);break;case I:var D=r(o).match(M);if(D){z=bG("pattern");var E=bG("image");z.id=bh();bG(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});bG(E,{x:0,y:0});E.setAttributeNS(c.paper.xlink,"href",D[1]);z[l](E);var F=g.createElement("img");F.style.cssText="position:absolute;left:-9999em;top-9999em";F.onload=function(){bG(z,{width:this.offsetWidth,height:this.offsetHeight});bG(E,{width:this.offsetWidth,height:this.offsetHeight});g.body.removeChild(this);c.paper.safari()};g.body[l](F);F.src=D[1];c.paper.defs[l](z);h.style.fill="url(#"+z.id+")";bG(h,{fill:"url(#"+z.id+")"});c.pattern=z;c.pattern&&bJ(c);break}var G=a.getRGB(o);if(G.error)if((({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper)){i.gradient=o;i.fill="none";break}else{delete d.gradient;delete i.gradient;!a.is(i.opacity,"undefined")&&a.is(d.opacity,"undefined")&&bG(h,{opacity:i.opacity});!a.is(i["fill-opacity"],"undefined")&&a.is(d["fill-opacity"],"undefined")&&bG(h,{"fill-opacity":i["fill-opacity"]})}G[f]("opacity")&&bG(h,{"fill-opacity":G.opacity>1?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];j<k;j++)if(i[j]){var m=bG("tspan");j&&bG(m,{dy:h*bL,x:d.x});m[l](g.createTextNode(i[j]));e[l](m)}}else{i=e.getElementsByTagName("tspan");for(j=0,k=i[w];j<k;j++)j&&bG(i[j],{dy:h*bL,x:d.x})}bG(e,{y:d.y});var n=b.getBBox(),o=d.y-(n.y+n.height/2);o&&a.is(o,"finite")&&bG(e,{y:d.y+o})},bN=function(b,c){var d=0,e=0;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.paper=c;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!c.bottom&&(c.bottom=this);this.prev=c.top;c.top&&(c.top.next=this);c.top=this;this.next=null},bO=bN[e];bN[e].rotate=function(c,d,e){if(this.removed)return this;if(c==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}var f=this.getBBox();c=r(c)[s](b);if(c[w]-1){d=S(c[1]);e=S(c[2])}c=S(c[0]);d!=null&&d!==false?this._.rt.deg=c:this._.rt.deg+=c;e==null&&(d=null);this._.rt.cx=d;this._.rt.cy=e;d=d==null?f.x+f.width/2:d;e=e==null?f.y+f.height/2:e;if(this._.rt.deg){this.transformations[0]=a.format("rotate({0} {1} {2})",this._.rt.deg,d,e);this.clip&&bG(this.clip,{transform:a.format("rotate({0} {1} {2})",-this._.rt.deg,d,e)})}else{this.transformations[0]=p;this.clip&&bG(this.clip,{transform:p})}bG(this.node,{transform:this.transformations[v](q)});return this};bN[e].hide=function(){!this.removed&&(this.node.style.display="none");return this};bN[e].show=function(){!this.removed&&(this.node.style.display="");return this};bN[e].remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);for(var a in this)delete this[a];this.removed=true};bN[e].getBBox=function(){if(this.removed)return this;if(this.type=="path")return bn(this.attrs.path);if(this.node.style.display=="none"){this.show();var a=true}var b={};try{b=this.node.getBBox()}catch(a){}finally{b=b||{}}if(this.type=="text"){b={x:b.x,y:Infinity,width:0,height:0};for(var c=0,d=this.node.getNumberOfChars();c<d;c++){var e=this.node.getExtentOfChar(c);e.y<b.y&&(b.y=e.y);e.y+e.height-b.y>b.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<i;h++)g[b[h]]=this.attr(b[h]);return g}if(c!=null){var j={};j[b]=c}else b!=null&&a.is(b,"object")&&(j=b);for(var k in this.paper.customAttributes)if(this.paper.customAttributes[f](k)&&j[f](k)&&a.is(this.paper.customAttributes[k],"function")){var l=this.paper.customAttributes[k].apply(this,[][n](j[k]));this.attrs[k]=j[k];for(var m in l)l[f](m)&&(j[m]=l[m])}bK(this,j);return this};bN[e].toFront=function(){if(this.removed)return this;this.node.parentNode[l](this.node);var a=this.paper;a.top!=this&&bB(this,a);return this};bN[e].toBack=function(){if(this.removed)return this;if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);bC(this,this.paper);var a=this.paper}return this};bN[e].insertAfter=function(a){if(this.removed)return this;var b=a.node||a[a.length-1].node;b.nextSibling?b.parentNode.insertBefore(this.node,b.nextSibling):b.parentNode[l](this.node);bD(this,a,this.paper);return this};bN[e].insertBefore=function(a){if(this.removed)return this;var b=a.node||a[0].node;b.parentNode.insertBefore(this.node,b);bE(this,a,this.paper);return this};bN[e].blur=function(a){var b=this;if(+a!==0){var c=bG("filter"),d=bG("feGaussianBlur");b.attrs.blur=a;c.id=bh();bG(d,{stdDeviation:+a||1.5});c.appendChild(d);b.paper.defs.appendChild(c);b._blur=c;bG(b.node,{filter:"url(#"+c.id+")"})}else{if(b._blur){b._blur.parentNode.removeChild(b._blur);delete b._blur;delete b.attrs.blur}b.node.removeAttribute("filter")}};var bP=function(a,b,c,d){var e=bG("circle");a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"};f.type="circle";bG(e,f.attrs);return f},bQ=function(a,b,c,d,e,f){var g=bG("rect");a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};h.type="rect";bG(g,h.attrs);return h},bR=function(a,b,c,d,e){var f=bG("ellipse");a.canvas&&a.canvas[l](f);var g=new bN(f,a);g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"};g.type="ellipse";bG(f,g.attrs);return g},bS=function(a,b,c,d,e,f){var g=bG("image");bG(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"});g.setAttributeNS(a.xlink,"href",b);a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:c,y:d,width:e,height:f,src:b};h.type="image";return h},bT=function(a,b,c,d){var e=bG("text");bG(e,{x:b,y:c,"text-anchor":"middle"});a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={x:b,y:c,"text-anchor":"middle",text:d,font:W.font,stroke:"none",fill:"#000"};f.type="text";bK(f,f.attrs);return f},bU=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas[R]("width",this.width);this.canvas[R]("height",this.height);return this},bV=function(){var b=by[m](0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,h=b.height;if(!c)throw new Error("SVG container not found.");var i=bG("svg");d=d||0;e=e||0;f=f||512;h=h||342;bG(i,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:f,height:h});if(c==1){i.style.cssText="position:absolute;left:"+d+"px;top:"+e+"px";g.body[l](i)}else c.firstChild?c.insertBefore(i,c.firstChild):c[l](i);c=new j;c.width=f;c.height=h;c.canvas=i;bz.call(c,c,a.fn);c.clear();return c};k.clear=function(){var a=this.canvas;while(a.firstChild)a.removeChild(a.firstChild);this.bottom=this.top=null;(this.desc=bG("desc"))[l](g.createTextNode("Created with Raphaël"));a[l](this.desc);a[l](this.defs=bG("defs"))};k.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a)}}if(a.vml){var bW={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bX=/([clmz]),?([^clmz]*)/gi,bY=/ progid:\S+Blur\([^\)]+\)/g,bZ=/-?[^,\s-]+/g,b$=1000+q+1000,b_=10,ca={path:1,rect:1},cb=function(a){var b=/[ahqstv]/ig,c=bq;r(a).match(b)&&(c=bw);b=/[clmz]/g;if(c==bq&&!r(a).match(b)){var d=r(a)[Y](bX,function(a,b,c){var d=[],e=x.call(b)=="m",f=bW[b];c[Y](bZ,function(a){if(e&&d[w]==2){f+=d+bW[b=="m"?"l":"L"];d=[]}d[L](Q(a*b_))});return f+d});return d}var e=c(a),f,g;d=[];for(var h=0,i=e[w];h<i;h++){f=e[h];g=x.call(e[h][0]);g=="z"&&(g="x");for(var j=1,k=f[w];j<k;j++)g+=Q(f[j]*b_)+(j!=k-1?",":p);d[L](g)}return d[v](q)};a[H]=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};bH=function(a,b){var c=cd("group");c.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";c.coordsize=b.coordsize;c.coordorigin=b.coordorigin;var d=cd("shape"),e=d.style;e.width=b.width+"px";e.height=b.height+"px";d.coordsize=b$;d.coordorigin=b.coordorigin;c[l](d);var f=new bN(d,c,b),g={fill:"none",stroke:"#000"};a&&(g.path=a);f.type="path";f.path=[];f.Path=p;bK(f,g);b.canvas[l](c);return f};bK=function(c,d){c.attrs=c.attrs||{};var e=c.node,h=c.attrs,i=e.style,j,k=(d.x!=h.x||d.y!=h.y||d.width!=h.width||d.height!=h.height||d.r!=h.r)&&c.type=="rect",m=c;for(var n in d)d[f](n)&&(h[n]=d[n]);if(k){h.path=cc(h.x,h.y,h.width,h.height,h.r);c.X=h.x;c.Y=h.y;c.W=h.width;c.H=h.height}d.href&&(e.href=d.href);d.title&&(e.title=d.title);d.target&&(e.target=d.target);d.cursor&&(i.cursor=d.cursor);"blur"in d&&c.blur(d.blur);if(d.path&&c.type=="path"||k)e.path=cb(h.path);d.rotation!=null&&c.rotate(d.rotation,true);if(d.translation){j=r(d.translation)[s](b);cz.call(c,j[0],j[1]);if(c._.rt.cx!=null){c._.rt.cx+=+j[0];c._.rt.cy+=+j[1];c.setBox(c.attrs,j[0],j[1])}}if(d.scale){j=r(d.scale)[s](b);c.scale(+j[0]||1,+j[1]||+j[0]||1,+j[2]||null,+j[3]||null)}if("clip-rect"in d){var o=r(d["clip-rect"])[s](b);if(o[w]==4){o[2]=+o[2]+ +o[0];o[3]=+o[3]+ +o[1];var q=e.clipRect||g.createElement("div"),t=q.style,u=e.parentNode;t.clip=a.format("rect({1}px {2}px {3}px {0}px)",o);if(!e.clipRect){t.position="absolute";t.top=0;t.left=0;t.width=c.paper.width+"px";t.height=c.paper.height+"px";u.parentNode.insertBefore(q,u);q[l](u);e.clipRect=q}}d["clip-rect"]||e.clipRect&&(e.clipRect.style.clip=p)}c.type=="image"&&d.src&&(e.src=d.src);if(c.type=="image"&&d.opacity){e.filterOpacity=U+".Alpha(opacity="+d.opacity*100+")";i.filter=(e.filterMatrix||p)+(e.filterOpacity||p)}d.font&&(i.font=d.font);d["font-family"]&&(i.fontFamily="\""+d["font-family"][s](",")[0][Y](/^['"]+|['"]+$/g,p)+"\"");d["font-size"]&&(i.fontSize=d["font-size"]);d["font-weight"]&&(i.fontWeight=d["font-weight"]);d["font-style"]&&(i.fontStyle=d["font-style"]);if(d.opacity!=null||d["stroke-width"]!=null||d.fill!=null||d.stroke!=null||d["stroke-width"]!=null||d["stroke-opacity"]!=null||d["fill-opacity"]!=null||d["stroke-dasharray"]!=null||d["stroke-miterlimit"]!=null||d["stroke-linejoin"]!=null||d["stroke-linecap"]!=null){e=c.shape||e;var v=e.getElementsByTagName(I)&&e.getElementsByTagName(I)[0],x=false;!v&&(x=v=cd(I));if("fill-opacity"in d||"opacity"in d){var y=((+h["fill-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+a.getRGB(d.fill).o+1||2)-1);y=A(z(y,0),1);v.opacity=y}d.fill&&(v.on=true);if(v.on==null||d.fill=="none")v.on=false;if(v.on&&d.fill){var B=d.fill.match(M);if(B){v.src=B[1];v.type="tile"}else{v.color=a.getRGB(d.fill).hex;v.src=p;v.type="solid";if(a.getRGB(d.fill).error&&(m.type in{circle:1,ellipse:1}||r(d.fill).charAt()!="r")&&bI(m,d.fill)){h.fill="none";h.gradient=d.fill}}}x&&e[l](v);var C=e.getElementsByTagName("stroke")&&e.getElementsByTagName("stroke")[0],D=false;!C&&(D=C=cd("stroke"));if(d.stroke&&d.stroke!="none"||d["stroke-width"]||d["stroke-opacity"]!=null||d["stroke-dasharray"]||d["stroke-miterlimit"]||d["stroke-linejoin"]||d["stroke-linecap"])C.on=true;(d.stroke=="none"||C.on==null||d.stroke==0||d["stroke-width"]==0)&&(C.on=false);var E=a.getRGB(d.stroke);C.on&&d.stroke&&(C.color=E.hex);y=((+h["stroke-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+E.o+1||2)-1);var F=(S(d["stroke-width"])||1)*0.75;y=A(z(y,0),1);d["stroke-width"]==null&&(F=h["stroke-width"]);d["stroke-width"]&&(C.weight=F);F&&F<1&&(y*=F)&&(C.weight=1);C.opacity=y;d["stroke-linejoin"]&&(C.joinstyle=d["stroke-linejoin"]||"miter");C.miterlimit=d["stroke-miterlimit"]||8;d["stroke-linecap"]&&(C.endcap=d["stroke-linecap"]=="butt"?"flat":d["stroke-linecap"]=="square"?"square":"round");if(d["stroke-dasharray"]){var G={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};C.dashstyle=G[f](d["stroke-dasharray"])?G[d["stroke-dasharray"]]:p}D&&e[l](C)}if(m.type=="text"){i=m.paper.span.style;h.font&&(i.font=h.font);h["font-family"]&&(i.fontFamily=h["font-family"]);h["font-size"]&&(i.fontSize=h["font-size"]);h["font-weight"]&&(i.fontWeight=h["font-weight"]);h["font-style"]&&(i.fontStyle=h["font-style"]);m.node.string&&(m.paper.span.innerHTML=r(m.node.string)[Y](/</g,"&#60;")[Y](/&/g,"&#38;")[Y](/\n/g,"<br>"));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<k;j++)h[j].offset&&i[L](h[j].offset+q+h[j].color);d.colors&&(d.colors.value=i[w]?i[v]():"0% "+d.color);if(e=="radial"){d.type="gradientradial";d.focus="100%";d.focussize=f;d.focusposition=f}else{d.type="gradient";d.angle=(270-g)%360}}return 1};bN=function(b,c,d){var e=0,f=0,g=0,h=1;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=c;this.paper=d;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null};bO=bN[e];bO.rotate=function(a,c,d){if(this.removed)return this;if(a==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}a=r(a)[s](b);if(a[w]-1){c=S(a[1]);d=S(a[2])}a=S(a[0]);c!=null?this._.rt.deg=a:this._.rt.deg+=a;d==null&&(c=null);this._.rt.cx=c;this._.rt.cy=d;this.setBox(this.attrs,c,d);this.Group.style.rotation=this._.rt.deg;return this};bO.setBox=function(a,b,c){if(this.removed)return this;var d=this.Group.style,e=this.shape&&this.shape.style||this.node.style;a=a||{};for(var g in a)a[f](g)&&(this.attrs[g]=a[g]);b=b||this._.rt.cx;c=c||this._.rt.cy;var h=this.attrs,i,j,k,l;switch(this.type){case"circle":i=h.cx-h.r;j=h.cy-h.r;k=l=h.r*2;break;case"ellipse":i=h.cx-h.rx;j=h.cy-h.ry;k=h.rx*2;l=h.ry*2;break;case"image":i=+h.x;j=+h.y;k=h.width||0;l=h.height||0;break;case"text":this.textpath.v=["m",Q(h.x),", ",Q(h.y-2),"l",Q(h.x)+1,", ",Q(h.y-2)][v](p);i=h.x-Q(this.W/2);j=h.y-this.H/2;k=this.W;l=this.H;break;case"rect":case"path":if(this.attrs.path){var m=bn(this.attrs.path);i=m.x;j=m.y;k=m.width;l=m.height}else{i=0;j=0;k=this.paper.width;l=this.paper.height}break;default:i=0;j=0;k=this.paper.width;l=this.paper.height;break}b=b==null?i+k/2:b;c=c==null?j+l/2:c;var n=b-this.paper.width/2,o=c-this.paper.height/2,q;d.left!=(q=n+"px")&&(d.left=q);d.top!=(q=o+"px")&&(d.top=q);this.X=ca[f](this.type)?-n:i;this.Y=ca[f](this.type)?-o:j;this.W=k;this.H=l;if(ca[f](this.type)){e.left!=(q=-n*b_+"px")&&(e.left=q);e.top!=(q=-o*b_+"px")&&(e.top=q)}else if(this.type=="text"){e.left!=(q=-n+"px")&&(e.left=q);e.top!=(q=-o+"px")&&(e.top=q)}else{d.width!=(q=this.paper.width+"px")&&(d.width=q);d.height!=(q=this.paper.height+"px")&&(d.height=q);e.left!=(q=i-n+"px")&&(e.left=q);e.top!=(q=j-o+"px")&&(e.top=q);e.width!=(q=k+"px")&&(e.width=q);e.height!=(q=l+"px")&&(e.height=q)}};bO.hide=function(){!this.removed&&(this.Group.style.display="none");return this};bO.show=function(){!this.removed&&(this.Group.style.display="block");return this};bO.getBBox=function(){if(this.removed)return this;if(ca[f](this.type))return bn(this.attrs.path);return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H}};bO.remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)delete this[a];this.removed=true};bO.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,"string")){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(this.attrs&&c==null&&a.is(b,G)){var g,h={};for(e=0,g=b[w];e<g;e++)h[b[e]]=this.attr(b[e]);return h}var i;if(c!=null){i={};i[b]=c}c==null&&a.is(b,"object")&&(i=b);if(i){for(var j in this.paper.customAttributes)if(this.paper.customAttributes[f](j)&&i[f](j)&&a.is(this.paper.customAttributes[j],"function")){var k=this.paper.customAttributes[j].apply(this,[][n](i[j]));this.attrs[j]=i[j];for(var l in k)k[f](l)&&(i[l]=k[l])}i.text&&this.type=="text"&&(this.node.string=i.text);bK(this,i);i.gradient&&(({circle:1,ellipse:1})[f](this.type)||r(i.gradient).charAt()!="r")&&bI(this,i.gradient);(!ca[f](this.type)||this._.rt.deg)&&this.setBox(this.attrs)}return this};bO.toFront=function(){!this.removed&&this.Group.parentNode[l](this.Group);this.paper.top!=this&&bB(this,this.paper);return this};bO.toBack=function(){if(this.removed)return this;if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);bC(this,this.paper)}return this};bO.insertAfter=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[a.length-1]);a.Group.nextSibling?a.Group.parentNode.insertBefore(this.Group,a.Group.nextSibling):a.Group.parentNode[l](this.Group);bD(this,a,this.paper);return this};bO.insertBefore=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[0]);a.Group.parentNode.insertBefore(this.Group,a.Group);bE(this,a,this.paper);return this};bO.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(bY,p);if(+b!==0){this.attrs.blur=b;c.filter=d+q+U+".Blur(pixelradius="+(+b||1.5)+")";c.margin=a.format("-{0}px 0 0 -{0}px",Q(+b||1.5))}else{c.filter=d;c.margin=0;delete this.attrs.blur}};bP=function(a,b,c,d){var e=cd("group"),f=cd("oval"),g=f.style;e.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";e.coordsize=b$;e.coordorigin=a.coordorigin;e[l](f);var h=new bN(f,e,a);h.type="circle";bK(h,{stroke:"#000",fill:"none"});h.attrs.cx=b;h.attrs.cy=c;h.attrs.r=d;h.setBox({x:b-d,y:c-d,width:d*2,height:d*2});a.canvas[l](e);return h};function cc(b,c,d,e,f){return f?a.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",b+f,c,d-f*2,f,-f,e-f*2,f*2-d,f*2-e):a.format("M{0},{1}l{2},0,0,{3},{4},0z",b,c,d,e,-d)}bQ=function(a,b,c,d,e,f){var g=cc(b,c,d,e,f),h=a.path(g),i=h.attrs;h.X=i.x=b;h.Y=i.y=c;h.W=i.width=d;h.H=i.height=e;i.r=f;i.path=g;h.type="rect";return h};bR=function(a,b,c,d,e){var f=cd("group"),g=cd("oval"),h=g.style;f.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";f.coordsize=b$;f.coordorigin=a.coordorigin;f[l](g);var i=new bN(g,f,a);i.type="ellipse";bK(i,{stroke:"#000"});i.attrs.cx=b;i.attrs.cy=c;i.attrs.rx=d;i.attrs.ry=e;i.setBox({x:b-d,y:c-e,width:d*2,height:e*2});a.canvas[l](f);return i};bS=function(a,b,c,d,e,f){var g=cd("group"),h=cd("image");g.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";g.coordsize=b$;g.coordorigin=a.coordorigin;h.src=b;g[l](h);var i=new bN(h,g,a);i.type="image";i.attrs.src=b;i.attrs.x=c;i.attrs.y=d;i.attrs.w=e;i.attrs.h=f;i.setBox({x:c,y:d,width:e,height:f});a.canvas[l](g);return i};bT=function(b,c,d,e){var f=cd("group"),g=cd("shape"),h=g.style,i=cd("path"),j=i.style,k=cd("textpath");f.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";f.coordsize=b$;f.coordorigin=b.coordorigin;i.v=a.format("m{0},{1}l{2},{1}",Q(c*10),Q(d*10),Q(c*10)+1);i.textpathok=true;h.width=b.width;h.height=b.height;k.string=r(e);k.on=true;g[l](k);g[l](i);f[l](g);var m=new bN(k,f,b);m.shape=g;m.textpath=i;m.type="text";m.attrs.text=e;m.attrs.x=c;m.attrs.y=d;m.attrs.w=1;m.attrs.h=1;bK(m,{font:W.font,stroke:"none",fill:"#000"});m.setBox();b.canvas[l](f);return m};bU=function(a,b){var c=this.canvas.style;a==+a&&(a+="px");b==+b&&(b+="px");c.width=a;c.height=b;c.clip="rect(0 "+a+" "+b+" 0)";return this};var cd;g.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!g.namespaces.rvml&&g.namespaces.add("rvml","urn:schemas-microsoft-com:vml");cd=function(a){return g.createElement("<rvml:"+a+" class=\"rvml\">")}}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;g<h;g++){if(e.targetTouches[g].target==a){var i=e;e=e.targetTouches[g];e.originalEvent=i;e.preventDefault=cg;e.stopPropagation=ci;break}}return c.call(d,e)};a.addEventListener(e,g,false);return function(){a.removeEventListener(e,g,false);return true}};if(g.attachEvent)return function(a,b,c,d){var e=function(a){a=a||h.event;a.preventDefault=a.preventDefault||cf;a.stopPropagation=a.stopPropagation||ch;return c.call(d,a)};a.attachEvent("on"+b,e);var f=function(){a.detachEvent("on"+b,e);return true};return f}}})(),ck=[],cl=function(a){var b=a.clientX,c=a.clientY,d=g.documentElement.scrollTop||g.body.scrollTop,e=g.documentElement.scrollLeft||g.body.scrollLeft,f,h=ck.length;while(h--){f=ck[h];if(o){var i=a.touches.length,j;while(i--){j=a.touches[i];if(j.identifier==f.el._drag.id){b=j.clientX;c=j.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}}else a.preventDefault();b+=e;c+=d;f.move&&f.move.call(f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},cm=function(b){a.unmousemove(cl).unmouseup(cm);var c=ck.length,d;while(c--){d=ck[c];d.el._drag={};d.end&&d.end.call(d.end_scope||d.start_scope||d.move_scope||d.el,b)}ck=[]};for(var cn=t[w];cn--;)(function(b){a[b]=bN[e][b]=function(c,d){if(a.is(c,"function")){this.events=this.events||[];this.events.push({name:b,f:c,unbind:cj(this.shape||this.node||g,b,c,d||this)})}return this};a["un"+b]=bN[e]["un"+b]=function(a){var c=this.events,d=c[w];while(d--)if(c[d].name==b&&c[d].f==a){c[d].unbind();c.splice(d,1);!c.length&&delete this.events;return this}return this}})(t[cn]);bO.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)};bO.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};bO.drag=function(b,c,d,e,f,h){this._drag={};this.mousedown(function(i){(i.originalEvent||i).preventDefault();var j=g.documentElement.scrollTop||g.body.scrollTop,k=g.documentElement.scrollLeft||g.body.scrollLeft;this._drag.x=i.clientX+k;this._drag.y=i.clientY+j;this._drag.id=i.identifier;c&&c.call(f||e||this,i.clientX+k,i.clientY+j,i);!ck.length&&a.mousemove(cl).mouseup(cm);ck.push({el:this,move:b,end:d,move_scope:e,start_scope:f,end_scope:h})});return this};bO.undrag=function(b,c,d){var e=ck.length;while(e--)ck[e].el==this&&(ck[e].move==b&&ck[e].end==d)&&ck.splice(e++,1);!ck.length&&a.unmousemove(cl).unmouseup(cm)};k.circle=function(a,b,c){return bP(this,a||0,b||0,c||0)};k.rect=function(a,b,c,d,e){return bQ(this,a||0,b||0,c||0,d||0,e||0)};k.ellipse=function(a,b,c,d){return bR(this,a||0,b||0,c||0,d||0)};k.path=function(b){b&&!a.is(b,F)&&!a.is(b[0],G)&&(b+=p);return bH(a.format[m](a,arguments),this)};k.image=function(a,b,c,d,e){return bS(this,a||"about:blank",b||0,c||0,d||0,e||0)};k.text=function(a,b,c){return bT(this,a||0,b||0,r(c))};k.set=function(a){arguments[w]>1&&(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];K<L;K++){var M=G[K],N=V.call(M[0]);{if(N=="M"&&H)continue;H=false}if(N=="A"){M[G[K][w]-2]*=I;M[G[K][w]-1]*=J;M[1]*=m;M[2]*=o;M[5]=+(t+u?!(!(+M[5])):!(+M[5]))}else if(N=="H")for(var O=1,P=M[w];O<P;O++)M[O]*=I;else if(N=="V")for(O=1,P=M[w];O<P;O++)M[O]*=J;else for(O=1,P=M[w];O<P;O++)M[O]*=O%2?I:J}var Q=bn(G);e=A-Q.x-Q.width/2;f=C-Q.y-Q.height/2;G[0][1]+=e;G[0][2]+=f;this.attr({path:G});break}if(this.type in{text:1,image:1}&&(t!=1||u!=1))if(this.transformations){this.transformations[2]="scale("[n](t,",",u,")");this.node[R]("transform",this.transformations[v](q));e=t==-1?-i.x-(E||0):i.x;f=u==-1?-i.y-(F||0):i.y;this.attr({x:e,y:f});i.fx=t-1;i.fy=u-1}else{this.node.filterMatrix=U+".Matrix(M11="[n](t,", M12=0, M21=0, M22=",u,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}else if(this.transformations){this.transformations[2]=p;this.node[R]("transform",this.transformations[v](q));i.fx=0;i.fy=0}else{this.node.filterMatrix=p;z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}i.scale=[a,b,c,d][v](q);this._.sx=a;this._.sy=b}return this};bO.clone=function(){if(this.removed)return null;var a=this.attr();delete a.scale;delete a.translation;return this.paper[this.type]().attr(a)};var cp={},cq=function(b,c,d,e,f,g,h,i,j){var k=0,l=100,m=[b,c,d,e,f,g,h,i].join(),n=cp[m],o,p;!n&&(cp[m]=n={data:[]});n.timer&&clearTimeout(n.timer);n.timer=setTimeout(function(){delete cp[m]},2000);if(j!=null){var q=cq(b,c,d,e,f,g,h,i);l=~(~q)*10}for(var r=0;r<l+1;r++){if(n.data[j]>r)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;o<p;o++){i=d[o];if(i[0]=="M"){g=+i[1];h=+i[2]}else{j=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6]);if(n+j>e){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;c<cv[w];c++){var d=cv[c];if(d.stop||d.el.removed)continue;var e=b-d.start,g=d.ms,h=d.easing,i=d.from,j=d.diff,k=d.to,l=d.t,m=d.el,n={},o;if(e<g){var r=h(e/g);for(var s in i)if(i[f](s)){switch(X[s]){case"along":o=r*g*j[s];k.back&&(o=k.len-o);var t=ct(k[s],o);m.translate(j.sx-j.x||0,j.sy-j.y||0);j.x=t.x;j.y=t.y;m.translate(t.x-j.sx,t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y);break;case E:o=+i[s]+r*g*j[s];break;case"colour":o="rgb("+[cy(Q(i[s].r+r*g*j[s].r)),cy(Q(i[s].g+r*g*j[s].g)),cy(Q(i[s].b+r*g*j[s].b))][v](",")+")";break;case"path":o=[];for(var u=0,x=i[s][w];u<x;u++){o[u]=[i[s][u][0]];for(var y=1,z=i[s][u][w];y<z;y++)o[u][y]=+i[s][u][y]+r*g*j[s][u][y];o[u]=o[u][v](q)}o=o[v](q);break;case"csv":switch(s){case"translation":var A=r*g*j[s][0]-l.x,B=r*g*j[s][1]-l.y;l.x+=A;l.y+=B;o=A+q+B;break;case"rotation":o=+i[s][0]+r*g*j[s][0];i[s][1]&&(o+=","+i[s][1]+","+i[s][2]);break;case"scale":o=[+i[s][0]+r*g*j[s][0],+i[s][1]+r*g*j[s][1],2 in k[s]?k[s][2]:p,3 in k[s]?k[s][3]:p][v](q);break;case"clip-rect":o=[];u=4;while(u--)o[u]=+i[s][u]+r*g*j[s][u];break}break;default:var C=[].concat(i[s]);o=[];u=m.paper.customAttributes[s].length;while(u--)o[u]=+C[u]+r*g*j[s][u];break}n[s]=o}m.attr(n);m._run&&m._run.call(m)}else{if(k.along){t=ct(k.along,k.len*!k.back);m.translate(j.sx-(j.x||0)+t.x-j.sx,j.sy-(j.y||0)+t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y)}(l.x||l.y)&&m.translate(-l.x,-l.y);k.scale&&(k.scale+=p);m.attr(k);cv.splice(c--,1)}}a.svg&&m&&m.paper&&m.paper.safari();cv[w]&&setTimeout(cw)},cx=function(b,c,d,e,f){var g=d-e;c.timeouts.push(setTimeout(function(){a.is(f,"function")&&f.call(c);c.animate(b,g,b.easing)},e))},cy=function(a){return z(A(a,255),0)},cz=function(a,b){if(a==null)return{x:this._.tx,y:this._.ty,toString:co};this._.tx+=+a;this._.ty+=+b;switch(this.type){case"circle":case"ellipse":this.attr({cx:+a+this.attrs.cx,cy:+b+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+a+this.attrs.x,y:+b+this.attrs.y});break;case"path":var c=bp(this.attrs.path);c[0][1]+=+a;c[0][2]+=+b;this.attr({path:c});break}return this};bO.animateWith=function(a,b,c,d,e){for(var f=0,g=cv.length;f<g;f++)cv[f].el.id==a.id&&(b.start=cv[f].start);return this.animate(b,c,d,e)};bO.animateAlong=cA();bO.animateAlongBack=cA(1);function cA(b){return function(c,d,e,f){var g={back:b};a.is(e,"function")?f=e:g.rot=e;c&&c.constructor==bN&&(c=c.attrs.path);c&&(g.along=c);return this.animate(g,d,f)}}function cB(a,b,c,d,e,f){var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;function m(a){return((i*a+h)*a+g)*a}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function o(a,b){var c,d,e,f,j,k;for(e=a,k=0;k<8;k++){f=m(e)-a;if(B(f)<b)return e;j=(3*i*e+2*h)*e+g;if(B(j)<0.000001)break;e=e-f/j}c=0;d=1;e=a;if(e<c)return c;if(e>d)return d;while(c<d){f=m(e);if(B(f-a)<b)return e;a>f?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<x;v++){l[m][v]=[0];for(var y=1,z=i[m][v][w];y<z;y++)l[m][v][y]=(u[v][y]-i[m][v][y])/d}break;case"csv":var A=r(c[m])[s](b),B=r(i[m])[s](b);switch(m){case"translation":i[m]=[0,0];l[m]=[A[0]/d,A[1]/d];break;case"rotation":i[m]=B[1]==A[1]&&B[2]==A[2]?B:[0,A[1],A[2]];l[m]=[(A[0]-i[m][0])/d,0,0];break;case"scale":c[m]=A;i[m]=r(i[m])[s](b);l[m]=[(A[0]-i[m][0])/d,(A[1]-i[m][1])/d,0,0];break;case"clip-rect":i[m]=r(i[m])[s](b);l[m]=[];v=4;while(v--)l[m][v]=(A[v]-i[m][v])/d;break}j[m]=A;break;default:A=[].concat(c[m]);B=[].concat(i[m]);l[m]=[];v=h.paper.customAttributes[m][w];while(v--)l[m][v]=((A[v]||0)-(B[v]||0))/d;break}}}if(k){var G=a.easing_formulas[e];if(!G){G=r(e).match(P);if(G&&G[w]==5){var H=G;G=function(a){return cB(a,+H[1],+H[2],+H[3],+H[4],d)}}else G=function(a){return a}}cv.push({start:c.start||+(new Date),ms:d,easing:G,from:i,diff:l,to:j,el:h,t:{x:0,y:0}});a.is(g,"function")&&(h._ac=setTimeout(function(){g.call(h)},d));cv[w]==1&&setTimeout(cw)}else{var C=[],D;for(var F in c)if(c[f](F)&&Z.test(F)){m={value:c[F]};F=="from"&&(F=0);F=="to"&&(F=100);m.key=T(F,10);C.push(m)}C.sort(be);C[0].key&&C.unshift({key:0,value:h.attrs});for(v=0,x=C[w];v<x;v++)cx(C[v].value,h,d/100*C[v].key,d/100*(C[v-1]&&C[v-1].key||0),C[v-1]&&C[v-1].value.callback);D=C[C[w]-1].value.callback;D&&h.timeouts.push(setTimeout(function(){D.call(h)},d))}return this};bO.stop=function(){for(var a=0;a<cv.length;a++)cv[a].el.id==this.id&&cv.splice(a--,1);for(a=0,ii=this.timeouts&&this.timeouts.length;a<ii;a++)clearTimeout(this.timeouts[a]);this.timeouts=[];clearTimeout(this._ac);delete this._ac;return this};bO.translate=function(a,b){return this.attr({translation:a+" "+b})};bO[H]=function(){return"Raphaël’s object"};a.ae=cv;var cC=function(a){this.items=[];this[w]=0;this.type="set";if(a)for(var b=0,c=a[w];b<c;b++){if(a[b]&&(a[b].constructor==bN||a[b].constructor==cC)){this[this.items[w]]=this.items[this.items[w]]=a[b];this[w]++}}};cC[e][L]=function(){var a,b;for(var c=0,d=arguments[w];c<d;c++){a=arguments[c];if(a&&(a.constructor==bN||a.constructor==cC)){b=this.items[w];this[b]=this.items[b]=a;this[w]++}}return this};cC[e].pop=function(){delete this[this[w]--];return this.items.pop()};for(var cD in bO)bO[f](cD)&&(cC[e][cD]=(function(a){return function(){for(var b=0,c=this.items[w];b<c;b++)this.items[b][a][m](this.items[b],arguments);return this}})(cD));cC[e].attr=function(b,c){if(b&&a.is(b,G)&&a.is(b[0],"object"))for(var d=0,e=b[w];d<e;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items[w];f<g;f++)this.items[f].attr(b,c);return this};cC[e].animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f=this.items[w],g=f,h,i=this,j;e&&(j=function(){!(--f)&&e.call(i)});d=a.is(d,F)?d:j;h=this.items[--g].animate(b,c,d,j);while(g--)this.items[g]&&!this.items[g].removed&&this.items[g].animateWith(h,b,c,d,j);return this};cC[e].insertAfter=function(a){var b=this.items[w];while(b--)this.items[b].insertAfter(a);return this};cC[e].getBBox=function(){var a=[],b=[],c=[],d=[];for(var e=this.items[w];e--;){var f=this.items[e].getBBox();a[L](f.x);b[L](f.y);c[L](f.x+f.width);d[L](f.y+f.height)}a=A[m](0,a);b=A[m](0,b);return{x:a,y:b,width:z[m](0,c)-a,height:z[m](0,d)-b}};cC[e].clone=function(a){a=new cC;for(var b=0,c=this.items[w];b<c;b++)a[L](this.items[b].clone());return a};a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[f](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c][L](b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=T(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[f](e)){var g=a.glyphs[e];b.glyphs[e]={w:g.w,k:{},d:g.d&&"M"+g.d[Y](/[mlcxtrv]/g,function(a){return({l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"})[a]||"M"})+"z"};if(g.k)for(var h in g.k)g[f](h)&&(b.glyphs[e].k[h]=g.k[h])}}return a};k.getFont=function(b,c,d,e){e=e||"normal";d=d||"normal";c=+c||({normal:400,bold:700,lighter:300,bolder:800})[c]||400;if(!a.fonts)return;var g=a.fonts[b];if(!g){var h=new RegExp("(^|\\s)"+b[Y](/[^\w\d\s+!~.:_-]/g,p)+"(\\s|$)","i");for(var i in a.fonts)if(a.fonts[f](i)){if(h.test(i)){g=a.fonts[i];break}}}var j;if(g)for(var k=0,l=g[w];k<l;k++){j=g[k];if(j.face["font-weight"]==c&&(j.face["font-style"]==d||!j.face["font-style"])&&j.face["font-stretch"]==e)break}return j};k.print=function(c,d,e,f,g,h,i){h=h||"middle";i=z(A(i||0,1),-1);var j=this.set(),k=r(e)[s](p),l=0,m=p,n;a.is(f,e)&&(f=this.getFont(f));if(f){n=(g||16)/f.face["units-per-em"];var o=f.face.bbox.split(b),q=+o[0],t=+o[1]+(h=="baseline"?o[3]-o[1]+ +f.face.descent:(o[3]-o[1])/2);for(var u=0,v=k[w];u<v;u++){var x=u&&f.glyphs[k[u-1]]||{},y=f.glyphs[k[u]];l+=u?(x.w||f.w)+(x.k&&x.k[k[u]]||0)+f.w*i:0;y&&y.d&&j[L](this.path(y.d).attr({fill:"#000",stroke:"none",translation:[l,0]}))}j.scale(n,n,q,t).translate(c-q,d-t)}return j};a.format=function(b,c){var e=a.is(c,G)?[0][n](c):arguments;b&&a.is(b,F)&&e[w]-1&&(b=b[Y](d,function(a,b){return e[++b]==null?p:e[b]}));return b||p};a.ninja=function(){i.was?h.Raphael=i.is:delete Raphael;return a};a.el=bO;a.st=cC[e];i.was?h.Raphael=a:Raphael=a})()
\ No newline at end of file
--- a/web/rsln-mercedes-bunz/config.php	Wed Apr 27 15:40:01 2011 +0200
+++ b/web/rsln-mercedes-bunz/config.php	Wed Apr 27 18:54:31 2011 +0200
@@ -1,39 +1,39 @@
-<?php
-
-/**
- * Please edit the conférence details 
- * 
- */
-
-$config = array(
-    'root'       => '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'=> "<a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'> IRI </a>
-		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
-		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>",
-		 
-	// 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;
-?>
-    
-    
-    
-
-
+<?php
+
+/**
+ * Please edit the conférence details 
+ * 
+ */
+
+$config = array(
+    'root'       => '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'=> "<a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'> IRI </a>
+		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
+		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>",
+		 
+	// 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;
+?>
+    
+    
+    
+
+
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once '../common.php';
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>embed Configuration</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
-	
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-			background-image:none;
-			width:300px;
-			padding:5px;		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: <?php echo($player_height-70); ?>px;
-			z-index: 100000;
-			position : absolute;
-		}
-		textarea {
-			margin-left:3px;
-			height: 150px;
-			width: 330px;
-			padding:5px;
-			background-image:none;
-			border:solid 1px #ccc;
-		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
-		background-repeat:no-repeat;
-		border: none;*/
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
-  
-  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
-  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
-  </textarea>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once '../common.php';
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>embed Configuration</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
+	
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+			background-image:none;
+			width:300px;
+			padding:5px;		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: <?php echo($player_height-70); ?>px;
+			z-index: 100000;
+			position : absolute;
+		}
+		textarea {
+			margin-left:3px;
+			height: 150px;
+			width: 330px;
+			padding:5px;
+			background-image:none;
+			border:solid 1px #ccc;
+		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
+		background-repeat:no-repeat;
+		border: none;*/
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
+  
+  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
+  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
+  </textarea>
+
+  </body>
+</html>
--- 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 @@
-<?php
-// Permanent redirection
-header("HTTP/1.1 301 Moved Permanently");
-header("Location: polemicaltimeline.php");
-exit();
+<?php
+// Permanent redirection
+header("HTTP/1.1 301 Moved Permanently");
+header("Location: polemicaltimeline.php");
+exit();
 ?>
\ No newline at end of file
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once 'config.php';
-
-// todo : 
-// - gestion du parent.document.location mediafragment
-// - limite taille vertical embed 
-// - ajouter la polemic timline en dessous de la video 
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>RSLN  - Polemic player embed page</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:<?php echo($player_width); ?>,
-					height:<?php echo($player_height); ?>,
-					heightmax:<?php echo($player_height); ?>,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-  
-	  <div class="root" >
-		<div class="videoLivePlayer">
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		<div id="player_project_843fff80-6b50-11e0-8aef-00145ea49a02_embed" class="iri_player_embed"> </div>
-		
-			<script type="text/javascript">
-				var configMP = {
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:<?php echo($player_width); ?>,
-							height:<?php echo($player_height); ?>,
-							mode:'video',
-							container:'player_project_843fff80-6b50-11e0-8aef-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>	
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once 'config.php';
+
+// todo : 
+// - gestion du parent.document.location mediafragment
+// - limite taille vertical embed 
+// - ajouter la polemic timline en dessous de la video 
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>RSLN  - Polemic player embed page</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:<?php echo($player_width); ?>,
+					height:<?php echo($player_height); ?>,
+					heightmax:<?php echo($player_height); ?>,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					}
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  
+  <body>
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+  
+	  <div class="root" >
+		<div class="videoLivePlayer">
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		<div id="player_project_843fff80-6b50-11e0-8aef-00145ea49a02_embed" class="iri_player_embed"> </div>
+		
+			<script type="text/javascript">
+				var configMP = {
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:<?php echo($player_width); ?>,
+							height:<?php echo($player_height); ?>,
+							mode:'video',
+							container:'player_project_843fff80-6b50-11e0-8aef-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>	
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
- // configuration 
-include 'common.php';
- // objet actuel 
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Polemic tweet - <?php echo($config['title']); ?></title>
-	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
-	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
-	<meta name="description" content="<?php echo($config['description']); ?>">
-	<meta name="robots" content="index, follow">
-	
-	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
-		
-	<!-- Framework CSS -->
-    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
-	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	
-	<style type="text/css"> 
-		.tweetButton{float:left;margin-right:5px;}
-		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
-		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
-					
-					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
-		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-				display: none;
-				background: transparent url("../images/white_arrow_long.png");
-				font-size: 12px;
-				height: 125px;
-				width: 180px;
-				padding: 10px;
-				padding-left: 15px;
-				padding-top: 15px;
-				padding-right: 15px;
-				color: black;
-				z-index: 10000000000;
-				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-				overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: 0px;
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-	<script type="text/javascript">
-		$(document).ready(function() {
-		
-			$("#Embeded").fancybox({
-				'width'				: 360,
-				'height'			: 360,
-				'autoDimensions'	: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-			
-		});
-	</script>
-	
-  </head>
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:480,
-					heightmax:480,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  
-
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-
-    <div class="container">
-      <img src="../images/ENMI_2010_logo.gif" class="logo">
-	  <ul class="menu"> 
-		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
-		   <?php print $translate->_("Accueil"); ?></a></li>
-		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
-		    <?php print $translate->_("Partager"); ?></a></li>
-		  <li >&nbsp;</li>
-	  </ul>
-	  
-	<ul class="menu lang" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>	
-	
-	<!-- EXPLICATION  -->
-	  <div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
-		<?php print $translate->_("ExplicationPT"); ?>
-	  </div>
-	 
-	  
-	  <!-- INFOS SUR LA CONF 
-	  	<div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
-			<?php echo($config['description']); ?>
-	  </div>
-	  -->
-
-
-
-
-	  <div class="videoLive" >
-		<div class="videoLivePlayer">
-
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		
-		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
-			<script type="text/javascript">
-				var configMP = {
-						/*metadata:{
-							format:'cinelab',
-							src:'metadata.json',
-							load:'json'},*/
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:650,
-							height:480,
-							mode:'video',
-							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>
-
- 
-      <div class="footer">
-		<hr>
-			<?php echo($config['partenaires']); ?>
-	  </div>   
-	
-    </div>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+ // configuration 
+include 'common.php';
+ // objet actuel 
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Polemic tweet - <?php echo($config['title']); ?></title>
+	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
+	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
+	<meta name="description" content="<?php echo($config['description']); ?>">
+	<meta name="robots" content="index, follow">
+	
+	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
+		
+	<!-- Framework CSS -->
+    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
+	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	
+	<style type="text/css"> 
+		.tweetButton{float:left;margin-right:5px;}
+		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
+		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
+					
+					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
+		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+				display: none;
+				background: transparent url("../images/white_arrow_long.png");
+				font-size: 12px;
+				height: 125px;
+				width: 180px;
+				padding: 10px;
+				padding-left: 15px;
+				padding-top: 15px;
+				padding-right: 15px;
+				color: black;
+				z-index: 10000000000;
+				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+				overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: 0px;
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+	<script type="text/javascript">
+		$(document).ready(function() {
+		
+			$("#Embeded").fancybox({
+				'width'				: 360,
+				'height'			: 360,
+				'autoDimensions'	: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+			
+		});
+	</script>
+	
+  </head>
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:480,
+					heightmax:480,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					};
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  <body>
+  
+
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+
+    <div class="container">
+      <img src="../images/ENMI_2010_logo.gif" class="logo">
+	  <ul class="menu"> 
+		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
+		   <?php print $translate->_("Accueil"); ?></a></li>
+		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
+		    <?php print $translate->_("Partager"); ?></a></li>
+		  <li >&nbsp;</li>
+	  </ul>
+	  
+	<ul class="menu lang" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>	
+	
+	<!-- EXPLICATION  -->
+	  <div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
+		<?php print $translate->_("ExplicationPT"); ?>
+	  </div>
+	 
+	  
+	  <!-- INFOS SUR LA CONF 
+	  	<div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
+			<?php echo($config['description']); ?>
+	  </div>
+	  -->
+
+
+
+
+	  <div class="videoLive" >
+		<div class="videoLivePlayer">
+
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		
+		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
+			<script type="text/javascript">
+				var configMP = {
+						/*metadata:{
+							format:'cinelab',
+							src:'metadata.json',
+							load:'json'},*/
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:650,
+							height:480,
+							mode:'video',
+							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>
+
+ 
+      <div class="footer">
+		<hr>
+			<?php echo($config['partenaires']); ?>
+	  </div>   
+	
+    </div>
+
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * Please edit the conférence details 
- * 
- */
-
-$config = array(
-    'root'       => '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 ?
-					<br/><br/>
-					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'=> "<a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'> IRI </a>
-		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
-		 |  <a href='http://wegf.org/' class='footerLink'  target='_blank'> World e.gov Forum </a>
-		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>",
-		 
-	// 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;
-?>
-    
-    
-    
-
-
+<?php
+
+/**
+ * Please edit the conférence details 
+ * 
+ */
+
+$config = array(
+    'root'       => '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 ?
+					<br/><br/>
+					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'=> "<a href='http://www.iri.centrepompidou.fr/' class='footerLink' target='_blank'> IRI </a>
+		 |  <a href='http://www.rslnmag.fr/' class='footerLink' target='_blank' > RSLN  </a>
+		 |  <a href='http://wegf.org/' class='footerLink'  target='_blank'> World e.gov Forum </a>
+		 |  <a href='http://www.microsoft.fr/' class='footerLink' target='_blank'> MICROSOFT.fr  </a>",
+		 
+	// 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;
+?>
+    
+    
+    
+
+
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once '../common.php';
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>embed Configuration</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
-	
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-			background-image:none;
-			width:300px;
-			padding:5px;		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: <?php echo($player_height-70); ?>px;
-			z-index: 100000;
-			position : absolute;
-		}
-		textarea {
-			margin-left:3px;
-			height: 150px;
-			width: 330px;
-			padding:5px;
-			background-image:none;
-			border:solid 1px #ccc;
-		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
-		background-repeat:no-repeat;
-		border: none;*/
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
-  
-  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
-  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
-  </textarea>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once '../common.php';
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>embed Configuration</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
+	
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+			background-image:none;
+			width:300px;
+			padding:5px;		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: <?php echo($player_height-70); ?>px;
+			z-index: 100000;
+			position : absolute;
+		}
+		textarea {
+			margin-left:3px;
+			height: 150px;
+			width: 330px;
+			padding:5px;
+			background-image:none;
+			border:solid 1px #ccc;
+		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
+		background-repeat:no-repeat;
+		border: none;*/
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
+  
+  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
+  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
+  </textarea>
+
+  </body>
+</html>
--- 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 @@
-<?php
-// Permanent redirection
-header("HTTP/1.1 301 Moved Permanently");
-header("Location: polemicaltimeline.php");
-exit();
+<?php
+// Permanent redirection
+header("HTTP/1.1 301 Moved Permanently");
+header("Location: polemicaltimeline.php");
+exit();
 ?>
\ No newline at end of file
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once 'config.php';
-
-// todo : 
-// - gestion du parent.document.location mediafragment
-// - limite taille vertical embed 
-// - ajouter la polemic timline en dessous de la video 
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>RSLN  - Polemic player embed page</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:<?php echo($player_width); ?>,
-					height:<?php echo($player_height); ?>,
-					heightmax:<?php echo($player_height); ?>,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-  
-	  <div class="root" >
-		<div class="videoLivePlayer">
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
-		
-			<script type="text/javascript">
-				var configMP = {
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:<?php echo($player_width); ?>,
-							height:<?php echo($player_height); ?>,
-							mode:'video',
-							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>	
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once 'config.php';
+
+// todo : 
+// - gestion du parent.document.location mediafragment
+// - limite taille vertical embed 
+// - ajouter la polemic timline en dessous de la video 
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>RSLN  - Polemic player embed page</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:<?php echo($player_width); ?>,
+					height:<?php echo($player_height); ?>,
+					heightmax:<?php echo($player_height); ?>,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					}
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  
+  <body>
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+  
+	  <div class="root" >
+		<div class="videoLivePlayer">
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
+		
+			<script type="text/javascript">
+				var configMP = {
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:<?php echo($player_width); ?>,
+							height:<?php echo($player_height); ?>,
+							mode:'video',
+							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>	
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
- // configuration 
-include 'common.php';
- // objet actuel 
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Polemic tweet - <?php echo($config['title']); ?></title>
-	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
-	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
-	<meta name="description" content="<?php echo($config['description']); ?>">
-	<meta name="robots" content="index, follow">
-	
-	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
-		
-	<!-- Framework CSS -->
-    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
-	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	
-	<style type="text/css"> 
-		.tweetButton{float:left;margin-right:5px;}
-		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
-		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
-					
-					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
-		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-				display: none;
-				background: transparent url("../images/white_arrow_long.png");
-				font-size: 12px;
-				height: 125px;
-				width: 180px;
-				padding: 10px;
-				padding-left: 15px;
-				padding-top: 15px;
-				padding-right: 15px;
-				color: black;
-				z-index: 10000000000;
-				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-				overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: 0px;
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-	<script type="text/javascript">
-		$(document).ready(function() {
-		
-			$("#Embeded").fancybox({
-				'width'				: 360,
-				'height'			: 360,
-				'autoDimensions'	: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-			
-		});
-	</script>
-	
-  </head>
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:480,
-					heightmax:480,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  
-
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-
-    <div class="container">
-      <img src="../images/ENMI_2010_logo.gif" class="logo">
-	  <ul class="menu"> 
-		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
-		   <?php print $translate->_("Accueil"); ?></a></li>
-		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
-		    <?php print $translate->_("Partager"); ?></a></li>
-		  <li >&nbsp;</li>
-	  </ul>
-	  
-	<ul class="menu lang" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>	
-	
-	<!-- EXPLICATION  -->
-	  <div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
-		<?php print $translate->_("ExplicationPT"); ?>
-	  </div>
-	 
-	  
-	  <!-- INFOS SUR LA CONF 
-	  	<div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
-			<?php echo($config['description']); ?>
-	  </div>
-	  -->
-
-
-
-
-	  <div class="videoLive" >
-		<div class="videoLivePlayer">
-
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		
-		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
-			<script type="text/javascript">
-				var configMP = {
-						/*metadata:{
-							format:'cinelab',
-							src:'metadata.json',
-							load:'json'},*/
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:650,
-							height:480,
-							mode:'video',
-							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>
-
- 
-      <div class="footer">
-		<hr>
-			<?php echo($config['partenaires']); ?>
-	  </div>   
-	
-    </div>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+ // configuration 
+include 'common.php';
+ // objet actuel 
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Polemic tweet - <?php echo($config['title']); ?></title>
+	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
+	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
+	<meta name="description" content="<?php echo($config['description']); ?>">
+	<meta name="robots" content="index, follow">
+	
+	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
+		
+	<!-- Framework CSS -->
+    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
+	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	
+	<style type="text/css"> 
+		.tweetButton{float:left;margin-right:5px;}
+		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
+		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
+					
+					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
+		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+				display: none;
+				background: transparent url("../images/white_arrow_long.png");
+				font-size: 12px;
+				height: 125px;
+				width: 180px;
+				padding: 10px;
+				padding-left: 15px;
+				padding-top: 15px;
+				padding-right: 15px;
+				color: black;
+				z-index: 10000000000;
+				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+				overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: 0px;
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			$("#Embeded").fancybox({
+				'width'				: 360,
+				'height'			: 360,
+				'autoDimensions'	: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+			
+		});
+	</script>
+	
+  </head>
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:480,
+					heightmax:480,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					}
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  
+  <body>
+  
+
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+
+    <div class="container">
+      <img src="../images/ENMI_2010_logo.gif" class="logo">
+	  <ul class="menu"> 
+		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
+		   <?php print $translate->_("Accueil"); ?></a></li>
+		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
+		    <?php print $translate->_("Partager"); ?></a></li>
+		  <li >&nbsp;</li>
+	  </ul>
+	  
+	<ul class="menu lang" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>	
+	
+	<!-- EXPLICATION  -->
+	  <div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
+		<?php print $translate->_("ExplicationPT"); ?>
+	  </div>
+	 
+	  
+	  <!-- INFOS SUR LA CONF 
+	  	<div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
+			<?php echo($config['description']); ?>
+	  </div>
+	  -->
+
+
+
+
+	  <div class="videoLive" >
+		<div class="videoLivePlayer">
+
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		
+		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
+			<script type="text/javascript">
+				var configMP = {
+						/*metadata:{
+							format:'cinelab',
+							src:'metadata.json',
+							load:'json'},*/
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:650,
+							height:480,
+							mode:'video',
+							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>
+
+ 
+      <div class="footer">
+		<hr>
+			<?php echo($config['partenaires']); ?>
+	  </div>   
+	
+    </div>
+
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once '../common.php';
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>embed Configuration</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
-	
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-			background-image:none;
-			width:300px;
-			padding:5px;		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: <?php echo($player_height-70); ?>px;
-			z-index: 100000;
-			position : absolute;
-		}
-		textarea {
-			margin-left:3px;
-			height: 150px;
-			width: 330px;
-			padding:5px;
-			background-image:none;
-			border:solid 1px #ccc;
-		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
-		background-repeat:no-repeat;
-		border: none;*/
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
-  
-  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
-  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
-  </textarea>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once '../common.php';
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>embed Configuration</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="res/raphael/raphael-min.js"></script>
+	
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+			background-image:none;
+			width:300px;
+			padding:5px;		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: <?php echo($player_height-70); ?>px;
+			z-index: 100000;
+			position : absolute;
+		}
+		textarea {
+			margin-left:3px;
+			height: 150px;
+			width: 330px;
+			padding:5px;
+			background-image:none;
+			border:solid 1px #ccc;
+		/*background-image:url(images/tweetWriterBgdTxtArea.gif);
+		background-repeat:no-repeat;
+		border: none;*/
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <h1 class="tweetWriterTitle" style="width:300px;" > <?php print $translate->_("EmbedTitle"); ?></h1>
+  
+  <p style="font-size:12px;width:300px;"><?php print $translate->_("EmbedText"); ?> </p>
+  <textarea cols="10" rows="10"><iframe src="<?php echo($config['root'].$config['rep']); ?>/player_embed.php" width="<?php echo($player_width); ?>" height="<?php echo($player_height); ?>" frameborder="0"></iframe><p><a href="<?php echo($config['root'].$config['rep']); ?>"><?php echo($config['title']); ?></a> from <a href="<?php echo($config['link']); ?>">RSLN</a>on <a href="<?php echo($config['root']); ?>">Polemical Tweet</a>.</p>
+  </textarea>
+
+  </body>
+</html>
--- 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 @@
-<?php
-// Permanent redirection
-header("HTTP/1.1 301 Moved Permanently");
-header("Location: polemicaltimeline.php");
-exit();
+<?php
+// Permanent redirection
+header("HTTP/1.1 301 Moved Permanently");
+header("Location: polemicaltimeline.php");
+exit();
 ?>
\ No newline at end of file
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
-include_once 'config.php';
-
-// todo : 
-// - gestion du parent.document.location mediafragment
-// - limite taille vertical embed 
-// - ajouter la polemic timline en dessous de la video 
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="en">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>RSLN  - Polemic player embed page</title>
-	
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	<style type="text/css"> 
-		body{
-			padding:0px;
-			margin:0px;
-		}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-			display: none;
-			background: transparent url("../images/white_arrow_long.png");
-			font-size: 12px;
-			height: 125px;
-			width: 180px;
-			padding: 10px;
-			padding-left: 15px;
-			padding-top: 15px;
-			padding-right: 15px;
-			color: black;
-			z-index: 10000000000;
-			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-			overflow:hidden;
-		}
-		#chartTimeline{
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-  </head>
-  
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:<?php echo($player_width); ?>,
-					height:<?php echo($player_height); ?>,
-					heightmax:<?php echo($player_height); ?>,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-  
-	  <div class="root" >
-		<div class="videoLivePlayer">
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
-		
-			<script type="text/javascript">
-				var configMP = {
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:<?php echo($player_width); ?>,
-							height:<?php echo($player_height); ?>,
-							mode:'video',
-							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>	
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+include_once 'config.php';
+
+// todo : 
+// - gestion du parent.document.location mediafragment
+// - limite taille vertical embed 
+// - ajouter la polemic timline en dessous de la video 
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>RSLN  - Polemic player embed page</title>
+	
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	<style type="text/css"> 
+		body{
+			padding:0px;
+			margin:0px;
+		}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+			display: none;
+			background: transparent url("../images/white_arrow_long.png");
+			font-size: 12px;
+			height: 125px;
+			width: 180px;
+			padding: 10px;
+			padding-left: 15px;
+			padding-top: 15px;
+			padding-right: 15px;
+			color: black;
+			z-index: 10000000000;
+			font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+			overflow:hidden;
+		}
+		#chartTimeline{
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+  </head>
+  
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:<?php echo($player_width); ?>,
+					height:<?php echo($player_height); ?>,
+					heightmax:<?php echo($player_height); ?>,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					}
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  
+  <body>
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+  
+	  <div class="root" >
+		<div class="videoLivePlayer">
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
+		
+			<script type="text/javascript">
+				var configMP = {
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:<?php echo($player_width); ?>,
+							height:<?php echo($player_height); ?>,
+							mode:'video',
+							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>	
+  </body>
+</html>
--- 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 @@
-<?php
-
-/**
- * include some common code (like we did in the 90s)
- * People still do this? ;)
- */
- // configuration 
-include 'common.php';
- // objet actuel 
-include_once 'config.php';
-
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html lang="<?php echo($actual); ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Polemic tweet - <?php echo($config['title']); ?></title>
-	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
-	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
-	<meta name="description" content="<?php echo($config['description']); ?>">
-	<meta name="robots" content="index, follow">
-	
-	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
-	<!-- JAVASCRIPT --> 
-	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
-	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
-	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
-	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
-		
-	<!-- Framework CSS -->
-    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
-    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
-	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
-	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
-	
-	<!-- FONT -->
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
-	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
-	
-	<style type="text/css"> 
-		.tweetButton{float:left;margin-right:5px;}
-		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
-		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
-					
-					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
-		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
-		.tooltip{
-			 z-index: 10000000000;
-		}
-		#tip{
-			 position : absolute;
-			 padding : 3px;
-			 z-index: 10000000000;
-			 max-width: 200px;
-		}	
-		#tip {
-				display: none;
-				background: transparent url("../images/white_arrow_long.png");
-				font-size: 12px;
-				height: 125px;
-				width: 180px;
-				padding: 10px;
-				padding-left: 15px;
-				padding-top: 15px;
-				padding-right: 15px;
-				color: black;
-				z-index: 10000000000;
-				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
-				overflow:hidden;
-		}
-		#chartTimeline{
-			padding-top: 0px;
-			z-index: 9;
-			position : absolute;
-		}
-
-	</style>
-	<script type="text/javascript">
-	
-	  var _gaq = _gaq || [];
-	  _gaq.push(['_setAccount', 'UA-9955524-3']);
-	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
-	  _gaq.push(['_trackPageview']);
-	
-	  (function() {
-	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-	  })();
-	
-	</script>
-	<script type="text/javascript">
-		$(document).ready(function() {
-		
-			$("#Embeded").fancybox({
-				'width'				: 360,
-				'height'			: 360,
-				'autoDimensions'	: false,
-				'transitionIn'		: 'none',
-				'transitionOut'		: 'none',
-				'type'				: 'iframe'
-			});
-			
-		});
-	</script>
-	
-  </head>
-  <script type="text/javascript">
-  	// Configuration Polemical Timeline
-	var config = {
-					target:"chartTimeline",
-					x:8,
-					y:418,
-					width:650,
-					height:480,
-					heightmax:480,
-					duration:<?php echo($config['duration']); ?>,
-					metadata:"<?php echo($config['metadata']); ?>"
-					}
-  </script>
-  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
-  
-  <body>
-  
-
-  <!-- tooltip --> 
-  <div id="tip">
-  <div id="tipcolor" style="height:10px;width:10px"></div>
-  <div id="tiptext"></div>
-  </div>
-
-    <div class="container">
-      <img src="../images/ENMI_2010_logo.gif" class="logo">
-	  <ul class="menu"> 
-		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
-		   <?php print $translate->_("Accueil"); ?></a></li>
-		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
-		    <?php print $translate->_("Partager"); ?></a></li>
-		  <li >&nbsp;</li>
-	  </ul>
-	  
-	<ul class="menu lang" > 
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
-	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
-	        <?php print $translate->_("Japonais"); ?></a></li>
-	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
-	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Français"); ?></a></li>
-	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
-	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
-	       <?php print $translate->_("Anglais"); ?></a></li>
-	  </ul>
-	
-	
-	<!-- EXPLICATION  -->
-	  <div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
-		<?php print $translate->_("ExplicationPT"); ?>
-	  </div>
-	 
-	  
-	  <!-- INFOS SUR LA CONF 
-	  	<div class="tweetExplain"  >
-		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
-			<?php echo($config['description']); ?>
-	  </div>
-	  -->
-
-
-
-
-	  <div class="videoLive" >
-		<div class="videoLivePlayer">
-
-		<div id="chartTimeline"> </div>	
-		<script type="text/javascript">
-			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
-		</script>
-		
-		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
-		<script type="text/javascript">
-			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
-		</script>
-		
-		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
-			<script type="text/javascript">
-				var configMP = {
-						/*metadata:{
-							format:'cinelab',
-							src:'metadata.json',
-							load:'json'},*/
-						metadata:{
-							format:'cinelab',
-							src:'<?php echo($config['metadata']); ?>',
-							load:'jsonp'},
-						gui:{
-							width:650,
-							height:480,
-							mode:'video',
-							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
-							debug:false,
-							css:'../res/css/LdtPlayer.css'},
-	
-						player:{
-							type:'jwplayer',
-							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
-					};
-				__IriSP.init(configMP);     
-			</script>
-		</div>	
-	  </div>
-
- 
-      <div class="footer">
-		<hr>
-			<?php echo($config['partenaires']); ?>
-	  </div>   
-	
-    </div>
-
-  </body>
-</html>
+<?php
+
+/**
+ * include some common code (like we did in the 90s)
+ * People still do this? ;)
+ */
+ // configuration 
+include 'common.php';
+ // objet actuel 
+include_once 'config.php';
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="<?php echo($actual); ?>">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Polemic tweet - <?php echo($config['title']); ?></title>
+	<meta name="keywords" content="<?php echo($config['keywords']); ?>"><!-- add timestampedmetadata -->
+	<!--<meta name="description" content="PoelmicTweet.fr : debate mapping, opinion, conference, video">-->
+	<meta name="description" content="<?php echo($config['description']); ?>">
+	<meta name="robots" content="index, follow">
+	
+	<!-- ICI : <?php echo($_SERVER['DOCUMENT_ROOT']); ?> -->
+	<!-- JAVASCRIPT --> 
+	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
+	<script type="text/javascript" src="../res/raphael/raphael-min.js"></script>
+	<script type="text/javascript" src="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
+	<script type="text/javascript" src="../res/niceforms/niceforms.js"></script>
+		
+	<!-- Framework CSS -->
+    <link rel="stylesheet" href="../res/blueprint/screen.css" type="text/css" media="screen, projection">
+    <link rel="stylesheet" href="../res/blueprint/print.css" type="text/css" media="print">
+	<link rel="stylesheet" href="../res/blueprint/plugins/fancy-type/screen.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/css/custom.css" type="text/css" media="screen, projection">
+	<link rel="stylesheet" href="../res/jquery.fancybox/fancybox/jquery.fancybox-1.3.4.css" media="screen">
+	
+	<!-- FONT -->
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'>
+	<link href='http://fonts.googleapis.com/css?family=Geo&subset=latin' rel='stylesheet' type='text/css'>
+	
+	<style type="text/css"> 
+		.tweetButton{float:left;margin-right:5px;}
+		.videoLivePlayer{border:1px solid #c3c3c3;width:650px;height:638px;}
+		.videoLive{width:650px;height:640px;background:#fff;float:right;margin-top:20px;padding:5px;}
+					
+					.tweetExplain{background-image:url(../images/tweetExplainBgd.gif);width:250px;height:640px;padding:10px;position:absolute; margin-top:70px;}
+		.footer{margin-top:740px;width:960px;height:20px;position:absolute;text-align:center;}
+		.tooltip{
+			 z-index: 10000000000;
+		}
+		#tip{
+			 position : absolute;
+			 padding : 3px;
+			 z-index: 10000000000;
+			 max-width: 200px;
+		}	
+		#tip {
+				display: none;
+				background: transparent url("../images/white_arrow_long.png");
+				font-size: 12px;
+				height: 125px;
+				width: 180px;
+				padding: 10px;
+				padding-left: 15px;
+				padding-top: 15px;
+				padding-right: 15px;
+				color: black;
+				z-index: 10000000000;
+				font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif";
+				overflow:hidden;
+		}
+		#chartTimeline{
+			padding-top: 0px;
+			z-index: 9;
+			position : absolute;
+		}
+
+	</style>
+	<script type="text/javascript">
+	
+	  var _gaq = _gaq || [];
+	  _gaq.push(['_setAccount', 'UA-9955524-3']);
+	  _gaq.push(['_setDomainName', '.iri.centrepompidou.fr']);
+	  _gaq.push(['_trackPageview']);
+	
+	  (function() {
+	    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+	    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+	    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+	  })();
+	
+	</script>
+	<script type="text/javascript">
+		$(document).ready(function() {
+		
+			$("#Embeded").fancybox({
+				'width'				: 360,
+				'height'			: 360,
+				'autoDimensions'	: false,
+				'transitionIn'		: 'none',
+				'transitionOut'		: 'none',
+				'type'				: 'iframe'
+			});
+			
+		});
+	</script>
+	
+  </head>
+  <script type="text/javascript">
+  	// Configuration Polemical Timeline
+	var config = {
+					target:"chartTimeline",
+					x:8,
+					y:418,
+					width:650,
+					height:480,
+					heightmax:480,
+					duration:<?php echo($config['duration']); ?>,
+					metadata:"<?php echo($config['metadata']); ?>"
+					}
+  </script>
+  <script type='text/javascript' src='../res/metadataplayer.polemic/src/js/polemic.js'></script>
+  
+  <body>
+  
+
+  <!-- tooltip --> 
+  <div id="tip">
+  <div id="tipcolor" style="height:10px;width:10px"></div>
+  <div id="tiptext"></div>
+  </div>
+
+    <div class="container">
+      <img src="../images/ENMI_2010_logo.gif" class="logo">
+	  <ul class="menu"> 
+		  <li class="menuUnderline"><a href="../" class="menuLink" id="Accueil">
+		   <?php print $translate->_("Accueil"); ?></a></li>
+		  <li class="menuUnderline"><a href="embed_form.php" class="menuLink" id="Embeded">
+		    <?php print $translate->_("Partager"); ?></a></li>
+		  <li >&nbsp;</li>
+	  </ul>
+	  
+	<ul class="menu lang" > 
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=ja_JP" class="menuLink" >
+	       <img src='../images/flag_jp.gif'<?php if($actual!="ja_JP"){echo("style='opacity: .5;'"); } ?> />
+	        <?php print $translate->_("Japonais"); ?></a></li>
+	  <li class="menuUnderline"><a href="<?php URL_ROOT ?>?lang=fr" class="menuLink">
+	       <img src='../images/flag_fr.gif' <?php if($actual!="fr"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Français"); ?></a></li>
+	  <li ><a href="<?php URL_ROOT ?>?lang=en" class="menuLink">
+	       <img src='../images/flag_en.gif' <?php if($actual!="en"){echo("style='opacity: .5;'"); } ?> />
+	       <?php print $translate->_("Anglais"); ?></a></li>
+	  </ul>
+	
+	
+	<!-- EXPLICATION  -->
+	  <div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php print $translate->_("ClientTitle1 :"); ?> </h3><br/>
+		<?php print $translate->_("ExplicationPT"); ?>
+	  </div>
+	 
+	  
+	  <!-- INFOS SUR LA CONF 
+	  	<div class="tweetExplain"  >
+		<h3 class="tweetWriterTitle"><?php echo($config['title']); ?></h3><br/>
+			<?php echo($config['description']); ?>
+	  </div>
+	  -->
+
+
+
+
+	  <div class="videoLive" >
+		<div class="videoLivePlayer">
+
+		<div id="chartTimeline"> </div>	
+		<script type="text/javascript">
+			var paper = Raphael(document.getElementById("chartTimeline"),config.width, config.height);
+		</script>
+		
+		<script type='text/javascript' src='../res/metadataplayer/src/js/LdtPlayer.js'></script>
+		<script type="text/javascript">
+			$.extend(__IriSP.lib,{jQueryToolTip:"../res/metadataplayer/res/js/jquery.tools.min.js"});
+		</script>
+		
+		<div id="player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed" class="iri_player_embed"> </div>
+			<script type="text/javascript">
+				var configMP = {
+						/*metadata:{
+							format:'cinelab',
+							src:'metadata.json',
+							load:'json'},*/
+						metadata:{
+							format:'cinelab',
+							src:'<?php echo($config['metadata']); ?>',
+							load:'jsonp'},
+						gui:{
+							width:650,
+							height:480,
+							mode:'video',
+							container:'player_project_13b0aa52-336b-11e0-b233-00145ea49a02_embed',
+							debug:false,
+							css:'../res/css/LdtPlayer.css'},
+	
+						player:{
+							type:'jwplayer',
+							src:'http://www.iri.centrepompidou.fr//dev/ldt/static/ldt/swf/player.swf'}
+					};
+				__IriSP.init(configMP);     
+			</script>
+		</div>	
+	  </div>
+
+ 
+      <div class="footer">
+		<hr>
+			<?php echo($config['partenaires']); ?>
+	  </div>   
+	
+    </div>
+
+  </body>
+</html>
--- 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 <a href='http://www.cecill.info/' target='_blank'>Cecil</a>.<br/><br/>
 					Suivez nous sur Twitter : <a href='http://twitter.com/#!/polemictweet'>@PolemicTweet</a>
 					<br/><br/>
-					Cette expérimentation a été réaliser avec le soutient de : <br/>
+					Cette expérimentation a été réalisé avec le soutien de : <br/>
 					<a href='http://www.thdculture.fr/' target='_blank'><img src='images/Logo-thdculture.png'/></a>",