Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/enregistrer_gabarit.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/enregistrer_gabarit.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/enregistrer_gabarit.php	(revision 198)
@@ -0,0 +1,54 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+ http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function action_enregistrer_gabarit_dist(){
+
+    $post    = $_POST;
+    $gabarit = _request('gabarit');
+    // correspondance entre conteneur et valeur numerique
+    $colonnes=array("contexte1" => 1,"contexte2" => 2,"corps" => 3,"reserve" =>0,"avance"=> 4);
+
+    foreach(array_keys($colonnes) as $colonne) {
+        if (in_array($colonne, array_keys($post)))	{
+            foreach($post[$colonne] as $ordre => $bloc) {
+
+                // est-ce qu'il y a un parametre pour ce bloc ?
+                if ($post[$bloc]) {
+                    $parametre=addslashes($post[$bloc]);
+                } else { $parametre =""; }
+
+                $bloc=addslashes($bloc);
+                // fait la correspondance entre le nom du conteneur et son equivalent numerique (0,1 etc.) pour entrer dans la base
+                $colonnenum = $colonnes[$colonne];
+                $ordre =(int) $ordre;
+                $resultat = spip_query("SELECT id_bloc FROM spip_arty_gabarit_ordre WHERE gabarit='$gabarit' AND nom='$bloc'");
+
+                //echo "sommaire : colonne :".$colonne." et bloc : ".$bloc." et ordre :".$ordre."\n";
+                if(spip_mysql_count($resultat)) {
+                    $row=spip_fetch_array($resultat);
+                    spip_query("UPDATE spip_arty_gabarit_ordre SET ordre=$ordre, conteneur=$colonnenum, param='$parametre' WHERE id_bloc=".$row['id_bloc']);
+                    	
+                } else {
+                    spip_query("INSERT INTO spip_arty_gabarit_ordre (nom, ordre, conteneur, gabarit, param) VALUES ('$bloc', $ordre, $colonnenum, '$gabarit', '$parametre') ");
+
+                }
+            }
+        }
+    }
+
+    echo _T("arty:le_changement_a_ete_effectue");
+    exit();
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/supprimer_bandeau.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/supprimer_bandeau.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/action/supprimer_bandeau.php	(revision 198)
@@ -0,0 +1,49 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+ http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+# supprime le bandeau d'une rubrique donnÃ©e
+function action_supprimer_bandeau_dist()
+{	
+	$request_id_check    = _request('id_check');
+	$request_id_rubrique = _request('id_rubrique');
+	$chem                = _DIR_IMG."bandeau/";
+	$handle              = @opendir($chem);
+		
+	# VÃ©rifier si $id_rubrique est un entier
+	if(!is_numeric($request_id_rubrique) )
+	{ 
+		echo "<p>"._T("arty:erreur_supprimer_bandeau")."</p>";
+		exit();
+	}
+
+	
+	if ($request_id_check == $_SESSION["id_check"])
+	{
+		// TODO : mazu - faut-il faire un while, pourquoi pas directement le unlink sur $chem.$fichier? 
+		while($fichier = @readdir($handle) )
+		{
+			if (ereg("^bandeau-$request_id_rubrique\.(jpg|png|gif)$", $fichier) )
+			{
+				if(unlink($chem.$fichier) )
+				{ 
+					$contexte = array('id_rubrique'=>$request_id_rubrique,'largeurMax'=>350,'hauteurMax'=>250);
+					echo recuperer_fond('prive/upload_bandeau', $contexte);
+					exit();
+				}
+			}
+		}
+	}
+	echo "<p>"._T("arty:erreur_supprimer_bandeau")." -> ".$chem."bandeau-".$request_id_rubrique."</p>";
+	exit();
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_affichegauche.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_affichegauche.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_affichegauche.php	(revision 198)
@@ -0,0 +1,541 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+// importe la fonction creer_repertoire_documents, qui retourne le chemin vers un dossier donnÃ© dans le rÃ©pertoire img, et le crÃ©e si nÃ©cessaire
+
+include_spip('inc/getdocument');
+include_spip('inc/layer');
+include_spip('inc/upload-image');
+include_spip('inc/xml-parser');
+include_spip('inc/filtres_images_mini');
+
+function arty_ajouterfonctionnalites($flux) {
+
+	global $connect_statut;
+	//print_r($flux);
+	if ($connect_statut == "0minirezo" ) {
+		 
+		 
+		if (isset($flux['args']['id_groupe']) && $flux['args']['exec'] == "mots_types"){
+			 
+			$flux['data'] .= formulaire_logo($flux['args']['id_groupe']);
+			$flux['data'] .= bloc_formulaire_themes('groupe', $flux['args']['id_groupe'], "?exec=mots_type&id_groupe=".$flux['args']['id_groupe']);
+			$flux['data'] .= formulaire_bloc_libre('groupe', $flux['args']['id_groupe'],"?exec=mots_type&id_groupe=".$flux['args']['id_groupe']);
+			$flux['data'] .= bloc_gabarit('groupe-mots', $flux['args']['id_groupe'],"?exec=mots_type&id_groupe=".$flux['args']['id_groupe']);
+			 
+		}
+
+		if (isset($flux['args']['id_article']) && $flux['args']['exec'] == "articles"){
+			$flux['data'] .= bloc_formulaire_themes('article', $flux['args']['id_article'], "?exec=articles&id_article=".$flux['args']['id_article']);
+			$flux['data'] .= formulaire_bloc_libre('article', $flux['args']['id_article'],"?exec=articles&id_article=".$flux['args']['id_article']);
+			$flux['data'] .= bloc_gabarit('article', $flux['args']['id_article'],"?exec=articles&id_article=".$flux['args']['id_article']);
+			 
+		}
+
+		if (isset($flux['args']['id_rubrique']) && $flux['args']['exec'] == "naviguer"){
+			$flux['data'] .= formulaire_bandeau($flux['args']['id_rubrique']);
+			$flux['data'] .= bloc_formulaire_themes('rubrique', $flux['args']['id_rubrique'], "?exec=naviguer&id_rubrique=".$flux['args']['id_rubrique']);
+			$flux['data'] .= formulaire_bloc_libre('rubrique', $flux['args']['id_rubrique'],"?exec=naviguer&id_rubrique=".$flux['args']['id_rubrique']);
+			if ($flux['args']['id_rubrique']) {
+				$flux['data'] .= bloc_gabarit('rubrique', $flux['args']['id_rubrique'],"?exec=naviguer&id_rubrique=".$flux['args']['id_rubrique']);
+			}
+		}
+
+		if (isset($flux['args']['id_mot']) && $flux['args']['exec'] == "mots_edit"){
+			$flux['data'] .= bloc_gabarit('mot', $flux['args']['id_mot'],"?exec=mots_edit&id_mot=".$flux['args']['id_mot']);
+			$flux['data'] .= bloc_formulaire_themes('mot', $flux['args']['id_mot'], "?exec=mots_edit&id_mot=".$flux['args']['id_mot']);
+		}
+
+	}
+
+	$flux['data'] .= "";
+
+
+	return $flux;
+
+}
+
+// formulaire de bloc libre
+function formulaire_bloc_libre($type, $id, $url_retour) {
+	// traitements de formulaire
+	if (isset($_POST['action_form']) && isset($_POST['bloclibre'])) {
+		if($_POST['action_form'] == 'associer_bloc_libre' && !is_nan($_POST['bloclibre'])) {
+			//on peut sauver
+			if ($type == "rubrique" && $id == 0 && isset($_POST['lang'])) {
+				$resultat = spip_query("SELECT * FROM spip_arty_bloclibreassoc WHERE lang='".addslashes($_POST['lang'])."' AND type='$type' AND id=$id AND id_bloc_libre=".$_POST['bloclibre']);
+				if (!spip_mysql_count($resultat)) {
+					spip_query("INSERT INTO spip_arty_bloclibreassoc (id_bloc_libre, type, id, lang) VALUES (".$_POST['bloclibre'].",'$type',$id, '".addslashes($_POST['lang'])."')");
+				}
+			} else {
+				$resultat = spip_query("SELECT * FROM spip_arty_bloclibreassoc WHERE type='$type' AND id=$id AND id_bloc_libre=".$_POST['bloclibre']);
+				if (!spip_mysql_count($resultat)) {
+					spip_query("INSERT INTO spip_arty_bloclibreassoc (id_bloc_libre, type, id) VALUES (".$_POST['bloclibre'].",'$type',$id)");
+				}
+			}
+		}
+	}
+
+	if (isset($_POST['action_form']) && isset($_POST['bloclibre'])) {
+		if($_POST['action_form'] == 'dissocier_bloclibre' && !is_nan($_POST['bloclibre'])) {
+			if (isset($_POST["lang"])) {
+				spip_query("DELETE FROM spip_arty_bloclibreassoc WHERE lang='".addslashes($_POST["lang"])."' AND type='$type' AND id=$id AND id_bloc_libre=".$_POST['bloclibre']);
+			} else {
+				spip_query("DELETE FROM spip_arty_bloclibreassoc WHERE type='$type' AND id=$id AND id_bloc_libre=".$_POST['bloclibre']);
+			}
+		}
+	}
+
+	if ($_POST['action_form']=='nouveaubloc' && isset($_POST['titre']) && isset($_POST['texte']) ) {
+
+		$titre=trim(addslashes($_POST['titre']));
+		$texte=trim(addslashes($_POST['texte']));
+		$lien=trim(addslashes($_POST['lien']));
+
+		if($lien=="http://") { $lien=""; }
+
+		if ($titre!="" ) {//&& $texte!="") {
+			spip_query("INSERT INTO spip_arty_bloclibre(titre, contenu,lien) VALUES('$titre', '$texte', '$lien')");
+			$result = spip_query("SELECT LAST_INSERT_ID();");
+			if ($result){
+				$arr = spip_fetch_array($result);
+				$id_last = (int) current($arr);
+
+				if (!is_nan($id_last)){
+					echo traiter_upload_image('illu_bloc_libre','illu-bloc-libre',$id_last);
+
+					$resultat = spip_query("SELECT * FROM spip_arty_bloclibreassoc WHERE type='$type' AND id=$id AND id_bloc_libre=".$id_last);
+					if (!spip_mysql_count($resultat)) {
+
+						if ($type == "rubrique" && $id == 0 && isset($_POST['lang'])) {
+							spip_query("INSERT INTO spip_arty_bloclibreassoc (id_bloc_libre, type, id, lang) VALUES (".$id_last.",'$type',$id, '".addslashes($_POST['lang'])."')");
+						} else {
+							spip_query("INSERT INTO spip_arty_bloclibreassoc (id_bloc_libre, type, id) VALUES (".$id_last.",'$type',$id)");
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	// liste des blocs disponibles
+	$result=spip_query("SELECT * FROM spip_arty_bloclibre");
+	
+	$balancemoica ="";
+	if (spip_mysql_count($result)) {
+		//$blocsdispos = debut_cadre_relief(_DIR_PLUGIN_ARTY."/images/config.png", true, "", _T('arty:associer_un_bloc_libre'));
+		$blocsdispos .= _T('arty:intro_associer_bloc_libre')."<br />";
+		$blocsdispos .= "<form action='$url_retour' method='post'>";
+		$blocsdispos .= "<select name='bloclibre' class='forml'>";
+		while ($row=spip_fetch_array($result)) {
+			$blocsdispos .= "<option value='".$row['id_bloc_libre']."'>".htmlspecialchars($row['titre'])."</option>";
+		}
+		$blocsdispos .= "</select>";
+		$blocsdispos .= "<input type='hidden' name='action_form' value='associer_bloc_libre'>";
+
+
+		if ($type == "rubrique" && $id == 0) {
+
+			$leslangues_menu=explode(",",$GLOBALS['meta']['langues_utilisees']);
+			$def = $GLOBALS['meta']['langue_site'];
+			 
+			$blocsdispos .= "<br />"._T('arty:langue_bloc_assoc');
+			$blocsdispos .= '<br /><select name="lang" class="forml">';
+
+			foreach($leslangues_menu as $fullname) {
+				$blocsdispos .= "<option value='$fullname' ".(($def==$fullname)?'selected="selected"':'').">".$GLOBALS['codes_langues'][$fullname]."</option>";
+			}
+			$blocsdispos .= "</select><br />";
+		}
+		$blocsdispos .= "<input type='submit' class='fondo' value='"._T('arty:ajouter')."' /></form>";
+		
+		// liste des blocs associs
+		$resultat=spip_query("SELECT * FROM spip_arty_bloclibreassoc WHERE  type='$type' AND id=$id");
+		if (spip_mysql_count($resultat)) {
+			$blocsdispos .= "<br /><hr /><br />"._T('arty:blocs_libres_deja_associes');
+			$blocsdispos .= "<ul style='padding-left:0px;' class='menu'>";
+			while ($row=spip_fetch_array($resultat)) {
+				$lebloc=spip_query("SELECT * FROM spip_arty_bloclibre WHERE id_bloc_libre =".$row['id_bloc_libre']);
+				$lebloc=spip_fetch_array($lebloc);
+				$blocsdispos .= "<li style='font-size:10px;'>".htmlspecialchars($lebloc['titre']);
+				$blocsdispos .= $row['lang'] ? " <span style='color:#888'>[".$row['lang']."]</span>" : '';
+				$blocsdispos .= "<form style='display:inline;' action='".generer_url_ecrire('avance')."#".$row['id_bloc_libre']."' method='post'>";
+				$blocsdispos .= "<input type='hidden' name='retour' value='$url_retour' />";
+				$blocsdispos .= "<input type='hidden' name='bloc' value='".$row['id_bloc_libre']."' />";
+				if (_SPIP_AJAX) {
+					$blocsdispos .= "<img src='"._DIR_PLUGIN_ARTY."/images/mod.png' alt='M' title='"._T('arty:modifier_ce_bloc')."' class='bouton-modifier' style='margin-left:3px; cursor: pointer;' />";
+				} else {
+					$blocsdispos .= "<input type='submit' value='"._T('arty:modifier_ce_bloc')."' />";
+				}
+				$blocsdispos .= "</form>";
+				$blocsdispos .= "<form style='display:inline;' action='$url_retour' method='post' style='display:inline;'>";
+				$blocsdispos .= "<input type='hidden' name='action_form' value='dissocier_bloclibre'>";
+				if ($row['lang']) {
+					$blocsdispos .= "<input type='hidden' name='lang' value='".$row["lang"]."'>";
+				}
+				$blocsdispos .= "<input type='hidden' name='bloclibre' value='".$row['id_bloc_libre']."'>";
+				if (_SPIP_AJAX) {
+					$blocsdispos .= "<img src='"._DIR_IMG_PACK."/croix-rouge.gif' alt='X' title='"._T("arty:supprimer")."' style='margin-left:2px; cursor: pointer;' class='bouton-supprimer' />";
+				} else {
+					$blocsdispos .= "<input type='submit' value='X'/>";
+				}
+				$blocsdispos .= "</form></li>";
+			}
+			$blocsdispos .= "</ul>";
+			if (_SPIP_AJAX) {
+				$blocsdispos .= "<script type='text/javascript'>
+		jQuery('.bouton-supprimer').each(function(){
+			jQuery(this).click(function(){
+				jQuery(this).parent().submit();
+				})
+			})
+		jQuery('.bouton-modifier').each(function(){
+			jQuery(this).click(function(){
+				jQuery(this).parent().submit();
+				})
+			})
+		</script>";
+			}
+
+		}
+		
+		$balancemoica .= cadre_depliable(_DIR_PLUGIN_ARTY."images/bouton-arty.png",
+		_T('arty:associer_un_bloc_libre'),
+		false,
+		$blocsdispos,
+		'blocs_libres_dispos',
+		'r');
+		
+	}
+	
+	// nouveau bloc
+	$texte .= _T('arty:entrez_donnees_nouveau_bloc');
+	$texte .= "<form action='".$url_retour."' method='post' enctype=\"multipart/form-data\">\n";
+	$texte .= "<input type='hidden' name='action_form' value='nouveaubloc' />";
+	$texte .= "<input type='text' class='forml' name='titre' value='"._T('arty:titre')."' onfocus='this.value=&#34;&#34;;' maxlength='255' size='20' />";
+	$texte .= "<br /><textarea class='forml' name='texte' cols='20' rows='4'></textarea>";
+	$texte .= "<br />"._T('arty:bloc_lien')."<br />";
+	$texte .= "<input class='forml' type='text' name='lien' value='http://' maxlength='255' size='20' />";
+	$texte .= "<br />"._T('arty:bloc_image')."<br />";
+	$texte .= "<input type=\"file\" name=\"illu_bloc_libre\" size=\"10\" /><br />";
+
+	if ($type == "rubrique" && $id == 0) {
+
+		$leslangues_menu=explode(",",$GLOBALS['meta']['langues_utilisees']);
+		$def = $GLOBALS['meta']['langue_site'];
+		$texte .= "<br />"._T('arty:langue_bloc');
+		$texte .= '<br /><select name="lang" class="forml">';
+
+		foreach($leslangues_menu as $fullname) {
+			$texte .= "<option value='$fullname' ".(($def==$fullname)?'selected="selected"':'').">".$GLOBALS['codes_langues'][$fullname]."</option>";
+		}
+		$texte .= "</select>";
+	}
+
+	$texte .= "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	$texte .= "</form>";
+	
+	$balancemoica .= cadre_depliable(_DIR_PLUGIN_ARTY."images/bouton-arty.png",
+		_T('arty:creer_un_bloc_libre'),
+		false,
+		$texte,
+		'creer_bloc_libre',
+		'r');
+
+	return $balancemoica;
+}
+
+// formulaire d'ajout/remplacement/suppression d'un bandeau Ã  la rubrique
+function formulaire_logo($id_groupe)
+{
+	$texte = "<p>"._T('arty:intro_up_logo')."</p>";
+	traiter_suppression_logo($id_groupe);
+	$message = _T(traiter_upload_image('logo','logo-groupe',$id_groupe));
+	$texte .= ($message) ? "<p style=\"font-weight:bold;\">".$message."</p>" : "";
+
+	$visible = false;
+
+	$chem = creer_repertoire_documents("logo-groupe");
+	$handle = @opendir($chem);
+	while($fichier = @readdir($handle)) {
+		if (ereg("^logo-$id_groupe\.(jpg|png|gif)$", $fichier)) {
+			$logo = $fichier;
+		}
+	}
+	if (!isset($logo)){
+		$texte .= "<p>"._T("arty:aucun_logo_rub")."</p>";
+	} else {
+		$visible = true;
+		$result = _T("arty:logo_actuel").":<br /><img width=\"190\" src=\""._DIR_IMG."logo-groupe/$logo?".uniqid(rand())."\" />"; // le nombre alÃ©atoire permet d'Ã©viter que le navigateur affiche la version en cache de l'image.
+		$result .= "<p>[<a href=\"?exec=mots_type&id_groupe=$id_groupe&action=supprimer_logo&id_check=".$_SESSION['id_check']."\">"._T('arty:supprimer_logo')."</a>]</p>";
+		$texte .= $result;
+	}
+	$texte .= "<form action=\"?exec=mots_type&amp;id_groupe=$id_groupe\" method=\"post\" enctype=\"multipart/form-data\">";
+	$texte .= "<input type=\"file\" name=\"logo\" id=\"logo\" size=\"13\" /><br />";
+	$texte .= "<div style=\"text-align:right;\"><input class=\"fondo\" name=\"filesubmit\" type=\"submit\" value=\""._T('arty:enregistrer')."\" /></div>";
+	$texte .= "</form>";
+	$data = debut_cadre_couleur("bouton-arty.png", true, "", _T('arty:titre_up_rub_logo'));
+	$data .= block_parfois_visible("logo", _T("arty:invit_up_rub_logo"), $texte, '', $visible);
+	$data .= fin_cadre_couleur(true);
+
+	return $data;
+}
+
+
+function bloc_gabarit($type, $id, $url_retour)
+{
+
+	if (isset($_POST['action_form']) && isset($_POST['gabarit'])) {
+		if($_POST['action_form'] == 'changer_gabarit' && trim($_POST['gabarit'])!="") {
+			//on peut sauver
+			spip_query("DELETE FROM spip_arty_gabaritassoc WHERE type='$type' AND id=$id");
+			if ($_POST['gabarit'] !='gabarit_default') {
+				spip_query("INSERT INTO spip_arty_gabaritassoc (gabarit, type, id) VALUES ('".addslashes(trim($_POST['gabarit']))."','$type',$id)");
+			}
+		}
+	}
+
+	$resultat = spip_query("SELECT * FROM spip_arty_gabaritassoc WHERE type='$type' AND id=$id");
+	if (spip_mysql_count($resultat)) {
+		$row=spip_fetch_array($resultat);
+		$gabarit_actuel=$row['gabarit'];
+	} else { $gabarit_actuel='gabarit_default'; }
+
+	$ignore_liste = Array(".svn", ".", "..");
+	$rep = _DIR_PLUGIN_ARTY."definitions-gabarits";
+	$handle = opendir($rep);
+
+	$balancemoica = debut_cadre_relief(_DIR_PLUGIN_ARTY."/images/bouton-arty.png", true, "", _T('arty:associer_un_gabarit'));
+	$balancemoica .= _T('arty:intro_associer_gabarit')."<br /><br />";
+	$balancemoica .= _T('arty:choisissez_un_gabarit').":<br />";
+	$balancemoica .="<form action='$url_retour' method='post'>";
+
+	$gabarits=array();
+	$gabaritpardefaut=array("sommaire","rubrique","article");
+	$ignore_liste=array(".","..",".DS_Store");
+	$rep = _DIR_PLUGIN_ARTY."definitions-gabarits";
+	$handle = opendir($rep);
+	while($fichier = readdir($handle)) {
+
+		if (!in_array($fichier, $ignore_liste) && eregi('^[a-zA-Z0-9_-]*\.xml$',$fichier)) {
+			$p =& new xmlParser();
+			$p->parse($rep.'/'.$fichier);
+			if (!in_array(ereg_replace("\.xml$","",$fichier),$gabaritpardefaut)) {
+				$gabarits[$p->output[0]['attrs']['TYPE']][] = ereg_replace("\.xml$","",$fichier);
+			}
+			$liste_gabarit[]=ereg_replace("\.xml$","",$fichier);
+		}
+	}
+
+	//gabarits du dossier "pages-custom" (surclassage)
+	$rep_custom = _DIR_RACINE."pages-custom/gabarits";
+	if (file_exists($rep_custom)) {
+		$handle = opendir($rep_custom);
+		while($fichier = readdir($handle)) {
+			if (!in_array($fichier, $ignore_liste) && eregi('^[a-zA-Z0-9_-]*\.xml$',$fichier) && !in_array($fichier, $liste_gabarit)) {
+				$p =& new xmlParser();
+				$p->parse($rep_custom.'/'.$fichier);
+				$nom_gabarit = ereg_replace("\.xml$","",$fichier);
+				$type_gabarit = $p->output[0]['attrs']['TYPE'];
+				if (!in_array($nom_gabarit, $gabaritpardefaut) && !in_array($nom_gabarit, $gabarits[$type_gabarit])) {
+					$gabarits[$type_gabarit][] = ereg_replace("\.xml$","",$fichier);
+				}
+				$liste_gabarit[] = ereg_replace("\.xml$","",$fichier);
+			}
+		}
+	}
+	//gabarits de la base de donnÃ©es
+	$query = spip_query('SELECT * FROM spip_arty_gabarit_perso');
+	while ($row = spip_fetch_array($query)) {
+		if (!in_array($row['nom'], $liste_gabarit)) {
+			$liste_gabarit[] = $row['nom'];
+			$donnees = $row['type'];
+			$gabarits[$donnees][] = $row['nom'];
+		}
+	}
+	// faire le menu deroulant
+	$leselect="";
+	$leselect .="<select name='gabarit' class='forml'>";
+	$leselect .="<option value='gabarit_default'>"._T('arty:gabarit_par_defaut')."</option>";
+	foreach($gabarits as $nom => $typegabarit) {
+		if ($type == $nom) {
+			foreach($typegabarit as $cegabarit) {
+				$leselect .="<option class='$type' value='$cegabarit' ".(($cegabarit ==$gabarit_actuel)?"selected='selected' " : "").">"._T("arty:$cegabarit")."</option>";
+			}
+		}
+	}
+
+	$leselect .="</select>";
+
+	$balancemoica .= $leselect;
+	 
+	$balancemoica .="<input type='hidden' name='action_form' value='changer_gabarit' />";
+	$balancemoica .= "<br /><input class='fondo' type='submit' value='"._T('arty:bouton_changer_gabarit')."' /><br />";
+	$balancemoica .="</form>";
+
+	// bouton de modification du gabarit + retour
+	$balancemoica .= "<form action='?exec=gabarit&amp;gabarit=";
+	if ($gabarit_actuel=="gabarit_default"){
+		$balancemoica .= "$type";
+	} else {
+		$balancemoica .= "$gabarit_actuel";
+	}
+	$balancemoica .= "' method='post'>";
+	$balancemoica .= "<input name='retour' value='$url_retour' type='hidden'>";
+	$balancemoica .= "<br /><input class='fondo' type='submit' value='"._T('arty:editer_ce_gabarit')."' />";
+	$balancemoica .= "</form>";
+	$balancemoica .= fin_cadre_couleur(true);
+
+	// formulaire de creation d'un gabarit Ã  partir de la page
+	$balancemoica .= debut_cadre_relief(_DIR_PLUGIN_ARTY."/images/bouton-arty.png", true, "", _T('arty:creer_gabarit_et_associer'));
+
+	$balancemoica .= "<form action='".generer_url_ecrire('gabarit')."' method='post'>\n";
+	$balancemoica .= "<input name='retour' value='$url_retour' type='hidden'>";
+	$balancemoica .= "<p style='margin-top:0px; margin-bottom:2px;'>"._T("arty:deriver_gabarit")."</p>";
+	$balancemoica .= "<input type='hidden' name='associer' value='". $id ."'/>";
+	$balancemoica .= "<input type='hidden' name='action_form' value='deriver'/>";
+	$balancemoica .= "<input type='text' name='nom_gabarit' value='"._T('arty:nom_du_gabarit')."' /><br />";
+
+	$balancemoica .= "<p style='margin-top:8px; margin-bottom:2px;'>"._T("arty:baser_gabarit_sur")."</p>";
+	$balancemoica .= "<select id='source' name='source' class='forml'>";
+
+	foreach($gabaritpardefaut as $un_gabarit) {
+		if ($un_gabarit == $type) {
+			$balancemoica .= '<option name="'.$un_gabarit.'" value="'.$un_gabarit.'">'.$un_gabarit.'</option>';
+		}
+	}
+	foreach($gabarits as $nom_type => $types_gabarits) {
+		foreach($types_gabarits as $un_gabarit) {
+			if ($nom_type == $type){
+				$balancemoica .= '<option name="'.$un_gabarit.'" value="'.$un_gabarit.'">'.$un_gabarit.' '.$nom_type.'</option>';
+			}
+		}
+	}
+	$balancemoica .= "</select>";
+	$balancemoica .= "<br /><div style='text-align: right;'><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' /></div>";
+	$balancemoica .= "</form>";
+
+	$balancemoica .= "</form>";
+
+
+
+	$balancemoica .= fin_cadre_relief(true);
+
+	closedir($handle);
+
+	return $balancemoica;
+}
+
+function bloc_formulaire_themes($type, $id, $url_retour) {
+
+	if (isset($_POST['action_form']) && isset($_POST['theme'])) {
+		if($_POST['action_form'] == 'changer_theme' && trim($_POST['theme'])!="") {
+			//print_r($_POST);
+			//on peut sauver
+			spip_query("DELETE FROM spip_arty_themeassoc WHERE type='$type' AND id=$id");
+			if ($_POST['theme'] !='theme_default') {
+				spip_query("INSERT INTO spip_arty_themeassoc (theme, type, id) VALUES ('".addslashes(trim($_POST['theme']))."','$type',$id)");
+			}
+
+		}
+	}
+
+	$resultat = spip_query("SELECT * FROM spip_arty_themeassoc WHERE type='$type' AND id=$id");
+	if (spip_mysql_count($resultat)) {
+		$row=spip_fetch_array($resultat);
+		$theme=$row['theme'];
+	} else { $theme='theme_default'; }
+
+	$ignore_liste = Array(".svn", ".", "..",".DS_Store");
+	$rep = _DIR_PLUGIN_ARTY."themes";
+	$handle = opendir($rep);
+
+	$balancemoica = debut_cadre_relief(_DIR_PLUGIN_ARTY."/images/bouton-arty.png", true, "", _T('arty:associer_un_theme'));
+	$balancemoica .="<form action='$url_retour' method='post'>";
+	$balancemoica .="<select name='theme' class='forml'>";
+	$balancemoica .="<option value='theme_default'>"._T('arty:theme_par_defaut')."</option>";
+	while($fichier = readdir($handle)) {
+
+		if (in_array($fichier, $ignore_liste)) {
+		} else if (is_dir($rep.'/'.$fichier)) {
+			 
+			if (file_exists($rep.'/'.$fichier.'/theme.xml')) {
+
+				$p =& new xmlParser();
+				$p->parse($rep.'/'.$fichier.'/theme.xml');
+				//print_r($p->output);
+
+				foreach($p->output[0]['child'] as $id => $tag) {
+					if ($tag['name'] == "TITRE") {
+						$balancemoica .="<option value='".$fichier."' ".(($fichier==$theme)?"selected='selected' ": '').">".$tag["content"]."</option>";
+					}
+
+					if ($tag['name'] == "DECLINAISON") {
+						$balancemoica .="<option value='".$fichier."|".$tag["attrs"]["CHEMIN"]."' ".(($fichier."|".$tag["attrs"]["CHEMIN"]==$theme)?"selected='selected' ": '')."> - ".$tag["attrs"]["TITRE"]."</option>";
+					}
+						
+				}
+			}}}
+
+			$balancemoica .="</select>";
+			$balancemoica .="<input type='hidden' name='action_form' value='changer_theme' />";
+			$balancemoica .= "<input class='fondo' type='submit' value='"._T('arty:bouton_changer_theme')."' />";
+			$balancemoica .= fin_cadre_relief(true);
+			$balancemoica .="</form>";
+
+			closedir($handle);
+
+			return $balancemoica;
+}
+
+// formulaire d'ajout/remplacement/suppression d'un bandeau Ã  la rubrique
+function formulaire_bandeau($id_rubrique)
+{
+	$texte = "<p>"._T('arty:intro_up_rub_bandeau')."</p>";
+
+	//$message = _T(traiter_upload_bandeau($id_rubrique));
+	//$texte .= ($message) ? "<p style=\"font-weight:bold;\">".$message."</p>" : "";
+
+	$visible = false;
+
+	$chem = creer_repertoire_documents("bandeau");
+	$handle = @opendir($chem);
+	while($fichier = @readdir($handle)) {
+		if (ereg("^bandeau-$id_rubrique\.(jpg|png|gif)$", $fichier)) {
+			$bandeau = $fichier;
+		}
+	}
+
+	if (!$bandeau){
+        # Formulaire Ã  la mode CVT
+		$contexte = array('id_rubrique'=>$id_rubrique,'largeurMax'=>186,'hauteurMax'=>186);
+		$texte .= recuperer_fond('prive/upload_bandeau', $contexte);
+	} else {
+		# le nombre alÃ©atoire permet d'Ã©viter que le navigateur affiche la version en cache de l'image.
+		$reducImg = image_reduire("<img src='"._DIR_IMG."bandeau/$bandeau?".uniqid(rand())."' alt='' class='miniature_logo' />", "186", "186");
+		$texte .= "<div id='bandeau_icone' style='text-align:center'>".$reducImg;
+		$request = "?exec=naviguer&amp;id_rubrique=".$id_rubrique."&amp;action=supprimer_bandeau&amp;id_check=".$_SESSION['id_check'];
+		$AjAxtion = ajax_action_declencheur ($request, "bandeau_icone", $fct_ajax="");
+		$texte .= "<p style=\"text-align:center\">&#91;<a href=\"javascript:void(0);\" onclick=".$AjAxtion.">"._T('lien_supprimer')."</a>&#93;</p>";
+		$texte .= "</div>";
+	}
+	
+	$visible = (($bandeau != "")?true:false);
+	$bouton  = bouton_block_depliable(_T("arty:titre_up_rub_bandeau"), $visible, "bandeau");
+	$data  = debut_cadre('r', _DIR_PLUGIN_ARTY."images/bouton-arty.png", '', $bouton, '', '', false);
+	$data .= debut_block_depliable($visible, "bandeau")."<div class='cadre_padding'>".$texte."</div>".fin_block();
+	$data .= fin_cadre_relief(true);
+	return $data;
+
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_boutons.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_boutons.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_boutons.php	(revision 198)
@@ -0,0 +1,21 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function arty_ajouterBoutons($boutons_admin) {
+	$boutons_admin['configuration']->sousmenu['theme'] = new Bouton(
+      "../"._DIR_PLUGIN_ARTY."images/bouton-magusine-24.png",  // icone
+	_T('arty:options_arty')	// titre
+	);
+	return $boutons_admin;
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_fonctions.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_fonctions.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_fonctions.php	(revision 198)
@@ -0,0 +1,372 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function chercheid($texte,$queltype="article") {
+	if (ereg ("($queltype=[a-zA-Z0-9' _-]{1,255})", $texte, $regs)) {
+		return ereg_replace("$queltype=","",$regs[0]);
+	} else { return ""; }
+}
+
+function chercheextension($texte){
+	$texte = strtolower(end(explode(".", $texte)));
+	return $texte;
+}
+
+function addghost($texte) {
+	if (ereg("article.php3",$texte)) {
+		$texte = $texte. "&fond=ghost";
+		$texte = ereg_replace("article.php3", "page.php3", $texte);
+	}
+
+	if (ereg("spip.php", $texte)) {
+		$texte=ereg_replace("article", "page=ghost&id_article=",$texte);
+
+	}
+	return $texte;
+}
+
+function trouvepage($texte){
+	if (ereg ("(page=[a-zA-Z0-9' _-]{1,255})", $texte, $regs)) {
+		return $regs[0];
+	} else if (ereg ("article[0-9]{1,5}|rubrique[0-9]{1,5}|mot[0-9]{1,5}|groupe[0-9]{1,5}", $texte, $regs)) {
+		// c'est une page type
+		return $regs[0];
+	} else { return ""; }
+}
+
+function envpart($texte,$lequel=0){
+	$texte=explode("|",$texte);
+	if($lequel <= count($texte)) {
+		return $texte[$lequel];
+	} else {
+		return "";
+	}
+}
+
+function tableau2in($texte){
+	$texte=explode("|",$texte);
+	return $texte;
+}
+
+function tableau2invirgule($texte){
+	$texte=explode(",",$texte);
+	return $texte;
+}
+
+function tableau2array($texte,$split){
+	$texte=explode($split,$texte);
+	return $texte;
+}
+
+function element($texte,$element) {
+	$result="rien";
+	foreach($texte as $elem => $param){
+		if ($elem == $element){
+			$result=$param;
+		}
+	}
+	return $result;
+}
+
+function taille_img_diaporama($largeur,$hauteur,$destlargeur=600,$desthauteur=500) {
+
+	$neolargeur=0;
+	$neohauteur=0;
+	// calcule la largeur sur base du rapport hauteurlargeur
+	if ($largeur > $destlargeur) {
+		$neolargeur=$destlargeur;
+		$neohauteur=($hauteur/($largeur/$destlargeur));
+	}
+
+	if (($neohauteur > $desthauteur) or ($neohauteur==0 and ($hauteur > $desthauteur))) {
+		//on reduit donc sur base de desthauteur
+		$neohauteur=$desthauteur;
+		$neolargeur=$largeur/($hauteur/$desthauteur);
+	}
+
+	// si ni neohauteur ni neolargeur ne sont definis, c'est qu'ils sont corrects
+	if ($neohauteur == 0) { $neohauteur=$hauteur; }
+	if ($neolargeur == 0) { $neolargeur=$largeur; }
+
+
+	return array($neolargeur,$neohauteur);
+}
+
+// remonte l'arborescence et retourne le premier thÃšme trouvÃ© pour une rubrique donnÃ©e 
+function premier_theme($id_rubrique){
+	$id_parent = $id_rubrique;
+	while($id_parent != 0) {
+		// un thÃšme est-il prÃ©sent pour cette rubrique?
+		$result = spip_query("SELECT id_theme FROM spip_magu_themes_rubriques WHERE id_rubrique=$id_rubrique");
+		if (spip_mysql_count($result) == 1) {
+			$row = spip_fetch_array($result);
+			return $row['id_theme'];
+		}
+		// sinon, continuer et vÃ©rifier pour le parent
+		$result = spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
+		$row = spip_fetch_array($result);
+		$id_parent = $row['id_parent'];
+		$id_rubrique = $id_parent;
+	}
+	// aucun thÃšme n'a Ã©tÃ© trouvÃ©, on prend le thÃšme par dÃ©faut
+	$result = spip_query("SELECT id_theme FROM spip_magu_themes_rubriques WHERE id_rubrique=0");
+	$row = spip_fetch_array($result);
+	return $row['id_theme'];
+}
+
+// retourne le logo d'un bloc libre si il existe
+function logo_bloc($id_bloc){
+	$handle = @opendir("IMG/illu-bloc-libre/");
+	while($fichier = @readdir($handle)) {
+		if (ereg("^illu_bloc_libre-$id_bloc\.(jpg|png|gif)$", $fichier)) {
+			$logo = $fichier;
+		}
+	}
+	if (!isset($logo)){
+		return false;
+	} else {
+		return "IMG/illu-bloc-libre/$logo";
+	}
+}
+
+// retourne le logo d'un groupe si il existe
+function logo_groupe($id_groupe){
+	$handle = @opendir("IMG/logo-groupe/");
+	while($fichier = @readdir($handle)) {
+		if (ereg("^logo-$id_groupe\.(jpg|png|gif)$", $fichier)) {
+			$logo = $fichier;
+		}
+	}
+	if (!isset($logo)){
+		return false;
+	} else {
+		return "IMG/logo-groupe/$logo";
+	}
+}
+
+function controlelargeur($texte) {
+	if ($texte==0) { $texte= 160; };
+	return $texte;
+}
+
+function controlehauteur($texte) {
+	if ($texte==0) { $texte = 120; };
+	return $texte;
+}
+
+function nospace($texte) {
+	$texte = ereg_replace("&nbsp;", "", $texte);
+	$texte = ereg_replace(" ", "", $texte);
+	return $texte;
+}
+
+function no_accent($chaine){
+	$chaine = strtr
+	// La ligne suivante entre parenthÃšse doit Ãªtre sur une seule ligne, sinon erreur php
+	($chaine,  "ÃÃÃÃÃÃ
+Ã Ã¡Ã¢Ã£Ã€Ã¥ÃÃÃÃÃÃÃ²Ã³ÃŽÃµÃ¶ÃžÃÃÃÃÃšÃ©ÃªÃ«ÃÃ§ÃÃÃÃÃ¬Ã­Ã®Ã¯ÃÃÃÃÃ¹ÃºÃ»ÃŒÃ¿ÃÃ±", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
+	$chaine = str_replace("\"", "&quot;", $chaine);
+	return $chaine;
+}
+
+
+
+/*
+ *   +-------------------------------------+
+ *    Nom du Filtre : Conversion des ancres
+ *   +-------------------------------------+
+ *    Date : vendredi 18 juin 2004
+ *    Auteur :  AliGator (aligator@macfr.com)
+ *   +-------------------------------------+
+ *    Fonctions de ce filtre :
+ *      Ce script permet de gÃ©rer les ancres insÃ©rÃ©es dans un
+ *      article sous la forme [nomancre<-] ou [#nomancre<-]
+ *      pour les remplacer par une ancre HTML (<a name="#nomancre"></a>)
+ *      Ceci vous permet d'autoriser les auteurs des articles sur votre site
+ *                Ã  utiliser ce nouveau "raccourci typographique"
+ *   +-------------------------------------+
+ */
+
+function gerer_ancres($texte)
+{
+	$res = preg_replace("|\[\#?([A-Za-z0-9_]*)<-\]|U" ,
+                "<a name=\"\$1\"></a>" , $texte);
+	return $res;
+}
+
+function vignettewebmaton($texte) {
+	$texte= ereg_replace("/mp4/","/webmaton-vignettes/",$texte);
+	$texte = ereg_replace("\.mp4$", ".png", $texte);
+	if (file_exists($texte)) {
+		return $texte;
+	}
+}
+
+function transguillemet ($texte) {
+	$texte = ereg_replace("\"", "''", $texte);
+	$texte = ereg_replace("\n", "", $texte);
+	$texte = ereg_replace("\t", " ", $texte);
+	return $texte;
+}
+
+function lienitunes($texte){
+	$texte = ereg_replace("^http://", "itpc://", $texte);
+	return $texte;
+}
+
+function nomfichier($texte) {
+	$texte = explode('/', trim($texte, "/"));
+	return end($texte);
+}
+
+function sans_newline($texte){
+	$texte = ereg_replace("\n", "", $texte);
+	return $texte;
+}
+
+function premiere_lettre($texte){
+	$premiere = $texte{0};
+	if (eregi("^[a-z]$",$premiere)) {
+		return strtoupper($premiere);
+	} else {
+		return "#";
+	}
+}
+
+function balise_THEME($params) {
+	include_spip('inc/cherche-theme');
+	$theme=theme_actuel();
+	$morceaux=explode("|",$theme);
+	$params->code = "$morceaux[0]";
+	$params->type = 'html';
+	return $params;
+}
+
+function balise_LARGEUR_CORPS($params) {
+	$largeur=trouveintheme('LARGEURCORPS', '480');
+	$params->code = "'$largeur'";
+	$params->type = 'html';
+	return $params;
+}
+
+function balise_LARGEUR_CONTEXTE1($params) {
+	$largeur=trouveintheme('LARGEURCONTEXTE1', '150');
+	$params->code = "'$largeur'";
+	$params->type = 'html';
+	return $params;
+}
+
+function balise_LARGEUR_CONTEXTE2($params) {
+	$largeur=trouveintheme('LARGEURCONTEXTE2', '120');
+	$params->code = "'$largeur'";
+	$params->type = 'html';
+	return $params;
+}
+
+function trouveintheme($quoi, $defaut) {
+	include_spip('inc/cherche-theme');
+	include_spip('inc/xml-parser');
+
+	$letruc=$defaut;
+	$quoi=strtoupper($quoi);
+
+	$theme=theme_actuel();
+	$morceaux=explode("|",$theme);
+	if (count($morceaux)==1) {
+
+		$declinaison=FALSE;
+	} else {
+		$declinaison=$morceaux[1];
+	}
+
+	$theme=$morceaux[0];
+
+	$p =& new xmlParser();
+	$p->parse(_DIR_PLUGIN_ARTY.'themes/'.$theme.'/theme.xml');
+	foreach($p->output[0]['child'] as $tag) {
+		if ($tag['name']==$quoi) {
+			$letruc=$tag['content'];
+		}
+
+		if ($tag['name']=='DECLINAISON' && $tag['attrs']['CHEMIN']==$declinaison) {
+			foreach($tag['child'] as $tagchild) {
+				if ($tagchild['name']==$quoi) {
+					$letruc=$tagchild['content'];
+				}
+			}
+		}
+
+	}
+
+	return $letruc;
+}
+
+function parametres($texte){
+	// fabrique un array associatif des parametres du site, une seule lecture xml donc.
+	include_spip('inc/cherche-theme');
+	include_spip('inc/xml-parser');
+
+	$theme=theme_actuel();
+	$morceaux=explode("|",$theme);
+	if (count($morceaux)==1) {
+
+		$declinaison=FALSE;
+	} else {
+		$declinaison=$morceaux[1];
+	}
+	$theme=$morceaux[0];
+
+	$params_acceptes =array("separateur","titre");
+
+	if($texte == "theme") {
+		$letruc=$theme;
+	} else if (in_array($texte,$params_acceptes))  {
+		$p =& new xmlParser();
+		$p->parse(_DIR_PLUGIN_ARTY.'themes/'.$theme.'/theme.xml');
+		$texte=strtoupper($texte);
+		$letruc=trouvelem($p->output[0]['child'],$declinaison,$texte,"");
+	} else {
+		$p =& new xmlParser();
+		$p->parse(_DIR_PLUGIN_ARTY.'themes/'.$theme.'/theme.xml');
+
+		$navigation=trouvelem($p->output[0]['child'],$declinaison,"NAVIGATION","general");
+		$chemin=trouvelem($p->output[0]['child'],$declinaison,"CHEMIN_PAGE","general");
+		$footer=trouvelem($p->output[0]['child'],$declinaison,"FOOTER","general");
+		$contenus=trouvelem($p->output[0]['child'],$declinaison,"DIV_CONTENUS","non");
+
+		$letruc=array("theme" => $theme,"navigation" => $navigation,"footer" => $footer, "chemin" => $chemin,"contenus" => $contenus);
+	}
+
+	return $letruc;
+}
+
+function trouvelem($tableau,$declinaison,$elem,$defaut){
+	$elemtrouve=$defaut;
+	foreach($tableau as $tag) {
+		if ($tag['name']==$elem) {
+			$elemtrouve=$tag['content'];
+		}
+
+		if ($tag['name']=='DECLINAISON' && $tag['attrs']['CHEMIN']==$declinaison) {
+			foreach($tag['child'] as $tagchild) {
+				if ($tagchild['name']==$elem) {
+					$elemtrouve=$tagchild['content'];
+				}
+			}
+		}
+
+	}
+	return $elemtrouve;
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header.php	(revision 198)
@@ -0,0 +1,154 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+ http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+include_spip('inc/xml-parser');
+include_spip('inc/cherche-theme');
+
+function arty_ajouterHeader($flux) {
+	
+    $theme=theme_actuel();
+    $head = generer_head($theme);
+    return $flux.=$head;
+}
+
+function generer_head($theme) {
+    $morceaux=explode("|", $theme);
+    if (count($morceaux)==1) {
+        //le theme est un theme plein, pas de declinaison
+        $dossier=$morceaux[0];
+        $declinaison=FALSE;
+    } else {
+        // le theme est une declinaison
+        $dossier=$morceaux[0];
+        $declinaison=$morceaux[1];
+    }
+
+    // scripts ie7
+    $inclusion_theme ="<!-- plugin magusine developpe par les corsaires asbl http://www.magusine.net-->\n";
+    $inclusion_theme .="<!-- compliance patch for microsoft browsers -->\n";
+    $inclusion_theme .="<!--[if lt IE 7]><script src='ie7/ie7-standard-p.js' type='text/javascript'></script><![endif]-->\n";
+
+    // fichier javascript de base
+    $print="";
+    $inclusion_theme .="\n";
+    $inclusion_theme .="<script src='"._DIR_PLUGIN_ARTY."javascript/javascript-public.js' type='text/javascript' language='javascript'></script>\n";
+    $inclusion_theme .="<script src='"._DIR_PLUGIN_ARTY."javascript/thickbox.js' type='text/javascript' language='javascript'></script>\n";
+
+    // dans le theme
+    $inclusion_theme .=generejavacss(_DIR_PLUGIN_ARTY."themes/".$dossier);
+    // ajouter la declinaison
+    if ($declinaison) {
+        $inclusion_theme .= "<link href='"._DIR_PLUGIN_ARTY."themes/".$dossier."/declinaisons/".$declinaison."' rel='stylesheet' type='text/css' media='screen' />\n";
+    }
+    //dans le dossier pages-custom
+    $inclusion_theme .=generejavacss("pages-custom");
+
+    if(!ereg("media='print'",$inclusion_theme)){
+        $inclusion_theme .="<link href='"._DIR_PLUGIN_ARTY."css/print.css' rel='stylesheet' type='text/css' media='print' />\n";
+    }
+
+    $larubbandeau=trouvelarub();
+    $lebandeau=trouver_bandeau($larubbandeau);
+    if($lebandeau){
+        $lebandeau ="<style type='text/css'>
+		<!--
+		#bandeau { background-image: url(.$lebandeau); }
+		-->
+		</style>";
+
+        $inclusion_theme .=$lebandeau;
+    }
+    return $inclusion_theme;
+}
+
+function trouver_bandeau($id_rubrique){
+    $url_bandeau = false;
+    $extensions = Array("jpg","png","gif");
+    $id_parent = $id_rubrique;
+
+    // TODO : mazu Gestion db devrait allÃ©ger le processus
+    if($id_parent >= 0){
+        foreach($extensions as $ext){
+            if (file_exists(_DIR_IMG."bandeau/bandeau-$id_rubrique.$ext")){
+                $url_bandeau = "/"._DIR_IMG."bandeau/bandeau-$id_rubrique.$ext";
+                return $url_bandeau;
+            }
+        }
+        
+        while($id_parent != 0) {
+            // un bandeau est-il prÃ©sent pour cette rubrique?
+            foreach($extensions as $ext){
+                if (file_exists(_DIR_IMG."bandeau/bandeau-$id_rubrique.$ext")){
+                    $url_bandeau = "/"._DIR_IMG."bandeau/bandeau-$id_rubrique.$ext";
+                    return $url_bandeau;
+                }
+            }
+            // sinon, continuer et vÃ©rifier pour le parent
+            $result = spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
+            $row = spip_fetch_array($result);
+            $id_parent = $row['id_parent'];
+            $id_rubrique = $id_parent;
+        }
+    }
+     // aucun bandeau spÃ©cifique n'a Ã©tÃ© trouvÃ©
+     foreach($extensions as $ext){
+     if (file_exists(_DIR_IMG."bandeau/bandeau.".$ext)){
+     $url_bandeau = "/"._DIR_IMG."bandeau/bandeau.".$ext;
+     }
+     }
+
+    return $url_bandeau;
+}
+
+function trouvelarub() {
+    if (isset($GLOBALS['contexte']['id_rubrique'])) {
+        // si c'est une page rubrique, trouver le thÃšme de la rubrique ou des rubriques parentes
+        $id_rubrique = $GLOBALS['contexte']['id_rubrique'];
+    } else if (isset($GLOBALS['contexte']['id_article'])) {
+        // si c'est un article, trouver sa rubrique et ensuite son thÃšme, ou le thÃšme des rubriques parentes 
+        $result = spip_query("SELECT id_rubrique FROM spip_articles WHERE id_article='".addslashes($GLOBALS['contexte']['id_article'])."'");
+        $row = spip_fetch_array($result);
+        $id_rubrique = $row['id_rubrique'];
+    } else {
+        $id_rubrique=0;
+    }
+
+    return $id_rubrique;
+}
+
+// lire le dossier, en extraire css et javascript
+function generejavacss($dossiertheme) {
+    $inclusion_theme="";
+    if(is_dir($dossiertheme)){
+        $liste_ignore = Array(".","..",".DS_Store");
+        $handle = opendir($dossiertheme);
+        while ($fichier=readdir($handle)){
+            if (!in_array($fichier, $liste_ignore)){
+                if (eregi("^[a-zA-Z0-9_-]*\.css$",$fichier)) {
+                    if ($fichier=="print.css") {
+                        $inclusion_theme .="<link href='".$dossiertheme."/".$fichier."' rel='stylesheet' type='text/css' media='print' />\n";
+                    } else {
+                        $inclusion_theme .= "<link href='".$dossiertheme."/".$fichier."' rel='stylesheet' type='text/css' media='screen' />\n";
+                    }
+                } elseif (eregi("\.js$",$fichier)) {
+                    $inclusion_theme .="<script src='".$dossiertheme."/".$fichier."' type='text/javascript' language='javascript'></script>\n";
+                } elseif (eregi("\.ico$",$fichier)) {
+                    $inclusion_theme .="<link rel='shortcut icon' href='".$dossiertheme."/".$fichier."' />\n";
+                }
+            }
+        }
+    }
+    return $inclusion_theme;
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header_prive.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header_prive.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_header_prive.php	(revision 198)
@@ -0,0 +1,41 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function arty_ajouterHeaderPrive($flux){
+	$liste=array("arty","theme","gabarit","menu");
+	if (in_array($_GET['exec'], $liste)) {
+		$flux.="<!-- ici css privee-->\n";
+		$flux.= "<link rel=\"stylesheet\" type=\"text/css\" href=\""._DIR_PLUGIN_ARTY."/css/privee.css\" />\n";
+		$flux.= "<link rel=\"stylesheet\" type=\"text/css\" href=\""._DIR_PLUGIN_ARTY."/css/selecteur_priv.css\" />\n";
+		$flux.= "<link rel=\"stylesheet\" type=\"text/css\" href=\""._DIR_PLUGIN_ARTY."/css/gabarits.css\" />\n";
+		$flux.= "<link rel=\"stylesheet\" type=\"text/css\" href=\""._DIR_PLUGIN_ARTY."/css/menu.css\" />\n";
+		$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/selecteur_priv.js\"></script>\n";
+		$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/interface.js\"></script>\n";
+		$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/manip_gabarit.js\"></script>\n";
+		$flux.= "<!--[if lt IE 7.]><script defer type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/pngfix.js\"></script><![endif]-->\n";
+		if ($_GET['exec'] == 'menu') {
+			$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/manip_menu.js\"></script>\n";
+			$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/inestedsortable.js\"></script>\n";
+		}
+
+		if ($_GET['exec'] == 'theme') {
+			$flux.= "<script type=\"text/javascript\" src=\""._DIR_PLUGIN_ARTY."/javascript/theme.js\"></script>\n";
+		}
+
+	}
+
+	return $flux;
+
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_onglets.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_onglets.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_onglets.php	(revision 198)
@@ -0,0 +1,26 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function arty_ajouter_onglets($flux){
+	$page=array('arty', 'theme');
+	if(in_array($flux['args'],$page)){
+		$flux['data']['theme']= new Bouton(_DIR_PLUGIN_ARTY."/images/themechoisi.png", _T('arty:onglet_themes'), generer_url_ecrire("theme"));
+		$flux['data']['menu']= new Bouton(_DIR_PLUGIN_ARTY."/images/menu.png", _T('arty:onglet_menu'), generer_url_ecrire("menu"));
+		$flux['data']['base']= new Bouton(_DIR_PLUGIN_ARTY."/images/options.png", _T('arty:onglet_base'), generer_url_ecrire("arty"));
+		$flux['data']['avance']= new Bouton(_DIR_PLUGIN_ARTY."/images/blocs_libres_2.png", _T('arty:onglet_avance'), generer_url_ecrire("avance"));
+		$flux['data']['gabarit']= new Bouton(_DIR_PLUGIN_ARTY."/images/agencement.png", _T('arty:onglet_gabarit'), generer_url_ecrire("gabarit"));
+		$flux['data']['about']= new Bouton(_DIR_PLUGIN_ARTY."/images/bouton-arty.png", _T('arty:onglet_a_propos'), generer_url_ecrire("about"));
+	}
+	return $flux;
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_options.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_options.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/arty_options.php	(revision 198)
@@ -0,0 +1,45 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+session_start();
+if (!isset($_SESSION['id_check'])) {
+	$_SESSION['id_check'] = uniqid(rand());
+}
+
+$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
+define('_DIR_PLUGIN_ARTY',(_DIR_PLUGINS.end($p)));
+
+$forcer_lang = true;
+// pour free : tester si on est en admin privee ou publique
+if (!ereg("^\.\.", _DIR_PLUGIN_ARTY)) {
+	$GLOBALS['dossier_squelettes'] = implode(":", Array(
+'pages-custom',
+	_DIR_PLUGIN_ARTY.'/squelettes',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/logos',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/galeries',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/article',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/rubrique',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/sommaire',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/404',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/mot',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/recherche',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/login',
+	_DIR_PLUGIN_ARTY.'/squelettes/blocs/groupe'
+	));
+}
+// structure des tables
+
+include_spip("base/tables_magusine");
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/arty_init.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/arty_init.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/arty_init.php	(revision 198)
@@ -0,0 +1,71 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function arty_install($action){
+	switch ($action)
+	{  // La base est deja cree ?
+		case 'test':
+			// Verifier que le champ id_mon_plugin est present...
+			include_spip('base/abstract_sql');
+			$desc = sql_showtable("spip_arty_themeassoc", false, '', true);
+			return (isset($desc['field']['id']));
+			break;
+			// Installer la base
+		case 'install':
+			include_spip('base/create');  // definir la fonction
+			include_spip('base/tables_magusine'); // definir sa structure
+			creer_base();
+			// entre les gabarits dans la db
+			demarre_magusine();
+			break;
+			// Supprimer la base
+		case 'uninstall':
+			// liste des tables Ã  supprimer
+			spip_query("DROP TABLE spip_arty_themeassoc");
+			break;
+	}
+}
+
+function demarre_magusine() {
+	include_spip('inc/xml-parser');
+
+	$resultat=spip_query("SELECT * FROM spip_arty_themeassoc WHERE type='rubrique' AND id = 0");
+	if(!spip_mysql_count($resultat)) {
+		spip_query("INSERT INTO spip_arty_themeassoc (theme, id, type) VALUES ('emilio', 0, 'rubrique')");
+	}
+
+	$gabarits=array();
+	$ignore_liste=array(".","..",".DS_Store");
+	$rep = _DIR_PLUGIN_ARTY."definitions-gabarits";
+	$handle = opendir($rep);
+	while($fichier = readdir($handle)) {
+		if (!in_array($fichier, $ignore_liste) && eregi('^[a-zA-Z0-9_-]*\.xml$',$fichier)) {
+
+			$p =& new xmlParser();
+			$p->parse(_DIR_PLUGIN_ARTY.'definitions-gabarits/'.$fichier);
+
+		 foreach($p->output[0]['child'] as $ordre => $bloc) {
+
+		 	$resultat = spip_query("SELECT * FROM spip_arty_gabarit_ordre WHERE nom='".$bloc['content']."' AND gabarit='".addslashes(ereg_replace("\.xml$", "", $fichier))."'");
+
+		 	if (!spip_mysql_count($resultat)) {
+		 		spip_query("INSERT INTO spip_arty_gabarit_ordre (nom, ordre, conteneur ,gabarit, param) VALUES ('".$bloc['content']."', $ordre, ".addslashes($bloc['attrs']['STATUT'])." , '".addslashes(ereg_replace("\.xml$", "", $fichier))."', '".addslashes($bloc['attrs']['PARAMDEFAUT'])."')");
+		 	}
+		 }
+		}
+	}
+}
+
+
+?>
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/tables_magusine.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/tables_magusine.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/base/tables_magusine.php	(revision 198)
@@ -0,0 +1,169 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+//include_spip('base/serial'); // pour eviter une reinit posterieure des tables modifiees
+
+global $tables_principales;
+global $tables_auxiliaires;
+
+// dÃ©claration de toutes les tables
+
+// bloclibre
+$spip_arty_bloclibre = array(
+  "id_bloc_libre"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "titre" => "VARCHAR(255) NOT NULL",
+  "contenu" => "TEXT",
+  "lien" => "VARCHAR(255) NOT NULL",
+);
+	
+$spip_arty_bloclibre_key = array(
+  "PRIMARY KEY" => "id_bloc_libre"
+);
+
+$tables_principales['spip_arty_bloclibre'] = array('field' => &$spip_arty_bloclibre, 'key' => &$spip_arty_bloclibre_key);
+
+// bloclibreassoc
+$spip_arty_bloclibreassoc = array(
+  "id_assoc"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "type" => "VARCHAR(255) NOT NULL",
+  "id_bloc_libre" => "bigint(21)",
+  "id" => "bigint(21)",
+  "lang" => "VARCHAR(32)",
+);
+	
+$spip_arty_bloclibreassoc_key = array(
+  "PRIMARY KEY" => "id_assoc"
+);
+
+$tables_principales['spip_arty_bloclibreassoc'] = array('field' => &$spip_arty_bloclibreassoc, 'key' => &$spip_arty_bloclibreassoc_key);
+
+// gabarit_ordre
+$spip_arty_gabarit_ordre = array(
+  "id_bloc"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "nom" => "VARCHAR(255) NOT NULL",
+  "ordre" => "bigint(21)",
+  "conteneur" => "bigint(21)",  
+  "gabarit" => "VARCHAR(255) NOT NULL",
+  "param" => "TEXT NOT NULL",
+);
+	
+$spip_arty_gabarit_ordre_key = array(
+  "PRIMARY KEY" => "id_bloc"
+);
+
+$tables_principales['spip_arty_gabarit_ordre'] = array('field' => &$spip_arty_gabarit_ordre, 'key' => &$spip_arty_gabarit_ordre_key);
+
+// gabarit perso
+$spip_arty_gabarit_perso = array(
+  "id"      => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "nom"     => "VARCHAR(255)",
+  "type"    => "VARCHAR(255)",
+  "donnees" => "TEXT",
+);
+	
+$spip_arty_gabarit_perso_key = array(
+  "PRIMARY KEY" => "id"
+);
+
+$tables_principales['spip_arty_gabarit_perso'] = array('field' => &$spip_arty_gabarit_perso, 'key' => &$spip_arty_gabarit_perso_key);
+
+// gabarit assoc
+$spip_arty_gabaritassoc = array(
+  "id_assoc"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "gabarit" => "VARCHAR(255) NOT NULL",
+  "id" => "bigint(21)",
+  "type" => "VARCHAR(255)",
+);
+	
+$spip_arty_gabaritassoc_key = array(
+  "PRIMARY KEY" => "id_assoc"
+);
+
+$tables_principales['spip_arty_gabaritassoc'] = array('field' => &$spip_arty_gabaritassoc, 'key' => &$spip_arty_gabaritassoc_key);
+
+// menu
+$spip_arty_menu = array(
+  "id_menu"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "ordre" => "bigint(21)",
+  "type" => "VARCHAR(255) NOT NULL",
+  "id" => "bigint(21)",
+  "langue" => "VARCHAR(255)",
+  "id_parent" => "bigint(21)",
+  "type_parent" => "VARCHAR(255)",
+  "nom" => "VARCHAR(255)",
+  "url" => "TEXT",
+);
+	
+$spip_arty_menu_key = array(
+  "PRIMARY KEY" => "id_menu"
+);
+
+$tables_principales['spip_arty_menu'] = array('field' => &$spip_arty_menu, 'key' => &$spip_arty_menu_key);
+
+// paramassoc
+$spip_arty_paramassoc = array(
+  "id_assoc"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "param" => "VARCHAR(255) NOT NULL",
+  "id_article" => "bigint(21)",
+  "id_rubrique" => "bigint(21)",
+);
+	
+$spip_arty_paramassoc_key = array(
+  "PRIMARY KEY" => "id_assoc"
+);
+
+$tables_principales['spip_arty_paramassoc'] = array('field' => &$spip_arty_paramassoc, 'key' => &$spip_arty_paramassoc_key);
+
+// parametres
+$spip_arty_parametres = array(
+  "id_parametre"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "parametre" => "VARCHAR(255) UNIQUE NOT NULL",
+  "valeur" => "TEXT",
+  "valeur2" => "TEXT",
+  "valeur3" => "TEXT"
+);
+	
+$spip_arty_parametres_key = array(
+  "PRIMARY KEY" => "id_parametre"
+);
+
+$tables_principales['spip_arty_parametres'] = array('field' => &$spip_arty_parametres, 'key' => &$spip_arty_parametres_key);
+
+// themeassoc
+$spip_arty_themeassoc = array(
+  "id_assoc"  => "bigint(21) NOT NULL AUTO_INCREMENT",
+  "theme" => "VARCHAR(255) NOT NULL",
+  "id" => "bigint(21)",
+  "type" => "VARCHAR(255) NOT NULL"
+);
+	
+$spip_arty_themeassoc_key = array(
+  "PRIMARY KEY" => "id_assoc"
+);
+
+$tables_principales['spip_arty_themeassoc'] = array('field' => &$spip_arty_themeassoc, 'key' => &$spip_arty_themeassoc_key);
+
+
+// association aux tables spip
+global $table_des_tables;
+$table_des_tables['arty_bloclibre'] = 'arty_bloclibre';
+$table_des_tables['arty_bloclibreassoc'] = 'arty_bloclibreassoc';
+$table_des_tables['arty_gabarit_ordre'] = 'arty_gabarit_ordre';
+$table_des_tables['arty_gabarit_perso'] = 'arty_gabarit_perso';
+$table_des_tables['arty_gabaritassoc'] = 'arty_gabaritassoc';
+$table_des_tables['arty_menu'] = 'arty_menu';
+$table_des_tables['arty_paramassoc'] = 'arty_paramassoc';
+$table_des_tables['arty_parametres'] = 'arty_parametres';
+$table_des_tables['arty_themeassoc'] = 'arty_themeassoc';
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/gabarits.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/gabarits.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/gabarits.css	(revision 198)
@@ -0,0 +1,141 @@
+#general {
+width: 660px;
+margin: 0 auto;
+font-family: arial, verdana, sans-serif;	
+}
+
+.conteneur_bloc {
+float: left;
+width: 145px;
+font-size: 10px;
+border: 1px solid #555;
+
+list-style-type: none;
+padding: 6px;
+margin: 0;
+}
+
+#reserves .conteneur_bloc {
+float:none;
+}
+
+#reserves {
+width: 155px;
+float: right;
+}
+
+#reserves #avance {
+margin-top:6px;
+}
+
+.bloc {
+padding: 4px;
+margin: 4px 0;
+border: 1px solid #666;
+background-color:white;
+}
+
+.sortableactive {
+border: 1px solid red;	
+}
+
+.sortablehover {
+	border: 1px solid green;
+}
+
+.sorthelper {
+	border: 1px dashed green;
+}
+
+.poignee {
+width: 10px;
+height: 10px;
+background-color: green;
+float: left;
+margin-right: 4px;
+margin-bottom: 2px;
+cursor: move;	
+}
+
+.titre-bloc {
+font-size: 10px;
+font-weight: bold;
+}
+
+.selecteur-param {
+font-size: 9px;
+width: 99%;
+}
+
+.clearer {
+clear: both;	
+}
+
+#pageweb {
+float: left;
+border: 1px solid #ccc;
+width:486px;
+padding:4px;
+background-color: #fff;
+margin-bottom:6px;
+}
+
+#bandeau, #footer {
+height: 40px;
+border: 1px solid #ccc;	
+background-image:url(../images/stripes.gif);
+}
+
+#bandeau {
+margin-bottom: 4px;
+}
+
+#footer {
+margin-top: 4px;
+}
+
+.option-bloc {
+display: none;
+}
+
+
+#contexte2 {
+margin:0 4px;
+}
+
+#contexte1 .option-bloc {
+display: block;
+}
+
+#contexte2 .option-bloc {
+display: block;
+}
+
+#corps .option-bloc {
+display: block;
+}
+
+.option-bloc select {
+font-size: 9px;
+}
+
+#reponse {
+  float:right;
+  font-weight:bold;
+  color:white;
+}
+
+#source {
+width:90%;
+}
+
+#deroulant-gabarits {
+text-align:right;
+font-family:arial, verdana, sans-serif;
+font-size:12px;
+margin:6px 170px 6px 0;
+}
+
+#deroulant-gabarits select {
+font-size:10px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/menu.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/menu.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/menu.css	(revision 198)
@@ -0,0 +1,116 @@
+.autocompleter{
+  width:250px;
+  background-color:#ddd;
+}
+.selectAutocompleter{
+  background-color:#aaa;
+}
+.rubrique{
+  font-weight:bold;
+}
+.article{
+  font-style: italic; 
+}
+
+#selection {
+font-family: verdana, sans-serif;
+font-size: 12px;
+list-style-type: none;
+padding: 0px;
+border: 1px solid #ccc;
+}
+
+#selection li {
+font-size: 14px;
+font-weight: bold;
+background-color: #dedede;
+margin: 4px;
+padding: 4px;
+}
+
+#selection li a {
+padding: 2px;
+color: red;
+margin-left: 10px;
+}
+
+.sortHelper {
+background-color: white;
+border: 1px dashed #ccc;
+}
+
+.sortableactive {
+
+}
+
+.sortablehover {
+border: 1px solid green;
+}
+
+.sortable {
+background-color: green;
+font-size: 14px;
+padding: 4px;
+}
+
+.selecteur {
+font-family: verdana, sans-serif;
+font-size: 10px;
+list-style-type: none;
+padding: 0px;
+border: 1px solid #ccc;
+
+}
+
+.section, .groupe {
+padding: 4px;
+margin: 4px;
+background-color: #ddd;
+}
+
+#bloc_sauver {
+border: 1px solid green;
+background-color: green;
+padding: 4px;
+}
+
+#bloc_sauver a {
+color: #fff;
+font-size: 12px;
+text-transform: uppercase;
+}
+
+#ajout_lien {
+border:1px solid #ccc;
+padding:5px; 
+margin-bottom:10px;
+}
+#ajout_lien_contenu{
+background-color:#ddd;
+padding:5px; 
+font-weight:bold;
+font-size:10px;
+font-family: verdana, sans-serif;
+}
+#ajout_lien p {
+margin:0px 0px 8px 0px;
+}
+#ajout_lien label {  
+float: left;  
+width: 7em;  
+margin-right: 1em;
+padding-top:4px;
+}
+#ajout_lien input{
+margin-bottom:2px;
+}
+#ajout_lien a{
+display:block;
+font-weight:bold;
+margin-top:5px;
+}
+.url_petit {
+color:#333;
+font-size:0.75em;
+font-weight: normal;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/popup-images.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/popup-images.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/popup-images.css	(revision 198)
@@ -0,0 +1,59 @@
+#popup-image {
+padding: 6px;
+color:#aaa;
+}
+
+#grand-format {
+text-align:center;
+}
+
+#grand-format #image {
+margin-bottom:6px;
+}
+
+#grand-format img {
+border: 1px #333 solid;
+}
+
+#popup-image a img {
+border: 1px #333 solid;
+margin: 0 2px;
+}
+
+#popup-image #titre {
+font-weight:bold;
+text-align:center;
+}
+
+#popup-image #descriptif {
+text-align:center;
+}
+
+#vignettes {
+text-align:center;
+margin-top:20px;
+position:absolute;
+bottom:0;
+width:100%;
+margin-bottom:8px;
+}
+
+#vignettes img {
+border: 1px #fff solid;
+}
+
+#vignettes .actuelle img {
+border: 3px #fff solid;
+}
+
+#vignettes li {
+display:inline;
+}
+
+#start {
+
+}
+
+#end {
+
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/print.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/print.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/print.css	(revision 198)
@@ -0,0 +1,94 @@
+/* feuille de style print */
+
+body {
+font-family: arial, helvetica, sans-serif;
+font-size: 10pt;
+}
+
+a {
+color: #333;	
+}
+
+#general {
+margin:0;
+width:94%;
+padding:0;	
+}
+
+#navigation, #contextes, #chemin, #magusine-footer {
+display:none;	
+}
+
+.spip-admin-float {
+display:none;	
+}
+
+#corps {
+width:100%
+margin-right:0;
+margin-top:0;
+margin-bottom:0;
+margin-left:0;
+padding:0;	
+}
+
+.sursoustitre {
+font-size:7pt;
+letter-spacing:0.1em;	
+}
+
+.chapeau {
+font-weight:bold;	
+}
+
+.dateauteurs {
+font-size:10pt;	
+}
+
+.texte {
+line-height: 120%;
+text-align:justify;	
+}
+
+#footer {
+	border-top: 1px solid #ccc;
+	margin-top:2em;
+	}
+
+/* liste sans interet Ã  montrer */
+#galerie-video, #galerie-audio, #piecesjointes {
+display:none;	
+}
+
+
+/* cas particuliers */
+.listageconteneur li {
+list-style-type: none;	
+}
+
+.listagerepondre {
+display:none;	
+}
+
+.listagelogo {
+	float: left;
+	margin: 0 1em 1em 0;
+}
+
+.listageconteneur li, .listagebloc {
+clear: left;	
+}
+
+.spip_documents_left {
+margin:0 1em 1em 0;	
+}
+
+.spip_documents_right {
+margin:0 0 1em 1em;	
+}
+
+.spip_documents_center {
+margin:1em auto 1em auto;
+text-align:center;
+display:block;	
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/privee.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/privee.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/privee.css	(revision 198)
@@ -0,0 +1,103 @@
+.conteneur-theme {
+margin: 10px 0;
+position: relative;
+}
+
+.declinaison {
+}
+
+.theme_deplier {
+clear: left;
+font-size: 12px;
+font-weight: bold;
+margin: 0 0 6px 0;
+padding:0 0 0 20px;
+background:url('../images/deplierhaut.gif') no-repeat 4px 0 ;
+}
+
+.theme-actuel {
+padding: 5px;
+background-color: #eee;
+border: 3px solid #ddd;
+}
+
+#lavignette {
+position:absolute;
+left: -270px;
+padding: 5px;
+background-color: #eee;
+border: 3px solid #ddd;
+width: 250px;
+}
+
+.liste-declinaison {
+margin-left:28px;
+}
+
+.theme-actuel h4 {
+margin: 0 0 10px 0;
+color: #333;
+}
+
+.clearer {
+clear: left;	
+}
+	
+.vignette-theme {
+float: left;
+display: block;
+border: 1px solid #000;
+margin: 0 10px 10px 0;
+width: 200px;
+/* pour ie :*/
+position:relative;
+}
+
+.cadre-padding {
+padding:8px;
+font-family:verdana,arial,helvetica,sans;
+font-size:12px;
+}
+.cadre-padding p {
+margin:0px 0px 8px 0px;
+}
+
+h5 {
+font-size: 14px;
+margin: 0 0 10px 0;
+}
+
+.meta {
+border-bottom:1px dashed #ccc;
+padding:5px;
+margin-bottom:10px;
+}
+
+.liste-association {
+  list-style:none;
+  margin-left:0px;
+  padding-left:3px;
+  margin-top:0px;
+}
+
+.liste-association img {
+margin:0px 5px;
+}
+
+.bouton-montrer-options {
+display:block;
+margin:5px 0px 2px 0px;
+font-weight:bold;
+}
+
+p.label_radio {
+margin-top:8px;
+margin-bottom:2px;
+}
+
+#cacher_edito, .radio{
+position:relative;
+top:2px;
+_top:0px;
+}
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/selecteur_priv.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/selecteur_priv.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/css/selecteur_priv.css	(revision 198)
@@ -0,0 +1,82 @@
+ul.selecteur {
+ padding-left:0px;
+ margin-left:0px;
+ border-bottom:1px solid #EEE;
+}
+ul.selecteur, ul.selecteur  ul {
+  list-style:none;
+}
+ul.selecteur ul {
+  padding-left:20px;
+  margin-left:0px;
+}
+li.section {
+ font-weight:bold;
+ border-top:1px solid #EEE;
+ padding-bottom:5px;
+
+}
+li.rubrique {
+ color:#555;
+ border-top:1px solid #EEE;
+ padding-bottom:5px;
+}
+li.article {
+  font-weight:normal;
+  background-color:#EEE; 
+  border:1px solid #CCC;
+  margin:1px;
+  padding:6px;
+margin-top: 6px;
+  color:black;
+}
+
+.titre_section, .titre_rubrique, .titre_article {
+padding-left:14px;
+background-repeat: no-repeat;
+background-position: left center;
+}
+.titre_section {
+background-image:url(../images/secteur-12.gif);
+}
+.titre_rubrique {
+background-image:url(../images/rubrique-12.gif);
+}
+.titre_article {
+background-image:url(../images/article.png);
+}
+a.ajouter {
+  text-decoration:none;
+  float:right;
+  position:relative;
+}
+a.ajouter img {
+ border:none;
+ margin:2px 2px 0px 0px;
+}
+
+li.groupe {
+ font-weight:bold;
+ border-top:1px solid #EEE;
+ padding-bottom:5px;
+}
+li.mot {
+  font-weight:normal;
+  background-color:#EEE; 
+  border:1px solid #CCC;
+  margin:1px;
+  padding:6px;
+  color:black;
+}
+
+.titre_groupe, .titre_mot {
+padding:4px 4px 4px 26px;
+background-repeat: no-repeat;
+background-position: left center;
+}
+.titre_groupe {
+background-image:url(../images/groupe-mot-24.gif);
+}
+.titre_mot {
+background-image:url(../images/mot.gif);
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/404.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/404.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/404.xml	(revision 198)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<gabarit type="defaut" nom="gabarit_404">
+
+<bloc statut="1">liste-mots-cles</bloc>
+
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">feed</bloc>
+<!-- corps -->
+<bloc statut="3">404-head</bloc>
+<bloc statut="3">404-texte</bloc>
+<!-- reserve -->
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_forums_affiches">derniers-forums</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_liens_affiches">derniers-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+<bloc statut="0" param="flv_lecteur_flash,tous_popup" paramdefaut="tous_popup" paramdescr="type_de_video">video-hasard</bloc>
+<bloc statut="0">image-hasard</bloc>
+<bloc statut="0">menu-langues</bloc>
+
+<!-- blocs avance -->
+<bloc statut="4">identification-visiteur</bloc>
+<bloc statut="4">abo-newsletter</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/article.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/article.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/article.xml	(revision 198)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+
+Si champ Ã  remplir
+param="champ" : champ indique une utilisation de type champ.
+paramfefaut: le parametre par defaut
+-->
+<gabarit type="defaut" nom="gabarit_article">
+
+<!-- contexte 1 -->
+<bloc statut="1" param="blocs_article,blocs_article_rubrique" paramdefaut="article" paramdescr="quels_blocs">bloc_libre_article</bloc>
+<bloc statut="1" param="liste,deroulant" paramdefaut="liste" paramdescr="Type de liste">autres-articles</bloc>
+<bloc statut="1">mots-cles</bloc>
+<!-- contexte 2 -->
+<bloc statut="2">rechercher</bloc>
+
+<!-- corps -->
+<bloc statut="3">article-head</bloc>
+<bloc statut="3">article-texte</bloc>
+<bloc statut="3" param="1 niveau,2 niveaux,multithread" paramdefaut="2 niveaux" paramdescr="Type de forum">bloc-forum</bloc>
+<bloc statut="3" param="galerie simple,thickbox,galerie liste,galerie popup,diaporama popup" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="3" param="liste,flv_liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="3" param="liste,lecteur_flash,lecteur_flash_liste,popup,standalone" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champ" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+
+<!-- reserve -->
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="350" paramdescr="Hauteur">diaporama-article-flash</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="350" paramdescr="Hauteur">diaporama-article</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-article</bloc>
+<bloc statut="0">article_podcast</bloc>
+<bloc statut="0" param="simple,par_rubrique_racine" paramdefaut="simple" paramdescr="type de liste">liste_articles_motscles</bloc>
+<bloc statut="0" paramdescr="plugin_spip-listes">abo-newsletter</bloc>
+<bloc statut="0">liste-sites-motscles</bloc>
+<bloc statut="0">a_propos_auteur</bloc>
+<bloc statut="0">feed</bloc>
+<bloc statut="0">accessibilite</bloc>
+
+<bloc statut="0" param="area" paramdefaut="" paramdescr="titre_de_la_petition">petition_formulaire</bloc>
+<bloc statut="0" param="area" paramdefaut="" paramdescr="titre_de_la_liste">petition_liste</bloc>
+<bloc statut="4" param="320_240,largeur_totale_4_3,largeur_totale_16_9" paramdefaut="largeur_totale_4_3" paramdescr="Type de galerie">galerie-swf</bloc>
+<bloc statut="4">article_aide_admin</bloc>
+<bloc statut="4">webmaton_navigation</bloc>
+<bloc statut="4">webmaton_video_article</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/auteur.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/auteur.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/auteur.xml	(revision 198)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<gabarit type="defaut" nom="auteur">
+
+<bloc statut="1">liste-mots-cles</bloc>
+<bloc statut="1">auteur-ecrire</bloc>
+<bloc statut="1">auteur_autres_auteurs</bloc>
+
+
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">feed</bloc>
+
+<bloc statut="3">auteur-head</bloc>
+<bloc statut="3">auteur-info</bloc>
+<bloc statut="3" param="3,5,10,20" paramdefaut="5" paramdescr="nombre_articles">liste-articles-auteur</bloc>
+
+<!-- reserve -->
+<bloc statut="0">identification-visiteur</bloc>
+<bloc statut="0">menu-langues</bloc>
+<bloc statut="0" param="flv_lecteur_flash,tous_popup" paramdefaut="tous_popup" paramdescr="type_de_video">video-hasard</bloc>
+<bloc statut="0">image-hasard</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+<!-- blocs avance -->
+<bloc statut="4">abo-newsletter</bloc>
+
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/breve.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/breve.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/breve.xml	(revision 198)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+
+Si champ Ã  remplir
+param="champ" : champ indique une utilisation de type champ.
+paramfefaut: le parametre par defaut
+-->
+<gabarit type="defaut" nom="gabarit_breve">
+
+<!-- contexte 1 -->
+<bloc statut="1" param="liste_courte,liste_complete,deroulant" paramdefaut="liste" paramdescr="Type de liste">autres-breves</bloc>
+<bloc statut="1">mots-cles</bloc>
+<!-- contexte 2 -->
+<bloc statut="2">rechercher</bloc>
+
+<!-- corps -->
+<bloc statut="3">breve-head</bloc>
+<bloc statut="3">breve-texte</bloc>
+<bloc statut="3" param="1 niveau,2 niveaux,multithread" paramdefaut="2 niveaux" paramdescr="Type de forum">bloc-forum</bloc>
+
+<!-- reserve -->
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+<bloc statut="0">liste_breves_motscles</bloc>
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0">liste-sites-motscles</bloc>
+<bloc statut="0">a_propos_auteur</bloc>
+<bloc statut="0">feed</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/forum.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/forum.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/forum.xml	(revision 198)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut">
+
+<!-- contexte 1 -->
+<bloc statut="1" param="blocs_article,blocs_article_rubrique" paramdefaut="article" paramdescr="quels_blocs">bloc_libre_article</bloc>
+<bloc statut="1">rechercher</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+
+<!-- corps -->
+<bloc statut="3">article-head</bloc>
+<bloc statut="3">article-texte</bloc>
+<bloc statut="3">intervention-forum</bloc>
+<bloc statut="3">bloc-forum</bloc>
+
+<!-- reserve -->
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0" param="galerie simple,diaporama,thickbox" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="0" param="liste,lecteur flash,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="0" param="liste,lecteur flash,popup,standalone" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="0" param="liste,prec-suiv,deroulant" paramdefaut="popup" paramdescr="Type de liste">autres-articles</bloc>
+<bloc statut="3" param="champmp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/groupe.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/groupe.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/groupe.xml	(revision 198)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<gabarit type="defaut" nom="gabarit_groupe">
+
+<bloc statut="1">groupe-autres-groupes</bloc>
+<bloc statut="1">liste-mots-cles</bloc>
+
+<bloc statut="2">rechercher</bloc>
+
+<bloc statut="3">groupe-head</bloc>
+<bloc statut="3">groupe-texte</bloc>
+<bloc statut="3">groupe-liste-mots</bloc>
+
+
+<bloc statut="0">groupe-dernieres-entrees</bloc>
+<bloc statut="0">feed</bloc>
+
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/login.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/login.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/login.xml	(revision 198)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut">
+<!-- contexte 1 -->
+<bloc statut="1">menu-langues</bloc>
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<!-- corps -->
+<bloc statut="3">bloc-login</bloc>
+<!-- reserve -->
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_forums_affiches">derniers-forums</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_liens_affiches">derniers-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/mot.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/mot.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/mot.xml	(revision 198)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<gabarit type="defaut">
+
+<bloc statut="1">mot-tous-mots</bloc>
+<bloc statut="1">rechercher</bloc>
+
+<bloc statut="3">mot-head</bloc>
+<bloc statut="3">mot-texte</bloc>
+<bloc statut="3">liste-articles-mot</bloc>
+<bloc statut="3">liste-rubriques-mot</bloc>
+<bloc statut="3">liste-sites-mot</bloc>
+
+<bloc statut="0">liste-breves-mot</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/page-newsletter.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/page-newsletter.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/page-newsletter.xml	(revision 198)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="article">
+
+<!-- contexte 1 -->
+<bloc statut="1" param="blocs_article,blocs_article_rubrique" paramdefaut="article" paramdescr="quels_blocs">bloc_libre_article</bloc>
+<bloc statut="1" param="liste,prec-suiv,deroulant" paramdefaut="popup" paramdescr="Type de liste">autres-articles</bloc>
+<!-- contexte 2 -->
+
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+
+<!-- corps -->
+<bloc statut="3">article-head</bloc>
+<bloc statut="3">article-texte</bloc>
+<bloc statut="3" paramdescr="plugin_spip-listes">abo-newsletter</bloc>
+
+<!-- reserve -->
+<bloc statut="0">article-podcast</bloc>
+
+<bloc statut="0" param="1 niveau,2 niveaux,multithread" paramdefaut="2 niveaux" paramdescr="Type de forum">bloc-forum</bloc>
+<bloc statut="0" param="galerie simple,diaporama,thickbox" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="0" param="liste,lecteur flash,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="0" param="liste,lecteur flash,popup,standalone" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champmp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc><bloc statut="0">feed</bloc>
+<bloc statut="0">liste_articles_motscles</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/plan.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/plan.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/plan.xml	(revision 198)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3, rÃ©serve avancÃ©e : 4
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_sommaire</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_liens_affiches">derniers-liens</bloc>
+<bloc statut="2" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_forums_affiches">derniers-forums</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">feed</bloc>
+
+<!-- corps -->
+<bloc statut="3">plan-head</bloc>
+<bloc statut="3" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">plan_total</bloc>
+<bloc statut="3" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+
+
+<!-- reserve -->
+<bloc statut="0">identification-visiteur</bloc>
+
+<bloc statut="0" param="SELECT * FROM spip_groupes_mots" paramvalue="id_groupe" paramdescr="groupe-mots-cles" paramtext="titre" paramdefaut="">menu-groupe</bloc>
+<bloc statut="0" param="flv_lecteur_flash,tous_popup" paramdefaut="tous_popup" paramdescr="type_de_video">video-hasard</bloc>
+<bloc statut="0">image-hasard</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+
+<!-- blocs avance -->
+<bloc statut="4">menu-langues</bloc>
+<bloc statut="4" paramdescr="plugin_spip-listes">abo-newsletter</bloc>
+<bloc statut="4" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_breves_affichees">liste-breves-sommaire</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/recherche.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/recherche.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/recherche.xml	(revision 198)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut">
+
+<!-- contexte 1 -->
+<bloc statut="1">menu-langues</bloc>
+<bloc statut="1">rechercher</bloc>
+<bloc statut="1">feed</bloc>
+<!-- contexte 2 -->
+
+<!-- corps -->
+<bloc statut="3">recherche-head</bloc>
+<bloc statut="3">recherche-articles</bloc>
+<bloc statut="3">recherche-rubriques</bloc>
+<bloc statut="3">recherche-mots</bloc>
+<bloc statut="3">recherche-documents</bloc>
+<bloc statut="3">recherche-liens</bloc>
+
+<!-- reserve -->
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_forums_affiches">derniers-forums</bloc>
+<bloc statut="0" param="1,3,5,10" paramdefaut="3" paramdescr="nombre de liens affiches">derniers-liens</bloc>
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-agenda.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-agenda.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-agenda.xml	(revision 198)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit separe par des virgules (1,2,3 par ex)
+
+
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+
+Si champ Ã  remplir
+
+-->
+<gabarit type="rubrique">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_rubrique</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+<bloc statut="3" param="par_mois,par_semaine,par_jour" paramdefaut="par_mois" paramdescr="Type de listage">liste-agenda</bloc>
+
+<!-- reserve -->
+<bloc statut="0" param="par date,par titre" paramdefaut="par titre" paramdescr="Type de listage">liste-rubriques</bloc>
+<bloc statut="0">rubrique_podcast</bloc>
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0" param="galerie simple,thickbox,galerie liste,galerie popup" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="3" param="liste,flv_liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="0" param="liste,lecteur_flash,lecteur_flash_liste,popup" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champmp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc><bloc statut="0" param="par date,par date inverse,par titre" paramdefaut="par date inverse" paramdescr="Type de listage">liste-articles</bloc>
+<bloc statut="0">feed</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+<bloc statut="0">bloc_proposer_lien</bloc>
+<bloc statut="4">aide_admin_rubrique</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-lexique.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-lexique.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-lexique.xml	(revision 198)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="rubrique" nom="gabarit_lexique">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_rubrique</bloc>
+<bloc statut="1">rubrique-lexique-index</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+<bloc statut="3">rubrique-lexique-articles</bloc>
+
+<bloc statut="3" param="par date,par titre" paramdefaut="par titre" paramdescr="Type de listage">liste-rubriques</bloc>
+<bloc statut="3">forum</bloc>
+<bloc statut="3" param="galerie simple,thickbox,galerie liste,galerie popup" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="3" param="liste,flv_liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="3" param="liste,lecteur_flash,lecteur_flash_liste,popup" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champmp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+<!-- reserve -->
+<bloc statut="0">rubrique_podcast</bloc>
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">diaporama-rubrique</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-rubrique</bloc>
+<bloc statut="0" param="par rubrique,par titre,par date" paramdefaut="par rubrique" paramdescr="Type de listage">liste-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+<bloc statut="0">bloc_proposer_lien</bloc>
+<bloc statut="4">aide_admin_rubrique</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-liens.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-liens.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique-liens.xml	(revision 198)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="rubrique" nom="gabarit_article">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_rubrique</bloc>
+<bloc statut="1">liste-liens-index</bloc>
+
+
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+<bloc statut="3" param="par_rubrique,par_titre,par_date" paramdefaut="par_rubrique" paramdescr="Type de listage">liste-liens</bloc>
+
+<bloc statut="3" param="galerie simple,thickbox,galerie liste,galerie popup" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="3" param="liste,flv_liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="3" param="liste,lecteur_flash,lecteur_flash_liste,popup" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champmp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+<!-- reserve -->
+<bloc statut="0">forum</bloc>
+<bloc statut="0">rubrique_podcast</bloc>
+<bloc statut="0">abo-newsletter</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">diaporama-rubrique</bloc>
+<bloc statut="0" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-rubrique</bloc>
+<bloc statut="0" param="par date,par date inverse,par titre" paramdefaut="par date inverse" paramdescr="Type de listage">liste-articles</bloc>
+<bloc statut="0" param="par_date,par_titre" paramdefaut="par_titre" paramdescr="Type de listage">liste-rubriques</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+<bloc statut="0">bloc_proposer_lien</bloc>
+
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_liens_affiches">derniers_liens_branche</bloc>
+<bloc statut="4">aide_admin_rubrique</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/rubrique.xml	(revision 198)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut" nom="gabarit_article">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_rubrique</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+<bloc statut="2" param="1,2,3,4,5,6,100,news-sticker" paramdefaut="3" paramdescr="nombre_breves_affichees">liste-breves</bloc>
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+<bloc statut="3" param="par date,par date inverse,par titre" paramdefaut="par date inverse" paramdescr="Type de listage">liste-articles</bloc>
+
+<bloc statut="3" param="par date,par titre" paramdefaut="par titre" paramdescr="Type de listage">liste-rubriques</bloc>
+
+<bloc statut="3" param="galerie simple,thickbox,galerie liste,galerie popup" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="3" param="liste,flv_liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9,popup" paramdefaut="popup" paramdescr="Type de galerie">galerie-videos</bloc>
+<bloc statut="3" param="liste,lecteur_flash,lecteur_flash_liste,popup" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios</bloc>
+<bloc statut="3" param="champ" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+<!-- reserve -->
+<bloc statut="0">forum</bloc>
+<bloc statut="0" param="par_titre,par_date,par_rubrique" paramdefaut="par_titre" paramdescr="Type de listage">liste-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers_articles_rubrique</bloc>
+<bloc statut="0">liste_articles_faq</bloc>
+<!-- reserve avancee -->
+<bloc statut="4" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+<bloc statut="4">bloc_proposer_lien</bloc>
+<bloc statut="4" param="area" paramdefaut="" paramdescr="liste_groupe_inclure">thesaurus_mots</bloc>
+<bloc statut="4" param="area" paramdefaut="" paramdescr="nom_sous_rubrique">edito_rubrique</bloc>
+<bloc statut="4" param="area" paramdefaut="" paramdescr="nom_sous_rubrique">liste_article_sousrubrique</bloc>
+<bloc statut="4">rubrique_podcast</bloc>
+<bloc statut="4" paramdescr="plugin_spip-listes">abo-newsletter</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">diaporama-rubrique</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-rubrique</bloc>
+<bloc statut="4">aide_admin_rubrique</bloc>
+<bloc statut="4" param="3,5,6,7,8,9,10,15,20" paramdefaut="10" paramdescr="nombre_webmatons">webmaton_dernieres_videos</bloc>
+<bloc statut="4">webmaton_navigation</bloc>
+<bloc statut="4">dernier_article_head</bloc>
+<bloc statut="4">dernier_article_texte</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/sommaire.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/sommaire.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/sommaire.xml	(revision 198)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3, rÃ©serve avancÃ©e : 4
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut">
+
+<!-- contexte 1 -->
+<bloc statut="1">bloc_libre_sommaire</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_liens_affiches">derniers-liens</bloc>
+<bloc statut="2" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_forums_affiches">derniers-forums</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">feed</bloc>
+
+<!-- corps -->
+<bloc statut="3">editorial</bloc>
+<bloc statut="3" param="1,3,5,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers-articles</bloc>
+
+
+<!-- reserve -->
+<bloc statut="0">identification-visiteur</bloc>
+
+<bloc statut="0" param="SELECT * FROM spip_groupes_mots" paramvalue="id_groupe" paramdescr="groupe-mots-cles" paramtext="titre" paramdefaut="">menu-groupe</bloc>
+<bloc statut="0" param="flv_lecteur_flash,tous_popup" paramdefaut="tous_popup" paramdescr="type_de_video">video-hasard</bloc>
+<bloc statut="0">image-hasard</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_news_affichees">news</bloc>
+<bloc statut="0" param="1,3,5,10,simple_3,simple_5,simple_10" paramdefaut="3" paramdescr="nombre_articles">rubriques-une</bloc>
+<bloc statut="0" param="simple" paramdefaut="simple" paramdescr="Parametres">articles-une</bloc>
+
+<!-- blocs avance -->
+<bloc statut="4">menu-langues</bloc>
+<bloc statut="4" paramdescr="plugin_spip-listes">abo-newsletter</bloc>
+<bloc statut="4" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="5" paramdescr="nombre_playlist">bloc_sons_hasard_branche</bloc>
+<bloc statut="4" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_breves_affichees">liste-breves-sommaire</bloc>
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-mosaique.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-mosaique.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-mosaique.xml	(revision 198)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut" nom="gabarit_questions-webmaton">
+
+<!-- contexte 1 -->
+<bloc statut="1">webmaton_navigation</bloc>
+<!-- contexte 2 -->
+
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+<bloc statut="2" param="par date,par date inverse,par titre" paramdefaut="par date inverse" paramdescr="Type de listage">liste-articles</bloc>
+<bloc statut="2" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_breves_affichees">liste-breves</bloc>
+
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+
+<bloc statut="3">webmaton_bloc_mosaique</bloc>
+
+
+<!-- reserve -->
+<bloc statut="0" param="3,5,6,7,8,9,10,15,20" paramdefaut="10" paramdescr="nombre_webmatons">webmaton_dernieres_videos</bloc>
+<bloc statut="0">forum</bloc>
+<bloc statut="0" param="par_titre,par_date,par_rubrique" paramdefaut="par_titre" paramdescr="Type de listage">liste-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers_articles_rubrique</bloc>
+<!-- reserve avancee -->
+<bloc statut="4" param="galerie simple,thickbox,diaporama" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="4" param="liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9" paramdefaut="popup" paramdescr="Type de galerie">galerie_videos_rub</bloc>
+<bloc statut="4" param="liste,lecteur flash,popup,lecteur_flash_liste" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios-rub</bloc>
+<bloc statut="4" param="champ" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+<bloc statut="4">bloc_proposer_lien</bloc>
+<bloc statut="4" param="area" paramdefaut="" paramdescr="liste_groupe_inclure">thesaurus_mots</bloc>
+<bloc statut="4">abo-newsletter</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">diaporama-rubrique</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-rubrique</bloc>
+<bloc statut="4" param="par date,par titre" paramdefaut="par titre" paramdescr="Type de listage">liste-rubriques</bloc>
+
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-questions.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-questions.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/definitions-gabarits/webmaton-questions.xml	(revision 198)
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+statut : reserve : 0, contexte1 : 1, contexte 2: 2, corps: 3
+param : ce qui apparait comme choix, soit sÃ©parÃ© par des virgules (1,2,3 par ex)
+
+soit une requete sql 
+Dans ce cas d'autres arguments a entrer
+param="SELECT * FROM spip_groupes_mots" 
+paramvalue="id_groupe" : la colonne selectionnee
+paramdescr="Groupe de mots-cles" ce qui apparait dans le bloc
+paramtext="titre" la colonne affiche dans le selecteur
+paramdefaut="" le parametre par defaut eventuel
+-->
+<gabarit type="defaut" nom="gabarit_questions-webmaton">
+
+<!-- contexte 1 -->
+<bloc statut="1">webmaton_navigation</bloc>
+<bloc statut="1">bloc_libre_rubrique</bloc>
+
+<!-- contexte 2 -->
+<bloc statut="2">feed</bloc>
+<bloc statut="2">rechercher</bloc>
+<bloc statut="2">mots-cles</bloc>
+<bloc statut="2" param="par date,par date inverse,par titre" paramdefaut="par date inverse" paramdescr="Type de listage">liste-articles</bloc>
+<bloc statut="2" param="1,2,3,4,5,6,news-sticker" paramdefaut="3" paramdescr="nombre_breves_affichees">liste-breves</bloc>
+<!-- corps -->
+<bloc statut="3">rubrique-head</bloc>
+<bloc statut="3">rubrique-texte</bloc>
+
+
+<bloc statut="3">webmaton_bloc_questions</bloc>
+
+
+<!-- reserve -->
+<bloc statut="0" param="3,5,6,7,8,9,10,15,20" paramdefaut="10" paramdescr="nombre_webmatons">webmaton_dernieres_videos</bloc>
+<bloc statut="0" param="par_titre,par_date,par_rubrique" paramdefaut="par_titre" paramdescr="Type de listage">liste-liens</bloc>
+<bloc statut="0" param="1,2,3,4,5,6,7,8,9,10" paramdefaut="3" paramdescr="nombre_articles_affiches">derniers_articles_rubrique</bloc>
+<!-- reserve avancee -->
+<bloc statut="4" param="galerie simple,thickbox,diaporama" paramdefaut="galerie simple" paramdescr="Type de galerie">galerie-image</bloc>
+<bloc statut="4" param="liste,flv_320_240,flv_largeur_totale_4_3,flv_largeur_totale_16_9" paramdefaut="popup" paramdescr="Type de galerie">galerie_videos_rub</bloc>
+<bloc statut="4" param="liste,lecteur flash,popup,lecteur_flash_liste" paramdefaut="lecteur flash" paramdescr="Type de galerie">galerie-audios-rub</bloc>
+<bloc statut="4" param="champ" paramdefaut="mp3|jpg|gif|png|avi|mov|qt|mpg|rm|mp4|flv|wmv|kml" paramdescr="liste_extension_exclure">pieces_jointes</bloc>
+<bloc statut="4">bloc_proposer_lien</bloc>
+<bloc statut="4" param="area" paramdefaut="" paramdescr="liste_groupe_inclure">thesaurus_mots</bloc>
+<bloc statut="4">abo-newsletter</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">diaporama-rubrique</bloc>
+<bloc statut="4" param="200,250,300,350,400,450,500,550,600" paramdefaut="300" paramdescr="Hauteur">google-maps-rubrique</bloc>
+<bloc statut="4" param="par date,par titre" paramdefaut="par titre" paramdescr="Type de listage">liste-rubriques</bloc>
+
+</gabarit>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/about.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/about.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/about.php	(revision 198)
@@ -0,0 +1,67 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+include_spip('inc/xml-parser');
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+
+include_spip('inc/arty_selecteur');
+include_spip('inc/user_session');
+
+function exec_about() {
+
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+	 echo "<p><b>"._T('magusine:acces_a_la_page')."</b></p>";
+	 fin_page();
+	 exit;
+	}
+
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('sideinfo_about').' &raquo;', 'configuration', 'magusine');
+	echo barre_onglets("arty", "about");
+	echo debut_gauche("", true);
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:info'));
+	echo _T("arty:sideinfo_about");
+
+	if (file_exists(_DIR_PLUGIN_ARTY.'plugin.xml')) {
+		$p =& new xmlParser();
+		$p->parse(_DIR_PLUGIN_ARTY.'plugin.xml');
+		foreach($p->output[0]['child'] as $prop) {
+			if ($prop['name'] == "VERSION")
+			$version = $prop['content'];
+		}
+	}
+
+	if (isset($version)) {
+		echo "<p>"._T("arty:version_actuelle").": ".$version."</p>";
+	}
+
+	echo fin_cadre_relief(true);
+
+	echo debut_droite("", true);
+	echo gros_titre(_T("arty:a_propos"), "", false);
+	echo "<br />";
+	// choix de l'edito
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/network-wireless.png", true, "", _T('arty:dernieres_infos'));
+	echo "<iframe src='http://www.magunews.net/spip.php?fond=about&lang=".$GLOBALS['meta']['langue_site'].(isset($version) ? "&version=".urlencode($version) : '')."' width='100%' height='450px' frameborder='0'></iframe>";
+	echo fin_cadre_trait_couleur(true);
+
+	echo fin_gauche();
+
+	echo fin_page();
+
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/arty.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/arty.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/arty.php	(revision 198)
@@ -0,0 +1,473 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+
+include_spip('inc/arty_selecteur');
+include_spip('inc/user_session');
+
+function exec_arty() {
+
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('arty:sideinfo_arty').' &raquo;', 'configuration', 'magusine');
+
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+	 echo "<p><b>"._T('magusine:acces_a_la_page')."</b></p>";
+	 fin_page();
+	 exit;
+	}
+
+	traiter_post();
+	$params= charger_parametres();
+
+	traiter_get();
+
+	echo barre_onglets("arty", "base"); //affiche la barre des onglets du groupe "magusine", l'onglet courant est "base".
+	echo debut_gauche("", true);
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:info'));
+	echo _T("arty:sideinfo_arty");
+	echo fin_cadre_relief(true);
+
+
+	echo debut_droite("", true);
+	echo gros_titre(_T("arty:titre_configuration_base"), "", false);
+
+	// choix de l'edito
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/document-properties.png", true, "", _T('arty:edito'));
+	$edito=array(
+  "exec" => "arty",
+  "#" => "acces_a",
+  "ajouter" => "edito",
+  "verif" => $_SESSION['id_check']
+	);
+
+	$message = afficher_selectionne("arty", "edito");
+	if (!$message) { echo _T("arty:pas_de_edito"); }
+
+	echo "<div><a href='javascript:montrer_item(\"#show_edito\")' class='bouton-montrer-options'>"._T("arty:modifier_cette_option")."</a></div>";
+	echo "<div id='show_edito'>";
+
+	afficher_selecteur($edito);
+
+	echo "</div>";
+	echo "<script type='text/javascript'>
+  jQuery('#show_edito').css({
+  	display: 'none'
+  	});
+  </script>";
+
+	$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre='cacher_edito'");
+	$resultat = spip_fetch_array($resultat);
+
+	if($resultat) {
+		$cacher = $resultat['valeur'];
+		$lien = $resultat['valeur2'];
+	} else {
+		$cacher = "false";
+		$lien= "false";
+	}
+	echo "<br />";
+	echo "<form action='".generer_url_ecrire('arty')."' method='post'>";
+	echo "<input type='hidden' name='cacher_edito' value='false' />";
+	echo "<p><input type='checkbox' id='cacher_edito' name='cacher_edito' value='true' ".($cacher == "true" ? "checked='checked'" : '')." />";
+	echo "<label for='cacher_edito'>"._T("arty:cacher_edito")."</label></p>";
+
+	echo "<p><input type='checkbox' id='lire_autres_editos' name='lire_autres_editos' value='true' ".($lien == "true" ? "checked='checked'" : '')." />";
+	echo "<label for='lire_autres_editos'>"._T("arty:lire_autres_editos")."</label></p>";
+
+	echo "<input type='submit' class='fondo' value='"._T('arty:enregistrer')."' />";
+	echo "</form>";
+
+	echo fin_cadre_trait_couleur(true);
+
+	// choix de la une
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/folder-new.png", true, "", _T('arty:rubrique_article_une'));
+	$rubart_une=array(
+  "exec" => "arty",
+  "#" => "rubart_une",
+  "ajouter" => "rubart_une",
+  "verif" => $_SESSION['id_check']
+	);
+
+	$message = afficher_selectionne("arty", "rubart_une");
+	if (!$message) { echo "<p>"._T("arty:pas_de_une")."</p>"; }
+
+	echo "<div><a href='javascript:montrer_item(\"#show_une\")' class='bouton-montrer-options'>"._T("arty:modifier_cette_option")."</div>";
+	echo "<div id='show_une'>";
+	afficher_selecteur($rubart_une);
+
+	echo "</div>";
+	echo "<script type='text/javascript'>
+  jQuery('#show_une').css({
+  	display: 'none'
+  	});
+  </script>";
+	echo fin_cadre_trait_couleur(true);
+
+
+	// rubrique de news
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/edit-find.png", true, "", _T('arty:choix_rubrique_news'));
+	// controle l'existence du parametre, sinon injecte par defaut
+
+	echo "<p>"._T("arty:explication_choix_rubrique_news")."</p>";
+
+	$news=array(
+  "exec" => "arty",
+  "#" => "news",
+  "ajouter" => "rubrique-news",
+  "verif" => $_SESSION['id_check']
+	);
+
+	$message = afficher_selectionne("arty", "rubrique-news");
+	if (!$message) { echo "<p>"._T("arty:pas_de_rubrique_news")."</p>"; }
+
+	echo "<div><a href='javascript:montrer_item(\"#show_news\")' class='bouton-montrer-options'>"._T("arty:modifier_cette_option")."</div>";
+	echo "<div id='show_news'>";
+	afficher_selecteur($news, true, false);
+	echo "</div>";
+	echo "<script type='text/javascript'>
+  jQuery('#show_news').css({
+  	display: 'none'
+  	});
+  </script>";
+
+	echo fin_cadre_trait_couleur(true);
+
+
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/camera-video.png", true, "", _T('arty:video_au_hasard'));
+	$edito=array(
+  "exec" => "arty",
+  "#" => "access-d",
+  "ajouter" => "video-hasard",
+  "verif" => $_SESSION['id_check']
+	);
+
+	$message = afficher_selectionne("arty", "video-hasard");
+	if (!$message) { echo "<p>"._T("arty:pas_de_video_hasard")."</p>"; }
+
+	echo "<div><a href='javascript:montrer_item(\"#show_video_hasard\")' class='bouton-montrer-options'>"._T("arty:modifier_cette_option")."</div>";
+	echo "<div id='show_video_hasard'>";
+	afficher_selecteur($edito);
+	echo "</div>";
+	echo "<script type='text/javascript'>
+  jQuery('#show_video_hasard').css({
+  	display: 'none'
+  	});
+  </script>";
+	echo fin_cadre_trait_couleur(true);
+
+
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/camera-photo.png", true, "", _T('arty:image_au_hasard'));
+	$image=array(
+  "exec" => "arty",
+  "#" => "acces-e",
+  "ajouter" => "image-hasard",
+  "verif" => $_SESSION['id_check']
+	);
+
+	$message = afficher_selectionne("arty", "image-hasard");
+	if (!$message) { echo _T("arty:pas_de_image_hasard"); }
+
+	echo "<div><a href='javascript:montrer_item(\"#show_image_hasard\")' class='bouton-montrer-options'>"._T("arty:modifier_cette_option")."</div>";
+	echo "<div id='show_image_hasard'>";
+	afficher_selecteur($image);
+	echo "</div>";
+	echo "<script type='text/javascript'>
+  jQuery('#show_image_hasard').css({
+  	display: 'none'
+  	});
+  </script>";
+	echo fin_cadre_trait_couleur(true);
+
+
+
+	// reglage des parametres : afficher la date et les auteurs
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/edit-find.png", true, "", _T('arty:config_date_auteur'));
+
+	$resultat= spip_query("SELECT * FROM spip_arty_parametres WHERE parametre='date_auteur'");
+	$resultat=spip_fetch_array($resultat);
+	//print_r($resultat);
+	if($resultat) {
+		$date=$resultat['valeur'];
+		$auteur=$resultat['valeur2'];
+		$suite=$resultat['valeur3'];
+	} else {
+		$date="false";
+		$auteur="false";
+		$suite="false";
+	}
+
+	echo _T("arty:intro_config_date_auteur");
+	echo "<form action='".generer_url_ecrire('arty')."' method='post'>\n";
+	echo "<input type='hidden' name='action_form' value='config_date_auteur' />";
+	echo "<p class='label_radio'>"._T("arty:intro_date")."</p>";
+	echo "<input class='radio' id='datetrue' type='radio' name='date' value='true' ".(($date=="true")?'checked="checked"':'')."> <label for='datetrue'>"._T("arty:afficher_date")."</label><br />";
+	echo "<input class='radio' id='datefalse' type='radio' name='date' value='false' ".(($date=="false")?'checked="checked"':'')."> <label for='datefalse'>"._T("arty:pas_de_date")."</label><br />";
+
+	echo "<p class='label_radio'>"._T("arty:intro_auteur")."</p>";
+	echo "<input class='radio' id='auteurtrue' type='radio' name='auteur' value='true' ".(($auteur=="true")?'checked="checked"':'')."> <label for='auteurtrue'>"._T("arty:afficher_auteur")."</label><br />";
+	echo "<input class='radio' id='auteurfalse' type='radio' name='auteur' value='false' ".(($auteur=="false")?'checked="checked"':'')."> <label for='auteurfalse'>"._T("arty:pas_afficher_auteur")."</label><br />";
+
+	echo "<p class='label_radio'>"._T("arty:intro_suite")."</p>";
+	echo "<input class='radio' id='suitetrue' type='radio' name='suite' value='true' ".(($suite=="true")?'checked="checked"':'')."> <label for='suitetrue'>"._T("arty:afficher_suite")."</label><br />";
+	echo "<input class='radio' id='suitefalse' type='radio' name='suite' value='false' ".(($suite=="false")?'checked="checked"':'')."> <label for='suitefalse'>"._T("arty:pas_de_suite")."</label><br />";
+
+
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+
+	// forum dans la meme page ou dans la page forum
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/edit-find.png", true, "", _T('arty:config_forum'));
+
+	//print_r($params);
+
+	if(!$params['config_forum']) {
+		$params['config_forum']="false";
+	}
+
+	echo "<p>"._T("arty:intro_config_forum")."</p>";
+	echo "<form action='".generer_url_ecrire('arty')."' method='post'>\n";
+	echo "<input type='hidden' name='action_form' value='config_forum' />";
+	echo "<p>"._T("arty:explication_forum")."</p>";
+	echo "<input class='radio' type='radio' name='config_forum' value='true' ".(($params['config_forum']=="true")?'checked="checked"':'')."> <label for='config_forum'>"._T("arty:forum_self")."</label><br />";
+	echo "<input class='radio' type='radio' name='config_forum' value='false' ".(($params['config_forum']=="false")?'checked="checked"':'')."> <label for='config_forum'>"._T("arty:forum_forum")."</label><br />";
+
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+
+
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/edit-find.png", true, "", _T('arty:config_google_maps'));
+
+	//print_r($params);
+
+	if (!isset($params['google_api_key'])) {
+		$params['google_api_key'] = "";
+	}
+	if (!isset($params['gmaps_afficher_controles'])) {
+		$params['gmaps_afficher_controles'] = "false";
+	}
+
+	echo "<p>"._T("arty:intro_config_api_key")."</p>";
+	echo "<form action='".generer_url_ecrire('arty')."' method='post'>\n";
+	echo "<input type='text' style='width:90%' name='google_api_key' value='".$params['google_api_key']."' /><br />";
+	echo "<input type='hidden' name='gmaps_afficher_controles' value='false' />";
+	echo "<p><input class='radio' type='checkbox' id='gmaps_afficher_controles' name='gmaps_afficher_controles' value='true' ".($params['gmaps_afficher_controles'] == "true" ? "checked='checked'" : '')." />";
+	echo "<label for='gmaps_afficher_controles'>"._T("arty:gmaps_afficher_controles")."</label></p>";
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+
+	echo fin_gauche();
+
+	echo fin_page();
+
+}
+
+function traiter_post() {
+	//print_r($_POST);
+
+	if($_POST['action_form']=='config_date_auteur') {
+		$date=addslashes($_POST['date']);
+		$auteur=addslashes($_POST['auteur']);
+		$suite=addslashes($_POST['suite']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = 'date_auteur'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre,valeur,valeur2, valeur3) VALUES ('date_auteur','$date', '$auteur', '$suite')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur= '$date',valeur2='$auteur', valeur3='$suite' WHERE parametre = 'date_auteur'");
+		}
+
+	}
+
+	if($_POST['action_form']=='config_forum') {
+		$config_forum=addslashes($_POST['config_forum']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = 'config_forum'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre,valeur) VALUES ('config_forum','$config_forum')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur= '$config_forum' WHERE parametre = 'config_forum'");
+		}
+
+	}
+
+	if (isset($_POST['cacher_edito'])) {
+		$cacher = addslashes($_POST['cacher_edito']);
+		$lien=addslashes($_POST['lire_autres_editos']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = 'cacher_edito'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre,valeur,valeur2) VALUES ('cacher_edito','$cacher','$lien')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur='$cacher',valeur2='$lien' WHERE parametre = 'cacher_edito'");
+		}
+
+
+
+	}
+
+	if (isset($_POST['google_api_key'])) {
+		$api_key = addslashes($_POST['google_api_key']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = 'google_api_key'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre,valeur) VALUES ('google_api_key','$api_key')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur='$api_key' WHERE parametre = 'google_api_key'");
+		}
+
+		$controles = addslashes($_POST['gmaps_afficher_controles']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = 'gmaps_afficher_controles'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre,valeur) VALUES ('gmaps_afficher_controles','$controles')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur='$controles' WHERE parametre = 'gmaps_afficher_controles'");
+		}
+
+		//enregistrement des formats kml et kmz
+		$resultat = spip_query("SELECT * FROM spip_types_documents WHERE extension = 'kml'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_types_documents (titre, extension, mime_type, inclus, upload) VALUES ('Keyhole Markup Language','kml', 'application/vnd.google-earth.kml+xml', 'non', 'oui')");
+		}
+		$resultat = spip_query("SELECT * FROM spip_types_documents WHERE extension = 'kmz'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_types_documents (titre, extension, mime_type, inclus, upload) VALUES ('Keyhole Markup Language (compressed)','kmz', 'application/vnd.google-earth.kmz', 'non', 'oui')");
+		}
+
+	}
+
+
+}
+
+function charger_parametres() {
+	$params=array();
+	$resultat= spip_query("SELECT * FROM spip_arty_parametres");
+	if (spip_mysql_count($resultat)) {
+		while ($row=spip_fetch_array($resultat)) {
+			$params[$row['parametre']] = $row['valeur'];
+		}
+	}
+
+	return $params;
+}
+
+function traiter_get() {
+	//print_r($_GET);
+
+	$param_accepte=array('edito','video-hasard','rubrique-news','image-hasard', 'rubart_une');
+
+	if(isset($_GET['ajouter']) && isset($_GET['verif'])){
+		$param=$_GET['ajouter'];
+		if(in_array($param, $param_accepte) && $_GET['verif']==$_SESSION['id_check']) {
+
+			if(isset($_GET['id_rubrique'])) {
+				$id_rubrique=(int) $_GET['id_rubrique'];
+					
+				if(is_numeric($id_rubrique)){
+					$resultat = spip_query("SELECT * FROM spip_arty_paramassoc WHERE param = '$param' AND id_rubrique = $id_rubrique");
+					if(!spip_mysql_count($resultat)) {
+						spip_query("INSERT INTO spip_arty_paramassoc (param, id_rubrique) VALUES ('$param', $id_rubrique)");
+					}
+						
+				}
+					
+			} elseif(isset($_GET['id_article'])) {
+				$id_article=(int) $_GET['id_article'];
+					
+				if(is_numeric($id_article)){
+					$resultat = spip_query("SELECT * FROM spip_arty_paramassoc WHERE param = '$param' AND id_article = $id_article");
+					if(!spip_mysql_count($resultat)) {
+						spip_query("INSERT INTO spip_arty_paramassoc (param, id_article) VALUES ('$param', $id_article)");
+					}
+						
+				}
+					
+			}
+				
+
+		}
+
+	}
+
+	if(isset($_GET['supprimer']) && isset($_GET['verif'])){
+		$id_assoc=(int) $_GET['supprimer'];
+		if( is_numeric($id_assoc) && $_GET['verif']==$_SESSION['id_check']) {
+			spip_query("DELETE FROM spip_arty_paramassoc WHERE id_assoc = $id_assoc");
+		}
+	}
+
+}
+
+
+function afficher_selectionne($page, $param) {
+
+	$resultat = spip_query("SELECT * FROM spip_arty_paramassoc WHERE param = '$param'");
+	if(spip_mysql_count($resultat)) {
+		echo "<ul class='liste-association'>";
+		while($row=spip_fetch_array($resultat)) {
+			//print_r($row);
+			if(is_numeric($row['id_article'])) {
+				$lart=spip_query("SELECT titre FROM spip_articles WHERE id_article =".$row['id_article']);
+				if(spip_mysql_count($lart)) {
+
+					$lart=spip_fetch_array($lart);
+
+
+					echo "<li class='liste-article'>&mdash; ".$lart['titre'];
+					echo "<a href='?exec=$page&supprimer=".$row['id_assoc']."&verif=".$_SESSION['id_check']."#$param'>";
+					echo "<img src='"._DIR_IMG_PACK."/croix-rouge.gif' alt ='x' title='"._T("arty:supprimer")."' />";
+					echo "</a>";
+
+					echo "</li>";
+
+
+				} else {
+
+					spip_query("DELETE FROM spip_arty_paramassoc WHERE id_assoc =".$row['id_assoc']);
+						
+				}
+			}
+			//print_r($row);
+			elseif(is_numeric($row['id_rubrique'])) {
+				$lart=spip_query("SELECT titre FROM spip_rubriques WHERE id_rubrique =".$row['id_rubrique']);
+				if(spip_mysql_count($lart)) {
+
+					$lart=spip_fetch_array($lart);
+
+
+					echo "<li class='liste-rubrique'>&mdash; ".$lart['titre'];
+					echo "<a href='?exec=$page&supprimer=".$row['id_assoc']."&verif=".$_SESSION['id_check']."#$param'>";
+					echo "<img src='"._DIR_IMG_PACK."/croix-rouge.gif' alt ='x' title='"._T("arty:supprimer")."' />";
+					echo "</a>";
+
+					echo "</li>";
+
+
+				} else {
+
+					spip_query("DELETE FROM spip_arty_paramassoc WHERE id_assoc =".$row['id_assoc']);
+						
+				}
+			}
+		}
+		echo "</ul>";
+		return true;
+			
+	} else { return false; }
+
+}
+
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/avance.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/avance.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/avance.php	(revision 198)
@@ -0,0 +1,266 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : Stphane Nol, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+include_spip('inc/layer');
+include_spip('inc/getdocument');
+include_spip('inc/upload-image');
+include_spip('inc/extra');
+
+include_spip('inc/arty_selecteur');
+include_spip('inc/user_session');
+
+function exec_avance() {
+	$message_upload = traiter_post();
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('arty:gestion_bloc_libre').' &raquo;', 'configuration', 'magusine');
+
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+	 echo "<p><b>"._T('magusine:acces_a_la_page')."</b></p>";
+	 fin_page();
+	 exit;
+	}
+
+	
+
+	traiter_get();
+
+	echo barre_onglets("arty", "avance"); //affiche la barre des onglets du groupe "magusine", l'onglet courant est "avance".
+	echo debut_gauche("", true);
+	if ($message_upload && $message_upload != "arty:upload_reussi") {
+		echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/emblem-important.png', true, "", _T('arty:erreur'));
+		echo "<p style='font-weight:bold; color:red;'>"._T($message_upload)."</p>";
+		echo fin_cadre_relief(true);
+	}
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:info'));
+	echo _T("arty:sideinfo_avance");
+	echo fin_cadre_relief(true);
+	echo debut_droite("", true);
+
+	echo gros_titre(_T("arty:gestion_bloc_libre"), "", false);
+	 
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."/images/config.png", true, "", _T('arty:creer_un_bloc_libre'));
+	echo "<div style='padding-left:5px;'>";
+	echo "<br />";
+	echo _T('arty:entrez_donnees_nouveau_bloc');
+	echo "<form action='".generer_url_ecrire('avance')."' method='post' enctype=\"multipart/form-data\" name='formulaire' id='formulaire'>\n";
+	echo "<input type='hidden' name='action_form' value='nouveaubloc' />\n";
+	echo "<input type='text' name='titre' style='width:90%; color:#666; font-weight:bold;' value='"._T('arty:titre')."' onfocus='if(this.value==\""._T('arty:titre')."\"){this.value=&#34;&#34;;}' maxlength='255' size='50' />\n";
+	echo "<textarea name='texte' style='width:90%; color:#444;' cols='50' rows='4' id='texte1'></textarea>\n";
+	echo "<br /><br />"._T('arty:bloc_lien')."<br />\n";
+	echo "<input type='text' name='lien' value='http://' maxlength='255'  style='width:90%' size='50' />\n";
+	echo "<br /><br />"._T('arty:bloc_image')."<br />\n";
+
+	echo "<input type=\"file\" name=\"illu_bloc_libre\" size=\"55\"  style='width:95%' /><br />\n";
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />\n";
+	echo "</form>\n";
+	echo "</div>\n";
+	echo fin_cadre_trait_couleur(true);
+	$tousblocs = spip_query("SELECT * FROM spip_arty_bloclibre");
+
+	while ($row=spip_fetch_array($tousblocs)) {
+		echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."/images/config.png", true, "", htmlspecialchars($row['titre']));
+		echo "<a name='".$row['id_bloc_libre']."'></a>";
+		$chem = creer_repertoire_documents("illu-bloc-libre");
+
+		$chem=_DIR_IMG."illu-bloc-libre/";
+		$handle = @opendir($chem);
+		$logo = false;
+		while($fichier = @readdir($handle)) {
+
+			if (ereg("^illu_bloc_libre-".$row['id_bloc_libre']."\.(jpg|png|gif)$", $fichier)) {
+				$logo = $fichier;
+			}
+		}
+		if ($logo){
+			// le nombre alatoire permet d'viter que le navigateur affiche la version en cache de l'image.
+			$image = "<div style='padding-left:5px'><p>"._T("arty:logo_actuel").":</p><img width=\"190\" src=\""._DIR_IMG."illu-bloc-libre/$logo?".uniqid(rand())."\" />";
+			$image .="<form style='display:inline;' action='".generer_url_ecrire('avance')."' method='post'>\n"
+			."<input type='hidden' name='action_form' value='supprimerillu' />"
+			."<input type='hidden' name='id_bloc' value='".$row['id_bloc_libre']."' />"
+			."<input type='submit' title='"._T("arty:supprimer_illu")."' value='X' class='fondo' style='position:relative; border-color:red; background-color:red; left:-30px; font-size:10px;' /><br /><br />"
+			."</form></div>";
+		} else {
+			$image="";
+		}
+
+		$texte = $image."<form action='".generer_url_ecrire('avance')."' method='post' enctype=\"multipart/form-data\">\n"
+		."<input type='hidden' name='action_form' value='modifierbloc' />"
+		."<input type='hidden' name='id_bloc' value='".$row['id_bloc_libre']."' />"
+		.(isset($_POST['retour']) ? "<input type='hidden' name='retour' value='".$_POST['retour']."' />" : "")
+		."<input type='text' name='titre' value='".htmlspecialchars($row['titre'], ENT_QUOTES)."' maxlength='255' size='50' style='width:90%; color:#666; font-weight:bold;' />"
+		."<textarea name='texte' cols='50' style='width:90%; color:#444;' rows='4'>".htmlspecialchars($row['contenu'])."</textarea>"
+		."<br /><br />"._T('arty:bloc_lien')."<br />"
+		."<input type='text' name='lien' value='".htmlspecialchars($row['lien'], ENT_QUOTES)."' maxlength='255' size='50' style='width:90%' />"
+		."<br /><br />"._T('arty:bloc_image')."<br />"
+		."<input type=\"file\" name=\"illu_bloc_libre\" size=\"55\" style='width:90%' /><br /><br /><br />"
+		."<input type='submit' value='".(isset($_POST['retour']) ? _T("arty:modifier_et_retour") : _T("arty:enregistrer") )."' class='fondo' style='float:right; margin-right:45px;' />"
+		._T("arty:attention_modif_globale")."<br />"
+		."</form>";
+		$texte .="<form action='".generer_url_ecrire('avance')."' method='post'>\n"
+		."<input type='hidden' name='action_form' value='supprimerbloc' />"
+		."<input type='hidden' name='id_bloc' value='".$row['id_bloc_libre']."' />"
+		."<br /><div style='text-align:center;'><input type='submit' value='"._T("arty:supprimer_ce_bloc")."' class='fondo' style='background-color:red; border-color:red; font-size:9px; font-weight:normal; margin:10px auto;' /></div>"
+		."</form>";
+
+		$visible = ($_POST['bloc'] == $row['id_bloc_libre']) ? true : false;
+
+		//echo block_parfois_visible("bloc".$row['id_bloc_libre'], _T('arty:modifier_ce_bloc'), $texte, '', $visible);
+		
+		echo cadre_depliable(find_in_path("img_pack/view_list.png"), _T('arty:modifier_ce_bloc'), $visible, $texte,"bloc".$row['id_bloc_libre'],'r');
+		
+		
+		echo fin_cadre_trait_couleur(true);
+	}
+
+	echo fin_gauche();
+
+	echo fin_page();
+
+}
+
+function traiter_post() {
+	$message_upload = "";
+
+	if ($_POST['action_form']=='nouveaubloc' && isset($_POST['titre']) && isset($_POST['texte']) ) {
+		$titre=trim(addslashes($_POST['titre']));
+		$texte=trim(addslashes($_POST['texte']));
+		$lien=trim(addslashes($_POST['lien']));
+
+		if($lien=="http://") { $lien=""; }
+
+		if ($titre!="") { // && $texte!="") {
+			spip_query("INSERT INTO spip_arty_bloclibre(titre, contenu,lien) VALUES('$titre', '$texte', '$lien')");
+			$result = spip_query("SELECT LAST_INSERT_ID();");
+			if ($result){
+				$arr = spip_fetch_array($result);
+				$id = (int) current($arr);
+
+				if (!is_nan($id)){
+					$message_upload = traiter_upload_image('illu_bloc_libre','illu-bloc-libre',$id);
+				}
+			}
+		}
+	}
+
+	if ($_POST['action_form']=='supprimerbloc' && isset($_POST['id_bloc'])) {
+
+		$id_bloc=(int) $_POST['id_bloc'];
+
+		if (!is_nan($id_bloc)) {
+			spip_query("DELETE FROM spip_arty_bloclibre WHERE id_bloc_libre= $id_bloc");
+			supprimer_illu_bloc($id_bloc);
+				
+			// supprimer les associations
+			spip_query("DELETE FROM spip_arty_bloclibreassoc WHERE id_bloc_libre= $id_bloc");
+		}
+	}
+
+	if ($_POST['action_form']=='supprimerillu' && isset($_POST['id_bloc'])) {
+
+		$id_bloc=(int) $_POST['id_bloc'];
+
+		if (!is_nan($id_bloc)) {
+			//spip_query("DELETE FROM spip_arty_bloclibre WHERE id_bloc_libre= $id_bloc");
+			supprimer_illu_bloc($id_bloc);
+		}
+	}
+
+
+	if ($_POST['action_form']=='modifierbloc' && isset($_POST['id_bloc']) && isset($_POST['titre']) && isset($_POST['texte']) ) {
+		//print_r($_POST);
+		$id_bloc=(int) $_POST['id_bloc'];
+		$titre=trim(addslashes($_POST['titre']));
+		$texte=trim(addslashes($_POST['texte']));
+		$lien=trim(addslashes($_POST['lien']));
+		if($lien=="http://") { $lien=""; }
+
+		if ($titre!="" && !is_nan($id_bloc)) {
+			spip_query("UPDATE spip_arty_bloclibre SET titre='$titre', contenu='$texte', lien='$lien' WHERE id_bloc_libre=$id_bloc");
+			$message_upload = traiter_upload_image('illu_bloc_libre','illu-bloc-libre',$id_bloc);
+		}
+
+		//redirection vers la page d'origine
+		if (isset($_POST['retour'])) {
+			header('Location: '.$_POST['retour']);
+		}
+	}
+	return $message_upload;
+}
+
+function supprimer_illu_bloc($id_bloc) {
+	//$chem = creer_repertoire_documents("illu-bloc-libre");
+	$chem = _DIR_IMG."illu-bloc-libre/";
+	$handle = @opendir($chem);
+	while($fichier = @readdir($handle)) {
+		if (!$id_bloc) {
+			if (ereg("^illu_bloc_libre\.(jpg|png|gif)$", $fichier)){
+				@unlink($chem.$fichier);
+			}
+		} else {
+			if (ereg("^illu_bloc_libre-$id_bloc\.(jpg|png|gif)$", $fichier)){
+				@unlink($chem.$fichier);
+			}
+		}
+	}
+}
+
+function traiter_get() {
+	$param_accepte=array('edito');
+
+	if(isset($_GET['ajouter']) && isset($_GET['verif'])){
+		$param=$_GET['ajouter'];
+		if(in_array($param, $param_accepte) && $_GET['verif']==$_SESSION['id_check']) {
+
+			if(isset($_GET['id_rubrique'])) {
+				$id_rubrique=(int) $_GET['id_rubrique'];
+					
+				if(is_numeric($id_rubrique)){
+					$resultat = spip_query("SELECT * FROM spip_arty_paramassoc WHERE param = '$param' AND id_rubrique = $id_rubrique");
+					if(!spip_mysql_count($resultat)) {
+						spip_query("INSERT INTO spip_arty_paramassoc (param, id_rubrique) VALUES ('$param', $id_rubrique)");
+					}
+						
+				}
+					
+			} elseif(isset($_GET['id_article'])) {
+				$id_article=(int) $_GET['id_article'];
+					
+				if(is_numeric($id_article)){
+					$resultat = spip_query("SELECT * FROM spip_arty_paramassoc WHERE param = '$param' AND id_article = $id_article");
+					if(!spip_mysql_count($resultat)) {
+						spip_query("INSERT INTO spip_arty_paramassoc (param, id_article) VALUES ('$param', $id_article)");
+					}
+						
+				}
+					
+			}
+				
+
+		}
+
+	}
+
+	if(isset($_GET['supprimer']) && isset($_GET['verif'])){
+		$id_assoc=(int) $_GET['supprimer'];
+		if( is_numeric($id_assoc) && $_GET['verif']==$_SESSION['id_check']) {
+			spip_query("DELETE FROM spip_arty_paramassoc WHERE id_assoc = $id_assoc");
+		}
+	}
+
+}
+
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/gabarit.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/gabarit.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/gabarit.php	(revision 198)
@@ -0,0 +1,516 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+include_spip('inc/xml-parser');
+//require(_DIR_PLUGIN_ARTY.'/inc/xml-parser.php');
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+
+function exec_gabarit() {
+
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('arty:configuration_des_gabarits').' &raquo;', 'configuration', 'magusine');
+
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+		echo "<p><b>"._T('arty:acces_a_la_page')."</b></p>";
+		fin_page();
+		exit;
+	}
+    // mazu ici Ã©tait le if du $_GET['mode']=="ajax" voir dans action/enregister_gabarit.php
+	if ($_POST['action_form'] == 'supprimer') {
+		$gabarit = isset($_POST['gabarit']) ? addslashes($_POST['gabarit']) : false;
+
+		if ($gabarit) {
+			//supprimer les blocs de gabarit_ordre
+			spip_query("DELETE FROM spip_arty_gabarit_ordre WHERE gabarit='$gabarit'");
+			//supprimer l'entrÃ©e du gabarit dans gabarit_perso
+			spip_query("DELETE FROM spip_arty_gabarit_perso WHERE nom='$gabarit'");
+			//supprimer les entrÃ©es du gabarit dans gabaritassoc
+			spip_query("DELETE FROM spip_arty_gabaritassoc WHERE gabarit='$gabarit'");
+			//echo _T("arty:gabarit_supprime");
+		}
+	}
+
+	echo barre_onglets("arty", "gabarit");
+	echo debut_gauche("", true);
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:info'));
+	echo _T("arty:sideinfo_gabarit");
+	echo fin_cadre_relief(true);
+
+	$gabarits=array();
+	$gabaritpardefaut=array("sommaire","rubrique","article","groupe","mot","breve");
+	$ignore_liste=array(".","..",".DS_Store","^\.[.+]");
+	$rep = _DIR_PLUGIN_ARTY."definitions-gabarits";
+	$handle = opendir($rep);
+	while($fichier = readdir($handle)) {
+
+		if (!in_array($fichier, $ignore_liste) && eregi('^[a-zA-Z0-9_-]*\.xml$',$fichier)) {
+			$p =& new xmlParser();
+			$p->parse($rep.'/'.$fichier);
+			if (!in_array(ereg_replace("\.xml$","",$fichier),$gabaritpardefaut)) {
+				$gabarits[$p->output[0]['attrs']['TYPE']][]=ereg_replace("\.xml$","",$fichier);
+			}
+			$liste_gabarit[]=ereg_replace("\.xml$","",$fichier);
+		}
+	}
+
+	//gabarits du dossier "pages-custom" (surclassage)
+	$rep_custom = _DIR_RACINE."pages-custom/gabarits";
+	if (file_exists($rep_custom)) {
+		$handle = opendir($rep_custom);
+		while($fichier = readdir($handle)) {
+			if (!in_array($fichier, $ignore_liste) && eregi('^[a-zA-Z0-9_-]*\.xml$',$fichier) && !eregi('^ajout-',$fichier) && !in_array($fichier, $liste_gabarit)) {
+				$p =& new xmlParser();
+				$p->parse($rep_custom.'/'.$fichier);
+				$nom_gabarit = ereg_replace("\.xml$","",$fichier);
+				$type_gabarit = $p->output[0]['attrs']['TYPE'];
+				if (!in_array($nom_gabarit, $gabaritpardefaut) && !in_array($nom_gabarit, $gabarits[$type_gabarit])) {
+					$gabarits[$type_gabarit][] = ereg_replace("\.xml$","",$fichier);
+				}
+				$liste_gabarit[] = ereg_replace("\.xml$","",$fichier);
+			}
+		}
+	}
+
+	//gabarits de la base de donnÃ©es
+	$query = spip_query('SELECT * FROM spip_arty_gabarit_perso');
+	while ($row = spip_fetch_array($query)) {
+		if (!in_array($row['nom'], $liste_gabarit)) {
+			$liste_gabarit[] = $row['nom'];
+			//$donnees = unserialize($row['donnees']);
+			$gabarits[$donnees[0]['attrs']['TYPE']][] = $row['nom'];
+		}
+	}
+
+	if ($_POST['action_form'] == "deriver") {
+
+		if (isset($_POST['nom_gabarit']) && isset($_POST['source'])) {
+			if (in_array($_POST['nom_gabarit'], $liste_gabarit)) {
+				echo _T("arty:nom_deja_pris");
+			} else {
+
+				$source = addslashes($_POST['source']);
+
+				//vÃ©rification de la prÃ©sence d'un gabarit dans pages-custom (surclassage)
+				$rep = _DIR_PLUGIN_ARTY."definitions-gabarits/";
+				$rep_custom = _DIR_RACINE."pages-custom/gabarits/";
+					
+				if (file_exists($rep_custom.$source.".xml")) {
+					$chemin_gabarit = $rep_custom.$source.".xml";
+				} else if (file_exists($rep.$source.".xml")) {
+					$chemin_gabarit = $rep.$source.".xml";
+				}
+
+				if (isset($chemin_gabarit)) {
+					$p =& new xmlParser();
+					$p->parse($chemin_gabarit);
+					$donnees = $p->output;
+				}
+
+				if (isset($donnees)) {
+
+					$type_source = addslashes($donnees[0]["attrs"]["TYPE"]);
+
+					if ($type_source == "defaut") {
+						$donnees[0]["attrs"]["TYPE"] = $source;
+						$type_source = $source;
+					}
+
+					$nom = addslashes(trim(ereg_replace("[^a-zA-Z0-9_-]", "", $_POST['nom_gabarit'])));
+					if (!$nom) { $nom="sansnom"; } // eviter le gabarit sans nom
+					$donnees = serialize($donnees);
+
+					$result = spip_query("SELECT * FROM spip_arty_gabarit_ordre WHERE gabarit='$source'");
+					$blocs = array();
+					while ($row = spip_fetch_array($result)) {
+						$blocs[] = array(
+              "nom"       => addslashes($row['nom']),
+              "ordre"     => (!is_nan((int) $row['ordre'])) ? (int) $row['ordre'] : 0,
+              "conteneur" => (!is_nan((int) $row['conteneur'])) ? (int) $row['conteneur'] : 0,
+              "gabarit"   => $nom,
+              "param"     => addslashes($row['param']),
+						);
+					}
+
+					if ($blocs) {
+						$query = "INSERT INTO spip_arty_gabarit_ordre (nom, ordre, conteneur, gabarit, param) VALUES ";
+						for ($i=0; $i<count($blocs); $i++) {
+							$query .= "('".$blocs[$i]['nom']."', ".$blocs[$i]['ordre'].", ".$blocs[$i]['conteneur'].", '".$blocs[$i]['gabarit']."', '".$blocs[$i]['param']."')";
+							if ($i != count($blocs)-1) {
+								$query .= ", ";
+							}
+						}
+
+						spip_query($query);
+						spip_query("INSERT INTO spip_arty_gabarit_perso (nom,type,donnees) VALUES ('$nom','$type_source','$source')");
+
+						// echo _T("arty:nouveau_gabarit_cree");
+
+						// si on vient de creer le gabarit a partir d'une page d'edition, associer le gabarit
+						if ($_POST['associer']){
+							$leid = (int) $_POST['associer'];
+
+							// supprimer autre entree de gabarit
+							spip_query("DELETE FROM spip_arty_gabaritassoc WHERE type='$type_source' AND id=$leid");
+							spip_query("INSERT INTO spip_arty_gabaritassoc (gabarit,id,type) VALUES ('$nom','$leid','$type_source')");
+						}
+
+						$nouveau_gabarit = $nom;
+						$liste_gabarit[] = $nom;
+						$donnees = unserialize($donnees);
+						$gabarits[$donnees[0]['attrs']['TYPE']][] = $nom;
+
+					}
+				}
+			}
+		}
+	}
+
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:nouveau_gabarit'));
+	echo "<p style='margin-top:0px; margin-bottom:2px;'>"._T("arty:deriver_gabarit")."</p>";
+
+	echo "<form action='".generer_url_ecrire('gabarit')."' method='post'>\n";
+	echo "<input type='hidden' name='action_form' value='deriver'/>";
+	echo "<input type='text' name='nom_gabarit' value='"._T('arty:nom_du_gabarit')."' /><br />";
+
+	echo "<p style='margin-top:8px; margin-bottom:2px;'>"._T("arty:baser_gabarit_sur")."</p>";
+
+	echo "<select id='source' name='source'>";
+
+
+	foreach($gabaritpardefaut as $un_gabarit) {
+		if ($un_gabarit != "sommaire") {
+			echo '<option name="'.$un_gabarit.'" value="'.$un_gabarit.'">'.$un_gabarit.'</option>';
+		}
+	}
+
+	foreach($gabarits as $nom_type => $types_gabarits) {
+		if ($nom_type != "defaut") {
+			$nom_type = "(".$nom_type.")";
+
+			foreach($types_gabarits as $un_gabarit) {
+
+				if ($nom_type!="()"){
+					echo '<option name="'.$un_gabarit.'" value="'.$un_gabarit.'">'.$un_gabarit.' '.$nom_type.'</option>';
+				}
+			}
+		}
+	}
+	echo "</select>";
+	echo "<br /><br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+
+	echo fin_cadre_relief(true);
+
+
+	// pour la page principale : nom du gabarit en cours
+
+	if (isset($nouveau_gabarit)) {
+		$gabarit = $nouveau_gabarit;
+	} else {
+		$gabarit=$_GET['gabarit'];
+	}
+	if(!in_array($gabarit, $liste_gabarit)) {
+		$gabarit="sommaire";
+	}
+
+	$liste_nonassociee=array("sommaire","article","rubrique","mot","groupe-mots","breve","404","forum","login","recherche","auteur","webmaton-mosaique","webmaton-questions");
+
+	if (!in_array($gabarit, $liste_nonassociee)){
+		lister_associations_gabarit($gabarit);
+	}
+	echo debut_droite("", true);
+
+	echo "\n";
+
+
+	echo gros_titre(_T("arty:configuration_des_gabarits")." "._T("arty:".$gabarit), "", false);
+
+	// faire le menu deroulant
+
+	echo "<div id='deroulant-gabarits'>"._T("arty:modifier_un_autre_gabarit").' : <select onchange="window.location.href=\''.generer_url_ecrire("gabarit", "gabarit=").'\'+this.options[this.selectedIndex].value;" class="selecteur-gabarit">';
+
+	foreach ($gabaritpardefaut as $cegabarit) {
+		$selected = ($cegabarit == $gabarit) ? 'selected="selected"' : '';
+
+		echo "<option class='$type' value=\"".$cegabarit."\" $selected>"._T("arty:$cegabarit")."</option>";
+	}
+
+	foreach($gabarits as $type) {
+		foreach($type as $cegabarit) {
+			$selected = ($cegabarit == $gabarit) ? 'selected="selected"' : '';
+			echo "<option class='$type' value=\"".$cegabarit."\" $selected>"._T("arty:$cegabarit")."</option>";
+		}
+	}
+	echo "</select></div>";
+
+	//print_r($gabarits);
+
+	charger_gabarit(addslashes($gabarit));
+
+	echo fin_gauche();
+	echo fin_page();
+}
+
+function charger_gabarit($gabarit) {
+
+	//vÃ©rification de la prÃ©sence d'un gabarit dans pages-custom (surclassage)
+	$rep = _DIR_PLUGIN_ARTY."definitions-gabarits/";
+	$rep_custom = _DIR_RACINE."pages-custom/gabarits/";
+
+	if (file_exists($rep_custom.$gabarit.".xml")) {
+		$chemin_gabarit = $rep_custom.$gabarit.".xml";
+		$origine=$gabarit;
+	} else if (file_exists($rep.$gabarit.".xml")) {
+		$chemin_gabarit = $rep.$gabarit.".xml";
+		$origine=$gabarit;
+	} else {
+		$query = spip_query("SELECT * FROM spip_arty_gabarit_perso WHERE nom='$gabarit'");
+		if (spip_mysql_count($query)) {
+			$row = spip_fetch_array($query);
+			$origine = $row['donnees'];
+			$from_db = $row['type'];
+
+			//retrouve le gabarit d'origine de la declinaison
+			if (file_exists($rep_custom.$origine.".xml")) {
+				$chemin_gabarit = $rep_custom.$origine.".xml";
+			} else if (file_exists($rep.$origine.".xml")) {
+				$chemin_gabarit = $rep.$origine.".xml";
+			} else {
+				echo _T("arty:gabarit_origine_non-trouve");
+				return false;
+			}
+		}
+	}
+
+	if (isset($chemin_gabarit)) {
+		$p =& new xmlParser();
+		$p->parse($chemin_gabarit);
+		$donnees = $p->output;
+	}
+
+	// fichier d'injection simple de bloc sur base du gabarit d'origine (physique)
+	if (file_exists($rep_custom."ajout-".$origine.".xml")) {
+		$pajout =& new xmlParser();
+		$pajout->parse($rep_custom."ajout-".$origine.".xml");
+		$donneesajout = $pajout->output;
+		$donnees[0][child] = array_merge((array)$donnees[0][child], (array)$donneesajout[0][child]);
+	}
+
+	if (!isset($donnees)) {
+		echo _T("arty:gabarit_non-trouve");
+		return false;
+	}
+
+	if (isset($from_db)) {
+		// formulaire de suppression
+		echo "<form action='".generer_url_ecrire('gabarit')."' method='post'>\n";
+		echo "<input type='hidden' name='action_form' value='supprimer'/>\n";
+		echo "<input type='hidden' name='gabarit' value=\"".stripslashes($gabarit)."\" />\n";
+		echo "<br /><input type='submit' value='"._T("arty:supprimer")."' class='fondo' />";
+		echo "</form>";
+	}
+
+	$nom = $donnees[0]['attrs']['NOM'];
+
+	$blocs =array();
+
+	foreach($donnees[0]['child'] as $ordre => $bloc) {
+		$blocs[$bloc['content']]=array('ordre'=> $ordre, 'conteneur' => $bloc['attrs']['STATUT'], 'param' => $bloc['attrs']['PARAM'], 'paramdefaut' => $bloc['attrs']['PARAMDEFAUT'],'paramdescr' => $bloc['attrs']['PARAMDESCR'],'paramtext' => $bloc['attrs']['PARAMTEXT'], 'paramvalue' => $bloc['attrs']['PARAMVALUE']);
+	}
+
+	$resultat=spip_query("SELECT * FROM spip_arty_gabarit_ordre WHERE gabarit='$gabarit'");
+	while ($row=spip_fetch_array($resultat)) {
+		if (in_array($row['nom'], array_keys($blocs))) {
+			$blocs[$row['nom']]['conteneur']=$row['conteneur'];
+			$blocs[$row['nom']]['ordre']=$row['ordre'];
+			$blocs[$row['nom']]['paramdefaut']=$row['param']; // peut crasher
+		} else {
+			spip_query("DELETE FROM spip_arty_gabarit_ordre WHERE id_bloc=".$row['id_bloc']);
+		}
+	}
+
+	uasort($blocs, "comparerblocs");
+
+	echo "<div id='general'>\n";
+
+	//print_r($donnees);
+	echo "<div id='pageweb'><div id='bandeau'></div>";
+	$colonnes = array("contexte1" => 1, "contexte2" =>2, "corps" =>3, "reserve" => 0, "avance" => 4);
+
+	foreach( array_keys($colonnes) as $colonne) {
+		//boucle pour tous les conteneurs
+		if($colonne=='reserve') { echo "<br class='clearer'/><div id='footer'></div></div><div id='reserves'>";
+		}
+
+		echo "<ul id='$colonne' class='conteneur_bloc'>\n";
+
+		echo "<li><h3>"._T("arty:$colonne")."</h3></li>\n";
+		foreach($blocs as $bloc => $proprietes) {
+			//on affiche le bloc
+			if ($proprietes['conteneur']== $colonnes[$colonne]) {
+				echo "<li id='".$bloc."' class='bloc $colonne' >";
+				// poignÃ©e
+				echo "<div class='poignee'></div>";
+				echo "<span class='titre-bloc'>"._T("arty:".$bloc)."</span><br />";
+				if($proprietes['paramdescr']) {
+					echo "<p class='option-bloc'>"._T("arty:".$proprietes['paramdescr']);
+				}
+
+				if (preg_match("/^champ/",$proprietes['param'])) {
+					// en cas de champ : montrer le champ
+					echo "<input type='text' name='$bloc' class='selecteur-param' value='";
+					echo $proprietes['paramdefaut'];
+					echo "' style='width:100%' />";
+					echo "</p>";
+
+				} else if (preg_match("/^area/",$proprietes['param'])) {
+					// en cas de area : montrer le champ
+					echo "<textarea name='$bloc' class='selecteur-param' rows='4' style='width:100%'>";
+					echo $proprietes['paramdefaut'];
+					echo "</textarea>";
+					echo "</p>";
+
+				} else if ($proprietes['param'] !="") {
+					// en cas de parametre : montrer le selecteur
+					echo "<select name='$bloc' class='selecteur-param'>";
+
+					if (ereg("SELECT",$proprietes['param'])) {
+						$requete=spip_query($proprietes['param']);
+						while ($row=spip_fetch_array($requete)) {
+							echo "<option value='".$row[$proprietes['paramvalue']]."'>".$row[$proprietes['paramtext']]."</option>";
+						}
+
+					} else {
+						// c'est une liste separee par des virgules
+						$options=explode(",",$proprietes['param']);
+						foreach($options as $option) {
+							echo "<option value='$option'";
+							if ( trim(strval($option))==trim(strval($proprietes['paramdefaut'])) ) { echo "selected='selected'"; }
+							echo ">"._T("arty:$option")."</option>";
+
+						}
+					}
+
+					echo "</select></p>";
+				}
+
+				echo "</li>\n";
+			}
+		}
+		echo "</ul>\n";
+
+		if($colonne=='avance'){
+			echo "</div>\n";
+		}
+	}
+
+	echo "<br class='clearer' />";
+	echo "<div id='bloc_sauver'>";
+	echo "<div id='reponse'></div>";
+	echo "<img src='"._DIR_IMG_PACK."searching.gif' id='search' style='visibility:hidden' />";
+	
+	echo "<a href=\"javascript:sauver('".$gabarit."'";
+
+	if ($_POST['retour']){
+		// si un retour vers une page est prevu
+		echo ",'".$_POST['retour']."');\">";
+		echo _T("arty:modifier_et_retour");
+	} else {
+		echo ");\">"._T("arty:enregister");
+	}
+	
+	//echo "<a href=\"javascript:void(0)\" onclick=\"return AjaxSqueeze('?exec=gabarit&action=enregistrer_gabarit','reponse','',event)\">"._T("arty:enregister")."</a>";
+	echo "</a></div>";
+	echo "</div>\n";
+}
+
+function testexist($nom, $liste) {
+	$return=FALSE;
+	foreach($liste as $bloc) {
+		if ($bloc['content']==$nom) {
+			$return=TRUE;
+		}
+	}
+	return $return;
+}
+
+function comparerblocs ($a, $b) {
+	if ($a['ordre'] == $b['ordre']) return 0;
+	return ($a['ordre'] < $b['ordre']) ? -1 : 1;
+}
+
+function lister_associations_gabarit($gabarit)
+{
+
+	if ($_GET['action_form'] == 'delete_assoc_gabarit' && $_GET['id_check'] == $_SESSION['id_check']) {
+		$type = isset($_GET['type']) ? addslashes($_GET['type']) : false;
+		$id = isset($_GET['id']) ? (int) $_GET['id'] : false;
+		$theme = isset($_GET['gabarit']) ? addslashes($_GET['gabarit']) : false;
+		if ($type && $id && $theme) {
+			spip_query("DELETE FROM spip_arty_gabaritassoc WHERE type='$type' AND id=$id AND gabarit='$gabarit'");
+		}
+	}
+
+	echo "<div id=\"div_liste_assoc\">";
+	$result = spip_query("SELECT * FROM spip_arty_gabaritassoc WHERE gabarit='$gabarit'");
+
+	echo debut_cadre_couleur("doc-24.gif", true, "", _T('arty:liste_assoc_gabarit'));
+	echo "<div class='liste'><table border='0' cellspacing='0' cellpadding='3' width='100%'>";
+	if (spip_mysql_count($result) > 0) {
+		while ($row = spip_fetch_array($result)){
+			echo "<tr class='tr_liste'>";
+			$type = $row['type'];
+			$id = $row['id'];
+			switch ($type) {
+				case "rubrique":
+					$rubrique = spip_fetch_array(spip_query("SELECT titre FROM spip_rubriques WHERE id_rubrique=$id"));
+					$titre = $rubrique['titre'];
+					$url="?exec=naviguer&id_rubrique=$id";
+					break;
+
+				case "article":
+					$article = spip_fetch_array(spip_query("SELECT titre FROM spip_articles WHERE id_article=$id"));
+					$titre = $article['titre'];
+					$url="?exec=articles&id_article=$id";
+					break;
+
+				case "groupe":
+					$groupe = spip_fetch_array(spip_query("SELECT titre FROM spip_groupes_mots WHERE id_groupe=$id"));
+					$titre = $groupe['titre'];
+					$url="?exec=mots_tous";
+					break;
+
+				case "mot":
+					$mot = spip_fetch_array(spip_query("SELECT titre FROM spip_mots WHERE id_mot=$id"));
+					$titre = $mot['titre'];
+					$url="?exec=mots_tous&id_mot=$id";
+					break;
+			}
+
+			$gabarit = $row['gabarit'];
+			echo "<td class=\"arial1\"><a href=\"$url\">$titre</a></td>";
+			echo "<td class=\"arial1\"> ($type $id)</td>";
+			echo "<td class=\"arial1\"><div style='text-align:right;'><a class=\"supprimer\" href='".generer_url_ecrire('gabarit')."&amp;action_form=delete_assoc_gabarit&amp;id_check=".$_SESSION['id_check']."&amp;id=$id&amp;gabarit=$gabarit&amp;type=$type'><img src='../dist/images/croix-rouge.gif' alt='X' width='7' height='7' align='bottom' /></a></div></td>";
+			echo "</tr>";
+		}
+	} else { echo "<tr><td class=\"arial1\">"._T("arty:pas_de_page_associee")."</td></tr>"; }
+	echo "</table></div>";
+
+	echo fin_cadre_couleur(true);
+
+	echo "</div>";
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/menu.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/menu.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/menu.php	(revision 198)
@@ -0,0 +1,495 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+
+include_spip('inc/arty_selecteur');
+
+function exec_menu() {
+
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('arty:titre_options_menu').' &raquo;', 'configuration', 'magusine');
+
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+		echo "<p><b>"._T('arty:acces_a_la_page')."</b></p>";
+		fin_page();
+		exit;
+	}
+
+	if ($_GET['mode'] == "sauver") {
+		$types = array(
+      "r" => "rubrique",
+      "a" => "article",
+      "g" => "groupe",
+      "m" => "mot",
+		);
+
+		$langue_menu=$_GET['langue_menu'];
+		print_r($_POST);
+		print_r($_GET);
+		if ($_GET['niveaux'] == "flat") {
+			$valeurs_menu = array();
+			if (isset($_POST['selection'])) {
+				foreach($_POST['selection'] as $num => $element) {
+					$morceaux = array();
+					if ($element{0} == "l") {
+						$element=transcode($element);
+						if (eregi("^l([0-9]+)\|(.*)\|(.*)", $element, $morceaux)) {
+							$type = "lien";
+							$id = $morceaux[1];
+							$nom = $morceaux[2];
+							$url = $morceaux[3];
+							$num = (int) $num;
+							$valeurs_menu[] = "($num, '$type', $id, '$langue_menu', '$nom', '$url', 0)";
+						}
+					} else if (eregi("^(r|a|g|m)([0-9]+)$", $element, $morceaux)) {
+						$type = $types[$morceaux[1]];
+						$id = (int) $morceaux[2];
+						$num = (int) $num;
+						// ici ajout de la langue
+						$valeurs_menu[] = "($num, '$type', $id, '$langue_menu', '', '', 0)";
+					}
+				}
+			}
+			spip_query("DELETE FROM spip_arty_menu WHERE langue='$langue_menu'");
+			if (count($valeurs_menu)) {
+				$query = "INSERT INTO spip_arty_menu (ordre, type, id, langue, nom, url, id_parent) VALUES ".implode(", ", $valeurs_menu);
+				spip_query($query);
+			}
+			//die;
+			echo _T("arty:le_changement_a_ete_effectue");
+			return false;
+
+		} else if ($_GET['niveaux'] == "nested") {
+			$arty_cpt_lien = 0;
+			$valeurs_menu = array();
+			if (isset($_POST['selection'])) {
+
+				foreach($_POST['selection'] as $num => $element) {
+					$morceaux = array();
+					if ($element['id']{0} == "l") {
+							
+						$element['id']=transcode($element['id']);
+						echo "elem =-".$element['id']."----\n";
+						if (ereg("^l([0-9]+)\|(.*)\|(.*)", $element['id'], $morceaux)) {
+							$type = "lien";
+							$id = $morceaux[1];
+							$nom = $morceaux[2];
+							$url = $morceaux[3];
+							$num = (int) $num;
+							$valeurs_menu[] = "($num, '$type', $id, '$langue_menu', '$nom', '$url', 0, '')";
+							$arty_cpt_lien++;
+						}
+					} else if (eregi("^(r|a|g|m)([0-9]+)$", $element['id'], $morceaux)) {
+						$type = $types[$morceaux[1]];
+						$id = (int) $morceaux[2];
+						$num = (int) $num;
+						// ici ajout de la langue
+						$valeurs_menu[] = "($num, '$type', $id, '$langue_menu', '', '', 0, '')";
+					}
+					// sous_niveaux
+					$enfants = isset($element['children']) ? $element['children'] : false;
+					if (is_array($enfants) && isset($id) && isset($type)) {
+						$retour = valeursNiveauxR($enfants, $id, $type, $arty_cpt_lien);
+						$arty_cpt_lien = $retour[1];
+						$valeurs_menu = array_merge($valeurs_menu, $retour[0]);
+					}
+				}
+			}
+
+			spip_query("DELETE FROM spip_arty_menu WHERE langue='$langue_menu'");
+			if (count($valeurs_menu)) {
+				echo "INSERT INTO spip_arty_menu (ordre, type, id, langue, nom, url, id_parent, type_parent) VALUES ".implode(", ", $valeurs_menu);
+				$query = "INSERT INTO spip_arty_menu (ordre, type, id, langue, nom, url, id_parent, type_parent) VALUES ".implode(", ", $valeurs_menu);
+				spip_query($query);
+			}
+			//die;
+
+			echo _T("arty:le_changement_a_ete_effectue");
+			return false;
+
+		}
+	}
+
+	traiter_post();
+
+	echo barre_onglets("arty", "menu");
+	echo debut_gauche("", true);
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:choix_de_la_langue_menu'));
+	// selection de la langue du menu
+	// recupÃ©rer dans le get
+	//print_r($GLOBALS['codes_langues']);
+	$langue_menu= $_GET['langue_menu'];
+	$leslangues_menu=explode(",",$GLOBALS['meta']['langues_utilisees']);
+
+	// par defaut ou si la langue passee n'est pas dans la liste: celle de la langue du site
+	//print_r($leslangues_menu);
+	if ($langue_menu=="" or !in_array($langue_menu, $leslangues_menu)) {
+		$langue_menu=$GLOBALS['meta']['langue_site'];
+	}
+	echo "<p>"._T("arty:si_pas_langue")."</p>";
+	echo "<form action='".generer_url_ecrire("menu")."' method='get'>";
+	echo '<select name="langue_menu" onchange="window.location.href=\'?exec=menu&amp;langue_menu=\'+this.options[this.selectedIndex].value;">';
+
+
+	foreach($leslangues_menu as $fullname) {
+		echo "<option value='$fullname' ".(($langue_menu==$fullname)?'selected="selected"':'').">".$GLOBALS['codes_langues'][$fullname]."</option>";
+	}
+	echo "</select>";
+
+	echo "</form>";
+
+	// choix des niveaux du menu
+	echo "<br /><p>"._T("arty:nombre_niveaux_menu")."</p>";
+
+
+	$resultat= spip_query("SELECT * FROM spip_arty_parametres WHERE parametre ='".$fullname."config_niveaux_menu'");
+	$resultat=spip_fetch_array($resultat);
+	//print_r($_POST);
+	//print_r($resultat);
+	if($resultat) {
+		$niveaux=$resultat['valeur'];
+		$langue=$resultat['valeur2'];
+		$lister_articles=$resultat['valeur3'];
+	} else {
+		$niveaux=1;
+		$langue=$GLOBALS['meta']['langue_site'];
+	}
+
+	echo "<form action='".generer_url_ecrire('menu')."' method='post'>\n";
+	echo "<input type='hidden' name='action_form' value='config_niveaux_menu' />";
+	echo "<input type='hidden' name='langue' value='$langue_menu' />";
+	echo "<p>"._T("arty:intro_niveaux_menu")."</p>";
+	echo "<br /><p>"._T("arty:intro_choix_niveaux")."</p>";
+	echo "<input id='niv1' type='radio' name='niveaux' value='1' ".(($niveaux=="1")?'checked="checked"':'')."> <label for='niv1'>"._T("arty:un_niveau")."</label><br />";
+	echo "<input id='niv2' type='radio' name='niveaux' value='2' ".(($niveaux=="2")?'checked="checked"':'')."> <label for='niv2'>"._T("arty:deux_niveaux")."</label><br />";
+	echo "<input id='nivn' type='radio' name='niveaux' value='n' ".(($niveaux=="n")?'checked="checked"':'')."> <label for='nivn'>"._T("arty:n_niveaux")."</label><br />";
+	echo "<br /><p>"._T("arty:intro_menu_manuel")."</p>";
+	echo "<input id='manuel' type='radio' name='niveaux' value='manuel' ".(($niveaux=="manuel")?'checked="checked"':'')."> <label for='manuel'>"._T("arty:manuel")."</label><br />";
+
+	echo "<br /><p>"._T("arty:intro_lister_articles")."</p>";
+	echo "<input id='lister_articles' type='checkbox' name='lister_articles' ".(($lister_articles=='on')?'checked="checked"':'')."> <label for='lister_articles'>"._T("arty:lister_articles")."</label><br />";
+
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+
+	echo "</form>";
+
+	echo fin_cadre_relief(true);
+
+	echo debut_droite("", true);
+	echo gros_titre(_T("arty:titre_options_menu"), "", false);
+	echo "<p class='intro'>"._T("arty:intro_menu")."</p>";
+
+	echo "<p class='titre' style='font-weight:bold;'>"._T("arty:menu_actuel")." : ".$GLOBALS['codes_langues'][$langue_menu]."</p>";
+
+	$noms_type_menu = array(
+    '1'      => 'arty:un_niveau',
+    '2'      => 'arty:deux_niveaux',
+    'n'      => 'arty:n_niveaux',
+    'manuel' => 'arty:manuel',
+	);
+
+	echo "<p class='titre' style='font-weight:bold;'>"._T('arty:type_de_menu')." : "._T($noms_type_menu[$niveaux])."</p>";
+
+	$tables_spip = array(
+    'rubrique' => array(
+        "table" => "spip_rubriques",
+        "colonne_id" => "id_rubrique",
+	),
+    'article' => array(
+        "table" => "spip_articles",
+        "colonne_id" => "id_article",
+	),
+    'groupe' => array(
+        "table" => "spip_groupes_mots",
+        "colonne_id" => "id_groupe",
+	),
+    'mot' => array(
+        "table" => "spip_mots",
+        "colonne_id" => "id_mot",
+	),
+	);
+
+	//echo "test";
+
+	echo '
+    <script type="text/javascript">
+    var traductions = new Object();
+    traductions["rubrique"] = "'._T('arty:rubrique').'";
+    traductions["article"] = "'._T('arty:article').'";
+    traductions["groupe"] = "'._T('arty:groupe').'";
+    traductions["mot"] = "'._T('arty:mot').'";   
+    </script>
+    ';  
+
+	if ($niveaux != "manuel") {
+
+		echo '
+    <script type="text/javascript">
+    var type_sortable = "flat";  
+    </script>
+    ';
+
+		echo '
+    <ul id="selection">
+    ';
+
+		$result = spip_query("SELECT * FROM spip_arty_menu WHERE id_parent = 0 AND langue='$langue_menu' ORDER BY ordre ASC");
+		if (!spip_mysql_count($result)){
+			$aucun_menu = true;
+		}
+		while ($row = spip_fetch_array($result)) {
+			if ($row['type'] != 'lien') {
+				$result2 = spip_query("SELECT titre FROM ".$tables_spip[$row['type']]['table']." WHERE ".$tables_spip[$row['type']]['colonne_id']." = ".$row['id']);
+				if (spip_mysql_count($result2)) {
+					$row2 = spip_fetch_array($result2);
+					echo '<li id="'.substr($row['type'], 0, 1).$row['id'].'" class="sortable">';
+					echo $row2["titre"];
+					echo " <span class='url_petit'>("._T('arty:'.$row['type']).")</span>";
+					echo ' <a href="javascript:supprimer(\'#'.substr($row['type'], 0, 1).$row['id'].'\')">x</a>';
+					echo "</li>";
+				} else {
+					spip_query("DELETE FROM spip_arty_menu WHERE id_menu = ".$row["id_menu"]);
+				}
+			} else {
+					
+				echo '<li id="l'.$row['id'].'|'.transcodeinv($row['nom']).'|'.transcodeinv($row['url']).'" class="sortable">';
+				echo $row["nom"];
+
+				echo " <span class='url_petit'>(".$row["url"].")</span>";
+				echo ' <a href="javascript:supprimer_lien(\'l'.$row['id']
+				.'|'.transcodeinv($row['nom']).'|'
+				. transcodeinv($row['url'])
+				.'\')">x</a>';
+				echo "</li>";
+			}
+		}
+
+		echo '</ul>';
+
+	} else if ($niveaux == "manuel") {
+
+		echo '
+    <script type="text/javascript">
+    var type_sortable = "nested";
+    </script>
+    ';
+
+		echo '
+    <ul id="selection">';
+		$result = spip_query("SELECT * FROM spip_arty_menu WHERE id_parent = 0 AND type_parent = '' AND langue='$langue_menu' ORDER BY ordre ASC");
+		if (!spip_mysql_count($result)){
+			$aucun_menu = true;
+		}
+		while ($row = spip_fetch_array($result)) {
+			if ($row['type'] != 'lien') {
+				$result2 = spip_query("SELECT titre FROM ".$tables_spip[$row['type']]['table']." WHERE ".$tables_spip[$row['type']]['colonne_id']." = ".$row['id']);
+				if (spip_mysql_count($result2)) {
+					$row2 = spip_fetch_array($result2);
+					echo '<li id="'.substr($row['type'], 0, 1).$row['id'].'" class="sortable">';
+					echo $row2["titre"];
+					echo " <span class='url_petit'>("._T('arty:'.$row['type']).")</span>";
+					echo ' <a href="javascript:supprimer(\'#'.substr($row['type'], 0, 1).$row['id'].'\')">x</a>';
+
+					afficherNiveauxR($row['id'], $row['type'], $langue_menu);
+
+					echo "</li>";
+				} else {
+					spip_query("DELETE FROM spip_arty_menu WHERE id_menu = ".$row["id_menu"]);
+				}
+			} else {
+
+				$row['id']=transcodeinv($row['id']);
+				echo '<li id="l'.$row['id'].'|'.transcodeinv($row['nom']).'|'.transcodeinv($row['url']).'" class="sortable">';
+
+				echo $row["nom"];
+				echo " <span class='url_petit'>(".$row["url"].")</span>";
+				echo ' <a href="javascript:supprimer_lien(\'l'.$row['id'].'|'.transcodeinv($row['nom']).'|'.transcodeinv($row['url']).'\')">x</a>';
+
+				afficherNiveauxR($row['id'], $row['type'], $langue_menu);
+
+				echo "</li>";
+			}
+		}
+		echo '</ul>';
+
+	}
+
+	if (isset($aucun_menu)){
+		echo '
+    <script type="text/javascript">
+      var type_sortable = "aucun";
+    </script>
+    ';
+		echo '<p id="avis_menu_auto">'._T('arty:avis_menu_auto').'</p>';
+	}
+
+	echo "<div id='bloc_sauver'>";
+	echo "<img src='"._DIR_IMG_PACK."searching.gif' id='search' style='visibility:hidden' />";
+	echo '<a href="javascript:sauver(\''.$langue_menu.'\');">sauver</a>';
+	echo "<div id='reponse'></div>";
+	echo "</div>";
+
+	echo "<p class='titre' style='font-weight:bold;'>"._T("arty:menu_reservoir").":</p>";
+
+	$args = array(
+    "exec" => "menu",
+    "ajouter" => "menu",
+	);
+	afficher_selecteur($args);
+	afficher_selecteur_mots($args);
+
+	// ajout d'une url
+	echo "<form><div id='ajout_lien'><div id='ajout_lien_contenu'>";
+	echo "<p>"._T("arty:ajouter_un_lien").":</p>";
+	echo "<label for='nom_lien'>"._T("arty:nom_lien")."</label>";
+	echo "<input id='nom_lien' type='text' size='30' name='nom' />";
+	echo "<br />";
+	echo "<label for='url_lien'>"._T("arty:url_lien")."</label>";
+	echo "<input id='url_lien' type='text' size='53' name='url' />";
+	echo "<br />";
+	echo "<a href='javascript:ajouter_lien()'>"._T('arty:ajouter_ce_lien')."</a>";
+	echo "</div></div>";
+	echo "</form>";
+
+	echo fin_gauche();
+	echo fin_page();
+
+}
+
+function transcode($chaine){
+	// dehacke le probleme du hash sur les lien et apostrophes
+	$base = array("tttirrr", "aaapooo", "ggguiii");
+	$transcode = array("-", "'", "\"");
+	$chaine = addslashes(str_replace($base, $transcode, $chaine));
+	return $chaine;
+}
+
+function transcodeinv($chaine){
+	// dehacke le probleme du hash sur les lien et apostrophes
+	$base = array("-", "'", "\"");
+	$transcode = array("tttirrr", "aaapooo", "ggguiii");
+	$chaine = str_replace($base, $transcode, $chaine);
+	return $chaine;
+}
+
+function traiter_post() {
+	//print_r($_POST);
+
+	if($_POST['action_form'] == 'config_niveaux_menu') {
+		$niveaux = addslashes($_POST['niveaux']);
+		$langue = addslashes($_POST['langue']);
+		$lister_articles=addslashes($_POST['lister_articles']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre = '".$langue."config_niveaux_menu'");
+		if(!spip_mysql_count($resultat)) {
+			spip_query("INSERT INTO spip_arty_parametres (parametre, valeur, valeur2, valeur3) VALUES ('".$langue."config_niveaux_menu' ,'$niveaux', '$langue', '$lister_articles')");
+		} else {
+			spip_query("UPDATE spip_arty_parametres SET valeur= '$niveaux', valeur2='$langue', valeur3='$lister_articles' WHERE parametre = '".$langue."config_niveaux_menu'");
+		}
+	}
+}
+
+function valeursNiveauxR($elements, $id_parent, $type_parent, $arty_cpt_lien)
+{
+	$types = array(
+    "r" => "rubrique",
+    "a" => "article",
+    "g" => "groupe",
+    "m" => "mot",
+	);
+	$langue_menu = $_GET['langue_menu'];
+	$valeurs_menu = array();
+
+	foreach($elements as $num_element => $element) {
+		$morceaux = array();
+		if ($element['id']{0} == "l") {
+			$element['id']=transcode($element['id']);
+			if (ereg("^l([0-9]+)\|(.*)\|(.*)$", $element['id'], $morceaux)) {
+				$type = "lien";
+				$id = $morceaux[1];
+				$nom = $morceaux[2];
+				$url = $morceaux[3];
+				$num = (int) $num;
+				$valeurs_menu[] = "($num_element, '$type', $id, '$langue_menu', '$nom', '$url', $id_parent, '$type_parent')";
+				$id = $arty_cpt_lien;
+				$arty_cpt_lien++;
+			}
+		} else if (eregi("^(r|a|g|m)([0-9]+)$", $element['id'], $morceaux)) {
+			$type = $types[$morceaux[1]];
+			$id = (int) $morceaux[2];
+			$num = (int) $num;
+			$valeurs_menu[] = "($num_element, '$type', $id, '$langue_menu', '', '', $id_parent, '$type_parent')";
+		}
+		$enfants = isset($element['children']) ? $element['children'] : false;
+		if (is_array($enfants) && isset($id) && isset($type)) {
+			$retour = valeursNiveauxR($enfants, $id, $type, $arty_cpt_lien);
+			$arty_cpt_lien = $retour[1];
+			$valeurs_menu = array_merge($valeurs_menu, $retour[0]);
+		}
+	}
+	return array($valeurs_menu, $arty_cpt_lien);
+}
+
+function afficherNiveauxR($id_parent, $type_parent, $langue_menu)
+{
+	$tables_spip = array(
+    'rubrique' => array(
+        "table" => "spip_rubriques",
+        "colonne_id" => "id_rubrique",
+	),
+    'article' => array(
+        "table" => "spip_articles",
+        "colonne_id" => "id_article",
+	),
+    'groupe' => array(
+        "table" => "spip_groupes_mots",
+        "colonne_id" => "id_groupe",
+	),
+    'mot' => array(
+        "table" => "spip_mots",
+        "colonne_id" => "id_mot",
+	),
+	);
+
+	$enfants = spip_query("SELECT * FROM spip_arty_menu WHERE id_parent = $id_parent AND type_parent='$type_parent' AND langue='$langue_menu' ORDER BY ordre ASC");
+	if (spip_mysql_count($enfants)) {
+		echo '<ul style="padding-left: 30px; padding-right: 0pt;">';
+		while($row_enfant = spip_fetch_array($enfants)) {
+			if ($row_enfant['type'] != 'lien') {
+				$result2 = spip_query("SELECT titre FROM ".$tables_spip[$row_enfant['type']]['table']." WHERE ".$tables_spip[$row_enfant['type']]['colonne_id']." = ".$row_enfant['id']);
+				if (spip_mysql_count($result2)) {
+					$row2 = spip_fetch_array($result2);
+					echo '<li id="'.substr($row_enfant['type'], 0, 1).$row_enfant['id'].'" class="sortable">';
+					echo $row2["titre"];
+					echo " <span class='url_petit'>("._T('arty:'.$row_enfant['type']).")</span>";
+					echo ' <a href="javascript:supprimer(\'#'.substr($row_enfant['type'], 0, 1).$row_enfant['id'].'\')">x</a>';
+					afficherNiveauxR($row_enfant['id'], $row_enfant['type'], $langue_menu);
+					echo "</li>";
+				} else {
+					spip_query("DELETE FROM spip_arty_menu WHERE id_menu = ".$row_enfant["id_menu"]);
+				}
+			} else {
+				echo '<li id="l'.$row_enfant['id'].'|'.transcodeinv($row_enfant['nom']).'|'.transcodeinv($row_enfant['url']).'" class="sortable">';
+				echo $row_enfant["nom"];
+				echo " <span class='url_petit'>(".$row_enfant["url"].")</span>";
+				echo ' <a href="javascript:supprimer_lien(\'l'.$row_enfant['id'].transcodeinv($row_enfant['nom']).'|'.transcodeinv($row_enfant['url']).'\')">x</a>';
+				afficherNiveauxR($row_enfant['id'], $row_enfant['type'], $langue_menu);
+				echo "</li>";
+			}
+		}
+		echo '</ul>';
+	}
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/theme.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/theme.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/exec/theme.php	(revision 198)
@@ -0,0 +1,478 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+include_spip('inc/xml-parser');
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+include_spip('inc/presentation');
+include_spip('inc/filtres_images_mini');
+
+
+function exec_theme() {
+
+	$commencer_page = charger_fonction('commencer_page', 'inc');
+	echo $commencer_page('&laquo; '._T('arty:choix_du_theme').' &raquo;', 'configuration', 'magusine');
+	
+	global $connect_statut;
+	if ($connect_statut != "0minirezo" ) {
+		echo "<p><b>"._T('arty:acces_a_la_page')."</b></p>";
+		fin_page();
+		exit;
+	}
+
+	traiter_post();
+	$params= charger_parametres_gen();
+
+	echo barre_onglets("arty", "theme");
+	echo debut_gauche('', true);
+	echo debut_cadre_relief(_DIR_PLUGIN_ARTY.'/images/aide.png', true, "", _T('arty:info'));
+	echo _T("arty:sideinfo_theme");
+	echo fin_cadre_relief(true);
+	echo lister_associations();
+	echo creer_colonne_droite('', true);
+	echo debut_droite('', true);
+	echo gros_titre(_T("arty:choix_du_theme"), "", false);
+
+	//liste des themes disponibles
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."/images/config.png", true, "", _T('arty:choixtheme'));
+	listage_themes();
+	echo fin_cadre_trait_couleur(true);
+
+	echo "<br />";
+	// suite : footer, metas, 404
+
+	// affiche le formulaire d'upload du bandeau
+
+
+	formulaire_bandeau();
+
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/format-indent-more.png", true, "", _T('arty:footer'));
+	echo _T('arty:votre_message_de_footer');
+	echo "<form action='".generer_url_ecrire('theme')."' method='post'>\n";
+	if (!in_array("footer", array_keys($params))) { $params['footer']=""; }
+	echo "<textarea name='footer' cols='50' rows='3'>".htmlspecialchars($params['footer'])."</textarea>";
+
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+
+
+
+	echo "<br />";
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/format-indent-more.png", true, "", _T('arty:logos_bailleurs'));
+	echo _T('arty:intro_afficher_logos_bailleurs');
+	echo "<form action='".generer_url_ecrire('theme')."' method='post'>\n";
+	if (!in_array("logos_bailleurs", array_keys($params))) { $params['logos_bailleurs']="true"; }
+	echo "<input type='radio' name='logos_bailleurs' value='true' ".($params['logos_bailleurs'] == "true" ? 'checked="checked"' : '')." />";
+	echo _T('arty:afficher_logos')."<br />";
+	echo "<input type='radio' name='logos_bailleurs' value='false' ".($params['logos_bailleurs'] == "true" ? '' : 'checked="checked"')." />";
+	echo _T('arty:ne_pas_afficher_logos')."<br />";
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+	echo "<br />";
+
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/format-indent-more.png", true, "", _T('arty:metas'));
+	echo _T('arty:vos_metas');
+	echo "<form action='".generer_url_ecrire('theme')."' method='post'>\n";
+	echo "<input type='hidden' name='action_form' value='metas' />";
+
+	echo "<div id='metas'>";
+	if (!count($params['metas'])) {
+		$id_meta = uniqid("");
+		echo "<table class='meta' id='meta$id_meta'>";
+		echo "<tr><td><label for='metatype$id_meta' class='label_meta'>"._T('arty:type_meta')."</label></td>";
+		echo "<td><input type='text' size='15' id='metatype$id_meta' name='metas[$id_meta][type]' /></td></tr>";
+		echo "<tr><td><label for='metavaleur$id_meta' class='label_meta'>"._T('arty:valeur_meta')."</label></td>";
+		echo "<td><input type='text' size='40' id='metavaleur$id_meta' name='metas[$id_meta][valeur]' />";
+		echo "<a href='javascript:supprimerMeta(\"$id_meta\");'><img style='padding:3px;' src='"._DIR_IMG_PACK."/croix-rouge.gif' title='"._T('arty:supprimer')."' alt='x' /></a>";
+		echo "</td></tr></table>";
+	} else {
+		foreach($params['metas'] as $meta) {
+			$id_meta = uniqid("");
+			echo "<table class='meta' id='meta$id_meta'>";
+			echo "<tr><td><label for='metatype$id_meta' class='label_meta'>"._T('arty:type_meta')."</label></td>";
+			echo "<td><input type='text' size='15' id='metatype$id_meta' name='metas[$id_meta][type]' value='".$meta['type']."' /></td></tr>";
+			echo "<tr><td><label for='metavaleur$id_meta' class='label_meta'>"._T('arty:valeur_meta')."</label></td>";
+			echo "<td><input type='text' size='40' id='metavaleur$id_meta' name='metas[$id_meta][valeur]' value='".$meta['valeur']."' />";
+			echo "<a href='javascript:supprimerMeta(\"$id_meta\");'><img style='padding:3px;' src='"._DIR_IMG_PACK."/croix-rouge.gif' title='"._T('arty:supprimer')."' alt='x' /></a>";
+			echo "</td></tr></table>";
+		}
+	}
+	echo "</div>";
+
+	echo "<a href='javascript:ajouterMeta()'>"._T('arty:ajouter_meta')."</a>";
+
+	echo "<script language='javascript'>";
+	echo "function ajouterMeta(){
+    ran = Math.floor(Math.random()*100000000);
+    jQuery('#metas').append(\"";
+	echo "<table class='meta' id='meta\"+ran+\"'>";
+	echo "<tr><td><label for='metatype\"+ran+\"' class='label_meta'>"._T('arty:type_meta')."</label></td>";
+	echo "<td><input id='metatype\"+ran+\"' type='text' size='15' name='metas[\"+ran+\"][type]' /></td></tr>";
+	echo "<tr><td><label for='metavaleur\"+ran+\"' class='label_meta'>"._T('arty:valeur_meta')."</label></td>";
+	echo "<td><input id='metavaleur\"+ran+\"' type='text' size='40' name='metas[\"+ran+\"][valeur]' />";
+	echo "<a href=\\\"javascript:supprimerMeta('\"+ran+\"');\\\"><img style='padding:3px;' src='"._DIR_IMG_PACK."/croix-rouge.gif' title='"._T('arty:supprimer')."' alt='x' /></a>";
+	echo "</td></tr></table>";
+	echo "\"
+    );
+  }";
+	echo "</script>";
+
+	echo "<script language='javascript'>";
+	echo "function supprimerMeta(meta) {
+    jQuery('#meta'+meta).remove();
+  }";
+	echo "</script>";
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+	
+	echo "<br />";
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."images/emblem-important.png", true, "", _T('arty:page_404'));
+	echo _T('arty:votre_message_page_404');
+	echo "<form action='".generer_url_ecrire('theme')."' method='post'>\n";
+
+	$resultat= spip_query("SELECT * FROM spip_arty_parametres WHERE parametre='404'");
+	if ($resultat) {
+		$le404=spip_fetch_array($resultat);
+		//print_r($le404);
+	} else {
+		$le404['valeur']="";
+		$le404['valeur2']="";
+
+	}
+
+	echo "<input type='hidden' name='action_form' value='404' />";
+	echo "<input type='text' name='titre404' value='".htmlspecialchars($le404['valeur'])."' />";
+	echo "<textarea name='texte404' cols='50' rows='3'>".htmlspecialchars($le404['valeur2'])."</textarea>";
+	echo "<br /><input type='submit' value='"._T("arty:enregistrer")."' class='fondo' />";
+	echo "</form>";
+	echo fin_cadre_trait_couleur(true);
+
+	echo fin_gauche();
+
+	echo fin_page();
+
+}
+
+
+//liste des thÃšmes dans le rÃ©pertoire theme
+function listage_themes()
+{
+
+	$params= charger_parametres();
+	$ignore_liste = Array(".svn", ".", "..",".DS_Store");
+	$rep = _DIR_PLUGIN_ARTY."themes";
+
+	// affiche le theme courant
+	echo "<div class='theme-actuel'><h4>"._T("arty:theme_actuel")."</h4>";
+	$letheme = explode("|", $params);
+	if (file_exists($rep.'/'.$letheme[0].'/theme.xml')) {
+		$p =& new xmlParser();
+		$p->parse($rep.'/'.$letheme[0].'/theme.xml');
+		if (file_exists($rep.'/'.$letheme[0].'/illu-theme.jpg')) {
+			$vignette = "<img src=".$rep.'/'.$letheme[0].'/illu-theme.jpg'." class='vignette-theme' />";
+		}
+		$descrip = $p->output[0]['child'][1]['content'];
+		foreach($p->output[0]['child'] as $prop) {
+			if ($prop['name'] == "TITRE") {
+				$titre_theme = $prop['content'];
+			}
+		}
+		if (count($letheme) > 1) {
+			$nom_decli = ereg_replace("\.css$", "", $letheme[1]);
+			if (file_exists($rep.'/'.$letheme[0].'/declinaisons/illu-theme-'.$nom_decli.'.jpg')) {
+				$vignette = "<img src=".$rep.'/'.$letheme[0].'/declinaisons/illu-theme-'.$nom_decli.'.jpg'." class='vignette-theme' />";
+			}
+			foreach($p->output[0]['child'] as $prop) {
+				if ($prop['name'] == "DECLINAISON") {
+					 
+					if($prop['attrs']['CHEMIN'] == $letheme[1]) {
+						$titre_declinaison = " ("._T("arty:en_declinaison")." ".$prop['attrs']['TITRE']." )";
+						// recherche de la description
+						foreach($prop['child'] as $num => $propdescr) {
+							if ($propdescr['name'] == "DESCRIPTION") {
+								$descrip = $propdescr['content'];
+							}
+						}
+							
+					}
+					 
+				}
+			}
+		}
+		if (!isset($titre_declinaison) && count($letheme) > 1) {
+			$titre_declinaison = " ("._T("arty:en_declinaison")." ".$letheme[1]." )";
+		}
+	}
+	echo "<h5>";
+	echo isset($titre_theme) ? $titre_theme : $letheme[0];
+	echo isset($titre_declinaison) ? $titre_declinaison : '' ;
+	echo "</h5>";
+	echo isset($vignette) ? $vignette : '';
+	echo isset($descrip) ? $descrip : '';
+	echo "<div class='clearer'></div></div>";
+
+
+
+	$ignore_liste = Array(".svn", ".", "..",".DS_Store");
+	$rep = _DIR_PLUGIN_ARTY."themes";
+	$handle = opendir($rep);
+	print('<form action="?exec=theme" method="post">');
+	while($fichier = readdir($handle)) {
+
+		if (in_array($fichier, $ignore_liste)) {
+		} else if (is_dir($rep.'/'.$fichier)) {
+
+			 
+			if (file_exists($rep.'/'.$fichier.'/theme.xml')) {
+				 
+				 
+				$p =& new xmlParser();
+				$p->parse($rep.'/'.$fichier.'/theme.xml');
+
+				//print_r($p->output);
+
+				echo "<div class='conteneur-theme'>\n";
+
+				// vignette des themes
+				if (file_exists($rep.'/'.$fichier.'/illu-theme.jpg')) {
+					$vignette =$rep.'/'.$fichier.'/illu-theme.jpg';
+				} else { $vignette=_T("arty:pas_de_vignette"); }
+
+				foreach($p->output[0]['child'] as $id => $tag) {
+					if ($tag['name'] == "TITRE") {
+						echo '<h5 class="theme_deplier" rel="'.$vignette.'">'.$tag["content"].'</h5>';
+						echo "\n";
+						echo "<div class=\"liste-declinaison\">";
+						echo "\n";
+						echo '<input id="'.$fichier.'" type="radio" '.(($params==$fichier)?'checked="checked"':'').' name="theme" value="'.$fichier.'"'.' class="declinaison" />';
+						echo '<label for="'.$fichier.'"  >'._T("arty:theme_base").'</label><br />';
+						echo "\n";
+					}
+
+					if ($tag['name'] == "DECLINAISON") {
+						echo '<input id="'.$fichier.$id.'" type="radio" '.(($params==$fichier."|".$tag["attrs"]["CHEMIN"])?'checked="checked"':'').' name="theme" value="'.$fichier."|".$tag["attrs"]["CHEMIN"].'"'.$checked.' class="declinaison" />';
+						echo '<label for="'.$fichier.$id.'">'.$tag["attrs"]["TITRE"].'</label><br />';
+						echo "\n";
+					}
+
+				}
+				echo "</div>\n";
+
+			}
+			echo "</div>\n";
+		}
+
+	}
+	echo '<br />';
+	//echo '<input type="hidden" name="action" value="changer_theme_principal" />';
+	echo '<input class="fondo" type="submit" value="'._T('arty:bouton_changer_theme').'" />';
+	print("</form>");
+	closedir($handle);
+}
+
+function traiter_post() {
+
+	if ($_POST['footer']) {
+
+		if ($_POST['footer']==""){
+			spip_query("DELETE FROM spip_arty_parametres WHERE parametre = 'footer'");
+		}
+
+		$value=addslashes($_POST['footer']);
+		$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre='footer'");
+		if (spip_mysql_count($resultat)) {
+			spip_query("UPDATE spip_arty_parametres SET valeur= '$value' WHERE parametre = 'footer'");
+		} else {
+			spip_query("INSERT INTO spip_arty_parametres(parametre, valeur) VALUES('footer', '$value')");
+		}
+
+	}
+	if ($_POST['action_form']=="404") {
+		$titre=addslashes($_POST['titre404']);
+		$texte=addslashes($_POST['texte404']);
+		if ($titre=="" && $texte=="") {
+			spip_query("DELETE FROM spip_arty_parametres WHERE parametre='404'");
+		} else {
+			spip_query("INSERT INTO spip_arty_parametres(parametre, valeur, valeur2) VALUES('404', '$titre', '$texte')");
+			spip_query("UPDATE spip_arty_parametres SET valeur= '$titre', valeur2='$texte' WHERE parametre = '404'");
+		}
+	}
+
+	if ($_POST['action_form']=="metas") {
+		spip_query("DELETE FROM spip_arty_parametres WHERE parametre LIKE '%metas'");
+		$metas = $_POST['metas'];
+		if (is_array($metas)) {
+			$i = 0;
+			foreach($metas as $meta) {
+				if ($meta['type'] && $meta['valeur']) {
+					$meta['valeur']=htmlspecialchars($meta['valeur'], ENT_QUOTES);
+					$meta['type']=htmlspecialchars($meta['type'], ENT_QUOTES);
+					spip_query("INSERT INTO spip_arty_parametres (parametre, valeur, valeur2) VALUES ('".$i."metas', '".$meta['type']."', '".$meta['valeur']."')");
+					$i++;
+				}
+			}
+		}
+	}
+
+	foreach($_POST as $key => $value) {
+		if ($key=='theme') {
+			$value=addslashes($value);
+			$resultat=spip_query("SELECT * FROM spip_arty_themeassoc WHERE id=0 AND type='rubrique'");
+			if (spip_mysql_count($resultat)) {
+				spip_query("UPDATE spip_arty_themeassoc SET theme= '$value' WHERE id=0 AND type='rubrique'");
+			} else {
+				spip_query("INSERT INTO spip_arty_themeassoc(id, type, theme) VALUES(0, 'rubrique', '$value')");
+			}
+		}
+
+		if ($key == 'bloc_reseau' || $key == 'logos_bailleurs') {
+			$value = addslashes($value);
+			$resultat = spip_query("SELECT * FROM spip_arty_parametres WHERE parametre='$key'");
+			if (spip_mysql_count($resultat)) {
+				spip_query("UPDATE spip_arty_parametres SET valeur = '$value' WHERE parametre='$key'");
+			} else {
+				spip_query("INSERT INTO spip_arty_parametres(parametre, valeur) VALUES ('$key', '$value')");
+			}
+		}
+
+	}
+}
+
+function charger_parametres() {
+	$resultat= spip_query("SELECT * FROM spip_arty_themeassoc WHERE id=0 AND type='rubrique'");
+	if (spip_mysql_count($resultat)) {
+		while ($row=spip_fetch_array($resultat)) {
+			$theme = $row['theme'];
+		}
+	} else {
+		$theme = "";
+	}
+
+	return $theme;
+}
+
+function charger_parametres_gen() {
+	$params=array();
+	$resultat= spip_query("SELECT * FROM spip_arty_parametres");
+	if (spip_mysql_count($resultat)) {
+		while ($row=spip_fetch_array($resultat)) {
+			if (ereg("metas$",$row['parametre'])) {
+				$params["metas"][] = array("type" => $row['valeur'], "valeur" => $row['valeur2']);
+			} else {
+				$params[$row['parametre']] = $row['valeur'];
+			}
+		}
+	}
+	return $params;
+}
+
+function formulaire_bandeau()
+{
+    echo "<div id=\"div_upload_bandeau\">";
+	echo debut_cadre_trait_couleur(_DIR_PLUGIN_ARTY."/images/uploadbandeau.png", true, "", _T('arty:titre_upload_bandeau'));
+	echo "<p>"._T('arty:intro_upload_bandeau')."</p>";
+
+	$bandeau_site = array(_DIR_IMG."/bandeau/bandeau-0.jpg",
+	                      _DIR_IMG."/bandeau/bandeau-0.png",
+	                      _DIR_IMG."/bandeau/bandeau-0.gif"
+	                      ); 
+	
+	foreach($bandeau_site as $filePath)
+	{
+		if (file_exists($filePath) )
+		{
+	        $bandeau_actuel = $filePath;
+	    }        
+	}
+	
+	if($bandeau_actuel )
+	{
+	    list($rWidth, $rHeight, $rType, $rAttr) = getimagesize($bandeau_actuel);
+		$ratioImg = image_ratio($rWidth,$rHeight,350,250);
+		
+		echo "<div style=\"text-align:center\">";
+		echo "<img src=\"".$bandeau_actuel."\" alt=\"\" width=\"".$ratioImg[0]."\" height=\"".$ratioImg[1]."\" /><br/>";
+		echo "&#91;<a href=\"javascript:void(0);\" onclick=\"return AjaxSqueeze('./?exec=theme&amp;id_rubrique=0&amp;action=supprimer_bandeau&amp;id_check=".$_SESSION["id_check"]."','bandeau_icone','',event);\">"._T("lien_supprimer")."</a>&#93;";
+	    echo "</div>";
+		
+	}else{
+	    # Formulaire Ã  la mode CVT
+	    $contexte = array('id_rubrique'=>0,'largeurMax'=>350,'hauteurMax'=>250);
+	    echo recuperer_fond('prive/upload_bandeau', $contexte);
+	}
+	
+	echo fin_cadre_trait_couleur(true);
+	echo "</div>";
+}
+
+function lister_associations()
+{
+
+	if ($_GET['action'] == 'delete_assoc' && $_GET['id_check'] == $_SESSION['id_check']) {
+		$type = isset($_GET['type']) ? addslashes($_GET['type']) : false;
+		$id = isset($_GET['id']) ? (int) $_GET['id'] : false;
+		$theme = isset($_GET['theme']) ? addslashes($_GET['theme']) : false;
+		if ($type && $id && $theme) {
+			spip_query("DELETE FROM spip_arty_themeassoc WHERE type='$type' AND id=$id AND theme='$theme'");
+		}
+	}
+
+	echo "<div id=\"div_liste_assoc\">";
+	$result = spip_query("SELECT * FROM spip_arty_themeassoc WHERE type!='rubrique' OR id!=0");
+	if (spip_mysql_count($result) > 0) {
+		echo debut_cadre_couleur("doc-24.gif", true, "", _T('arty:liste_assoc'));
+		echo "<div class='liste'><table border='0' cellspacing='0' cellpadding='3' width='100%'>";
+		while ($row = spip_fetch_array($result)){
+			echo "<tr class='tr_liste'>";
+			$type = $row['type'];
+			$id = $row['id'];
+			switch ($type) {
+				case "rubrique":
+					$rubrique = spip_fetch_array(spip_query("SELECT titre FROM spip_rubriques WHERE id_rubrique=$id"));
+					$titre = $rubrique['titre'];
+					break;
+
+				case "article":
+					$article = spip_fetch_array(spip_query("SELECT titre FROM spip_articles WHERE id_article=$id"));
+					$titre = $article['titre'];
+					break;
+
+				case "groupe":
+					$groupe = spip_fetch_array(spip_query("SELECT titre FROM spip_groupes_mots WHERE id_groupe=$id"));
+					$titre = $groupe['titre'];
+					break;
+
+				case "mot":
+					$mot = spip_fetch_array(spip_query("SELECT titre FROM spip_mots WHERE id_mot=$id"));
+					$titre = $mot['titre'];
+					break;
+			}
+
+			$theme = $row['theme'];
+			$nom_theme = ereg_replace("\|", " (", $theme);
+			$nom_theme = ereg_replace("\.css", ")", $nom_theme);
+			echo "<td class=\"arial1\">$titre</td>";
+			echo "<td class=\"arial1\">$nom_theme</td>";
+			echo "<td class=\"arial1\"><div style='text-align:right;'><a class=\"supprimer\" href='".generer_url_ecrire('theme')."&amp;action=delete_assoc&amp;id_check=".$_SESSION['id_check']."&amp;id=$id&amp;theme=$theme&amp;type=$type'><img src='../dist/images/croix-rouge.gif' alt='X' width='7' height='7' align='bottom' /></a></div></td>";
+			echo "</tr>";
+		}
+		echo "</table></div>";
+		echo fin_cadre_couleur(true);
+	}
+	echo "</div>";
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/administration.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/administration.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/administration.html	(revision 198)
@@ -0,0 +1,32 @@
+ <div[ class="(#ENV{divclass,spip-admin-bloc})"] dir="#LANG_DIR">[
+	<a href="(#ENV{analyser})" class="spip-admin-boutons"
+		id="analyser"><:analyse_xml:>[ ((#ENV{xhtml_error}))]</a>][
+	<a href="[(#ENV{voir_article})]" class="spip-admin-boutons"
+		id="voir_article"><:admin_modifier_article:>
+			((#ENV{id_article}))</a>][
+	<a href="[(#ENV{voir_breve})]" class="spip-admin-boutons"
+		id="voir_breve"><:admin_modifier_breve:>
+			((#ENV{id_breve}))</a>][
+	<a href="[(#ENV{voir_rubrique})]" class="spip-admin-boutons"
+		id="voir_rubrique"><:admin_modifier_rubrique:>
+			((#ENV{id_rubrique}))</a>][
+	<a href="[(#ENV{voir_mot})]" class="spip-admin-boutons"
+		id="voir_mot"><:admin_modifier_mot:>
+			((#ENV{id_mot}))</a>][
+	<a href="[(#ENV{voir_site})]" class="spip-admin-boutons"
+		id="voir_site"><:icone_modifier_site:>
+			((#ENV{id_syndic}))</a>][
+	<a href="[(#ENV{voir_auteur})]" class="spip-admin-boutons"
+		id="voir_auteur"><:admin_modifier_auteur:>
+			((#ENV{id_auteur}))</a>][
+	<a href="(#ENV{ecrire})" class="spip-admin-boutons"
+		id="ecrire"><:espace_prive:></a>]
+	<a href="[(#SELF|parametre_url{var_mode,#ENV{calcul}})]" class="spip-admin-boutons"
+		id="var_mode"><:admin_recalculer:>[(#ENV{use_cache})]</a>[
+	<a href="(#ENV{statistiques})" class="spip-admin-boutons"
+		id="statistiques">[<:info_visites:>&nbsp;(#ENV{visites})][;&nbsp;<:info_popularite_5:>&nbsp;(#ENV{popularite})]</a>][
+	<a href="(#ENV{preview})" class="spip-admin-boutons"
+		id="preview"><:previsualisation:></a>][
+	<a href="(#ENV{debug})" class="spip-admin-boutons"
+		id="debug"><:admin_debug:></a>]
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/forum.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/forum.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/forum.html	(revision 198)
@@ -0,0 +1,163 @@
+<div class="formulaire_spip formulaire_forum ajax" id="formulaire_forum">
+[(#REM) pour IE qui sinon se perd dans l'ajax !, ne pas retirer]<br class='bugajaxie' />
+
+[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+
+[(#ENV{login_forum_abo})
+<INCLURE{fond=formulaires/inc-login_forum_abo}{env} />
+]
+
+[(#ENV{editable})
+
+
+[(#REM)
+	Bloc de previsualisation du forum envoye
+
+	Si on valide la previsu, on n'envoie pas en ajax car, si le post reussit
+	il faudra certainement redessiner toute la page pour afficher le nouveau
+	forum
+
+][<form action="#ENV{action}#formulaire_forum" method="post" class="noajax">
+	<div>
+	[(#ACTION_FORMULAIRE{#ENV{action}})]
+	<input type='hidden' name='titre' value="#ENV{titre}" />
+	<input type='hidden' name='texte' value="#ENV{texte}" />
+	<input type='hidden' name='url_site' value="#ENV{url_site}" />
+	<input type='hidden' name='nom_site' value="#ENV{nom_site}" />
+	[<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
+	[(#INCLURE{fond=formulaires/inc-forum_ajouter_mot}{ajouter_mot})]
+	(#ENV*{erreurs}|table_valeur{previsu})
+	</div>
+</form>]
+
+
+<form action="#ENV{action}#formulaire_forum" method="post" enctype='multipart/form-data'><div>
+[(#ACTION_FORMULAIRE{#ENV{action}})]
+[<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
+[<fieldset>
+	<legend><:bouton_radio_modere_priori:></legend>
+	<p class="explication">(#ENV{modere})<:forum_info_modere:></p>
+</fieldset>]
+
+[(#ENV**{afficher_texte}|choixsiegal{'non', ' ',''})
+[<input type="hidden" name="titre" value="(#ENV{titre})" />]
+<p class="spip_bouton"><input type="submit" class="submit" value="<:forum_valider:>" /></p>]
+
+[(#ENV**{afficher_texte}|choixsiegal{'non', '',' '})
+
+	<fieldset>
+	<legend><:form_pet_message_commentaire:></legend>[
+	(#CONFIG{forums_titre}|!={non}|non)
+		<input type="hidden" name="titre" id="titre"[ value="(#ENV{titre})"] />
+	]<ul>
+	[<li class='saisie_mots_forum'>(#INCLURE{fond=formulaires/inc-forum_bloc_choix_mots}{table=#ENV*{table}}{ajouter_mot})</li>]
+
+[(#CONFIG{forums_titre}|!={non}|oui)
+	<li class='saisie_titre[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]'>
+		<label for="titre"><:forum_titre:></label>
+		[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{titre})</span>]
+		<input type="text" class="text" name="titre" id="titre"[ value="(#ENV{titre})"] size="60" />
+	</li>
+]
+
+[(#CONFIG{forums_texte}|!={non}|?{
+	<li class='saisie_texte[ (#ENV**{erreurs}|table_valeur{texte}|oui)erreur]'>
+		<label for='texte'><:forum_texte|typo:></label>
+		[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{texte})</span>]
+		<p class='explication'><:info_creation_paragraphe:></p>
+		[(#ENV**{config}|table_valeur{afficher_barre}|?{#VAL{texte}|barre_typo{#LANG,1}})]
+		<textarea name="texte" id="texte" rows="12" cols="60">[(#ENV{texte})]</textarea>
+	</li>
+})]
+	</ul></fieldset>
+
+[(#CONFIG{forums_urlref}|!={non}|?{
+	<fieldset>
+	<legend><:forum_lien_hyper:></legend>
+	<p class='explication'><:forum_page_url:></p>
+	<ul>
+	<li class='saisie_nom_site[ (#ENV**{erreurs}|table_valeur{nom_site}|oui)erreur]'><label for="nom_site"><:forum_titre:></label>
+	[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{nom_site})</span>]
+	<input type="text" class="text" name="nom_site" id="nom_site" size="40" value="[(#ENV{nom_site})]" /></li>
+	<li class='saisie_url_site[ (#ENV**{erreurs}|table_valeur{url_site}|oui)erreur]'><label for="url_site"><:forum_url:></label>
+	[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{url_site})</span>]
+	<input type="text" class="text" name="url_site" id="url_site" style="text-align: left;" dir="ltr" size="40" value="[(#ENV{url_site})]" /></li>
+	</ul></fieldset>
+})]
+
+[
+	<fieldset>
+	<legend><:bouton_ajouter_document:></legend>
+	<ul>
+	<li class='saisie_document_forum[ (#ENV**{erreurs}|table_valeur{document_forum}|oui)erreur]'>
+	[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{document_forum})</span>]
+	<input type="hidden" name="cle_ajouter_document" value="(#ENV{cle_ajouter_document})" />
+	[<div id="ajouter_document_up">(#ENV{ajouter_document})
+	<label for="supprimer_document_ajoute"><input type='checkbox' name='supprimer_document_ajoute' id='supprimer_document_ajoute' />
+	<:lien_supprimer:></label>
+	</div>]
+	<div>
+	[<label for="ajouter_document">(#ENV{formats_documents_forum}|join{', '})</label>]
+	<input class='file' type="file" name="ajouter_document" id="ajouter_document"[
+	accept="(#ENV{formats_documents_forum}|join{','})"] />
+	</div>
+
+	<script type='text/javascript'>
+	jQuery('#ajouter_document_up')
+	.next()
+		.hide()
+	.prev()
+	.find(':checkbox')
+	.bind('change', function(){
+		jQuery('#ajouter_document_up').hide().next().show();
+	})
+	;
+	</script>
+	</li>
+	</ul></fieldset>
+]
+
+	<INCLURE{fond=formulaires/inc-login_forum}{env} />
+
+	[(#REM) Piege a robots spammeurs ]
+	<p style="display: none;">
+		<label for="nobot_forum"><:antispam_champ_vide:></label>
+		<input type="text" class="text" name="nobot" id="nobot_forum" value="#ENV{nobot}" size="10" />
+	</p>
+	<p class="boutons"><input type="submit" class="submit" value="<:forum_voir_avant:>" /></p>
+]
+</div>
+</form>
+
+[(#REM)
+	Sauver les donnees du formulaire dans un cookie, si on quitte la page,
+	et les remettre quand on revient (dans les limites de 4ko etc)
+]
+<script type="text/javascript">/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
+if (window.jQuery)(function($){
+	$.getScript('[(#CHEMIN{javascript/jquery.cookie.js}|url_absolue)]',
+	function(){
+		var a = $.cookie('spip_contenu_formulaire_#ENV{_sign}');
+		var saveauto = true;
+		if (a) {
+			$('#formulaire_forum textarea#EVAL{chr(91)}name=texte#EVAL{chr(93)}')
+			.val(a);
+			$.cookie('spip_contenu_formulaire_#ENV{_sign}', null);
+		}
+		$('#formulaire_forum form')
+		.bind('submit', function() {
+			saveauto = false;
+		});
+		$(window)
+		.bind('unload', function(){
+			if (saveauto)
+			$.cookie('spip_contenu_formulaire_#ENV{_sign}',
+				$('#formulaire_forum textarea#EVAL{chr(91)}name=texte#EVAL{chr(93)}').val()
+			);
+		});
+	});
+}(jQuery));
+/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>
+]
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/menu_lang.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/menu_lang.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/menu_lang.html	(revision 198)
@@ -0,0 +1,12 @@
+<a name="formulaire_menu_lang" id="formulaire_menu_lang"></a>
+<h2><:info_langues:></h2>
+<ul class="listageconteneur"><li><form method="post" action="#ENV{url}">
+	[(#ENV{url}|form_hidden)]
+	<label for="#ENV{nom}"></label>
+	<select class="forml" name="#ENV{nom}" id="#ENV{nom}" onchange="document.location.href='#ENV{url}&amp;#ENV{nom}='+this.options[this.selectedIndex].value">
+	#ENV*{langues}
+	</select>
+	<noscript><div style="display:inline;">
+		<input type="submit" value="&gt;&gt;" />
+	</div></noscript></li></ul>
+</form>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/recherche.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/recherche.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/recherche.html	(revision 198)
@@ -0,0 +1,8 @@
+<div class="formulaire_spip formulaire_recherche" id="formulaire_recherche">
+<form action="[(#ENV{action})]" method="get"><div>
+	[(#ENV{action}|form_hidden)]
+	[<input type="hidden" name="lang" value="(#ENV{lang})" />]
+	<input type="text" class="text" name="recherche" id="recherche"[ value="(#ENV{recherche})"] accesskey="4" />
+	<input type="submit" class="submit" value="&gt;&gt;" title="<:info_rechercher:>" />
+</div></form>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.html	(revision 198)
@@ -0,0 +1,23 @@
+[<p class='formulaire_erreur'>(#ENV*{message_erreur})</p>]
+[<p class='formulaire_erreur'>(#ENV*{message_ok}|table_valeur{message})</p>]
+<div id="bandeau_icone" style='text-align:center[(#ENV*{message_ok}|table_valeur{fichier_upload}|?{';displayblock',';display:none'})]'>
+
+<img src="[(#ENV*{message_ok}|table_valeur{fichier_upload})]" alt='' width="[(#ENV{message_ok}|table_valeur{largeur})]" height="[(#ENV{message_ok}|table_valeur{hauteur})]" />
+<p style="text-align:center">
+	&#91;<a href="javascript:void(0)" onclick="return AjaxSqueeze('#ENV{action}&amp;id_rubrique=#ENV{id_rubrique}&amp;action=supprimer_bandeau&amp;id_check=#ENV{id_check}','bandeau_icone','',event);"><:lien_supprimer:></a>&#93;
+</p>
+
+</div>
+<div style='[(#ENV*{message_ok}|table_valeur{fichier_upload}|?{'display:none','display:block'})]'>
+	<form action='[(#ENV{action})]' method='post' enctype='multipart/form-data'>
+	[(#ACTION_FORMULAIRE{"#ENV{action}"})]
+		<input id="bandeau" class="forml spip_xx-small" type="file" size="15" name="bandeau" style="width: 186px;" />
+		<input type="hidden" name="largeurMax" id="largeurMax" value="#ENV{largeurMax}" />
+		<input type="hidden" name="hauteurMax" id="hauteurMax" value="#ENV{hauteurMax}" />
+		<div style='text-align:right'>
+			<input class="fondo spip_xx-small" type="submit" value="<:bouton_telecharger:>" name="filesubmit" />
+		</div>
+	</form>
+</div> 
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/formulaires/upload_bandeau.php	(revision 198)
@@ -0,0 +1,88 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+// importe la fonction creer_repertoire_documents, qui retourne le chemin vers un dossier donnÃ© dans le rÃ©pertoire img, et le crÃ©e si nÃ©cessaire
+include_spip('inc/getdocument');
+include_spip('inc/filtres_images_mini');
+
+function formulaires_upload_bandeau_charger_dist($id_rubrique,$largeurMax,$hauteurMax)
+{ 
+    $valeurs = array(
+    	"id_rubrique" =>$id_rubrique,
+    	"id_check"    =>$_SESSION["id_check"],
+        "largeurMax"  =>$largeurMax,
+        "hauteurMax"  =>$hauteurMax
+    );
+
+    return $valeurs;
+}
+
+// gestion de l'upload d'un bandeau
+// les bandeaux sont sauvÃ©s sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associÃ©s Ã  une rubrique particuliÃšre 
+function formulaires_upload_bandeau_traiter_dist($id_rubrique,$largeurMax,$hauteurMax)
+{	
+	if (isset($_FILES["bandeau"])) {
+		if ($_FILES["bandeau"]["error"] == 0) {
+			$ext = strtolower(end(explode(".", $_FILES["bandeau"]["name"])));
+			$ext_ok = Array("jpg", "gif", "png");
+			if (!in_array($ext, $ext_ok)) {
+				return array('message_erreur'=>_T("arty:erreur_extension") );
+			}
+
+			$chem        = creer_repertoire_documents("bandeau");
+			$chem        = _DIR_IMG."bandeau/";
+			$nom_bandeau = "bandeau".((is_numeric($id_rubrique))?"-".$id_rubrique:"");
+			$dest        = $chem.$nom_bandeau.".".$ext;
+
+			$ok = false;
+			if ($chem) {
+				$ok = @move_uploaded_file($_FILES['bandeau']['tmp_name'], $dest);
+			}
+
+			if ($ok){
+				//nettoyage du dossier bandeau (les bandeaux portant le mÃªme nom mais une extension diffÃ©rente du bandeau uploadÃ© sont supprimÃ©s)
+				$handle = @opendir($chem);
+				while($fichier = @readdir($handle)) {
+					if (ereg("^$nom_bandeau\.(jpg|png|gif)$", $fichier) && $fichier != $nom_bandeau.".".$ext){
+						@unlink($chem.$fichier);
+					}
+				}
+				
+				$fichier_upload = $chem.$nom_bandeau.".".$ext;
+				
+				# calculer la nouvelle taille du bandeau
+				list($rWidth, $rHeight, $rType, $rAttr) = getimagesize($fichier_upload);
+				$ratioImg = image_ratio($rWidth,$rHeight,$largeurMax,$hauteurMax);
+				
+			
+				$valeurs["message_ok"]["message"] = "";
+				$valeurs["message_ok"]["hauteur"] = $ratioImg[1];
+				$valeurs["message_ok"]["largeur"] = $ratioImg[0];
+				$valeurs["message_ok"]["fichier_upload"] = $fichier_upload;
+				
+				return $valeurs;
+				
+			} else {
+				return array('message_erreur'=>_T("arty:upload_rate") );
+			}
+		} else if ($_FILES["bandeau"]["error"] == 1 || $_FILES["bandeau"]["error"] == 2) {
+			return array('message_erreur'=>_T("arty:erreur_trop_gros") );
+		} else if ($_FILES["bandeau"]["error"] == 3) {
+			return array('message_erreur'=>_T("arty:erreur_transmission") );
+		}
+	}
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/README.txt
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/README.txt	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/README.txt	(revision 198)
@@ -0,0 +1,34 @@
+Installation
+------------
+
+Follow these simple instructions to get IE7 working immediately on your server:
+
+ * download the latest IE7 ZIP file (https://sourceforge.net/project/showfiles.php?group_id=109983&package_id=119707)
+
+ * extract the contents to a directory on your server (keep the folder names used in the ZIP)
+
+ * you will now have an IE7 directory on your server
+
+ * include the IE7 JavaScript library in the page you wish to test
+
+   <!-- compliance patch for microsoft browsers -->
+   <!--[if lt IE 7]><script src="/ie7/ie7-standard-p.js" type="text/javascript"></script><![endif]-->
+
+ * make sure this also points to the same directory
+
+ * open the page in your web browser
+
+ * the page should now be IE7 enabled.
+
+ * if you are using the PNG solution then be aware that it operates on files
+   names "something-trans.png"
+
+ * see this page for more configuration and usage options:
+   http://dean.edwards.name/IE7/usage/
+
+You may extract the contents of the ZIP file to your hard disk if you do not have access to a web server.
+
+
+Enjoy ;-)
+
+Dean Edwards, 23rd May 2005
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-base64.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-base64.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-base64.php	(revision 198)
@@ -0,0 +1,7 @@
+<?php
+$data = split(";", $_SERVER["REDIRECT_QUERY_STRING"]);
+$type = $data[0];
+$data = split(",", $data[1]);
+header("Content-type: ".$type);
+echo base64_decode($data[1]);
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-content.htc
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-content.htc	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-content.htc	(revision 198)
@@ -0,0 +1,14 @@
+<html>
+<!--
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+-->
+<head>
+<object id="dummy" width="0" height="0"></object>
+<base id="base">
+<style type="text/css">html,body,img{margin:0;}img{vertical-align:top}#dummy{display:inline}</style>
+<script type="text/javascript">public_description=new function(){var l=false;this.ie7_anon=true;this.load=function(o,c,u){if(l)return;l=true;base.href=o.document.URL;dummy.style.cssText=c;var _0=o.parentElement;var _1=Boolean(dummy.currentStyle.display=="inline");function r(){o.runtimeStyle.width=(_1)?image.offsetWidth:"100%";o.runtimeStyle.height=body.offsetHeight};image.onreadystatechange=function(){if(this.readyState=="complete")_2()};image.src=u;function _2(){function copy(p){try{body.style[p]=_0.currentStyle[p]}catch(i){}};for(var j in body.currentStyle)copy(j);body.style.width="";body.style.height="";body.style.border="none";body.style.padding="0";body.style.margin="0";body.style.textIndent="";body.style.position="static";while(_0&&_0.currentStyle.backgroundColor=="transparent"){_0=_0.parentElement}if(_0)document.body.style.backgroundColor=_0.currentStyle.backgroundColor;body.runtimeStyle.cssText=c;body.runtimeStyle.margin="0";if(_1)body.runtimeStyle.width="";r()}}};</script>
+</head>
+<body><span id="body"><img id="image"></span></body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-core.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-core.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-core.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+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}('x(!1M.1j)z 6(){1l{1M.1j=8;4 1W=8.2m=z 26;8.O=6(){7"1j 2q 0.9 (5G)"};4 36=/36/.B(42.41.40);4 1G=(36)?6(m){1M.1G(1j+"\\n\\n"+m)}:1W;4 2t=5F.2t.1g(/5E (\\d\\.\\d)/)[1];4 2z=K.5D!="5C";x(/5B/.B(42.41.40)||2t<5||!/^5A/.B(K.1J.2A))7;4 1H=K.39=="1H";4 1t,5z;4 1J=K.1J,2s,3X,17=K.17;4 5y="!";4 22={};4 1u=1C;1j.2m=6(n,s){x(!22[n]){x(1u)1k("s="+2o(s));22[n]=z s()}};4 R=/^[\\w\\.]+[^:]*$/;6 1I(h,p){x(R.B(h))h=(p||"")+h;7 h};6 2e(h,p){h=1I(h,p);7 h.1d(0,h.3n("/")+1)};4 s=K.3Z[K.3Z.y-1];1l{1k(s.3z)}1i(i){}4 1R=2e(s.5x);4 1F;1l{4 l=(5w()>=5)?"5v":"5u";1F=z 5t(l+".5s")}1i(i){}4 2w={};6 2y(h,p){1l{h=1I(h,p);x(!2w[h]){1F.5r("5q",h,1C);1F.5p();x(1F.3Y==0||1F.3Y==5o){2w[h]=1F.5n}}}1i(i){1G("2x [1]: 30 5m 5l "+h)}37{7 2w[h]||""}};4 5k=1I("5j.5i",1R);6 1E(V){x(V!=1L){V.2v=13.16.2v;V.12=13.16.12}7 V};1E.12=6(p,c){x(!p)p={};x(!c)c=p.J;x(c=={}.J)c=z 26("8.2v()");c.Y=z 26("7 8");c.Y.16=z 8.Y;c.Y.16.12(p);c.16=z c.Y;c.Y.16.J=c.16.J=c;c.1r=8;c.12=F.32;c.2u=8.2u;7 c};1E.Y=z 26("7 8");1E.Y.16={J:1E,2v:6(){7 F.32.5h.1r.2k(8,F)},12:6(V){x(8==8.J.16&&8.J.12){7 8.J.Y.16.12(V)}D(4 i 5g V){2K(i){1o"J":1o"O":1o"Y":2X}x(2V V[i]=="6"&&V[i]!=8[i]){V[i].1r=8[i]}8[i]=V[i]}x(V.O!=8.O&&V.O!={}.O){V.O.1r=8.O;8.O=V.O}7 8}};6 13(){};8.13=1E.12({J:13,O:6(){7"[5f "+(8.J.2Z||"5e")+"]"},5d:6(1h){7 8.J==1h||1h.2u(8.J)}});13.2Z="13";13.1r=1L;13.2u=6(1h){1f(1h&&1h.1r!=8)1h=1h.1r;7 3J(1h)};13.Y.1r=1E;2a 8.13;4 3A=13.12({J:6(){8.5c=[];8.1p=[]},1s:1W});x(2t<5.5)1k(2y("Z-5b.3a",1R));4 35=1C;1j.1s=6(){1l{x(35)7;35=1H=1c;2s=K.2s;3X=(2z)?2s:1J;x(1K&&1t)1t.2k();15.2k();1n();1G("1u 5a")}1i(e){1G("2x [2]: "+e.38)}};4 1p=[];6 2C(r){1p.11(r)};6 1n(){H.3P();x(1K&&1t)1t.1n();15.1n();D(4 i=0;i<1p.y;i++)1p[i]()};6 23(){4 E=0,R=1,L=2;4 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,3Q=/\\\\./g,Q=/\'/,3W=/\\25[^\\25]*\\25/g;4 1X=8;8.18=6(e,r){x(!r)r="";4 l=(34(2o(e)).1g(G)||"").y+1;x(S.B(r)){x(I.B(r)){r=3e(r.1d(1))-1}1b{4 i=l;4 q=Q.B(34(r))?\'"\':"\'";1f(i)r=r.2S("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=z 26("a,o","7"+q+r.19(T,"$1")+q)}}3V(e||"/^$/",r,l)};8.1U=6(s){24.y=0;7 3R(3S(s,8.2r).19(z 1Z(1D,8.33?"2I":"g"),3T),8.2r).19(3W,"")};8.59=6(){1D.y=0};4 24=[];4 1D=[];4 3U=6(){7"("+2o(8[E]).1d(1,-1)+")"};1D.O=6(){7 8.2p("|")};6 3V(){F.O=3U;1D[1D.y]=F}6 3T(){x(!F[0])7"";4 i=1,j=0,p;1f(p=1D[j++]){x(F[i]){4 r=p[R];2K(2V r){1o"6":7 r(F,i);1o"58":7 F[r+i]}4 d=(F[i].57(1X.2r)==-1)?"":"\\25"+F[i]+"\\25";7 d+r}1b i+=p[L]}};6 3S(s,e){7 e?s.19(z 1Z("\\\\"+e+"(.)","g"),6(m,c){24[24.y]=c;7 e}):s};6 3R(s,e){4 i=0;7 e?s.19(z 1Z("\\\\"+e,"g"),6(){7 e+(24[i++]||"")}):s};6 34(s){7 s.19(3Q,"")}};23.16={J:23,33:1C,2r:""};13.12(23.16);4 1V=23.12({33:1c});4 H=6(){4 2q="2.0.2";4 C=/\\s*,\\s*/;4 H=6(s,14){1l{4 m=[];4 u=F.32.2Q&&!14;4 b=(14)?(14.J==3G)?14:[14]:[K];4 31=3D(s).2S(C),i;D(i=0;i<31.y;i++){s=2R(31[i]);x(3K&&s.1d(0,3).2p("")==" *#"){s=s.1d(2);14=3H([],b,s[1])}1b 14=b;4 j=0,t,f,a,c="";1f(j<s.y){t=s[j++];f=s[j++];c+=t+f;a="";x(s[j]=="("){1f(s[j++]!=")"&&j<s.y){a+=s[j]}a=a.1d(0,-1);c+="("+a+")"}14=(u&&1P[c])?1P[c]:3F(14,t,f,a);x(u)1P[c]=14}m=m.3t(14)}2a H.30;7 m}1i(e){H.30=e;7[]}};H.O=6(){7"6 H() {\\n  [2q "+2q+"]\\n}"};4 1P={};H.2Q=1C;H.3P=6(s){x(s){s=2R(s).2p("");2a 1P[s]}1b 1P={}};4 22={};4 1u=1C;H.2m=6(n,s){x(1u)1k("s="+2o(s));22[n]=z s()};H.Y=6(c){7 c?1k(c):8};4 1B={};4 2n={};4 56={1g:/\\[([\\w-]+(\\|[\\w-]+)?)\\s*(\\W?=)?\\s*([^\\]]*)\\]/};4 55=[];1B[" "]=6(r,f,t,n){4 e,i,j;D(i=0;i<f.y;i++){4 s=2l(f[i],t,n);D(j=0;(e=s[j]);j++){x(1q(e)&&2T(e,n))r.11(e)}}};1B["#"]=6(r,f,i){4 e,j;D(j=0;(e=f[j]);j++)x(e.1a==i)r.11(e)};1B["."]=6(r,f,c){c=z 1Z("(^|\\\\s)"+c+"(\\\\s|$)");4 e,i;D(i=0;(e=f[i]);i++)x(c.B(e.2Z))r.11(e)};1B[":"]=6(r,f,p,a){4 t=2n[p],e,i;x(t)D(i=0;(e=f[i]);i++)x(t(e,a))r.11(e)};2n["21"]=6(e){4 d=2U(e);x(d.2Y)D(4 i=0;i<d.2Y.y;i++){x(d.2Y[i]==e)7 1c}};2n["2N"]=6(e){};4 1q=6(e){7(e&&e.3B==1&&e.2P!="!")?e:1L};4 3N=6(e){1f(e&&(e=e.54)&&!1q(e))2X;7 e};4 2W=6(e){1f(e&&(e=e.53)&&!1q(e))2X;7 e};4 3L=6(e){7 1q(e.3O)||2W(e.3O)};4 52=6(e){7 1q(e.3M)||3N(e.3M)};4 51=6(e){4 c=[];e=3L(e);1f(e){c.11(e);e=2W(e)}7 c};4 3K=1c;4 2O=6(e){4 d=2U(e);7(2V d.3I=="50")?/\\.4Z$/i.B(d.4Y):3J(d.3I=="4X 4W")};4 2U=6(e){7 e.4V||e.K};4 2l=6(e,t){7(t=="*"&&e.1A)?e.1A:e.2l(t)};4 4U=6(e,t,n){x(t=="*")7 1q(e);x(!2T(e,n))7 1C;x(!2O(e))t=t.4T();7 e.2P==t};4 2T=6(e,n){7!n||(n=="*")||(e.4S==n)};4 4R=6(e){7 e.4Q};6 3H(r,f,1a){4 m,i,j;D(i=0;i<f.y;i++){x(m=f[i].1A.4P(1a)){x(m.1a==1a)r.11(m);1b x(m.y!=1L){D(j=0;j<m.y;j++){x(m[j].1a==1a)r.11(m[j])}}}}7 r};x(![].11)3G.16.11=6(){D(4 i=0;i<F.y;i++){8[8.y]=F[i]}7 8.y};4 N=/\\|/;6 3F(14,t,f,a){x(N.B(f)){f=f.2S(N);a=f[0];f=f[1]}4 r=[];x(1B[t]){1B[t](r,14,f,a)}7 r};4 S=/^[^\\s>+~]/;4 3E=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 2R(s){x(S.B(s))s=" "+s;7 s.1g(3E)||[]};4 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;4 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;4 3D=6(s){7 s.19(W,"$1").19(I,"$1*$2")};4 1y={O:6(){7"\'"},1g:/^(\'[^\']*\')|("[^"]*")$/,B:6(s){7 8.1g.B(s)},18:6(s){7 8.B(s)?s:8+s+8},3C:6(s){7 8.B(s)?s.1d(1,-1):s}};4 1N=6(t){7 1y.3C(t)};4 E=/([\\/()[\\]?{}|*+-])/g;6 4O(s){7 s.19(E,"\\\\$1")};1u=1c;7 H}();H.2Q=1c;H.2m("Z",6(){1q=6(e){7(e&&e.3B==1&&e.2P!="!"&&!e.3d)?e:1L}});H.Y("1N=F[1]",3k);4 1K=!H.Y("2O(F[1])",1J);4 2h=":21{Z-21:21}:2N{Z-21:2N}"+(1K?"":"*{4N:0}");4 15=z(3A.12({2F:z 1V,1O:"",1w:"",2L:[],1s:6(){8.2M();8.2g()},2g:6(){15.1Y.X=2h+8.1O+8.1w},3y:6(){4 20=K.2l("1e"),s;D(4 i=20.y-1;(s=20[i]);i--){x(!s.2H&&!s.Z){8.2L.11(s.3z)}}},2k:6(){8.3y();8.2g();z 28("1O");8.3u()},3w:6(e,r){8.2F.18(e,r)},1n:6(){4 R=/3v\\d+/g;4 s=2h.1g(/[{,]/g).y;4 20=s+(8.1O.X.1g(/\\{/g)||"").y;4 3x=8.1Y.4M,r;4 2j,c,2i,e,i,j,k,1a;D(i=s;i<20;i++){r=3x[i];x(r&&(2j=r.1e.X.1g(R))){2i=H(r.4L);x(2i.y)D(j=0;j<2j.y;j++){1a=2j[j];c=15.1p[1a.1d(10)][2];D(k=0;(e=2i[k]);k++){x(e.1v[1a])c(e)}}}}},2C:6(p,t,h,r){t=z 1Z("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");4 i=8.1p.y;x(r)r=p+":"+r;8.3w(t,6(m,o){7(r?m[o+1]+r:m[o])+";Z-"+m[o].1d(1)+";3v"+i+":1"});8.1p.11(F);7 i},1N:6(s){7 s.X||""},2M:6(){x(1H||!1K)K.2M();1b K.4K("<1e Z=1c></1e>");8.1Y=17[17.y-1];8.1Y.Z=1c;8.1Y.X=2h},3u:6(){D(4 i=0;i<17.y;i++){x(!17[i].Z&&17[i].X){17[i].X=""}}}}));6 28(m){8.1z=m;8.1S();15[m]=8;15.2g()};13.12({J:28,O:6(){7"@1z "+8.1z+"{"+8.X+"}"},1n:1W,1S:6(){8.X="";8.1N();8.3m();8.X=3j(8.X);f={}},1N:6(){4 3r=[].3t(15.2L);4 M=/@1z\\s+([^{]*)\\{([^@]+\\})\\s*\\}/2I;4 A=/\\4J\\b|^$/i,S=/\\4I\\b/i,P=/\\4H\\b/i;6 3q(c,m){2f.v=m;7 c.19(M,2f)};6 2f(4G,m,c){m=2J(m);2K(m){1o"1O":1o"1w":x(m!=2f.v)7"";1o"1A":7 c}7""};6 2J(m){x(A.B(m))7"1A";1b x(S.B(m))7(P.B(m))?"1A":"1O";1b x(P.B(m))7"1w"};4 1X=8;6 2G(s,p,m,l){4 c="";x(!l){m=2J(s.1z);l=0}x(m=="1A"||m==1X.1z){x(l<3){D(4 i=0;i<s.3s.y;i++){c+=2G(s.3s[i],2e(s.2d,p),m,l+1)}}c+=3l(s.2d?3p(s,p):3r.3h()||"");c=3q(c,1X.1z)}7 c};4 f={};6 3p(s,p){4 u=1I(s.2d,p);x(f[u])7"";f[u]=(s.2H)?"":3o(15.1N(s,p),2e(s.2d,p));7 f[u]};4 U=/(4F\\s*\\(\\s*[\'"]?)([\\w\\.]+[^:\\)]*[\'"]?\\))/2I;6 3o(c,p){7 c.19(U,"$1"+p.1d(0,p.3n("/")+1)+"$2")};D(4 i=0;i<17.y;i++){x(!17[i].2H&&!17[i].Z){8.X+=2G(17[i])}}},3m:6(){8.X=15.2F.1U(8.X)},1n:1W});4 1y=H.Y("1y");4 2b=[];6 3l(c){7 1x.1U(2c.1U(c))};6 2E(m,o){7 1y+(2b.11(m[o])-1)+1y};6 3k(v){7 1y.B(v)?1k(2b[1k(v)]):v};4 1x=z 1V;1x.18(/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//);1x.18(/\'[^\']*\'/,2E);1x.18(/"[^"]*"/,2E);1x.18(/\\s+/," ");1x.18(/@(4E|4D)[^;\\n]+[;\\n]|<!\\-\\-|\\-\\->/);4 2c=z 1V;2c.18(/\\\\\'/,"\\\\4C");2c.18(/\\\\"/,"\\\\4B");4 2D=z 1V;2D.18(/\'(\\d+)\'/,3i);6 3j(c){7 2D.1U(c)};6 3i(m,o){7 2b[m[o+1]]};4 2B=[];6 4A(h){2C(h);1Q(1M,"4z",h)};6 1Q(e,t,h){e.4y(t,h);2B.11(F)};6 3g(e,t,h){1l{e.4x(t,h)}1i(i){}};1Q(1M,"4w",6(){4 h;1f(h=2B.3h()){3g(h[0],h[1],h[2])}});6 4v(h,e,c){x(!h.29)h.29={};x(c)h.29[e.2A]=e;1b 2a h.29[e.2A];7 c};1Q(1M,"4u",6(){x(!15.1w)z 28("1w");15.1w.1n()});4 3f=/^\\d+(4t)?$/i;4 4s=/^\\d+%$/;4 4r=6(e,v){x(3f.B(v))7 3e(v);4 s=e.1e.1m;4 r=e.1T.1m;e.1T.1m=e.1v.1m;e.1e.1m=v||0;v=e.1e.4q;e.1e.1m=s;e.1T.1m=r;7 v};6 4p(t){4 e=K.4o(t||"4n");e.1e.X="3c:4m;4l:0;4k:4j;4i:4h;4g:4f(0 0 0 0);1m:-4e";e.3d=1c;7 e};4 27="Z-";6 4d(e){7 e.1v["Z-3c"]=="4c"};6 4b(e,p){7 e.1v[27+p]||e.1v[p]};6 4a(e,p,v){x(e.1v[27+p]==1L){e.1T[27+p]=e.1v[p]}e.1T[p]=v};6 49(o,c,u){4 t=48(6(){1l{x(!o.1S)7;o.1S(o,c,u);3b(t)}1i(i){3b(t)}},10)};1u=1c;x(2z)1k(2y("Z-47.3a",1R));15.1s();x(1K&&1t)1t.1s();x(1H)1j.1s();1b{1J.46(1I("Z-1S.45",1R));1Q(K,"44",6(){x(K.39=="1H")43(1j.1s,0)})}}1i(e){1G("2x [0]: "+e.38)}37{}};',62,353,'||||var||function|return|this|||||||||||||||||||||||||if|length|new||test||for||arguments||cssQuery||constructor|document||||toString|||||||that||cssText|valueOf|ie7||push|specialize|Common|fr|ie7CSS|prototype|styleSheets|add|replace|id|else|true|slice|style|while|match|klass|catch|IE7|eval|try|left|recalc|case|recalcs|thisElement|ancestor|init|ie7HTML|loaded|currentStyle|print|encoder|Quote|media|all|selectors|false|_0|ICommon|httpRequest|alert|complete|makePath|documentElement|isHTML|null|window|getText|screen|cache|addEventHandler|path|load|runtimeStyle|exec|Parser|DUMMY|self|styleSheet|RegExp|st|link|modules|ParseMaster|_1|x01|Function|_2|StyleSheet|elements|delete|_3|safeString|href|getPath|_4|refresh|HEADER|el|ca|apply|getElementsByTagName|addModule|pseudoClasses|String|join|version|escapeChar|body|appVersion|ancestorOf|inherit|_5|Error|loadFile|quirksMode|uniqueID|_6|addRecalc|decoder|_7|parser|_8|disabled|gi|_9|switch|styles|createStyleSheet|visited|isXML|tagName|caching|_10|split|compareNamespace|getDocument|typeof|nextElementSibling|continue|links|className|error|se|callee|ignoreCase|_11|_12|ie7_debug|finally|description|readyState|js|clearInterval|position|ie7_anon|parseInt|PIXEL|removeEventHandler|pop|_13|decode|getString|_14|parse|lastIndexOf|_15|_16|_17|_18|imports|concat|trash|ie7_recalc|addFix|ru|getInlineStyles|innerHTML|Fix|nodeType|remove|parseSelector|ST|select|Array|_19|mimeType|Boolean|isMSIE|firstElementChild|lastChild|previousElementSibling|firstChild|clearCache|ES|_20|_21|_22|_23|_24|DE|viewport|status|scripts|search|location|top|setTimeout|onreadystatechange|htc|addBehavior|quirks|setInterval|addTimer|setOverrideStyle|getDefinedStyle|fixed|isFixed|9999|rect|clip|none|border|block|display|padding|absolute|object|createElement|createTempElement|pixelLeft|getPixelValue|PERCENT|px|onbeforeprint|register|onunload|detachEvent|attachEvent|onresize|addResize|x22|x27|import|namespace|url|ma|bprint|bscreen|ball|write|selectorText|rules|margin|regEscape|item|innerText|getTextContent|scopeName|toUpperCase|compareTagName|ownerDocument|Document|XML|URL|xml|unknown|childElements|lastElementChild|nextSibling|previousSibling|attributeSelectors|AttributeSelector|indexOf|number|reset|successfully|ie5|fixes|instanceOf|Object|common|in|caller|gif|blank|BLANK_GIF|file|loading|responseText|200|send|GET|open|XMLHTTP|ActiveXObject|Microsoft|Msxml2|ScriptEngineMajorVersion|src|ANON|ie7Layout|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css-strict.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css-strict.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css-strict.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-css-strict",function(){if(!modules["ie7-css2-selectors"])return;StyleSheet.prototype.specialize({parse:function(){this.inherit();var r=[].concat(this.rules);r.sort(ie7CSS.Rule.compare);this.cssText=r.join("\n")},createRule:function(s,c){var m;if(m=s.match(ie7CSS.PseudoElement.MATCH))return new ie7CSS.PseudoElement(m[1],m[2],c);else if(m=s.match(ie7CSS.DynamicRule.MATCH))return new ie7CSS.DynamicRule(s,m[1],m[2],m[3],c);else return new ie7CSS.Rule(s,c)}});ie7CSS.specialize({apply:function(){this.inherit();this.Rule.MATCH=/([^{}]+)(\{[^{}]*\})/g}});ie7CSS.Rule.compare=function(r1,r2){return r1.specificity-r2.specificity};var N=[],I=/#/g,C=/[.:\[]/g,T=/^\w|[\s>+~]\w/g;ie7CSS.Rule.score=function(s){return(s.match(I)||N).length*10000+(s.match(C)||N).length*100+(s.match(T)||N).length};ie7CSS.Rule.simple=function(){return""};ie7CSS.Rule.prototype.specialize({specificity:0,init:function(){this.specificity=ie7CSS.Rule.score(this.selector)}})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css2-selectors.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css2-selectors.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css2-selectors.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-css2-selectors",function(){cssQuery.addModule("css-level2",function(){selectors[">"]=function(r,f,t,n){var e,i,j;for(i=0;i<f.length;i++){var s=childElements(f[i]);for(j=0;(e=s[j]);j++)if(compareTagName(e,t,n))r.push(e)}};selectors["+"]=function(r,f,t,n){for(var i=0;i<f.length;i++){var e=nextElementSibling(f[i]);if(e&&compareTagName(e,t,n))r.push(e)}};selectors["@"]=function(r,f,a){var t=attributeSelectors[a].test;var e,i;for(i=0;(e=f[i]);i++)if(t(e))r.push(e)};pseudoClasses["first-child"]=function(e){return!previousElementSibling(e)};pseudoClasses["lang"]=function(e,c){c=new RegExp("^"+c,"i");while(e&&!e.getAttribute("lang"))e=e.parentNode;return e&&c.test(e.getAttribute("lang"))};AttributeSelector.NS_IE=/\\:/g;AttributeSelector.PREFIX="@";AttributeSelector.tests={};AttributeSelector.replace=function(m,a,n,c,v){var k=this.PREFIX+m;if(!attributeSelectors[k]){a=this.create(a,c||"",v||"");attributeSelectors[k]=a;attributeSelectors.push(a)}return attributeSelectors[k].id};AttributeSelector.parse=function(s){s=s.replace(this.NS_IE,"|");var m;while(m=s.match(this.match)){var r=this.replace(m[0],m[1],m[2],m[3],m[4]);s=s.replace(this.match,r)}return s};AttributeSelector.create=function(p,t,v){var a={};a.id=this.PREFIX+attributeSelectors.length;a.name=p;t=this.tests[t];t=t?t(this.getAttribute(p),getText(v)):false;a.test=new Function("e","return "+t);return a};AttributeSelector.getAttribute=function(n){switch(n.toLowerCase()){case"id":return"e.id";case"class":return"e.className";case"for":return"e.htmlFor";case"href":if(isMSIE){return"String((e.outerHTML.match(/href=\\x22?([^\\s\\x22]*)\\x22?/)||[])[1]||'')"}}return"e.getAttribute('"+n.replace(N,":")+"')"};AttributeSelector.tests[""]=function(a){return a};AttributeSelector.tests["="]=function(a,v){return a+"=="+Quote.add(v)};AttributeSelector.tests["~="]=function(a,v){return"/(^| )"+regEscape(v)+"( |$)/.test("+a+")"};AttributeSelector.tests["|="]=function(a,v){return"/^"+regEscape(v)+"(-|$)/.test("+a+")"};var _6=parseSelector;parseSelector=function(s){return _6(AttributeSelector.parse(s))}});var AttributeSelector=cssQuery.valueOf("AttributeSelector");var H=/a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i;var B1=/\s*\{\s*/,B2=/\s*\}\s*/,C=/\s*\,\s*/;var F=/(.*)(:first-(line|letter))/;StyleSheet.prototype.specialize({parse:function(){this.inherit();var o=ie7CSS.rules.length;var ru=this.cssText.split(B2),r;var se,c,i,j;for(i=0;i<ru.length;i++){r=ru[i].split(B1);se=r[0].split(C);c=r[1];for(j=0;j<se.length;j++){se[j]=c?this.createRule(se[j],c):""}ru[i]=se.join("\n")}this.cssText=ru.join("\n");this.rules=ie7CSS.rules.slice(o)},recalc:function(){var r,i;for(i=0;(r=this.rules[i]);i++)r.recalc()},createRule:function(s,c){if(ie7CSS.UNKNOWN.test(s)){var m;if(m=s.match(PseudoElement.MATCH)){return new PseudoElement(m[1],m[2],c)}else if(m=s.match(DynamicRule.MATCH)){if(!isHTML||!H.test(m)||DynamicRule.COMPLEX.test(m)){return new DynamicRule(s,m[1],m[2],m[3],c)}}else return new Rule(s,c)}return s+" {"+c+"}"}});ie7CSS.specialize({rules:[],pseudoClasses:cssQuery.valueOf("pseudoClasses"),dynamicPseudoClasses:{},cache:cssQuery.valueOf("cache"),Rule:Rule,DynamicRule:DynamicRule,PseudoElement:PseudoElement,DynamicPseudoClass:DynamicPseudoClass,apply:function(){var p=this.pseudoClasses+"|before|after|"+this.dynamicPseudoClasses;p=p.replace(/(link|visited)\|/g,"");this.UNKNOWN=new RegExp("[>+~\[]|([:.])[\\w-()]+\\1|:("+p+")");var c="[^\\s(]+\\s*[+~]|@\\d+|:(";Rule.COMPLEX=new RegExp(c+p+")","g");DynamicRule.COMPLEX=new RegExp(c+this.pseudoClasses+")","g");DynamicRule.MATCH=new RegExp("(.*):("+this.dynamicPseudoClasses+")(.*)");PseudoElement.MATCH=/(.*):(before|after).*/;this.inherit()},recalc:function(){this.screen.recalc();this.inherit()},getText:function(s,p){return httpRequest?(loadFile(s.href,p)||s.cssText):this.inherit(s)},addEventHandler:function(e,t,h){addEventHandler(e,t,h)}});function Rule(s,c){this.id=ie7CSS.rules.length;this.className=Rule.PREFIX+this.id;s=(s).match(F)||s||"*";this.selector=s[1]||s;this.selectorText=Rule.simple(this.selector)+"."+this.className+(s[2]||"");this.cssText=c;this.MATCH=new RegExp("\\s"+this.className+"(\\s|$)","g");ie7CSS.rules.push(this);this.init()};Common.specialize({constructor:Rule,toString:function(){return this.selectorText+" {"+this.cssText+"}"},init:DUMMY,add:function(e){e.className+=" "+this.className},remove:function(e){e.className=e.className.replace(this.MATCH,"$1")},recalc:function(){var m=ie7CSS.cache[" *."+this.className]=cssQuery(this.selector);for(i=0;i<m.length;i++)this.add(m[i])}});Rule.PREFIX="ie7_class";Rule.CHILD=/>/g;Rule.simple=function(s){s=AttributeSelector.parse(s);return s.replace(this.COMPLEX,"").replace(this.CHILD," ")};function DynamicRule(s,a,d,t,c){this.attach=a||"*";this.dynamicPseudoClass=ie7CSS.dynamicPseudoClasses[d];this.target=t;this.inherit(s,c)};Rule.specialize({constructor:DynamicRule,recalc:function(){var m=cssQuery(this.attach);for(var i=0;i<m.length;i++){var t=(this.target)?cssQuery(this.target,m[i]):[m[i]];if(t.length)this.dynamicPseudoClass.apply(m[i],t,this)}}});var A=/^attr/;var U=/^url\s*\(\s*([^)]*)\)$/;var M={before0:"beforeBegin",before1:"afterBegin",after0:"afterEnd",after1:"beforeEnd"};var _5=makePath("ie7-content.htc",path)+"?";HEADER+=".ie7_anon{display:none}";function PseudoElement(s,p,c){this.position=p;var co=c.match(PseudoElement.CONTENT),m,e;if(co){co=co[1];m=co.split(/\s+/);for(var i=0;(e=m[i]);i++){m[i]=A.test(e)?{attr:e.slice(5,-1)}:(e.charAt(0)=="'")?getString(e):decode(e)}co=m}this.content=co;this.inherit(s,decode(c))};Rule.specialize({constructor:PseudoElement,toString:function(){return"."+this.className+"{display:inline}"},init:function(){this.match=cssQuery(this.selector);for(var i=0;i<this.match.length;i++){var r=this.match[i].runtimeStyle;if(!r[this.position])r[this.position]={cssText:""};r[this.position].cssText+=";"+this.cssText;if(this.content!=null)r[this.position].content=this.content}},recalc:function(){if(this.content==null)return;for(var i=0;i<this.match.length;i++){this.create(this.match[i])}},create:function(t){var g=t.runtimeStyle[this.position];if(g){var c=[].concat(g.content||"");for(var j=0;j<c.length;j++){if(typeof c[j]=="object"){c[j]=t.getAttribute(c[j].attr)}}c=c.join("");var u=c.match(U);var h=PseudoElement[u?"OBJECT":"ANON"].replace(/%1/,this.className);var cs=g.cssText.replace(/'/g,'"');var po=M[this.position+Number(t.canHaveChildren)];if(u){var p=document.createElement(h);t.insertAdjacentElement(po,p);p.data=_5;addTimer(p,cs,Quote.remove(u[1]))}else{h=h.replace(/%2/,cs).replace(/%3/,c);t.insertAdjacentHTML(po,h)}t.runtimeStyle[this.position]=null}}});PseudoElement.CONTENT=/content\s*:\s*([^;]*)(;|$)/;PseudoElement.OBJECT="<object class='ie7_anon %1' ie7_anon width=100% height=0 type=text/x-scriptlet>";PseudoElement.ANON="<ie7:! class='ie7_anon %1' ie7_anon style='%2'>%3</ie7:!>";function DynamicPseudoClass(n,a){this.name=n;this.apply=a;this.instances={};ie7CSS.dynamicPseudoClasses[n]=this};Common.specialize({constructor:DynamicPseudoClass,register:function(i){var c=i[2];i.id=c.id+i[0].uniqueID;if(!this.instances[i.id]){var t=i[1],j;for(j=0;j<t.length;j++)c.add(t[j]);this.instances[i.id]=i}},unregister:function(i){if(this.instances[i.id]){var c=i[2];var t=i[1],j;for(j=0;j<t.length;j++)c.remove(t[j]);delete this.instances[i.id]}}});ie7CSS.pseudoClasses.toString=function(){var t=[],p;for(p in this){if(this[p].length>1)p+="\\([^)]*\\)";t.push(p)}return t.join("|")};ie7CSS.pseudoClasses["link"]=function(e){return e.currentStyle["ie7-link"]=="link"};ie7CSS.pseudoClasses["visited"]=function(e){return e.currentStyle["ie7-link"]=="visited"};var _4=(appVersion<5.5)?"onmouseover":"onmouseenter";var _3=(appVersion<5.5)?"onmouseout":"onmouseleave";ie7CSS.dynamicPseudoClasses.toString=ie7CSS.pseudoClasses.toString;var _0=new DynamicPseudoClass("hover",function(e){var i=arguments;ie7CSS.addEventHandler(e,_4,function(){_0.register(i)});ie7CSS.addEventHandler(e,_3,function(){_0.unregister(i)})});var _1=new DynamicPseudoClass("focus",function(e){var i=arguments;ie7CSS.addEventHandler(e,"onfocus",function(){_1.unregister(i);_1.register(i)});ie7CSS.addEventHandler(e,"onblur",function(){_1.unregister(i)});if(e==document.activeElement){_1.register(i)}});var _2=new DynamicPseudoClass("active",function(e){var i=arguments;ie7CSS.addEventHandler(e,"onmousedown",function(){_2.register(i)})});addEventHandler(document,"onmouseup",function(){var i=_2.instances,j;for(j in i)_2.unregister(i[j]);i=_0.instances;for(j in i)if(!i[j][0].contains(event.srcElement))_0.unregister(i[j])});ICommon(AttributeSelector);AttributeSelector.specialize({getAttribute:function(n){switch(n.toLowerCase()){case"class":return"e.className.replace(/\\b\\s*ie7_class\\d+/g,'')";case"src":return"(e.pngSrc||e.src)"}return this.inherit(n)}});encoder.add(/::/,":");safeString.add(/\\([\da-fA-F]{1,4})/,function(m,o){m=m[o+1];return"\\u"+"0000".slice(m.length)+m})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css3-selectors.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css3-selectors.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-css3-selectors.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-css3-selectors",function(){cssQuery.addModule("css-level3",function(){selectors["~"]=function(r,f,t,n){var e,i;for(i=0;(e=f[i]);i++){while(e=nextElementSibling(e)){if(compareTagName(e,t,n))r.push(e)}}};pseudoClasses["contains"]=function(e,t){t=new RegExp(regEscape(getText(t)));return t.test(getTextContent(e))};pseudoClasses["root"]=function(e){return e==getDocument(e).documentElement};pseudoClasses["empty"]=function(e){var n,i;for(i=0;(n=e.childNodes[i]);i++){if(thisElement(n)||n.nodeType==3)return false}return true};pseudoClasses["last-child"]=function(e){return!nextElementSibling(e)};pseudoClasses["only-child"]=function(e){e=e.parentNode;return firstElementChild(e)==lastElementChild(e)};pseudoClasses["not"]=function(e,s){var n=cssQuery(s,getDocument(e));for(var i=0;i<n.length;i++){if(n[i]==e)return false}return true};pseudoClasses["nth-child"]=function(e,a){return nthChild(e,a,previousElementSibling)};pseudoClasses["nth-last-child"]=function(e,a){return nthChild(e,a,nextElementSibling)};pseudoClasses["target"]=function(e){return e.id==location.hash.slice(1)};pseudoClasses["checked"]=function(e){return e.checked};pseudoClasses["enabled"]=function(e){return e.disabled===false};pseudoClasses["disabled"]=function(e){return e.disabled};pseudoClasses["indeterminate"]=function(e){return e.indeterminate};AttributeSelector.tests["^="]=function(a,v){return"/^"+regEscape(v)+"/.test("+a+")"};AttributeSelector.tests["$="]=function(a,v){return"/"+regEscape(v)+"$/.test("+a+")"};AttributeSelector.tests["*="]=function(a,v){return"/"+regEscape(v)+"/.test("+a+")"};function nthChild(e,a,t){switch(a){case"n":return true;case"even":a="2n";break;case"odd":a="2n+1"}var ch=childElements(e.parentNode);function _5(i){var i=(t==nextElementSibling)?ch.length-i:i-1;return ch[i]==e};if(!isNaN(a))return _5(a);a=a.split("n");var m=parseInt(a[0]);var s=parseInt(a[1]);if((isNaN(m)||m==1)&&s==0)return true;if(m==0&&!isNaN(s))return _5(s);if(isNaN(s))s=0;var c=1;while(e=t(e))c++;if(isNaN(m)||m==1)return(t==nextElementSibling)?(c<=s):(s>=c);return(c%m)==s}});var firstElementChild=cssQuery.valueOf("firstElementChild");ie7CSS.pseudoClasses["root"]=function(e){return(e==viewport)||(!isHTML&&e==firstElementChild(body))};var _4=new ie7CSS.DynamicPseudoClass("checked",function(e){if(typeof e.checked!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="checked"){if(e.checked)_4.register(i);else _4.unregister(i)}});if(e.checked)_4.register(i)});var _3=new ie7CSS.DynamicPseudoClass("enabled",function(e){if(typeof e.disabled!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(!e.isDisabled)_3.register(i);else _3.unregister(i)}});if(!e.isDisabled)_3.register(i)});var _2=new ie7CSS.DynamicPseudoClass("disabled",function(e){if(typeof e.disabled!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(e.isDisabled)_2.register(i);else _2.unregister(i)}});if(e.isDisabled)_2.register(i)});var _1=new ie7CSS.DynamicPseudoClass("indeterminate",function(e){if(typeof e.indeterminate!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="indeterminate"){if(e.indeterminate)_1.register(i);else _1.unregister(i)}});ie7CSS.addEventHandler(e,"onclick",function(){_1.unregister(i)})});var _0=new ie7CSS.DynamicPseudoClass("target",function(e){var i=arguments;if(!e.tabIndex)e.tabIndex=0;ie7CSS.addEventHandler(document,"onpropertychange",function(){if(event.propertyName=="activeElement"){if(e.id==location.hash.slice(1))_0.register(i);else _0.unregister(i)}});if(e.id==location.hash.slice(1))_0.register(i)});decoder.add(/\|/,"\\:")});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dhtml.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dhtml.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dhtml.js	(revision 198)
@@ -0,0 +1,57 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-dhtml", function() {
+
+/* ---------------------------------------------------------------------
+  This module is still in development and should not be used.
+--------------------------------------------------------------------- */
+
+ie7CSS.specialize("recalc", function() {
+	this.inherit();
+	for (var i = 0; i < this.recalcs.length; i++) {
+		var $recalc = this.recalcs[i];
+		for (var j = 0; i < $recalc[3].length; i++) {
+			_addPropertyChangeHandler($recalc[3][j], _getPropertyName($recalc[2]), $recalc[1]);
+		}
+	}
+});
+
+// constants
+var _PATTERNS = {
+	width: "(width|paddingLeft|paddingRight|borderLeftWidth|borderRightWidth|borderLeftStyle|borderRightStyle)",
+	height:	"(height|paddingTop|paddingBottom|borderTopHeight|borderBottomHeight|borderTopStyle|borderBottomStyle)"
+};
+var _PROPERTY_NAMES = {
+	width: "fixedWidth",
+	height: "fixedHeight",
+	right: "width",
+	bottom: "height"
+};
+var _DASH_LETTER = /-(\w)/g;
+var _PROPERTY_NAME = /\w+/;
+
+function _addPropertyChangeHandler($element, $propertyName, $fix) {
+	addEventHandler($element, "onpropertychange", function() {
+		if (_getPattern($propertyName).test(event.propertyName)) {
+			_reset($element, $propertyName);
+			$fix($element);
+		}
+	});
+};
+function _upper($match, $letter) {return $letter.toUpperCase()};
+function _getPropertyName($pattern) {
+	return String(String($pattern).toLowerCase().replace(_DASH_LETTER, _upper).match(_PROPERTY_NAME));
+};
+function _getPattern($propertyName) {
+	return eval("/^style." + (_PATTERNS[$propertyName] || $propertyName) + "$/");
+};
+function _reset($element, $propertyName) {
+	$element.runtimeStyle[$propertyName] = "";
+	$propertyName = _PROPERTY_NAMES[$propertyName]
+	if ($propertyName) $element.runtimeStyle[$propertyName] = "";
+};
+
+});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dynamic-attributes.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dynamic-attributes.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-dynamic-attributes.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-dynamic-attributes",function(){if(!modules["ie7-css2-selectors"])return;var attributeSelectors=cssQuery.valueOf("attributeSelectors");var parseSelector=cssQuery.valueOf("parseSelector");function DynamicAttribute(s,a,d,t,c){this.attach=a||"*";parseSelector(d);this.dynamicAttribute=attributeSelectors["@"+d];this.target=t;this.inherit(s,c)};ie7CSS.Rule.specialize({constructor:DynamicAttribute,recalc:function(){var m=cssQuery(this.attach);for(var i=0;i<m.length;i++){var t=(this.target)?cssQuery(this.target,m[i]):[m[i]];if(t.length)this.apply(m[i],t)}},apply:function(e,t){var self=this;addEventHandler(e,"onpropertychange",function(){if(event.propertyName==self.dynamicAttribute.name)self.test(e,t)});this.test(e,t)},test:function(e,t){var a=this.dynamicAttribute.test(e)?"add":"remove";for(var i=0;(e=t[i]);i++)this[a](e)}});DynamicAttribute.MATCH=/(.*)(\[[^\]]*\])(.*)/;StyleSheet.prototype.specialize({createRule:function(s,c){var m;if(m=s.match(DynamicAttribute.MATCH)){return new DynamicAttribute(s,m[1],m[2],m[3],c)}else return this.inherit(s,c)}})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-fixed.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-fixed.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-fixed.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-fixed",function(){ie7CSS.addRecalc("position","fixed",_6,"absolute");ie7CSS.addRecalc("background(-attachment)?","[^};]*fixed",_7);var _10=(quirksMode)?"body":"documentElement";var _8=function(){if(body.currentStyle.backgroundAttachment!="fixed"){if(body.currentStyle.backgroundImage=="none"){body.runtimeStyle.backgroundRepeat="no-repeat";body.runtimeStyle.backgroundImage="url("+BLANK_GIF+")"}body.runtimeStyle.backgroundAttachment="fixed"}_8=DUMMY};var _0=createTempElement("img");function _1(f){return _2.exec(String(f))};var _2=new ParseMaster;_2.add(/Left/,"Top");_2.add(/left/,"top");_2.add(/Width/,"Height");_2.add(/width/,"height");_2.add(/right/,"bottom");_2.add(/X/,"Y");function _3(e){return(e)?isFixed(e)||_3(e.parentElement):false};function setExpression(e,p,ex){setTimeout("document.all."+e.uniqueID+".runtimeStyle.setExpression('"+p+"','"+ex+"')",0)};function _7(e){if(register(_7,e,e.currentStyle.backgroundAttachment=="fixed"&&!e.contains(body))){_8();backgroundLeft(e);backgroundTop(e);_9(e)}};function _9(e){_0.src=e.currentStyle.backgroundImage.slice(5,-2);var p=(e.canHaveChildren)?e:e.parentElement;p.appendChild(_0);setOffsetLeft(e);setOffsetTop(e);p.removeChild(_0)};function backgroundLeft(e){e.style.backgroundPositionX=e.currentStyle.backgroundPositionX;if(!_3(e)){var ex="(parseInt(runtimeStyle.offsetLeft)+document."+_10+".scrollLeft)||0";setExpression(e,"backgroundPositionX",ex)}};eval(_1(backgroundLeft));function setOffsetLeft(e){var p=_3(e)?"backgroundPositionX":"offsetLeft";e.runtimeStyle[p]=getOffsetLeft(e,e.style.backgroundPositionX)-e.getBoundingClientRect().left-e.clientLeft+2};eval(_1(setOffsetLeft));function getOffsetLeft(e,p){switch(p){case"left":case"top":return 0;case"right":case"bottom":return viewport.clientWidth-_0.offsetWidth;case"center":return(viewport.clientWidth-_0.offsetWidth)/2;default:if(PERCENT.test(p)){return parseInt((viewport.clientWidth-_0.offsetWidth)*parseFloat(p)/100)}_0.style.left=p;return _0.offsetLeft}};eval(_1(getOffsetLeft));function _6(e){if(register(_6,e,isFixed(e))){setOverrideStyle(e,"position","absolute");setOverrideStyle(e,"left",e.currentStyle.left);setOverrideStyle(e,"top",e.currentStyle.top);_8();if(ie7Layout)ie7Layout.fixRight(e);_5(e)}};function _5(e,r){positionTop(e,r);positionLeft(e,r,true);if(!e.runtimeStyle.autoLeft&&e.currentStyle.marginLeft=="auto"&&e.currentStyle.right!="auto"){var l=viewport.clientWidth-getPixelWidth(e,e.currentStyle.right)-getPixelWidth(e,e.runtimeStyle._12)-e.clientWidth;if(e.currentStyle.marginRight=="auto")l=parseInt(l/2);if(_3(e.offsetParent))e.runtimeStyle.pixelLeft+=l;else e.runtimeStyle.shiftLeft=l}clipWidth(e);clipHeight(e)};function clipWidth(e){if(e.currentStyle.width!="auto"){var r=e.getBoundingClientRect();var w=e.offsetWidth-viewport.clientWidth+r.left-2;if(w>=0){w=Math.max(getPixelValue(e,e.currentStyle.width)-w,0);setOverrideStyle(e,"width",w)}}};eval(_1(clipWidth));function positionLeft(e,r){if(!r&&PERCENT.test(e.currentStyle.width)){e.runtimeStyle.fixWidth=e.currentStyle.width}if(e.runtimeStyle.fixWidth){e.runtimeStyle.width=getPixelWidth(e,e.runtimeStyle.fixWidth)}if(r){if(!e.runtimeStyle.autoLeft)return}else{e.runtimeStyle.shiftLeft=0;e.runtimeStyle._12=e.currentStyle.left;e.runtimeStyle.autoLeft=e.currentStyle.right!="auto"&&e.currentStyle.left=="auto"}e.runtimeStyle.left="";e.runtimeStyle.screenLeft=getScreenLeft(e);e.runtimeStyle.pixelLeft=e.runtimeStyle.screenLeft;if(!r&&!_3(e.offsetParent)){var ex="runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document."+_10+".scrollLeft";setExpression(e,"pixelLeft",ex)}};eval(_1(positionLeft));function getScreenLeft(e){var s=e.offsetLeft,n=1;if(e.runtimeStyle.autoLeft){s=viewport.clientWidth-e.offsetWidth-getPixelWidth(e,e.currentStyle.right)}if(e.currentStyle.marginLeft!="auto"){s-=getPixelWidth(e,e.currentStyle.marginLeft)}while(e=e.offsetParent){if(e.currentStyle.position!="static")n=-1;s+=e.offsetLeft*n}return s};eval(_1(getScreenLeft));function getPixelWidth(e,v){if(PERCENT.test(v))return parseInt(parseFloat(v)/100*viewport.clientWidth);return getPixelValue(e,v)};eval(_1(getPixelWidth));function _11(){var e=_7.elements;for(var i in e)_9(e[i]);e=_6.elements;for(i in e){_5(e[i],true);_5(e[i],true)}_4=0};var _4;addResize(function(){if(!_4)_4=setTimeout(_11,0)})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-graphics.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-graphics.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-graphics.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-graphics",function(){if(appVersion<5.5)return;var A="DXImageTransform.Microsoft.AlphaImageLoader";var F="progid:"+A+"(src='%1',sizingMethod='scale')";var _3=new RegExp((window.IE7_PNG_SUFFIX||"-trans.png")+"$","i");var _0=[];function _2(e){var f=e.filters[A];if(f){f.src=e.src;f.enabled=true}else{e.runtimeStyle.filter=F.replace(/%1/,e.src);_0.push(e)}e.src=BLANK_GIF};function _5(e){e.src=e.pngSrc;e.filters[A].enabled=false};ie7CSS.addFix(/opacity\s*:\s*([\d.]+)/,function(m,o){return"zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity="+((parseFloat(m[o+1])*100)||1)+")"});var B=/background(-image)?\s*:\s*([^\(};]*)url\(([^\)]+)\)([^;}]*)/;ie7CSS.addFix(B,function(m,o){var u=getString(m[o+3]);return _3.test(u)?"filter:"+F.replace(/scale/,"crop").replace(/%1/,u)+";zoom:1;background"+(m[o+1]||"")+":"+(m[o+2]||"")+"none"+(m[o+4]||""):m[o]});if(ie7HTML){ie7HTML.addRecalc("img,input",function(e){if(e.tagName=="INPUT"&&e.type!="image")return;_4(e);addEventHandler(e,"onpropertychange",function(){if(!_1&&event.propertyName=="src"&&e.src.indexOf(BLANK_GIF)==-1)_4(e)})});var B64=/^data:.*;base64/i;var _7=makePath("ie7-base64.php",path);function _4(e){if(_3.test(e.src)){var i=new Image(e.width,e.height);i.onload=function(){e.width=i.width;e.height=i.height;i=null};i.src=e.src;e.pngSrc=e.src;_2(e)}else if(B64.test(e.src)){e.src=_7+"?"+e.src.slice(5)}};var I=/^image/i;var _6=makePath("ie7-object.htc",path);ie7HTML.addRecalc("object",function(e){if(I.test(e.type)){var o=document.createElement("<object type=text/x-scriptlet>");o.style.width=e.currentStyle.width;o.style.height=e.currentStyle.height;o.data=_6;var u=makePath(e.data,getPath(location.href));e.parentNode.replaceChild(o,e);cssQuery.clearCache("object");addTimer(o,"",u);return o}})}var _1=false;addEventHandler(window,"onbeforeprint",function(){_1=true;for(var i=0;i<_0.length;i++)_5(_0[i])});addEventHandler(window,"onafterprint",function(){for(var i=0;i<_0.length;i++)_2(_0[i]);_1=false})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-html4.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-html4.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-html4.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-html4",function(){if(!isHTML)return;HEADER+="h1{font-size:2em}h2{font-size:1.5em;}h3{font-size:1.17em;}"+"h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}";var _0={};ie7HTML=new(Fix.specialize({init:DUMMY,addFix:function(){this.fixes.push(arguments)},apply:function(){for(var i=0;i<this.fixes.length;i++){var m=cssQuery(this.fixes[i][0]);var f=this.fixes[i][1]||_1;for(var j=0;j<m.length;j++)f(m[j])}},addRecalc:function(){this.recalcs.push(arguments)},recalc:function(){for(var i=0;i<this.recalcs.length;i++){var m=cssQuery(this.recalcs[i][0]);var r=this.recalcs[i][1],e;var k=Math.pow(2,i);for(var j=0;(e=m[j]);j++){var u=e.uniqueID;if((_0[u]&k)==0){e=r(e)||e;_0[u]|=k}}}}}));ie7HTML.addFix("abbr");ie7HTML.addRecalc("label",function(e){if(!e.htmlFor){var f=cssQuery("input,textarea",e)[0];if(f){addEventHandler(e,"onclick",function(){f.click()})}}});ie7HTML.addRecalc("button,input",function(e){if(e.tagName=="BUTTON"){var m=e.outerHTML.match(/ value="([^"]*)"/i);e.runtimeStyle.value=(m)?m[1]:""}if(e.type=="submit"){addEventHandler(e,"onclick",function(){e.runtimeStyle.clicked=true;setTimeout("document.all."+e.uniqueID+".runtimeStyle.clicked=false",1)})}});var U=/^(submit|reset|button)$/;ie7HTML.addRecalc("form",function(e){addEventHandler(e,"onsubmit",function(){for(var i=0;i<e.length;i++){if(_2(e[i])){e[i].disabled=true;setTimeout("document.all."+e[i].uniqueID+".disabled=false",1)}else if(e[i].tagName=="BUTTON"&&e[i].type=="submit"){setTimeout("document.all."+e[i].uniqueID+".value='"+e[i].value+"'",1);e[i].value=e[i].runtimeStyle.value}}})});function _2(e){return U.test(e.type)&&!e.disabled&&!e.runtimeStyle.clicked};ie7HTML.addRecalc("img",function(e){if(e.alt&&!e.title)e.title=""});var P=(appVersion<5.5)?"HTML:":"";function _1(e){var f=document.createElement("<"+P+e.outerHTML.slice(1));if(e.outerHTML.slice(-2)!="/>"){var en="</"+e.tagName+">",n;while((n=e.nextSibling)&&n.outerHTML!=en){f.appendChild(n)}if(n)n.removeNode()}e.parentNode.replaceChild(f,e)}});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-ie5.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-ie5.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-ie5.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+if(appVersion<5.5){ANON="HTML:!";var ap=function(f,o,a){f.apply(o,a)};if(''.replace(/^/,String)){var _0=String.prototype.replace;var _1=function(e,r){var m,n="",s=this;while(s&&(m=e.exec(s))){n+=s.slice(0,m.index)+ap(r,this,m);s=s.slice(m.lastIndex)}return n+s};String.prototype.replace=function(e,r){this.replace=(typeof r=="function")?_1:_0;return this.replace(e,r)}}if(!Function.apply){var APPLY="apply-"+Number(new Date);ap=function(f,o,a){var r;o[APPLY]=f;switch(a.length){case 0:r=o[APPLY]();break;case 1:r=o[APPLY](a[0]);break;case 2:r=o[APPLY](a[0],a[1]);break;case 3:r=o[APPLY](a[0],a[1],a[2]);break;case 4:r=o[APPLY](a[0],a[1],a[2],a[3]);break;default:var aa=[],i=a.length-1;do aa[i]="a["+i+"]";while(i--);eval("r=o[APPLY]("+aa+")")}delete o[APPLY];return r};ICommon.valueOf.prototype.inherit=function(){return ap(arguments.callee.caller.ancestor,this,arguments)}}if(![].push)Array.prototype.push=function(){for(var i=0;i<arguments.length;i++){this[this.length]=arguments[i]}return this.length};if(![].pop)Array.prototype.pop=function(){var i=this[this.length-1];this.length--;return i};if(isHTML){HEADER+="address,blockquote,body,dd,div,dt,fieldset,form,"+"frame,frameset,h1,h2,h3,h4,h5,h6,iframe,noframes,object,p,"+"hr,applet,center,dir,menu,pre,dl,li,ol,ul{display:block}"}}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-layout.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-layout.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-layout.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-layout",function(){ie7Layout=this;HEADER+="*{boxSizing:content-box}";this.hasLayout=(appVersion<5.5)?function(e){return e.clientWidth}:function(e){return e.currentStyle.hasLayout};this.boxSizing=function(e){if(!ie7Layout.hasLayout(e)){e.style.height="0cm";if(e.currentStyle.verticalAlign=="auto")e.runtimeStyle.verticalAlign="top";_1(e)}};function _1(e){if(e!=viewport&&e.currentStyle.position!="absolute"){collapseMarginTop(e);collapseMarginBottom(e)}};var firstElementChild=cssQuery.valueOf("firstElementChild");var lastElementChild=cssQuery.valueOf("lastElementChild");function collapseMarginTop(e){if(!e.runtimeStyle.marginTop){var p=e.parentElement;if(p&&ie7Layout.hasLayout(p)&&e==firstElementChild(p))return;var f=firstElementChild(e);if(f&&f.currentStyle.styleFloat=="none"&&ie7Layout.hasLayout(f)){collapseMarginTop(f);m=_3(e,e.currentStyle.marginTop);c=_3(f,f.currentStyle.marginTop);if(m<0||c<0){e.runtimeStyle.marginTop=m+c}else{e.runtimeStyle.marginTop=Math.max(c,m)}f.runtimeStyle.marginTop="0px"}}};eval(String(collapseMarginTop).replace(/Top/g,"Bottom").replace(/first/g,"last"));function _3(e,v){return(v=="auto")?0:getPixelValue(e,v)};var U=/^[.\d][\w%]*$/,A=/^(auto|0cm)$/,N="[.\\d]";var applyWidth,applyHeight;function borderBox(e){applyWidth(e);applyHeight(e)};function fixWidth(H){applyWidth=function(e){if(!PERCENT.test(e.currentStyle.width))fixWidth(e);_1(e)};function fixWidth(e,v){if(!e.runtimeStyle.fixedWidth){if(!v)v=e.currentStyle.width;e.runtimeStyle.fixedWidth=(U.test(v))?Math.max(0,getFixedWidth(e,v)):v;setOverrideStyle(e,"width",e.runtimeStyle.fixedWidth)}};function layoutWidth(e){if(!isFixed(e)){var l=e.offsetParent;while(l&&!ie7Layout.hasLayout(l))l=l.offsetParent}return(l||viewport).clientWidth};function getPixelWidth(e,v){if(PERCENT.test(v))return parseInt(parseFloat(v)/100*layoutWidth(e));return getPixelValue(e,v)};var getFixedWidth=function(e,v){var b=e.currentStyle["box-sizing"]=="border-box";var a=0;if(quirksMode&&!b)a+=getBorderWidth(e)+getPaddingWidth(e);else if(!quirksMode&&b)a-=getBorderWidth(e)+getPaddingWidth(e);return getPixelWidth(e,v)+a};function getBorderWidth(e){return e.offsetWidth-e.clientWidth};function getPaddingWidth(e){return getPixelWidth(e,e.currentStyle.paddingLeft)+getPixelWidth(e,e.currentStyle.paddingRight)};eval(String(getPaddingWidth).replace(/padding/g,"margin").replace(/Padding/g,"Margin"));HEADER+="*{minWidth:none;maxWidth:none;min-width:none;max-width:none}";function minWidth(e){if(e.currentStyle["min-width"]!=null){e.style.minWidth=e.currentStyle["min-width"]}if(register(minWidth,e,e.currentStyle.minWidth!="none")){ie7Layout.boxSizing(e);fixWidth(e);resizeWidth(e)}};eval(String(minWidth).replace(/min/g,"max"));ie7Layout.minWidth=minWidth;ie7Layout.maxWidth=maxWidth;function resizeWidth(e){var r=e.getBoundingClientRect();var w=r.right-r.left;if(e.currentStyle.minWidth!="none"&&w<=getFixedWidth(e,e.currentStyle.minWidth)){e.runtimeStyle.width=getFixedWidth(e,e.currentStyle.minWidth)}else if(e.currentStyle.maxWidth!="none"&&w>=getFixedWidth(e,e.currentStyle.maxWidth)){e.runtimeStyle.width=getFixedWidth(e,e.currentStyle.maxWidth)}else{e.runtimeStyle.width=e.runtimeStyle.fixedWidth}};function fixRight(e){if(register(fixRight,e,/^(fixed|absolute)$/.test(e.currentStyle.position)&&getDefinedStyle(e,"left")!="auto"&&getDefinedStyle(e,"right")!="auto"&&A.test(getDefinedStyle(e,"width")))){resizeRight(e);ie7Layout.boxSizing(e)}};ie7Layout.fixRight=fixRight;function resizeRight(e){var l=getPixelWidth(e,e.runtimeStyle._4||e.currentStyle.left);var w=layoutWidth(e)-getPixelWidth(e,e.currentStyle.right)-l-getMarginWidth(e);if(parseInt(e.runtimeStyle.width)==w)return;e.runtimeStyle.width="";if(isFixed(e)||H||e.offsetWidth<w){if(!quirksMode)w-=getBorderWidth(e)+getPaddingWidth(e);if(w<0)w=0;e.runtimeStyle.fixedWidth=w;setOverrideStyle(e,"width",w)}};var _2=0;addResize(function(){var i,w=(_2<viewport.clientWidth);_2=viewport.clientWidth;for(i in minWidth.elements){var e=minWidth.elements[i];var f=(parseInt(e.runtimeStyle.width)==getFixedWidth(e,e.currentStyle.minWidth));if(w&&f)e.runtimeStyle.width="";if(w==f)resizeWidth(e)}for(i in maxWidth.elements){var e=maxWidth.elements[i];var f=(parseInt(e.runtimeStyle.width)==getFixedWidth(e,e.currentStyle.maxWidth));if(!w&&f)e.runtimeStyle.width="";if(w!=f)resizeWidth(e)}for(i in fixRight.elements)resizeRight(fixRight.elements[i])});if(window.IE7_BOX_MODEL!==false){ie7CSS.addRecalc("width",N,quirksMode?applyWidth:_1)}ie7CSS.addRecalc("min-width",N,minWidth);ie7CSS.addRecalc("max-width",N,maxWidth);ie7CSS.addRecalc("right",N,fixRight)};ie7CSS.addRecalc("border-spacing",N,function(e){if(e.currentStyle.borderCollapse!="collapse"){e.cellSpacing=getPixelValue(e,e.currentStyle["border-spacing"])}});ie7CSS.addRecalc("box-sizing","content-box",this.boxSizing);ie7CSS.addRecalc("box-sizing","border-box",borderBox);var _0=new ParseMaster;_0.add(/Width/,"Height");_0.add(/width/,"height");_0.add(/Left/,"Top");_0.add(/left/,"top");_0.add(/Right/,"Bottom");_0.add(/right/,"bottom");eval(_0.exec(String(fixWidth)));fixWidth();fixHeight(true)});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-load.htc
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-load.htc	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-load.htc	(revision 198)
@@ -0,0 +1,1 @@
+<component lightweight="true"><attach event="ondocumentready" onevent="IE7.init()"/></component>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-object.htc
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-object.htc	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-object.htc	(revision 198)
@@ -0,0 +1,12 @@
+<html>
+<!--
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+-->
+<head>
+<style type="text/css">body{margin:0}</style>
+<script type="text/javascript">public_description=new function(){var l=false;this.ie7_anon=true;this.load=function(o,c,u){if(l)return;l=true;function _0(t,p){t.style[p]=o.currentStyle[p]};var p=o;while(p&&p.currentStyle.backgroundColor=="transparent"){p=p.parentElement}if(p)body.style.backgroundColor=p.currentStyle.backgroundColor;_0(body,"backgroundImage");_0(body,"backgroundRepeat");_0(body,"backgroundPositionX");_0(body,"backgroundPositionY");_0(body,"fontFamily");_0(body,"fontSize");_0(wrapper,"paddingTop");_0(wrapper,"paddingRight");_0(wrapper,"paddingBottom");_0(wrapper,"paddingLeft");image.width=o.clientWidth;image.height=o.clientHeight;var B64=/^data:.*;base64/i,P=/.png$/i;if(B64.test(u))u="ie7-base64.php"+"?"+u.slice(5);if(P.test(u)&&!/MSIE 5.0/.test(navigator.userAgent)){image.src="blank.gif";image.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+u+"',sizingMethod='scale')"}else{image.src=u}o.style.width=body.scrollWidth;o.style.height=body.scrollHeight}};</script>
+</head>
+<body id="body"><div id="wrapper"><img id="image"></div></body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-overflow.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-overflow.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-overflow.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-overflow",function(){var S={backgroundColor:"transparent",backgroundImage:"none",backgroundPositionX:null,backgroundPositionY:null,backgroundRepeat:null,borderTopWidth:0,borderRightWidth:0,borderBottomWidth:0,borderLeftStyle:"none",borderTopStyle:"none",borderRightStyle:"none",borderBottomStyle:"none",borderLeftWidth:0,height:null,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,width:"100%"};function _3(p,s,t){t.style[p]=s.currentStyle[p];if(S[p]!=null){s.runtimeStyle[p]=S[p]}};ie7CSS.addRecalc("overflow","visible",function(e){if(e.parentNode.ie7_wrapper)return;if(ie7Layout&&e.currentStyle["max-height"]!="auto"){ie7Layout.maxHeight(e)}if(e.currentStyle.marginLeft=="auto")e.style.marginLeft=0;if(e.currentStyle.marginRight=="auto")e.style.marginRight=0;var w=document.createElement(ANON);w.ie7_wrapper=true;for(var p in S)_3(p,e,w);w.style.display="block";w.style.position="relative";e.runtimeStyle.position="absolute";e.parentNode.insertBefore(w,e);w.appendChild(e)});cssQuery.addModule("ie7-overflow",function(){function _0(e){return(e&&e.ie7_wrapper)?e.firstChild:e};var _2=previousElementSibling;previousElementSibling=function(e){return _0(_2(e))};var _1=nextElementSibling;nextElementSibling=function(e){return _0(_1(e))};selectors[" "]=function(r,f,t,n){var e,i,j;for(i=0;i<f.length;i++){var s=getElementsByTagName(f[i],t,n);for(j=0;(e=_0(s[j]));j++){if(thisElement(e)&&(!n||compareNamespace(e,n)))r.push(e)}}};selectors[">"]=function(r,f,t,n){var e,i,j;for(i=0;i<f.length;i++){var s=childElements(f[i]);for(j=0;(e=_0(s[j]));j++){if(compareTagName(e,t,n))r.push(e)}}}})});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-quirks.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-quirks.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-quirks.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-quirks",function(){if(quirksMode){var F="xx-small,x-small,small,medium,large,x-large,xx-large".split(",");for(var i=0;i<F.length;i++){F[F[i]]=F[i-1]||"0.67em"}ie7CSS.addFix(new RegExp("(font(-size)?\\s*:\\s*)([\\w\\-\\.]+)"),function(m,o){return m[o+1]+(F[m[o+3]]||m[o+3])});if(appVersion<6){var N=/^\-/,L=/(em|ex)$/i;var EM=/em$/i,EX=/ex$/i;function _2(e){var s=1;_0.style.fontFamily=e.currentStyle.fontFamily;_0.style.lineHeight=e.currentStyle.lineHeight;while(e!=body){var f=e.currentStyle["ie7-font-size"];if(f){if(EM.test(f))s*=parseFloat(f);else if(PERCENT.test(f))s*=(parseFloat(f)/100);else if(EX.test(f))s*=(parseFloat(f)/2);else{_0.style.fontSize=f;return 1}}e=e.parentElement}return s};var _0=createTempElement();getPixelValue=function(e,v){if(PIXEL.test(v||0))return parseInt(v||0);var scale=N.test(v)?-1:1;if(L.test(v))scale*=_2(e);_0.style.width=(scale<0)?v.slice(1):v;body.appendChild(_0);v=scale*_0.offsetWidth;_0.removeNode();return parseInt(v)};HEADER=HEADER.replace(/(font(-size)?\s*:\s*([^\s;}\/]*))/gi,"ie7-font-size:$3;$1");ie7CSS.addFix(/cursor\s*:\s*pointer/,"cursor:hand");ie7CSS.addFix(/display\s*:\s*list-item/,"display:block")}function getPaddingWidth(e){return getPixelValue(e,e.currentStyle.paddingLeft)+getPixelValue(e,e.currentStyle.paddingRight)};function _1(e){if(appVersion<5.5&&ie7Layout)ie7Layout.boxSizing(e.parentElement);var p=e.parentElement;var m=p.offsetWidth-e.offsetWidth-getPaddingWidth(p);var a=(e.currentStyle["ie7-margin"]&&e.currentStyle.marginRight=="auto")||e.currentStyle["ie7-margin-right"]=="auto";switch(p.currentStyle.textAlign){case"right":m=(a)?parseInt(m/2):0;e.runtimeStyle.marginRight=parseInt(m)+"px";break;case"center":if(a)m=0;default:if(a)m=parseInt(m/2);e.runtimeStyle.marginLeft=parseInt(m)+"px"}};ie7CSS.addRecalc("margin(-left|-right)?","[^};]*auto",function(e){if(register(_1,e,e.parentElement&&e.currentStyle.display=="block"&&e.currentStyle.marginLeft=="auto"&&e.currentStyle.position!="absolute")){_1(e)}});addResize(function(){for(var i in _1.elements){e=_1.elements[i];e.runtimeStyle.marginLeft=e.runtimeStyle.marginRight="";_1(e)}})}});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-recalc.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-recalc.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-recalc.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-recalc",function(){C=/\sie7_class\d+/g;function _0(e){e.className=e.className.replace(C,"")};function _1(e){e.runtimeStyle.cssText=""};ie7CSS.specialize({elements:{},handlers:[],reset:function(){this.removeEventHandlers();var e=this.elements;for(var i in e)_1(e[i]);this.elements={};if(this.Rule){var e=this.Rule.elements;for(var i in e)_0(e[i]);this.Rule.elements={}}},reload:function(){ie7CSS.rules=[];this.getInlineStyles();this.screen.load();if(this.print)this.print.load();this.refresh();this.trash()},addRecalc:function(p,t,h,r){this.inherit(p,t,function(e){h(e);ie7CSS.elements[e.uniqueID]=e},r)},recalc:function(){this.reset();this.inherit()},addEventHandler:function(e,t,h){e.attachEvent(t,h);this.handlers.push(arguments)},removeEventHandlers:function(){var h;while(h=this.handlers.pop()){removeEventHandler(h[0],h[1],h[2])}},getInlineStyles:function(){var st=document.getElementsByTagName("style"),s;for(var i=st.length-1;(s=st[i]);i--){if(!s.disabled&&!s.ie7){var c=s.c||s.innerHTML;this.styles.push(c);s.c=c}}},trash:function(){var s,i;for(i=0;i<styleSheets.length;i++){s=styleSheets[i];if(!s.ie7&&!s.c){s.c=s.cssText}}this.inherit()},getText:function(s){return s.c||this.inherit(s)}});addEventHandler(window,"onunload",function(){ie7CSS.removeEventHandlers()});if(ie7CSS.Rule){ie7CSS.Rule.elements={};ie7CSS.Rule.prototype.specialize({add:function(e){this.inherit(e);ie7CSS.Rule.elements[e.uniqueID]=e}});ie7CSS.PseudoElement.hash={};ie7CSS.PseudoElement.prototype.specialize({create:function(t){var k=this.selector+":"+t.uniqueID;if(!ie7CSS.PseudoElement.hash[k]){ie7CSS.PseudoElement.hash[k]=true;this.inherit(t)}}})}if(isHTML&&ie7HTML){ie7HTML.specialize({elements:{},addRecalc:function(s,h){this.inherit(s,function(e){if(!ie7HTML.elements[e.uniqueID]){h(e);ie7HTML.elements[e.uniqueID]=e}})}})}document.recalc=function(reload){if(ie7CSS.screen){if(reload)ie7CSS.reload();recalc()}}});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-server.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-server.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-server.css	(revision 198)
@@ -0,0 +1,44 @@
+body, td, dd {font: 10pt Verdana, Arial, Helvetica, sans-serif; color: black;}
+body {margin: 8px; background: #333;}
+h1 {margin: 0;}
+h1 a:hover {background-color: transparent;}
+h2 {font-size: 1.75em;}
+h3 {font-size: 1.1em;}
+p.footnote {font-family: "Times New Roman", Times, serif; font-style: italic;}
+a:active {color: #ff0000;}
+a:link {color: #0a6cce;}
+a:visited {color: #0a6cce;}
+code, *.code {font-family: monospace; font-size: 100%; font-style: normal; white-space: nowrap;
+ padding: 0 1px; background: #f2f3f8; border: #d6d9e9 1px solid;}
+code.box {display: block; padding: 10px; margin: 0.5em 0;}
+ul {list-style-type: square;}
+dd {margin: .2em 0 .5em 1em;}
+dl.library dt {display: list-item; margin-left: 3em; list-style-type: square;}
+dl.library dd {font-style: italic; margin-left: 3em;}
+dt {font-weight: bold;}
+dt.pack {color: brown;}
+a img {border-style: none;}
+hr {height: 1px; color: #000; border-style: solid;}
+hr.short {height: 2px; width: 100px;}
+div.document {background: #eef; padding: 20px 20px 5px 20px; width: 600px; border: 1px solid black;}
+hr {border-bottom-width: 0px;}
+div.header hr {color: #0a6cce; background-color: #0a6cce;}
+div.footer hr {color: #898e79; background-color: #898e79; }
+div.header, div.header a:link, div.header a:visited, h3 a:link, h3 a:visited {text-decoration: none;}
+a:hover {color: #fff; background-color: #0a6cce; text-decoration: none;}
+div.footer a:hover {background-color: transparent; text-decoration: none;}
+div.header .menu {text-align: right;}
+div.content {min-height: 100px;}
+div.footer {font-size: x-small; margin-top: 8px;}
+div.footnote {font-family: "times new roman", times; font-style: italic; margin-top: 10px;}
+#license {margin-top: 5px; font-size: xx-small;}
+table {border-top: 1px solid #000; border-left: 1px solid #000;}
+th {background-color: #fff; text-align: left;}
+th, td {border-right: 1px solid #000; border-bottom: 1px solid #000;}
+th.small {width: 100px;}
+th.medium {width: 200px;}
+th.large {width: 270px;}
+th.x-large {width: 408px;}
+table.fixed {table-layout: fixed;}
+span.comment {color: #666;}
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-squish.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-squish.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-squish.js	(revision 198)
@@ -0,0 +1,45 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+IE7.addModule("ie7-squish", function() {
+
+/* ---------------------------------------------------------------------
+
+  Squish some IE bugs!
+
+  Some of these bug fixes may have adverse effects so they are
+  not included in the standard library. Add your own if you want.
+
+  -dean
+
+--------------------------------------------------------------------- */
+
+// @NOTE: ie7Layout.boxSizing is the same as the "Holly Hack"
+
+// "doubled margin" bug
+// http://www.positioniseverything.net/explorer/doubled-margin.html
+ie7CSS.addFix(/float\s*:\s*(left|right)/, "display:inline;$1");
+
+if (ie7Layout) {
+	// "peekaboo" bug
+	// http://www.positioniseverything.net/explorer/peekaboo.html
+	if (appVersion >= 6) ie7CSS.addRecalc("float", "left|right", function($element) {
+		ie7Layout.boxSizing($element.parentElement);
+		// "doubled margin" bug
+		$element.runtimeStyle.display = "inline";
+	});
+
+	// "unscrollable content" bug
+	// http://www.positioniseverything.net/explorer/unscrollable.html
+	ie7CSS.addRecalc("position", "absolute|fixed", function($element) {
+		if ($element.offsetParent && $element.offsetParent.currentStyle.position == "relative")
+			ie7Layout.boxSizing($element.offsetParent);
+	});
+}
+
+//# // get rid of Microsoft's pesky image toolbar
+//# if (!complete) document.write('<meta http-equiv="imagetoolbar" content="no">');
+
+});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-standard-p.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-standard-p.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-standard-p.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+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}('y(!26.1F)11 7(){2C{26.1F=8;6 2s=8.24=11 3b;8.1g=7(){z"1F 4x 0.9 (ad)"};6 5T=/5T/.Z(2y.5h.7C);6 31=(5T)?7(m){26.31(1F+"\\n\\n"+m)}:2s;6 29=ac.29.19(/ab (\\d\\.\\d)/)[1];6 2m=16.aa!="a9";y(/a8/.Z(2y.5h.7C)||29<5||!/^a7/.Z(16.2F.2a))z;6 33=16.5W=="33";6 1s,1K;6 2F=16.2F,1X,1J,1R=16.1R;6 4E="!";6 3Q={};6 2G=1z;1F.24=7(n,s){y(!3Q[n]){y(2G)1k("s="+23(s));3Q[n]=11 s()}};6 R=/^[\\w\\.]+[^:]*$/;7 1Z(h,p){y(R.Z(h))h=(p||"")+h;z h};7 3F(h,p){h=1Z(h,p);z h.1q(0,h.7a("/")+1)};6 s=16.7B[16.7B.K-1];2C{1k(s.7j)}2j(i){}6 2k=3F(s.1l);6 2v;2C{6 l=(a6()>=5)?"a5":"5n";2v=11 a4(l+".a3")}2j(i){}6 4A={};7 3T(h,p){2C{h=1Z(h,p);y(!4A[h]){2v.a2("a1",h,1z);2v.a0();y(2v.7A==0||2v.7A==9Z){4A[h]=2v.9Y}}}2j(i){31("4B [1]: 5O 9X 9W "+h)}5U{z 4A[h]||""}};6 4i=1Z("9V.9U",2k);7 2o(1w){y(1w!=1U){1w.1T=1t.1C.1T;1w.1e=1t.1C.1e}z 1w};2o.1e=7(p,c){y(!p)p={};y(!c)c=p.1h;y(c=={}.1h)c=11 3b("8.1T()");c.1i=11 3b("z 8");c.1i.1C=11 8.1i;c.1i.1C.1e(p);c.1C=11 c.1i;c.1i.1C.1h=c.1C.1h=c;c.2E=8;c.1e=1a.5P;c.4z=8.4z;z c};2o.1i=11 3b("z 8");2o.1i.1C={1h:2o,1T:7(){z 1a.5P.9T.2E.2q(8,1a)},1e:7(1w){y(8==8.1h.1C&&8.1h.1e){z 8.1h.1i.1C.1e(1w)}O(6 i 28 1w){34(i){1m"1h":1m"1g":1m"1i":5M}y(3Y 1w[i]=="7"&&1w[i]!=8[i]){1w[i].2E=8[i]}8[i]=1w[i]}y(1w.1g!=8.1g&&1w.1g!={}.1g){1w.1g.2E=8.1g;8.1g=1w.1g}z 8}};7 1t(){};8.1t=2o.1e({1h:1t,1g:7(){z"[9S "+(8.1h.1x||"9R")+"]"},9Q:7(2i){z 8.1h==2i||2i.4z(8.1h)}});1t.1x="1t";1t.2E=1U;1t.4z=7(2i){1D(2i&&2i.2E!=8)2i=2i.2E;z 7q(2i)};1t.1i.2E=2o;3u 8.1t;6 5x=1t.1e({1h:7(){8.3L=[];8.1Q=[]},1S:2s});y(29<5.5)1k(3T("17-9P.5X",2k));6 5S=1z;1F.1S=7(){2C{y(5S)z;5S=33=1o;1X=16.1X;1J=(2m)?1X:2F;y(2l&&1s)1s.2q();V.2q();1u();31("2G 9O")}2j(e){31("4B [2]: "+e.5V)}};6 1Q=[];7 1n(r){1Q.1b(r)};7 1u(){14.5g();y(2l&&1s)1s.1u();V.1u();O(6 i=0;i<1Q.K;i++)1Q[i]()};7 2U(){6 E=0,R=1,L=2;6 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,7t=/\\\\./g,Q=/\'/,7z=/\\3S[^\\3S]*\\3S/g;6 3N=8;8.15=7(e,r){y(!r)r="";6 l=(5R(23(e)).19(G)||"").K+1;y(S.Z(r)){y(I.Z(r)){r=25(r.1q(1))-1}1d{6 i=l;6 q=Q.Z(5R(r))?\'"\':"\'";1D(i)r=r.2O("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=11 3b("a,o","z"+q+r.13(T,"$1")+q)}}7y(e||"/^$/",r,l)};8.2V=7(s){3R.K=0;z 7u(7v(s,8.4y).13(11 1N(30,8.5Q?"5D":"g"),7w),8.4y).13(7z,"")};8.72=7(){30.K=0};6 3R=[];6 30=[];6 7x=7(){z"("+23(8[E]).1q(1,-1)+")"};30.1g=7(){z 8.2p("|")};7 7y(){1a.1g=7x;30[30.K]=1a}7 7w(){y(!1a[0])z"";6 i=1,j=0,p;1D(p=30[j++]){y(1a[i]){6 r=p[R];34(3Y r){1m"7":z r(1a,i);1m"9N":z 1a[r+i]}6 d=(1a[i].6F(3N.4y)==-1)?"":"\\3S"+1a[i]+"\\3S";z d+r}1d i+=p[L]}};7 7v(s,e){z e?s.13(11 1N("\\\\"+e+"(.)","g"),7(m,c){3R[3R.K]=c;z e}):s};7 7u(s,e){6 i=0;z e?s.13(11 1N("\\\\"+e,"g"),7(){z e+(3R[i++]||"")}):s};7 5R(s){z s.13(7t,"")}};2U.1C={1h:2U,5Q:1z,4y:""};1t.1e(2U.1C);6 3M=2U.1e({5Q:1o});6 14=7(){6 4x="2.0.2";6 C=/\\s*,\\s*/;6 14=7(s,1E){2C{6 m=[];6 u=1a.5P.5I&&!1E;6 b=(1E)?(1E.1h==7n)?1E:[1E]:[16];6 2f=45(s).2O(C),i;O(i=0;i<2f.K;i++){s=5J(2f[i]);y(4P&&s.1q(0,3).2p("")==" *#"){s=s.1q(2);1E=7o([],b,s[1])}1d 1E=b;6 j=0,t,f,a,c="";1D(j<s.K){t=s[j++];f=s[j++];c+=t+f;a="";y(s[j]=="("){1D(s[j++]!=")"&&j<s.K){a+=s[j]}a=a.1q(0,-1);c+="("+a+")"}1E=(u&&2e[c])?2e[c]:7m(1E,t,f,a);y(u)2e[c]=1E}m=m.4J(1E)}3u 14.5O;z m}2j(e){14.5O=e;z[]}};14.1g=7(){z"7 14() {\\n  [4x "+4x+"]\\n}"};6 2e={};14.5I=1z;14.5g=7(s){y(s){s=5J(s).2p("");3u 2e[s]}1d 2e={}};6 3Q={};6 2G=1z;14.24=7(n,s){y(2G)1k("s="+23(s));3Q[n]=11 s()};14.1i=7(c){z c?1k(c):8};6 1V={};6 1B={};6 1p={19:/\\[([\\w-]+(\\|[\\w-]+)?)\\s*(\\W?=)?\\s*([^\\]]*)\\]/};6 2R=[];1V[" "]=7(r,f,t,n){6 e,i,j;O(i=0;i<f.K;i++){6 s=4w(f[i],t,n);O(j=0;(e=s[j]);j++){y(2D(e)&&5K(e,n))r.1b(e)}}};1V["#"]=7(r,f,i){6 e,j;O(j=0;(e=f[j]);j++)y(e.1c==i)r.1b(e)};1V["."]=7(r,f,c){c=11 1N("(^|\\\\s)"+c+"(\\\\s|$)");6 e,i;O(i=0;(e=f[i]);i++)y(c.Z(e.1x))r.1b(e)};1V[":"]=7(r,f,p,a){6 t=1B[p],e,i;y(t)O(i=0;(e=f[i]);i++)y(t(e,a))r.1b(e)};1B["21"]=7(e){6 d=5L(e);y(d.5N)O(6 i=0;i<d.5N.K;i++){y(d.5N[i]==e)z 1o}};1B["37"]=7(e){};6 2D=7(e){z(e&&e.7k==1&&e.2W!="!")?e:1U};6 4S=7(e){1D(e&&(e=e.9M)&&!2D(e))5M;z e};6 47=7(e){1D(e&&(e=e.6W)&&!2D(e))5M;z e};6 3l=7(e){z 2D(e.7s)||47(e.7s)};6 5t=7(e){z 2D(e.7r)||4S(e.7r)};6 6q=7(e){6 c=[];e=3l(e);1D(e){c.1b(e);e=47(e)}z c};6 4P=1o;6 5H=7(e){6 d=5L(e);z(3Y d.7p=="9L")?/\\.9K$/i.Z(d.9J):7q(d.7p=="9I 9H")};6 5L=7(e){z e.9G||e.16};6 4w=7(e,t){z(t=="*"&&e.1Y)?e.1Y:e.4w(t)};6 4T=7(e,t,n){y(t=="*")z 2D(e);y(!5K(e,n))z 1z;y(!5H(e))t=t.9F();z e.2W==t};6 5K=7(e,n){z!n||(n=="*")||(e.9E==n)};6 9D=7(e){z e.9C};7 7o(r,f,1c){6 m,i,j;O(i=0;i<f.K;i++){y(m=f[i].1Y.9B(1c)){y(m.1c==1c)r.1b(m);1d y(m.K!=1U){O(j=0;j<m.K;j++){y(m[j].1c==1c)r.1b(m[j])}}}}z r};y(![].1b)7n.1C.1b=7(){O(6 i=0;i<1a.K;i++){8[8.K]=1a[i]}z 8.K};6 N=/\\|/;7 7m(1E,t,f,a){y(N.Z(f)){f=f.2O(N);a=f[0];f=f[1]}6 r=[];y(1V[t]){1V[t](r,1E,f,a)}z r};6 S=/^[^\\s>+~]/;6 7l=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;7 5J(s){y(S.Z(s))s=" "+s;z s.19(7l)||[]};6 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;6 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;6 45=7(s){z s.13(W,"$1").13(I,"$1*$2")};6 2c={1g:7(){z"\'"},19:/^(\'[^\']*\')|("[^"]*")$/,Z:7(s){z 8.19.Z(s)},15:7(s){z 8.Z(s)?s:8+s+8},3v:7(s){z 8.Z(s)?s.1q(1,-1):s}};6 2w=7(t){z 2c.3v(t)};6 E=/([\\/()[\\]?{}|*+-])/g;7 4O(s){z s.13(E,"\\\\$1")};2G=1o;z 14}();14.5I=1o;14.24("17",7(){2D=7(e){z(e&&e.7k==1&&e.2W!="!"&&!e.2K)?e:1U}});14.1i("2w=1a[1]",42);6 2l=!14.1i("5H(1a[1])",2F);6 2r=":21{17-21:21}:37{17-21:37}"+(2l?"":"*{6Q:0}");6 V=11(5x.1e({5B:11 3M,2P:"",2Y:"",5F:[],1S:7(){8.5G();8.4t()},4t:7(){V.3O.18=2r+8.2P+8.2Y},7i:7(){6 3P=16.4w("1r"),s;O(6 i=3P.K-1;(s=3P[i]);i--){y(!s.3m&&!s.17){8.5F.1b(s.7j)}}},2q:7(){8.7i();8.4t();11 3y("2P");8.7g()},3i:7(e,r){8.5B.15(e,r)},1u:7(){6 R=/7h\\d+/g;6 s=2r.19(/[{,]/g).K;6 3P=s+(8.2P.18.19(/\\{/g)||"").K;6 2Q=8.3O.2t,r;6 4v,c,4u,e,i,j,k,1c;O(i=s;i<3P;i++){r=2Q[i];y(r&&(4v=r.1r.18.19(R))){4u=14(r.4M);y(4u.K)O(j=0;j<4v.K;j++){1c=4v[j];c=V.1Q[1c.1q(10)][2];O(k=0;(e=4u[k]);k++){y(e.D[1c])c(e)}}}}},1n:7(p,t,h,r){t=11 1N("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");6 i=8.1Q.K;y(r)r=p+":"+r;8.3i(t,7(m,o){z(r?m[o+1]+r:m[o])+";17-"+m[o].1q(1)+";7h"+i+":1"});8.1Q.1b(1a);z i},2w:7(s){z s.18||""},5G:7(){y(33||!2l)16.5G();1d 16.9A("<1r 17=1o></1r>");8.3O=1R[1R.K-1];8.3O.17=1o;8.3O.18=2r},7g:7(){O(6 i=0;i<1R.K;i++){y(!1R[i].17&&1R[i].18){1R[i].18=""}}}}));7 3y(m){8.2Z=m;8.3q();V[m]=8;V.4t()};1t.1e({1h:3y,1g:7(){z"@2Z "+8.2Z+"{"+8.18+"}"},1u:2s,3q:7(){8.18="";8.2w();8.38();8.18=41(8.18);f={}},2w:7(){6 7e=[].4J(V.5F);6 M=/@2Z\\s+([^{]*)\\{([^@]+\\})\\s*\\}/5D;6 A=/\\9z\\b|^$/i,S=/\\9y\\b/i,P=/\\9x\\b/i;7 7d(c,m){4s.v=m;z c.13(M,4s)};7 4s(9w,m,c){m=5E(m);34(m){1m"2P":1m"2Y":y(m!=4s.v)z"";1m"1Y":z c}z""};7 5E(m){y(A.Z(m))z"1Y";1d y(S.Z(m))z(P.Z(m))?"1Y":"2P";1d y(P.Z(m))z"2Y"};6 3N=8;7 5C(s,p,m,l){6 c="";y(!l){m=5E(s.2Z);l=0}y(m=="1Y"||m==3N.2Z){y(l<3){O(6 i=0;i<s.7f.K;i++){c+=5C(s.7f[i],3F(s.2u,p),m,l+1)}}c+=79(s.2u?7c(s,p):7e.77()||"");c=7d(c,3N.2Z)}z c};6 f={};7 7c(s,p){6 u=1Z(s.2u,p);y(f[u])z"";f[u]=(s.3m)?"":7b(V.2w(s,p),3F(s.2u,p));z f[u]};6 U=/(43\\s*\\(\\s*[\'"]?)([\\w\\.]+[^:\\)]*[\'"]?\\))/5D;7 7b(c,p){z c.13(U,"$1"+p.1q(0,p.7a("/")+1)+"$2")};O(6 i=0;i<1R.K;i++){y(!1R[i].3m&&!1R[i].17){8.18+=5C(1R[i])}}},38:7(){8.18=V.5B.2V(8.18)},1u:2s});6 2c=14.1i("2c");6 4r=[];7 79(c){z 2n.2V(3r.2V(c))};7 5A(m,o){z 2c+(4r.1b(m[o])-1)+2c};7 42(v){z 2c.Z(v)?1k(4r[1k(v)]):v};6 2n=11 3M;2n.15(/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//);2n.15(/\'[^\']*\'/,5A);2n.15(/"[^"]*"/,5A);2n.15(/\\s+/," ");2n.15(/@(9v|9u)[^;\\n]+[;\\n]|<!\\-\\-|\\-\\->/);6 3r=11 3M;3r.15(/\\\\\'/,"\\\\9t");3r.15(/\\\\"/,"\\\\46");6 5z=11 3M;5z.15(/\'(\\d+)\'/,78);7 41(c){z 5z.2V(c)};7 78(m,o){z 4r[m[o+1]]};6 5y=[];7 4U(h){1n(h);1j(26,"9s",h)};7 1j(e,t,h){e.9r(t,h);5y.1b(1a)};7 76(e,t,h){2C{e.9q(t,h)}2j(i){}};1j(26,"9p",7(){6 h;1D(h=5y.77()){76(h[0],h[1],h[2])}});7 20(h,e,c){y(!h.1O)h.1O={};y(c)h.1O[e.2a]=e;1d 3u h.1O[e.2a];z c};1j(26,"6z",7(){y(!V.2Y)11 3y("2Y");V.2Y.1u()});6 75=/^\\d+(9o)?$/i;6 3d=/^\\d+%$/;6 3c=7(e,v){y(75.Z(v))z 25(v);6 s=e.1r.1f;6 r=e.J.1f;e.J.1f=e.D.1f;e.1r.1f=v||0;v=e.1r.4e;e.1r.1f=s;e.J.1f=r;z v};7 6x(t){6 e=16.3X(t||"2M");e.1r.18="1y:3C;6R:0;4K:9n;3G:1M;9m:9l(0 0 0 0);1f:-9k";e.2K=1o;z e};6 4q="17-";7 3D(e){z e.D["17-1y"]=="2z"};7 4o(e,p){z e.D[4q+p]||e.D[p]};7 2T(e,p,v){y(e.D[4q+p]==1U){e.J[4q+p]=e.D[p]}e.J[p]=v};7 4H(o,c,u){6 t=9j(7(){2C{y(!o.3q)z;o.3q(o,c,u);74(t)}2j(i){74(t)}},10)};1F.24("17-9i",7(){y(!2l)z;2r+="9h{3p-3o:9g}9f{3p-3o:1.9e;}9d{3p-3o:1.9c;}"+"9b{3p-3o:9a}99{3p-3o:.98}97{3p-3o:.96}";6 5w={};1s=11(5x.1e({1S:2s,3i:7(){8.3L.1b(1a)},2q:7(){O(6 i=0;i<8.3L.K;i++){6 m=14(8.3L[i][0]);6 f=8.3L[i][1]||6X;O(6 j=0;j<m.K;j++)f(m[j])}},1n:7(){8.1Q.1b(1a)},1u:7(){O(6 i=0;i<8.1Q.K;i++){6 m=14(8.1Q[i][0]);6 r=8.1Q[i][1],e;6 k=4g.95(2,i);O(6 j=0;(e=m[j]);j++){6 u=e.2a;y((5w[u]&k)==0){e=r(e)||e;5w[u]|=k}}}}}));1s.3i("94");1s.1n("93",7(e){y(!e.6o){6 f=14("5l,92",e)[0];y(f){1j(e,"73",7(){f.91()})}}});1s.1n("71,5l",7(e){y(e.2W=="70"){6 m=e.3z.19(/ 3n="([^"]*)"/i);e.J.3n=(m)?m[1]:""}y(e.2L=="5v"){1j(e,"73",7(){e.J.5u=1o;32("16.1Y."+e.2a+".J.5u=1z",1)})}});6 U=/^(5v|72|71)$/;1s.1n("90",7(e){1j(e,"8Z",7(){O(6 i=0;i<e.K;i++){y(6Z(e[i])){e[i].3m=1o;32("16.1Y."+e[i].2a+".3m=1z",1)}1d y(e[i].2W=="70"&&e[i].2L=="5v"){32("16.1Y."+e[i].2a+".3n=\'"+e[i].3n+"\'",1);e[i].3n=e[i].J.3n}}})});7 6Z(e){z U.Z(e.2L)&&!e.3m&&!e.J.5u};1s.1n("5d",7(e){y(e.8Y&&!e.6Y)e.6Y=""});6 P=(29<5.5)?"8X:":"";7 6X(e){6 f=16.3X("<"+P+e.3z.1q(1));y(e.3z.1q(-2)!="/>"){6 6V="</"+e.2W+">",n;1D((n=e.6W)&&n.3z!=6V){f.6t(n)}y(n)n.8W()}e.4R.6A(f,e)}});1F.24("17-8V",7(){1K=8;2r+="*{3H:22-2X}";8.3j=(29<5.5)?7(e){z e.1I}:7(e){z e.D.3j};8.3H=7(e){y(!1K.3j(e)){e.1r.2b="6T";y(e.D.6U=="1P")e.J.6U="2y";4k(e)}};7 4k(e){y(e!=1J&&e.D.1y!="3C"){4p(e);8U(e)}};6 3l=14.1i("3l");6 5t=14.1i("5t");7 4p(e){y(!e.J.3k){6 p=e.59;y(p&&1K.3j(p)&&e==3l(p))z;6 f=3l(e);y(f&&f.D.8T=="1M"&&1K.3j(f)){4p(f);m=5s(e,e.D.3k);c=5s(f,f.D.3k);y(m<0||c<0){e.J.3k=m+c}1d{e.J.3k=4g.3g(c,m)}f.J.3k="8S"}}};1k(23(4p).13(/5c/g,"6N").13(/4N/g,"8R"));7 5s(e,v){z(v=="1P")?0:3c(e,v)};6 U=/^[.\\d][\\w%]*$/,A=/^(1P|6T)$/,N="[.\\\\d]";6 4l,6S;7 6O(e){4l(e);6S(e)};7 2g(H){4l=7(e){y(!3d.Z(e.D.12))2g(e);4k(e)};7 2g(e,v){y(!e.J.3J){y(!v)v=e.D.12;e.J.3J=(U.Z(v))?4g.3g(0,2B(e,v)):v;2T(e,"12",e.J.3J)}};7 5r(e){y(!3D(e)){6 l=e.3B;1D(l&&!1K.3j(l))l=l.3B}z(l||1J).1I};7 1H(e,v){y(3d.Z(v))z 25(4c(v)/3w*5r(e));z 3c(e,v)};6 2B=7(e,v){6 b=e.D["2X-5o"]=="3G-2X";6 a=0;y(2m&&!b)a+=4n(e)+3K(e);1d y(!2m&&b)a-=4n(e)+3K(e);z 1H(e,v)+a};7 4n(e){z e.2S-e.1I};7 3K(e){z 1H(e,e.D.8Q)+1H(e,e.D.8P)};1k(23(3K).13(/6R/g,"6Q").13(/8O/g,"8N"));2r+="*{1A:1M;27:1M;3I-12:1M;3g-12:1M}";7 1A(e){y(e.D["3I-12"]!=1U){e.1r.1A=e.D["3I-12"]}y(20(1A,e,e.D.1A!="1M")){1K.3H(e);2g(e);4m(e)}};1k(23(1A).13(/3I/g,"3g"));1K.1A=1A;1K.27=27;7 4m(e){6 r=e.54();6 w=r.1W-r.1f;y(e.D.1A!="1M"&&w<=2B(e,e.D.1A)){e.J.12=2B(e,e.D.1A)}1d y(e.D.27!="1M"&&w>=2B(e,e.D.27)){e.J.12=2B(e,e.D.27)}1d{e.J.12=e.J.3J}};7 2x(e){y(20(2x,e,/^(2z|3C)$/.Z(e.D.1y)&&4o(e,"1f")!="1P"&&4o(e,"1W")!="1P"&&A.Z(4o(e,"12")))){5p(e);1K.3H(e)}};1K.2x=2x;7 5p(e){6 l=1H(e,e.J.52||e.D.1f);6 w=5r(e)-1H(e,e.D.1W)-l-8M(e);y(25(e.J.12)==w)z;e.J.12="";y(3D(e)||H||e.2S<w){y(!2m)w-=4n(e)+3K(e);y(w<0)w=0;e.J.3J=w;2T(e,"12",w)}};6 5q=0;4U(7(){6 i,w=(5q<1J.1I);5q=1J.1I;O(i 28 1A.1O){6 e=1A.1O[i];6 f=(25(e.J.12)==2B(e,e.D.1A));y(w&&f)e.J.12="";y(w==f)4m(e)}O(i 28 27.1O){6 e=27.1O[i];6 f=(25(e.J.12)==2B(e,e.D.27));y(!w&&f)e.J.12="";y(w!=f)4m(e)}O(i 28 2x.1O)5p(2x.1O[i])});y(26.8L!==1z){V.1n("12",N,2m?4l:4k)}V.1n("3I-12",N,1A);V.1n("3g-12",N,27);V.1n("1W",N,2x)};V.1n("3G-6P",N,7(e){y(e.D.8K!="8J"){e.8I=3c(e,e.D["3G-6P"])}});V.1n("2X-5o","22-2X",8.3H);V.1n("2X-5o","3G-2X",6O);6 1v=11 2U;1v.15(/6v/,"6u");1v.15(/12/,"2b");1v.15(/6w/,"5c");1v.15(/1f/,"2y");1v.15(/8H/,"6N");1v.15(/1W/,"56");1k(1v.2V(23(2g)));2g();8G(1o)});1F.24("17-8F",7(){y(29<5.5)z;6 A="6J.5n.8E";6 F="6K:"+A+"(1l=\'%1\',8D=\'6H\')";6 5j=11 1N((26.8C||"-8B.8A")+"$","i");6 3h=[];7 5f(e){6 f=e.6M[A];y(f){f.1l=e.1l;f.6L=1o}1d{e.J.5m=F.13(/%1/,e.1l);3h.1b(e)}e.1l=4i};7 6y(e){e.1l=e.4D;e.6M[A].6L=1z};V.3i(/6I\\s*:\\s*([\\d.]+)/,7(m,o){z"6G:1;5m:6K:6J.5n.8z(6I="+((4c(m[o+1])*3w)||1)+")"});6 B=/5e(-5i)?\\s*:\\s*([^\\(};]*)43\\(([^\\)]+)\\)([^;}]*)/;V.3i(B,7(m,o){6 u=42(m[o+3]);z 5j.Z(u)?"5m:"+F.13(/6H/,"8y").13(/%1/,u)+";6G:1;5e"+(m[o+1]||"")+":"+(m[o+2]||"")+"1M"+(m[o+4]||""):m[o]});y(1s){1s.1n("5d,5l",7(e){y(e.2W=="8x"&&e.2L!="5i")z;5k(e);1j(e,"8w",7(){y(!4j&&60.8v=="1l"&&e.1l.6F(4i)==-1)5k(e)})});6 6D=/^3W:.*;6E/i;6 6C=1Z("17-6E.8u",2k);7 5k(e){y(5j.Z(e.1l)){6 i=11 8t(e.12,e.2b);i.8s=7(){e.12=i.12;e.2b=i.2b;i=1U};i.1l=e.1l;e.4D=e.1l;5f(e)}1d y(6D.Z(e.1l)){e.1l=6C+"?"+e.1l.1q(5)}};6 I=/^5i/i;6 6B=1Z("17-2M.4C",2k);1s.1n("2M",7(e){y(I.Z(e.2L)){6 o=16.3X("<2M 2L=68/x-67>");o.1r.12=e.D.12;o.1r.2b=e.D.2b;o.3W=6B;6 u=1Z(e.3W,3F(5h.2u));e.4R.6A(o,e);14.5g("2M");4H(o,"",u);z o}})}6 4j=1z;1j(26,"6z",7(){4j=1o;O(6 i=0;i<3h.K;i++)6y(3h[i])});1j(26,"8r",7(){O(6 i=0;i<3h.K;i++)5f(3h[i]);4j=1z})});1F.24("17-2z",7(){V.1n("1y","2z",4a,"3C");V.1n("5e(-8q)?","[^};]*2z",4b);6 4Z=(2m)?"1X":"2F";6 4h=7(){y(1X.D.5b!="2z"){y(1X.D.5a=="1M"){1X.J.8p="8o-8n";1X.J.5a="43("+4i+")"}1X.J.5b="2z"}4h=2s};6 2h=6x("5d");7 1v(f){z 2A.2V(23(f))};6 2A=11 2U;2A.15(/6w/,"5c");2A.15(/1f/,"2y");2A.15(/6v/,"6u");2A.15(/12/,"2b");2A.15(/1W/,"56");2A.15(/X/,"Y");7 3f(e){z(e)?3D(e)||3f(e.59):1z};7 4f(e,p,3e){32("16.1Y."+e.2a+".J.4f(\'"+p+"\',\'"+3e+"\')",0)};7 4b(e){y(20(4b,e,e.D.5b=="2z"&&!e.61(1X))){4h();58(e);8m(e);4V(e)}};7 4V(e){2h.1l=e.D.5a.1q(5,-2);6 p=(e.6c)?e:e.59;p.6t(2h);57(e);8l(e);p.8k(2h)};7 58(e){e.1r.3E=e.D.3E;y(!3f(e)){6 3e="(25(J.3A)+16."+4Z+".6s)||0";4f(e,"3E",3e)}};1k(1v(58));7 57(e){6 p=3f(e)?"3E":"3A";e.J[p]=55(e,e.1r.3E)-e.54().1f-e.8j+2};1k(1v(57));7 55(e,p){34(p){1m"1f":1m"2y":z 0;1m"1W":1m"56":z 1J.1I-2h.2S;1m"8i":z(1J.1I-2h.2S)/2;8h:y(3d.Z(p)){z 25((1J.1I-2h.2S)*4c(p)/3w)}2h.1r.1f=p;z 2h.3A}};1k(1v(55));7 4a(e){y(20(4a,e,3D(e))){2T(e,"1y","3C");2T(e,"1f",e.D.1f);2T(e,"2y",e.D.2y);4h();y(1K)1K.2x(e);49(e)}};7 49(e,r){8g(e,r);4Y(e,r,1o);y(!e.J.4d&&e.D.4X=="1P"&&e.D.1W!="1P"){6 l=1J.1I-1H(e,e.D.1W)-1H(e,e.J.52)-e.1I;y(e.D.8f=="1P")l=25(l/2);y(3f(e.3B))e.J.4e+=l;1d e.J.50=l}53(e);8e(e)};7 53(e){y(e.D.12!="1P"){6 r=e.54();6 w=e.2S-1J.1I+r.1f-2;y(w>=0){w=4g.3g(3c(e,e.D.12)-w,0);2T(e,"12",w)}}};1k(1v(53));7 4Y(e,r){y(!r&&3d.Z(e.D.12)){e.J.2g=e.D.12}y(e.J.2g){e.J.12=1H(e,e.J.2g)}y(r){y(!e.J.4d)z}1d{e.J.50=0;e.J.52=e.D.1f;e.J.4d=e.D.1W!="1P"&&e.D.1f=="1P"}e.J.1f="";e.J.51=4W(e);e.J.4e=e.J.51;y(!r&&!3f(e.3B)){6 3e="J.51+J.50+16."+4Z+".6s";4f(e,"4e",3e)}};1k(1v(4Y));7 4W(e){6 s=e.3A,n=1;y(e.J.4d){s=1J.1I-e.2S-1H(e,e.D.1W)}y(e.D.4X!="1P"){s-=1H(e,e.D.4X)}1D(e=e.3B){y(e.D.1y!="8d")n=-1;s+=e.3A*n}z s};1k(1v(4W));7 1H(e,v){y(3d.Z(v))z 25(4c(v)/3w*1J.1I);z 3c(e,v)};1k(1v(1H));7 6r(){6 e=4b.1O;O(6 i 28 e)4V(e[i]);e=4a.1O;O(i 28 e){49(e[i],1o);49(e[i],1o)}48=0};6 48;4U(7(){y(!48)48=32(6r,0)})});1F.24("17-8c-1V",7(){14.24("8b-8a",7(){1V[">"]=7(r,f,t,n){6 e,i,j;O(i=0;i<f.K;i++){6 s=6q(f[i]);O(j=0;(e=s[j]);j++)y(4T(e,t,n))r.1b(e)}};1V["+"]=7(r,f,t,n){O(6 i=0;i<f.K;i++){6 e=47(f[i]);y(e&&4T(e,t,n))r.1b(e)}};1V["@"]=7(r,f,a){6 t=2R[a].Z;6 e,i;O(i=0;(e=f[i]);i++)y(t(e))r.1b(e)};1B["4N-89"]=7(e){z!4S(e)};1B["4Q"]=7(e,c){c=11 1N("^"+c,"i");1D(e&&!e.2H("4Q"))e=e.4R;z e&&c.Z(e.2H("4Q"))};1p.6p=/\\\\:/g;1p.3x="@";1p.3a={};1p.13=7(m,a,n,c,v){6 k=8.3x+m;y(!2R[k]){a=8.3Z(a,c||"",v||"");2R[k]=a;2R.1b(a)}z 2R[k].1c};1p.38=7(s){s=s.13(8.6p,"|");6 m;1D(m=s.19(8.19)){6 r=8.13(m[0],m[1],m[2],m[3],m[4]);s=s.13(8.19,r)}z s};1p.3Z=7(p,t,v){6 a={};a.1c=8.3x+2R.K;a.66=p;t=8.3a[t];t=t?t(8.2H(p),2w(v)):1z;a.Z=11 3b("e","z "+t);z a};1p.2H=7(n){34(n.5Z()){1m"1c":z"e.1c";1m"3U":z"e.1x";1m"O":z"e.6o";1m"2u":y(4P){z"23((e.3z.19(/2u=\\\\46?([^\\\\s\\\\46]*)\\\\46?/)||[])[1]||\'\')"}}z"e.2H(\'"+n.13(N,":")+"\')"};1p.3a[""]=7(a){z a};1p.3a["="]=7(a,v){z a+"=="+2c.15(v)};1p.3a["~="]=7(a,v){z"/(^| )"+4O(v)+"( |$)/.Z("+a+")"};1p.3a["|="]=7(a,v){z"/^"+4O(v)+"(-|$)/.Z("+a+")"};6 6n=45;45=7(s){z 6n(1p.38(s))}});6 1p=14.1i("1p");6 H=/a(#[\\w-]+)?(\\.[\\w-]+)?:(65|62)/i;6 6l=/\\s*\\{\\s*/,6m=/\\s*\\}\\s*/,C=/\\s*\\,\\s*/;6 F=/(.*)(:4N-(88|87))/;3y.1C.1e({38:7(){8.1T();6 o=V.2t.K;6 2Q=8.18.2O(6m),r;6 2f,c,i,j;O(i=0;i<2Q.K;i++){r=2Q[i].2O(6l);2f=r[0].2O(C);c=r[1];O(j=0;j<2f.K;j++){2f[j]=c?8.6k(2f[j],c):""}2Q[i]=2f.2p("\\n")}8.18=2Q.2p("\\n");8.2t=V.2t.1q(o)},1u:7(){6 r,i;O(i=0;(r=8.2t[i]);i++)r.1u()},6k:7(s,c){y(V.6j.Z(s)){6 m;y(m=s.19(1L.39)){z 11 1L(m[1],m[2],c)}1d y(m=s.19(2d.39)){y(!2l||!H.Z(m)||2d.44.Z(m)){z 11 2d(s,m[1],m[2],m[3],c)}}1d z 11 1G(s,c)}z s+" {"+c+"}"}});V.1e({2t:[],1B:14.1i("1B"),36:{},2e:14.1i("2e"),1G:1G,2d:2d,1L:1L,2J:2J,2q:7(){6 p=8.1B+"|6i|6h|"+8.36;p=p.13(/(21|37)\\|/g,"");8.6j=11 1N("[>+~\\[]|([:.])[\\\\w-()]+\\\\1|:("+p+")");6 c="[^\\\\s(]+\\\\s*[+~]|@\\\\d+|:(";1G.44=11 1N(c+p+")","g");2d.44=11 1N(c+8.1B+")","g");2d.39=11 1N("(.*):("+8.36+")(.*)");1L.39=/(.*):(6i|6h).*/;8.1T()},1u:7(){8.2P.1u();8.1T()},2w:7(s,p){z 2v?(3T(s.2u,p)||s.18):8.1T(s)},1j:7(e,t,h){1j(e,t,h)}});7 1G(s,c){8.1c=V.2t.K;8.1x=1G.3x+8.1c;s=(s).19(F)||s||"*";8.40=s[1]||s;8.4M=1G.6g(8.40)+"."+8.1x+(s[2]||"");8.18=c;8.39=11 1N("\\\\s"+8.1x+"(\\\\s|$)","g");V.2t.1b(8);8.1S()};1t.1e({1h:1G,1g:7(){z 8.4M+" {"+8.18+"}"},1S:2s,15:7(e){e.1x+=" "+8.1x},3v:7(e){e.1x=e.1x.13(8.39,"$1")},1u:7(){6 m=V.2e[" *."+8.1x]=14(8.40);O(i=0;i<m.K;i++)8.15(m[i])}});1G.3x="5Y";1G.6f=/>/g;1G.6g=7(s){s=1p.38(s);z s.13(8.44,"").13(8.6f," ")};7 2d(s,a,d,t,c){8.6e=a||"*";8.6d=V.36[d];8.4L=t;8.1T(s,c)};1G.1e({1h:2d,1u:7(){6 m=14(8.6e);O(6 i=0;i<m.K;i++){6 t=(8.4L)?14(8.4L,m[i]):[m[i]];y(t.K)8.6d.2q(m[i],t,8)}}});6 A=/^4I/;6 U=/^43\\s*\\(\\s*([^)]*)\\)$/;6 M={86:"85",84:"83",82:"81",80:"7Z"};6 6b=1Z("17-22.4C",2k)+"?";2r+=".2K{4K:1M}";7 1L(s,p,c){8.1y=p;6 2N=c.19(1L.6a),m,e;y(2N){2N=2N[1];m=2N.2O(/\\s+/);O(6 i=0;(e=m[i]);i++){m[i]=A.Z(e)?{4I:e.1q(5,-1)}:(e.7Y(0)=="\'")?42(e):41(e)}2N=m}8.22=2N;8.1T(s,41(c))};1G.1e({1h:1L,1g:7(){z"."+8.1x+"{4K:7X}"},1S:7(){8.19=14(8.40);O(6 i=0;i<8.19.K;i++){6 r=8.19[i].J;y(!r[8.1y])r[8.1y]={18:""};r[8.1y].18+=";"+8.18;y(8.22!=1U)r[8.1y].22=8.22}},1u:7(){y(8.22==1U)z;O(6 i=0;i<8.19.K;i++){8.3Z(8.19[i])}},3Z:7(t){6 g=t.J[8.1y];y(g){6 c=[].4J(g.22||"");O(6 j=0;j<c.K;j++){y(3Y c[j]=="2M"){c[j]=t.2H(c[j].4I)}}c=c.2p("");6 u=c.19(U);6 h=1L[u?"69":"4E"].13(/%1/,8.1x);6 4G=g.18.13(/\'/g,\'"\');6 4F=M[8.1y+7W(t.6c)];y(u){6 p=16.3X(h);t.7V(4F,p);p.3W=6b;4H(p,4G,2c.3v(u[1]))}1d{h=h.13(/%2/,4G).13(/%3/,c);t.7U(4F,h)}t.J[8.1y]=1U}}});1L.6a=/22\\s*:\\s*([^;]*)(;|$)/;1L.69="<2M 3U=\'2K %1\' 2K 12=3w% 2b=0 2L=68/x-67>";1L.4E="<17:! 3U=\'2K %1\' 2K 1r=\'%2\'>%3</17:!>";7 2J(n,a){8.66=n;8.2q=a;8.2I={};V.36[n]=8};1t.1e({1h:2J,20:7(i){6 c=i[2];i.1c=c.1c+i[0].2a;y(!8.2I[i.1c]){6 t=i[1],j;O(j=0;j<t.K;j++)c.15(t[j]);8.2I[i.1c]=i}},35:7(i){y(8.2I[i.1c]){6 c=i[2];6 t=i[1],j;O(j=0;j<t.K;j++)c.3v(t[j]);3u 8.2I[i.1c]}}});V.1B.1g=7(){6 t=[],p;O(p 28 8){y(8[p].K>1)p+="\\\\([^)]*\\\\)";t.1b(p)}z t.2p("|")};V.1B["21"]=7(e){z e.D["17-21"]=="21"};V.1B["37"]=7(e){z e.D["17-21"]=="37"};6 64=(29<5.5)?"7T":"7S";6 63=(29<5.5)?"7R":"7Q";V.36.1g=V.1B.1g;6 3s=11 2J("65",7(e){6 i=1a;V.1j(e,64,7(){3s.20(i)});V.1j(e,63,7(){3s.35(i)})});6 3t=11 2J("7P",7(e){6 i=1a;V.1j(e,"7O",7(){3t.35(i);3t.20(i)});V.1j(e,"7N",7(){3t.35(i)});y(e==16.7M){3t.20(i)}});6 3V=11 2J("62",7(e){6 i=1a;V.1j(e,"7L",7(){3V.20(i)})});1j(16,"7K",7(){6 i=3V.2I,j;O(j 28 i)3V.35(i[j]);i=3s.2I;O(j 28 i)y(!i[j][0].61(60.7J))3s.35(i[j])});2o(1p);1p.1e({2H:7(n){34(n.5Z()){1m"3U":z"e.1x.13(/\\\\b\\\\s*5Y\\\\d+/g,\'\')";1m"1l":z"(e.4D||e.1l)"}z 8.1T(n)}});2n.15(/::/,":");3r.15(/\\\\([\\7I-7H-F]{1,4})/,7(m,o){m=m[o+1];z"\\\\u"+"7G".1q(m.K)+m})});2G=1o;y(2m)1k(3T("17-7F.5X",2k));V.1S();y(2l&&1s)1s.1S();y(33)1F.1S();1d{2F.7E(1Z("17-3q.4C",2k));1j(16,"7D",7(){y(16.5W=="33")32(1F.1S,0)})}}2j(e){31("4B [0]: "+e.5V)}5U{}};',62,634,'||||||var|function|this||||||||||||||||||||||||||if|return||||currentStyle||||||runtimeStyle|length||||for|||||||ie7CSS||||test||new|width|replace|cssQuery|add|document|ie7|cssText|match|arguments|push|id|else|specialize|left|toString|constructor|valueOf|addEventHandler|eval|src|case|addRecalc|true|AttributeSelector|slice|style|ie7HTML|Common|recalc|_0|that|className|position|false|minWidth|pseudoClasses|prototype|while|fr|IE7|Rule|getPixelWidth|clientWidth|viewport|ie7Layout|PseudoElement|none|RegExp|elements|auto|recalcs|styleSheets|init|inherit|null|selectors|right|body|all|makePath|register|link|content|String|addModule|parseInt|window|maxWidth|in|appVersion|uniqueID|height|Quote|DynamicRule|cache|se|fixWidth|_1|klass|catch|path|isHTML|quirksMode|encoder|ICommon|join|apply|HEADER|DUMMY|rules|href|httpRequest|getText|fixRight|top|fixed|_2|getFixedWidth|try|thisElement|ancestor|documentElement|loaded|getAttribute|instances|DynamicPseudoClass|ie7_anon|type|object|co|split|screen|ru|attributeSelectors|offsetWidth|setOverrideStyle|ParseMaster|exec|tagName|box|print|media|_3|alert|setTimeout|complete|switch|unregister|dynamicPseudoClasses|visited|parse|MATCH|tests|Function|getPixelValue|PERCENT|ex|_4|max|_5|addFix|hasLayout|marginTop|firstElementChild|disabled|value|size|font|load|safeString|_6|_7|delete|remove|100|PREFIX|StyleSheet|outerHTML|offsetLeft|offsetParent|absolute|isFixed|backgroundPositionX|getPath|border|boxSizing|min|fixedWidth|getPaddingWidth|fixes|Parser|self|styleSheet|st|modules|_8|x01|loadFile|class|_9|data|createElement|typeof|create|selector|decode|getString|url|COMPLEX|parseSelector|x22|nextElementSibling|_10|_11|_12|_13|parseFloat|autoLeft|pixelLeft|setExpression|Math|_14|BLANK_GIF|_15|_16|applyWidth|resizeWidth|getBorderWidth|getDefinedStyle|collapseMarginTop|_17|_18|_19|refresh|el|ca|getElementsByTagName|version|escapeChar|ancestorOf|_20|Error|htc|pngSrc|ANON|po|cs|addTimer|attr|concat|display|target|selectorText|first|regEscape|isMSIE|lang|parentNode|previousElementSibling|compareTagName|addResize|_21|getScreenLeft|marginLeft|positionLeft|_22|shiftLeft|screenLeft|_23|clipWidth|getBoundingClientRect|getOffsetLeft|bottom|setOffsetLeft|backgroundLeft|parentElement|backgroundImage|backgroundAttachment|Top|img|background|_24|clearCache|location|image|_25|_26|input|filter|Microsoft|sizing|resizeRight|_27|layoutWidth|_28|lastElementChild|clicked|submit|_29|Fix|_30|decoder|_31|parser|_32|gi|_33|styles|createStyleSheet|isXML|caching|_34|compareNamespace|getDocument|continue|links|error|callee|ignoreCase|_35|_36|ie7_debug|finally|description|readyState|js|ie7_class|toLowerCase|event|contains|active|_37|_38|hover|name|scriptlet|text|OBJECT|CONTENT|_39|canHaveChildren|dynamicPseudoClass|attach|CHILD|simple|after|before|UNKNOWN|createRule|B1|B2|_40|htmlFor|NS_IE|childElements|_41|scrollLeft|appendChild|Height|Width|Left|createTempElement|_42|onbeforeprint|replaceChild|_43|_44|B64|base64|indexOf|zoom|scale|opacity|DXImageTransform|progid|enabled|filters|Bottom|borderBox|spacing|margin|padding|applyHeight|0cm|verticalAlign|en|nextSibling|_45|title|_46|BUTTON|button|reset|onclick|clearInterval|PIXEL|removeEventHandler|pop|_47|_48|lastIndexOf|_49|_50|_51|_52|imports|trash|ie7_recalc|getInlineStyles|innerHTML|nodeType|ST|select|Array|_53|mimeType|Boolean|lastChild|firstChild|ES|_54|_55|_56|_57|_58|DE|status|scripts|search|onreadystatechange|addBehavior|quirks|0000|fA|da|srcElement|onmouseup|onmousedown|activeElement|onblur|onfocus|focus|onmouseleave|onmouseout|onmouseenter|onmouseover|insertAdjacentHTML|insertAdjacentElement|Number|inline|charAt|beforeEnd|after1|afterEnd|after0|afterBegin|before1|beforeBegin|before0|letter|line|child|level2|css|css2|static|clipHeight|marginRight|positionTop|default|center|clientLeft|removeChild|setOffsetTop|backgroundTop|repeat|no|backgroundRepeat|attachment|onafterprint|onload|Image|php|propertyName|onpropertychange|INPUT|crop|Alpha|png|trans|IE7_PNG_SUFFIX|sizingMethod|AlphaImageLoader|graphics|fixHeight|Right|cellSpacing|collapse|borderCollapse|IE7_BOX_MODEL|getMarginWidth|Margin|Padding|paddingRight|paddingLeft|last|0px|styleFloat|collapseMarginBottom|layout|removeNode|HTML|alt|onsubmit|form|click|textarea|label|abbr|pow|67em|h6|83em|h5|1em|h4|17em|h3|5em|h2|2em|h1|html4|setInterval|9999|rect|clip|block|px|onunload|detachEvent|attachEvent|onresize|x27|import|namespace|ma|bprint|bscreen|ball|write|item|innerText|getTextContent|scopeName|toUpperCase|ownerDocument|Document|XML|URL|xml|unknown|previousSibling|number|successfully|ie5|instanceOf|Object|common|caller|gif|blank|file|loading|responseText|200|send|GET|open|XMLHTTP|ActiveXObject|Msxml2|ScriptEngineMajorVersion|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-xml-extras.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-xml-extras.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/ie7-xml-extras.js	(revision 198)
@@ -0,0 +1,6 @@
+/*
+	IE7, version 0.9 (alpha) (2005-08-19)
+	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
+	License: http://creativecommons.org/licenses/LGPL/2.1/
+*/
+function XMLHttpRequest(){var l=(ScriptEngineMajorVersion()>=5)?"Msxml2":"Microsoft";return new ActiveXObject(l+".XMLHTTP")};function DOMParser(){};DOMParser.prototype={toString:function(){return"[object DOMParser]"},parseFromString:function(s,c){var x=new ActiveXObject("Microsoft.XMLDOM");x.loadXML(s);return x},parseFromStream:new Function,baseURI:""};function XMLSerializer(){};XMLSerializer.prototype={toString:function(){return"[object XMLSerializer]"},serializeToString:function(r){return r.xml||r.outerHTML},serializeToStream:new Function};
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/test.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/test.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/ie7/test.html	(revision 198)
@@ -0,0 +1,100 @@
+<html xmlns:html="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<title>IE7 Test Page</title>
+<meta name="author" content="Dean Edwards"/>
+<!-- compliance patch for microsoft browsers -->
+<!--[if lt IE 7]>
+<script src="ie7-standard-p.js" type="text/javascript"></script>
+<script src="ie7-css3-selectors.js" type="text/javascript"></script>
+<script src="ie7-css-strict.js" type="text/javascript"></script>
+<![endif]-->
+<style type="text/css">
+ body {background-color: #ccc;}
+ img {border: none;}
+ h1 {font-family: monospace;}
+ h2 {background-color: black; color: white; font-style: normal;}
+ h3 {margin: 0.1em 0;}
+</style>
+</head>
+
+<body>
+<div class="document">
+<div class="header">
+<h1>IE7 { css2: auto; }</h1>
+<hr />
+</div>
+
+<div class="content">
+
+<h2>Black &amp; White Test</h2>
+
+<h3>Legend</h3>
+<style type="text/css">
+ div.legend {height: 20px; font-weight: bold; text-indent: 4px;}
+ #fail {background-color: black; color: white;}
+ #pass {background-color: white; color: black;}
+</style>
+<div class="legend" id="pass">PASS</div>
+<div class="legend" id="fail">FAIL</div>
+
+<hr />
+
+<h3>ie7-html4.js</h3>
+<style type="text/css">
+ #ie7-html4 {background-color: black; height: 20px;}
+ #ie7-html4 abbr {display: block; background-color: white; height: 20px;}
+</style>
+<div id="ie7-html4"><abbr>&nbsp;</abbr></div>
+
+<h3>ie7-layout.js</h3>
+<style type="text/css">
+ #ie7-layout {background-color: black; height: 20px; overflow: hidden;}
+ #ie7-layout div.box {position: relative; top: -40px; background-color: white;
+   height: 40px; border-top: 20px black solid;}
+</style>
+<div id="ie7-layout"><div class="box"></div></div>
+
+<h3>ie7-graphics.js</h3>
+<style type="text/css">
+ #ie7-graphics {background-color: white; height: 20px;}
+ #ie7-graphics div.box {height: 20px; background: url(test-trans.png);}
+</style>
+<div id="ie7-graphics"><div class="box"></div></div>
+
+<h3>ie7-fixed.js</h3>
+<style type="text/css">
+ #ie7-fixed {background-color: white; height: 20px;}
+ #ie7-fixed div.box {position: fixed; top: -20px; background-color: black; height: 20px;}
+</style>
+<div id="ie7-fixed"><div class="box"></div></div>
+
+<h3>ie7-css2-selectors.js</h3>
+<style type="text/css">
+ #ie7-css2-selectors {background-color: black; height: 20px;}
+ #ie7-css2-selectors > span {display: block; background-color: white; height: 20px;}
+</style>
+<div id="ie7-css2-selectors"><span>&nbsp</span></div>
+
+<h3>ie7-css3-selectors.js</h3>
+<style type="text/css">
+ #ie7-css3-selectors {background-color: black; height: 20px;}
+ #ie7-css3-selectors:empty {background-color: white;}
+</style>
+<div id="ie7-css3-selectors"></div>
+
+<h3>ie7-css-strict.js</h3>
+<style type="text/css">
+ #ie7-css-strict {background-color: black; height: 20px;}
+ #ie7-css-strict > span.strict {display: block; background-color: white; height: 20px;}
+ #ie7-css-strict > span {display: block; background-color: black}
+</style>
+<div id="ie7-css-strict"><span class="strict"></span></div>
+</div>
+
+<div class="footer">
+<hr />
+<a href="http://dean.edwards.name/IE7/"><img src="ie7.gif" width="80" height="15" alt="IE7 Enhanced"/></a>
+</div>
+</div>
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/arty_selecteur.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/arty_selecteur.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/arty_selecteur.php	(revision 198)
@@ -0,0 +1,182 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function afficher_selecteur($args, $afficher_ajouter_rubrique=true, $afficher_ajouter_article=true)
+{
+	$retour = charger_structure();
+	$arbo = $retour[0];
+	$articles = $retour[1];
+	echo "<ul class=\"selecteur\">";
+	foreach($arbo as $id => $section) {
+		echo "<li class=\"section\">";
+		if ($afficher_ajouter_rubrique) {
+			echo '<a href="'.generer_url(array_merge($args, array("id_rubrique" => $id))).'" class="ajouter"><img src="'._DIR_PLUGIN_ARTY.'images/ajouter.gif" alt="+" /></a>';
+		}
+		echo '<img class="fleche" onclick="deplier_contenu(this);" src="'._DIR_PLUGIN_ARTY.'images/deplierhaut.gif" alt=">" />';
+		echo '<span class="titre_section">'.$section["titre"].'</span>';
+		echo afficher_enfants($section["enfants"], $articles, $args, $afficher_ajouter_rubrique, $afficher_ajouter_article);
+		if($afficher_ajouter_article) {
+			echo selec_afficher_article($id, $articles, $args, $afficher_ajouter_rubrique, $afficher_ajouter_article);
+		}
+		echo "</li>";
+	}
+	echo "</ul>";
+}
+
+function charger_structure(){
+	//rubriques
+	$arbo = array();
+
+	$result = spip_query("SELECT id_rubrique, titre FROM spip_rubriques WHERE id_parent=0");
+	while ($row = spip_fetch_array($result)) {
+		$arbo[$row['id_rubrique']] = array("titre" => $row['titre']);
+		$arbo[$row['id_rubrique']]["enfants"] = rubriques_enfants($row['id_rubrique']);
+	}
+
+	//articles
+	$articles = array();
+
+	$result = spip_query("SELECT id_article, titre, id_rubrique FROM spip_articles WHERE statut='publie'");
+	while ($row = spip_fetch_array($result)) {
+		$articles[$row['id_article']] = array("titre" => $row['titre'], "id_rubrique" => $row['id_rubrique']);
+	}
+
+	return array($arbo, $articles);
+}
+
+function rubriques_enfants($id_parent){
+	$return = array();
+	$result = spip_query("SELECT id_rubrique, titre FROM spip_rubriques WHERE id_parent=".$id_parent);
+	while ($rub = spip_fetch_array($result)){
+		$return[$rub['id_rubrique']]["titre"] = ($rub['titre']);
+		$return[$rub['id_rubrique']]["enfants"] = rubriques_enfants($rub['id_rubrique']);
+	}
+	return $return;
+}
+
+function afficher_enfants($arbo, $articles, $args, $afficher_ajouter_rubrique=true, $afficher_ajouter_article=true) {
+	$html = "";
+	foreach($arbo as $id => $rub){
+		$html .= "<li class=\"rubrique\">";
+		if ($afficher_ajouter_rubrique) {
+			$html .= "<a href=\"".generer_url(array_merge($args, array("id_rubrique" => $id)))."\" class=\"ajouter\"><img src=\""._DIR_PLUGIN_ARTY."images/ajouter.gif\" alt=\"+\" /></a>";
+		}
+		$html .= '<img class="fleche" onclick="deplier_contenu(this);" src="'._DIR_PLUGIN_ARTY.'images/deplierhaut.gif" alt=">" />';
+		$html .= "<span class=\"titre_rubrique\">".raccourcir_titre($rub["titre"], 45)."</span>";
+		$html .= afficher_enfants($rub["enfants"], $articles, $args, $afficher_ajouter_rubrique, $afficher_ajouter_article);
+		if ($afficher_ajouter_article) {
+			$html .= selec_afficher_article($id, $articles, $args, $afficher_ajouter_rubrique, $afficher_ajouter_article);
+		}
+		$html .= "</li>";
+	}
+	if ($html != "") {
+		$html = "<ul style=\"display:none;\">".$html."</ul>";
+	}
+	return $html;
+}
+
+function selec_afficher_article($id_rubrique, $articles, $args, $afficher_ajouter_rubrique=true, $afficher_ajouter_article=true){
+	$html = "";
+	foreach($articles as $id => $article){
+		if ($article["id_rubrique"] == $id_rubrique) {
+			$html .= "<li class=\"article\">";
+			if ($afficher_ajouter_article) {
+				$html .= "<a href=\"".generer_url(array_merge($args, array("id_article" => $id)))."\" class=\"ajouter\"><img src=\""._DIR_PLUGIN_ARTY."images/ajouter.gif\" alt=\"+\" /></a>";
+			}
+			$html .= "<span class=\"titre_article\">".raccourcir_titre($article["titre"], 45)."</span>";
+			$html .= "</li>";
+		}
+	}
+	if ($html != "") {
+		$html = "<ul style=\"display:none;\">".$html."</ul>";
+	}
+	return $html;
+}
+
+function generer_url($args)
+{
+	$segments = array();
+	$ancre = "";
+	$script = "";
+	foreach ($args as $param => $value) {
+		if ($param == "#") {
+			$ancre = "#".$value;
+		} elseif ($param == "exec") {
+			$script = $value;
+		} else {
+			$segments[] = $param."=".$value;
+		}
+	}
+	$args = implode("&", $segments).$ancre;
+	$url = generer_url_ecrire($script, $args);
+	return $url;
+}
+
+function raccourcir_titre($titre, $max){
+	if (strlen($titre) > $max) {
+		return substr($titre, 0, $max)."...";
+	} else {
+		return $titre;
+	}
+}
+
+function afficher_selecteur_mots($args)
+{
+	$groupes = charger_structure_mots();
+	echo "<ul class=\"selecteur\">";
+	foreach($groupes as $id => $groupe) {
+		echo "<li class=\"groupe\">";
+		echo '<a href="'.generer_url(array_merge($args, array("id_groupe" => $id))).'" class="ajouter"><img src="'._DIR_PLUGIN_ARTY.'images/ajouter.gif" alt="+" /></a>';
+		echo '<img class="fleche" onclick="deplier_contenu(this);" src="'._DIR_PLUGIN_ARTY.'images/deplierhaut.gif" alt=">" />';
+		echo '<span class="titre_groupe">'.$groupe["titre"].'</span>';
+		echo afficher_mots($groupe['mots'], $args);
+		echo "</li>";
+	}
+	echo "</ul>";
+}
+
+function charger_structure_mots(){
+	//groupes de mots
+	$groupes = array();
+	$result = spip_query("SELECT id_groupe, titre FROM spip_groupes_mots");
+	while ($row = spip_fetch_array($result)) {
+		$result2 = spip_query("SELECT id_mot, titre FROM spip_mots WHERE id_groupe=".$row['id_groupe']);
+		$mots = array();
+		while ($row2 = spip_fetch_array($result2)) {
+			$mots[$row2['id_mot']] = $row2['titre'];
+		}
+		$groupes[$row['id_groupe']] = array(
+      'titre' => $row['titre'],
+      'mots' => $mots,
+		);
+
+	}
+
+	return $groupes;
+}
+
+function afficher_mots($mots, $args){
+	$html = "";
+	foreach($mots as $id => $mot){
+		$html .= "<li class=\"mot\">";
+		$html .= "<a href=\"".generer_url(array_merge($args, array("id_mot" => $id)))."\" class=\"ajouter\"><img src=\""._DIR_PLUGIN_ARTY."images/ajouter.gif\" alt=\"+\" /></a>";
+		$html .= "<span class=\"titre_mot\">".raccourcir_titre($mot, 45)."</span>";
+		$html .= "</li>";
+	}
+	if ($html != "") {
+		$html = "<ul style=\"display:none;\">".$html."</ul>";
+	}
+	return $html;
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/cherche-theme.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/cherche-theme.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/cherche-theme.php	(revision 198)
@@ -0,0 +1,111 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+function theme_actuel() {
+	//print_r($GLOBALS['contexte']['id_article']);
+	//echo "article -".$GLOBALS['contexte']['id_rubrique']."-";
+	if (isset($GLOBALS['contexte']['id_rubrique'])) {
+		// si c'est une page rubrique, trouver le thÃšme de la rubrique ou des rubriques parentes
+		$theme = trouver_theme($GLOBALS['contexte']['id_rubrique']);
+		$id_rubrique = $GLOBALS['contexte']['id_rubrique'];
+	} else if (isset($GLOBALS['contexte']['id_article'])) {
+		
+		// si c'est un article, trouver sa rubrique et ensuite son thÃšme, ou le thÃšme des rubriques parentes 
+		$result = spip_query("SELECT id_rubrique FROM spip_articles WHERE id_article='".addslashes($GLOBALS['contexte']['id_article'])."'");
+		$row = spip_fetch_array($result);
+		$id_rubrique = $row['id_rubrique'];
+		$theme = trouver_theme_article($GLOBALS['contexte']['id_article']);
+		if (!$theme) {
+			$theme = trouver_theme($row['id_rubrique']);
+		}
+	} elseif (isset($GLOBALS['contexte']['id_mot'])) {
+		// si c'est un mot, trouver le mot sinon pour son groupe
+		$theme = trouver_theme_mot($GLOBALS['contexte']['id_mot']);
+		if (!$theme) {
+			$result = spip_query("SELECT id_groupe FROM spip_mots WHERE id_mot='".addslashes($GLOBALS['contexte']['id_mot'])."'");
+			$row = spip_fetch_array($result);
+			$theme = trouver_theme_groupe($row['id_groupe']);
+		}
+
+	} elseif (isset($GLOBALS['contexte']['id_groupe'])) {
+		// si c'est un groupe, trouver son thÃšme 
+		$theme = trouver_theme_groupe($GLOBALS['contexte']['id_groupe']);
+	} else {
+		// dans les autres cas, charger le thÃšme par defaut
+		$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=0 AND type ='rubrique'");
+		$row = spip_fetch_array($result);
+		$theme = $row['theme'];
+		$id_rubrique = 0;
+	}
+	$theme = addslashes($theme);
+
+	return $theme;
+
+}
+
+function trouver_theme_groupe($id_groupe) {
+	$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=$id_groupe AND type='groupe'");
+	if (spip_mysql_count($result) == 1) {
+		$row = spip_fetch_array($result);
+		return $row['theme'];
+	} else {
+		$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=0 AND type='rubrique'");
+		$row = spip_fetch_array($result);
+		return $row['theme'];
+	}
+}
+
+function trouver_theme_article($id_article) {
+	
+	$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=$id_article AND type='article'");
+	if (spip_mysql_count($result) == 1) {
+		$row = spip_fetch_array($result);
+		return $row['theme'];
+	} else {
+		return "";
+	}
+}
+
+function trouver_theme_mot($id_mot) {
+	$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=$id_mot AND type='mot'");
+	if (spip_mysql_count($result) == 1) {
+		$row = spip_fetch_array($result);
+		return $row['theme'];
+	} else {
+		return "";
+	}
+}
+
+function trouver_theme($id_rubrique)
+{
+	$id_parent = $id_rubrique;
+	while($id_parent != 0) {
+		// un thÃšme est-il prÃ©sent pour cette rubrique?
+		$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=$id_rubrique AND type='rubrique'");
+		if (spip_mysql_count($result) == 1) {
+			$row = spip_fetch_array($result);
+			return $row['theme'];
+		}
+		// sinon, continuer et vÃ©rifier pour le parent
+		$result = spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
+		$row = spip_fetch_array($result);
+		$id_parent = $row['id_parent'];
+		$id_rubrique = $id_parent;
+	}
+	// aucun thÃšme n'a Ã©tÃ© trouvÃ©, on prend le thÃšme par dÃ©faut
+	$result = spip_query("SELECT theme FROM spip_arty_themeassoc WHERE id=0 AND type='rubrique'");
+	$row = spip_fetch_array($result);
+	return $row['theme'];
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload-image.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload-image.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload-image.php	(revision 198)
@@ -0,0 +1,83 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+//gestion de l'upload d'un logo pour les groupes de mot
+// les logos sont sauvÃ©s sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associÃ©s Ã  une rubrique particuliÃšre 
+function traiter_upload_image($nom,$rep,$id_groupe=0){
+	if (isset($_FILES[$nom])) {
+		if ($_FILES[$nom]["error"] == 0) {
+			$ext = strtolower(end(explode(".", $_FILES[$nom]["name"])));
+
+			$ext_ok = Array("jpg", "gif", "png");
+			if (!in_array($ext, $ext_ok)) {
+				return "arty:erreur_extension";
+			}
+
+			$chem = creer_repertoire_documents($rep);
+			$chem = _DIR_IMG.$rep."/";
+
+			if (!$id_groupe) {
+				$nom_logo = $nom;
+			} else {
+				$nom_logo = "$nom-$id_groupe";
+			}
+
+			$dest = $chem.$nom_logo.".".$ext;
+			$ok = false;
+			if ($chem) {
+				$ok = @move_uploaded_file($_FILES[$nom]['tmp_name'], $dest);
+			}
+
+			if ($ok){
+				//nettoyage du dossier logo (les logo portant le mÃªme nom mais une extension diffÃ©rente du bandeau uploadÃ© sont supprimÃ©s)
+				$handle = @opendir($chem);
+				while($fichier = @readdir($handle)) {
+					if (ereg("^$nom_logo\.(jpg|png|gif)$", $fichier) && $fichier != $nom_logo.".".$ext){
+						@unlink($chem.$fichier);
+					}
+				}
+				return "arty:upload_reussi";
+			} else {
+				return "arty:upload_rate";
+			}
+		} else if ($_FILES[$nom]["error"] == 1 || $_FILES[$nom]["error"] == 2) {
+			return "arty:erreur_trop_gros";
+		} else if ($_FILES[$nom]["error"] == 3) {
+			return "arty:erreur_transmission";
+		}
+	}
+}
+
+// supprime le bandeau d'une rubrique donnÃ©e
+function traiter_suppression_logo($id_groupe=0){
+	if (isset($_GET['action']) && isset($_GET['id_check'])){
+		if ($_GET['action'] == "supprimer_logo" && $_GET['id_check'] == $_SESSION["id_check"]) {
+			//$chem = creer_repertoire_documents("logo-groupe");
+			$chem = _DIR_IMG."logo-groupe/";
+			$handle = @opendir($chem);
+			while($fichier = @readdir($handle)) {
+				if (!$id_groupe) {
+					if (ereg("^logo\.(jpg|png|gif)$", $fichier)){
+						@unlink($chem.$fichier);
+					}
+				} else {
+					if (ereg("^logo-$id_groupe\.(jpg|png|gif)$", $fichier)){
+						@unlink($chem.$fichier);
+					}
+				}
+			}
+		}
+	}
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload_logo.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload_logo.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/upload_logo.php	(revision 198)
@@ -0,0 +1,83 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+//gestion de l'upload d'un logo pour les groupes de mot
+// les logos sont sauvÃ©s sous la forme bandeau.ext, et bandeau-id_rubrique.ext pour les bandeaux associÃ©s Ã  une rubrique particuliÃšre 
+function traiter_upload_logo($id_groupe=0){
+	if (isset($_FILES["logo"])) {
+		if ($_FILES["logo"]["error"] == 0) {
+			$ext = strtolower(end(explode(".", $_FILES["logo"]["name"])));
+			$ext_ok = Array("jpg", "gif", "png");
+			if (!in_array($ext, $ext_ok)) {
+				return "logo:erreur_extension";
+			}
+
+			$chem = creer_repertoire_documents("logo-groupe");
+			$chem = _DIR_IMG."logo-groupe/";
+
+			if (!$id_groupe) {
+				$nom_logo = "logo";
+			} else {
+				$nom_logo = "logo-$id_groupe";
+			}
+
+			$dest = $chem.$nom_logo.".".$ext;
+
+			$ok = false;
+			if ($chem) {
+				$ok = @move_uploaded_file($_FILES['logo']['tmp_name'], $dest);
+			}
+
+			if ($ok){
+				//nettoyage du dossier logo (les logo portant le mÃªme nom mais une extension diffÃ©rente du bandeau uploadÃ© sont supprimÃ©s)
+				$handle = @opendir($chem);
+				while($fichier = @readdir($handle)) {
+					if (ereg("^$nom_logo\.(jpg|png|gif)$", $fichier) && $fichier != $nom_logo.".".$ext){
+						@unlink($chem.$fichier);
+					}
+				}
+				return "arty:upload_reussi";
+			} else {
+				return "arty:upload_rate";
+			}
+		} else if ($_FILES["logo"]["error"] == 1 || $_FILES["logo"]["error"] == 2) {
+			return "arty:erreur_trop_gros";
+		} else if ($_FILES["logo"]["error"] == 3) {
+			return "arty:erreur_transmission";
+		}
+	}
+}
+
+// supprime le bandeau d'une rubrique donnÃ©e
+function traiter_suppression_logo($id_groupe=0){
+	if (isset($_GET['action']) && isset($_GET['id_check'])){
+		if ($_GET['action'] == "supprimer_logo" && $_GET['id_check'] == $_SESSION["id_check"]) {
+			//$chem = creer_repertoire_documents("logo-groupe");
+			$chem = _DIR_IMG."logo-groupe/";
+			$handle = @opendir($chem);
+			while($fichier = @readdir($handle)) {
+				if (!$id_groupe) {
+					if (ereg("^logo\.(jpg|png|gif)$", $fichier)){
+						@unlink($chem.$fichier);
+					}
+				} else {
+					if (ereg("^logo-$id_groupe\.(jpg|png|gif)$", $fichier)){
+						@unlink($chem.$fichier);
+					}
+				}
+			}
+		}
+	}
+}
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/user_session.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/user_session.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/user_session.php	(revision 198)
@@ -0,0 +1,19 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+// crï¿œe une session et gï¿œnï¿œre un id unique qui sera utilisï¿œ pour vï¿œrifier les actions transmises par url (id_check
+session_start();
+if (!isset($_SESSION['id_check'])){
+	$_SESSION['id_check'] = uniqid(rand());
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/xml-parser.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/xml-parser.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/inc/xml-parser.php	(revision 198)
@@ -0,0 +1,72 @@
+<?php
+/***************************************************************************\
+ Plugin   : magusine
+ Licence  : GPL
+ Auteurs  : StÃ©phane NoÃ«l, Philippe Vanderlinden
+ Infos    : http://www.spip-contrib.net/Le-plugin-Magusine
+            http://www.magunews.net/spip.php?rubrique645
+
+ $LastChangedRevision: 12345 $
+ $LastChangedBy: bubu $
+ $LastChangedDate: 2008-03-21 15:50:47 +0100 (ven, 21 mar 2008) $
+ \***************************************************************************/
+
+// ne pas oublier de crediter
+
+class xmlParser{
+	var $xml_obj = null;
+	var $output = array();
+	var $attrs;
+
+	function xmlParser(){
+		$this->xml_obj = xml_parser_create();
+		xml_set_object($this->xml_obj,$this);
+		xml_set_character_data_handler($this->xml_obj, 'dataHandler');
+		xml_set_element_handler($this->xml_obj, "startHandler", "endHandler");
+	}
+
+	function parse($path){
+		if (!($fp = fopen($path, "r"))) {
+			die("Cannot open XML data file: $path");
+			return false;
+		}
+
+		while ($data = fread($fp, 4096)) {
+			if (!xml_parse($this->xml_obj, $data, feof($fp))) {
+				die(sprintf("XML error: %s at line %d",
+				xml_error_string(xml_get_error_code($this->xml_obj)),
+				xml_get_current_line_number($this->xml_obj)));
+				xml_parser_free($this->xml_obj);
+			}
+		}
+
+		return true;
+	}
+
+	function startHandler($parser, $name, $attribs){
+		$_content = array();
+		$_content['name'] = $name;
+		if(!empty($attribs))
+		$_content['attrs'] = $attribs;
+		array_push($this->output, $_content);
+	}
+
+	function dataHandler($parser, $data){
+		if(!empty($data) && $data!="\n") {
+			$_output_idx = count($this->output) - 1;
+			$this->output[$_output_idx]['content'] .= $data;
+		}
+	}
+
+	function endHandler($parser, $name){
+		if(count($this->output) > 1) {
+			$_data = array_pop($this->output);
+			$_output_idx = count($this->output) - 1;
+			$add = array();
+			if(!$this->output[$_output_idx]['child'])
+			$this->output[$_output_idx]['child'] = array();
+			array_push($this->output[$_output_idx]['child'], $_data);
+		}
+	}
+}
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/inestedsortable.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/inestedsortable.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/inestedsortable.js	(revision 198)
@@ -0,0 +1,23 @@
+/**
+ * 
+ * Nested Sortable Plugin for jQuery/Interface.
+ * 
+ * Version 1.0.1
+ *  
+ *Change Log:
+ * 1.0 
+ *       Initial Release
+ * 1.0.1
+ *       Added noNestingClass option to prevent nesting in some elements.
+ *
+ * Copyright (c) 2007 Bernardo de Padua dos Santos
+ * Dual licensed under the MIT (MIT-LICENSE.txt) 
+ * and GPL (GPL-LICENSE.txt) licenses.
+ * 
+ * http://code.google.com/p/nestedsortables/
+ * 
+ * Compressed using Dean Edwards' Packer (http://dean.edwards.name/packer/)
+ * 
+ */
+
+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}('2.6={28:9(e,o){5(e.L){2.6.1R(e);8 2.6.1K(e)}r{8 2.6.1D(e,o)}},1D:2.p.2b,1K:9(e){5(!2.v.A){8}5(!(e.1q.1r.1k()>0)){8}5(!e.3.Z){2.p.2n(e);e.3.Z=C}7 a=2.6.1A(e);7 b=2.6.1v(e,a);7 c=(!a)?2.6.24(e):n;7 d=n;5(a){5(e.3.1m===a&&e.3.1W===b){d=C}}r 5(e.3.1m===a&&e.3.1V===c){d=C}e.3.1m=a;e.3.1W=b;e.3.1V=c;5(d){8}5(a!==N){5(b){2.6.1U(e,a)}r{2.6.1Q(e,a)}}r 5(c){2.6.1P(e)}},1R:9(e){5(!e.3.16){8 n}7 a=e.3.15;7 b=e.3.14;7 c=2.v.A.B.2o;7 d=2.1i.1L();5((c.y-d.M)-d.t>-a){1H.1F(0,b)}5(c.y-d.t<a){1H.1F(0,-b)}},18:9(a){2.6.1C(a);8 2.6.1B(a)},1B:2.p.18,1C:9(a){5(2.6.S&&2.6.D){2.6.D.1y(2.6.S);2.6.D=N;2.6.S=""}5(2.1d.1w.L){2.1d.1w.3.Z=n}},X:9(s){5(2(\'#\'+s).q(0).L){8 2.6.27(s)}r{8 2.6.29(s)}},29:2.p.X,27:9(s){7 i;7 h=\'\';7 j=\'\';7 o={};7 e;7 k=9(f){7 g=[];1X=2(f).J(\'.\'+2.p.1b[s]);1X.1p(9(i){7 a=2.2s(m,\'1l\');5(a&&a.1S){a=a.1S(e.3.11)[0]}5(h.I>0){h+=\'&\'}h+=s+j+\'[\'+i+\'][1l]=\'+a;g[i]={1l:a};7 b=2(m).J(e.3.G+"."+e.3.W.V(" ").T(".")).q(0);7 c=j;j+=\'[\'+i+\'][J]\';7 d=k(b);5(d.I>0){g[i].J=d}j=c});8 g};5(s){5(2.p.1b[s]){e=2(\'#\'+s).q(0);o[s]=k(e)}r{1O(a 1N s){5(2.p.1b[s[a]]){e=2(\'#\'+s[a]).q(0);o[s[a]]=k(e)}}}}r{1O(i 1N 2.p.1b){e=2(\'#\'+i).q(0);o[i]=k(e)}}8{2p:h,o:o}},1A:9(e){7 d=0;7 f=2.1M(e.1q.1r,9(i){7 a=(i.z.y<2.v.A.B.1j)&&(i.z.y>d);5(!a){8 n}7 b;5(e.3.Q){b=(i.z.x+i.z.13+e.3.P>2.v.A.B.12+2.v.A.B.1h.13)}r{b=(i.z.x-e.3.P<2.v.A.B.12)}5(!b){8 n}7 c=2.6.1g(e,i);5(c){8 n}d=i.z.y;8 C});5(f.I>0){8 f[(f.I-1)]}r{8 N}},24:9(e){7 c;7 d=2.1M(e.1q.1r,9(i){7 a=(c===1J||i.z.y<c);5(!a){8 n}7 b=2.6.1g(e,i);5(b){8 n}c=i.z.y;8 C});5(d.I>0){d=d[(d.I-1)];8 d.z.y<2.v.A.B.1j+2.v.A.B.1h.2m&&d.z.y>2.v.A.B.1j}r{8 n}},1g:9(e,a){7 b=2.v.A;5(!b){8 n}5(a==b){8 C}5(2(a).2l("."+e.1I.1f.V(" ").T(".")).1G(9(){8 m==b}).I!==0){8 C}r{8 n}},1v:9(e,a){5(!a){8 n}5(e.3.O&&2(a).1G("."+e.3.O).q(0)===a){8 n}5(e.3.Q){8 a.z.x+a.z.13-(e.3.H-e.3.P)>2.v.A.B.12+2.v.A.B.1h.13}r{8 a.z.x+(e.3.H-e.3.P)<2.v.A.B.12}},1U:9(e,a){7 b=2(a).J(e.3.G+"."+e.3.W.V(" ").T("."));7 c=2.p.U;1E=c.q(0).2k;1E.2j=\'2i\';5(!b.1k()){7 d="<"+e.3.G+" 2h=\'"+e.3.W+"\'></"+e.3.G+">";b=2(a).2g(d).J(e.3.G).1z(e.3.1e)}2.6.17(e,b);2.6.Y(e);b.1x(c.q(0));2.6.1a(e)},1Q:9(e,a){2.6.17(e,2(a).1t());2.6.Y(e);2(a).2f(2.p.U.q(0));2.6.1a(e)},1P:9(e){2.6.17(e,e);2.6.Y(e);2(e).1x(2.p.U.q(0));2.6.1a(e)},Y:9(e){7 a=2.p.U.1t(e.3.G+"."+e.3.W.V(" ").T("."));7 b=a.J("."+e.1I.1f.V(" ").T(".")+":2e").1k();5(b===0&&a.q(0)!==e){a.2d()}},1a:9(e){7 a=2.p.U.1t();5(a.q(0)!==e){a.2c()}e.3.Z=n},17:9(e,a){7 b=2(a);5((e.3.K)&&(!2.6.D||b.q(0)!=2.6.D.q(0))){5(2.6.D){2.6.D.1y(e.3.K)}5(b.q(0)!=e){2.6.D=b;b.2E(e.3.K);2.6.S=e.3.K}r{2.6.D=N;2.6.S=""}}},2a:9(){8 m.1p(9(){5(m.L){m.3=N;m.L=N;2(m).2D()}})},26:9(a){5(a.1f&&2.1i&&2.v&&2.1d&&2.p){m.1p(9(){m.L=C;m.3={O:a.O?a.O:n,Q:a.Q?C:n,H:25(a.H,10)||2C,K:a.K?a.K:"",1u:a.1u?a.1u:n,16:a.16!==1J?a.16==C:C,15:a.15?a.15:20,14:a.14?a.14:20,11:a.11?a.11:/[^\\-]*$/};m.3.P=25(m.3.H*0.4,10);m.3.G=m.2B;m.3.W=m.2A;m.3.1e=(m.3.Q)?{"1c-21":0,"1c-1Z":m.3.H+\'1Y\'}:{"1c-21":m.3.H+\'1Y\',"1c-1Z":0};2(m.3.G,m).1z(m.3.1e)});2.p.2b=2.6.28;2.p.18=2.6.18;2.p.X=2.6.X}8 m.2z(a)}};2.2y.2x({2w:2.6.26,2v:2.6.2a});2.1i.1L=9(e){7 t,l,w,h,R,M;5(e&&e.2u.2t()!=\'F\'){t=e.19;l=e.1o;w=e.1n;h=e.1s;R=0;M=0}r{5(u.E&&u.E.19){t=u.E.19;l=u.E.1o;w=u.E.1n;h=u.E.1s}r 5(u.F){t=u.F.19;l=u.F.1o;w=u.F.1n;h=u.F.1s}R=1T.2r||u.E.23||u.F.23||0;M=1T.2q||u.E.22||u.F.22||0}8{t:t,l:l,w:w,h:h,R:R,M:M}};',62,165,'||jQuery|nestedSortCfg||if|iNestedSortable|var|return|function|||||||||||||this|false||iSort|get|else|||document|iDrag||||pos|dragged|dragCfg|true|currentNesting|documentElement|body|nestingTag|nestingPxSpace|length|children|currentNestingClass|isNestedSortable|ih|null|noNestingClass|snapTolerance|rightToLeft|iw|latestNestingClass|join|helper|split|nestingTagClass|serialize|beforeHelperRemove|remeasured||serializeRegExp|nx|wb|scrollSpeed|scrollSensitivity|autoScroll|updateCurrentNestingClass|check|scrollTop|afterHelperInsert|collected|padding|iDrop|styleToAttach|accept|isBeingDragged|oC|iUtil|ny|size|id|lastPrecedingItem|scrollWidth|scrollLeft|each|dropCfg|el|scrollHeight|parent|nestingLimit|shouldNestItem|overzone|prepend|removeClass|css|findPrecedingItem|oldCheck|newCheck|oldCheckHover|styleHelper|scrollBy|filter|window|sortCfg|undefined|newCheckHover|getScroll|grep|in|for|insertOnTop|appendItem|scroll|match|self|nestItem|lastTouchingFirst|lastShouldNest|thisChildren|px|right||left|clientHeight|clientWidth|isTouchingFirstItem|parseInt|build|newSerialize|checkHover|oldSerialize|destroy|checkhover|show|hide|visible|after|append|class|auto|width|style|parents|hb|measure|currentPointer|hash|innerHeight|innerWidth|attr|toLowerCase|nodeName|NestedSortableDestroy|NestedSortable|extend|fn|Sortable|className|tagName|30|SortableDestroy|addClass'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/interface.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/interface.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/interface.js	(revision 198)
@@ -0,0 +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.
+ *   
+ *
+ */
+ 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,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/javascript-public.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/javascript-public.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/javascript-public.js	(revision 198)
@@ -0,0 +1,11 @@
+function popup_page(gabarit, largeur, hauteur){
+  var top=(screen.height /2)-(hauteur /2);
+  var left=(screen.width /2)-(largeur /2);
+  var params = "top="+ top + ",left=" + left + ",width=" + largeur + ",height=" + hauteur + ",scrollbars=yes,resizable=yes";
+fenetre = window.open(gabarit,'',params);
+}
+
+function montrele(leid) {
+$(leid).slideToggle();
+}
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jd.gallery.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jd.gallery.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jd.gallery.js	(revision 198)
@@ -0,0 +1,436 @@
+/*
+    This file is part of JonDesign's SmoothGallery v1.0.1.
+
+    JonDesign's SmoothGallery is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    JonDesign's SmoothGallery is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with JonDesign's SmoothGallery; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+    Main Developer: Jonathan Schemoul (JonDesign: http://www.jondesign.net/)
+    Contributed code by:
+    - Christian Ehret (bugfix)
+	- Nitrix (bugfix)
+	- Valerio from Mad4Milk for his great help with the carousel scrolling and many other things.
+	- Archie Cowan for helping me find a bugfix on carousel inner width problem.
+	Many thanks to:
+	- The mootools team for the great mootools lib, and it's help and support throughout the project.
+*/
+
+
+var $removeEvents = function (object, type)
+{
+	if (!object.events) return object;
+	if (type){
+		if (!object.events[type]) return object;
+		for (var fn in object.events[type]) object.removeEvent(type, fn);
+		object.events[type] = null;
+	} else {
+		for (var evType in object.events) object.removeEvents(evType);
+		object.events = null;
+	}
+	return object;
+};
+		
+		
+// declaring the class
+var gallery = new Class({
+	initialize: function(element, options) {
+		this.setOptions({
+			showArrows: true,
+			showCarousel: true,
+			showInfopane: true,
+			thumbHeight: 75,
+			thumbWidth: 100,
+			thumbSpacing: 10,
+			embedLinks: true,
+			fadeDuration: 500,
+			timed: false,
+			delay: 9000,
+			preloader: true,
+			manualData: [],
+			populateData: true,
+			elementSelector: "div.imageElement",
+			titleSelector: "h3",
+			subtitleSelector: "p",
+			linkSelector: "a.open",
+			imageSelector: "img.full",
+			thumbnailSelector: "img.thumbnail",
+			slideInfoZoneOpacity: 0.7,
+			carouselMinimizedOpacity: 0.4,
+			carouselMinimizedHeight: 20,
+			carouselMaximizedOpacity: 0.7, 
+			destroyAfterPopulate: true,
+			baseClass: 'jdGallery',
+			withArrowsClass: 'withArrows',
+			textShowCarousel: 'Pictures',
+			useThumbGenerator: false,
+			thumbGenerator: 'resizer.php'
+		}, options);
+		this.fireEvent('onInit');
+		this.currentIter = 0;
+		this.lastIter = 0;
+		this.maxIter = 0;
+		this.galleryElement = element;
+		this.galleryData = this.options.manualData;
+		this.galleryInit = 1;
+		this.galleryElements = Array();
+		this.thumbnailElements = Array();
+		this.galleryElement.addClass(this.options.baseClass);
+		if (this.options.populateData)
+			this.populateData();
+		element.style.display="block";
+		
+		if (this.options.embedLinks)
+		{
+			this.currentLink = new Element('a').addClass('open').setProperties({
+				href: '#',
+				title: ''
+			}).injectInside(element);
+			if ((!this.options.showArrows) && (!this.options.showCarousel))
+				this.galleryElement = element = this.currentLink;
+			else
+				this.currentLink.setStyle('display', 'none');
+		}
+		
+		this.constructElements();
+		if ((data.length>1)&&(this.options.showArrows))
+		{
+			var leftArrow = new Element('a').addClass('left').addEvent(
+				'click',
+				this.prevItem.bind(this)
+			).injectInside(element);
+			var rightArrow = new Element('a').addClass('right').addEvent(
+				'click',
+				this.nextItem.bind(this)
+			).injectInside(element);
+			this.galleryElement.addClass(this.options.withArrowsClass);
+		}
+		this.loadingElement = new Element('div').addClass('loadingElement').injectInside(element);
+		if (this.options.showInfopane) this.initInfoSlideshow();
+		if (this.options.showCarousel) this.initCarousel();
+		this.doSlideShow(1);
+	},
+	populateData: function() {
+		currentArrayPlace = this.galleryData.length;
+		options = this.options;
+		data = this.galleryData;
+		this.galleryElement.getElements(options.elementSelector).each(function(el) {
+			elementDict = {
+				image: el.getElement(options.imageSelector).getProperty('src'),
+				number: currentArrayPlace
+			};
+			if ((options.showInfopane) | (options.showCarousel))
+				Object.extend(elementDict, {
+					title: el.getElement(options.titleSelector).innerHTML,
+					description: el.getElement(options.subtitleSelector).innerHTML
+				});
+			if (options.embedLinks)
+				Object.extend(elementDict, {
+					link: el.getElement(options.linkSelector).href||false,
+					linkTitle: el.getElement(options.linkSelector).title||false
+				});
+			if ((!options.useThumbGenerator) && (options.showCarousel))
+				Object.extend(elementDict, {
+					thumbnail: el.getElement(options.thumbnailSelector).src
+				});
+			else if (options.useThumbGenerator)
+				Object.extend(elementDict, {
+					thumbnail: 'resizer.php?imgfile=' + elementDict.image + '&max_width=' + options.thumbWidth + '&max_height=' + options.thumbHeight
+				});
+			
+			data[currentArrayPlace] = elementDict;
+			currentArrayPlace++;
+			if (this.options.destroyAfterPopulate)
+				el.remove();
+		});
+		this.galleryData = data;
+		this.fireEvent('onPopulated');
+	},
+	constructElements: function() {
+		el = this.galleryElement;
+		this.maxIter = this.galleryData.length;
+		var currentImg;
+		for(i=0;i<this.galleryData.length;i++)
+		{
+			var currentImg = new Fx.Style(
+				new Element('div').addClass('slideElement').setStyles({
+					'position':'absolute',
+					'left':'0px',
+					'right':'0px',
+					'margin':'0px',
+					'padding':'0px',
+					'backgroundImage':"url('" + this.galleryData[i].image + "')",
+					'backgroundPosition':"center center",
+					'opacity':'0'
+				}).injectInside(el),
+				'opacity',
+				{duration: this.options.fadeDuration}
+			);
+			this.galleryElements[parseInt(i)] = currentImg;
+		}
+	},
+	destroySlideShow: function(element) {
+		var myClassName = element.className;
+		var newElement = new Element('div').addClass('myClassName');
+		element.parentNode.replaceChild(newElement, element);
+	},
+	startSlideShow: function() {
+		this.fireEvent('onStart');
+		this.loadingElement.style.display = "none";
+		this.lastIter = this.maxIter - 1;
+		this.currentIter = 0;
+		this.galleryInit = 0;
+		this.galleryElements[parseInt(this.currentIter)].set(1);
+		if (this.options.showInfopane)
+			this.showInfoSlideShow.delay(1000, this);
+		this.prepareTimer();
+		if (this.options.embedLinks)
+			this.makeLink(this.currentIter);
+	},
+	nextItem: function() {
+		this.fireEvent('onNextCalled');
+		this.nextIter = this.currentIter+1;
+		if (this.nextIter >= this.maxIter)
+			this.nextIter = 0;
+		this.galleryInit = 0;
+		this.goTo(this.nextIter);
+	},
+	prevItem: function() {
+		this.fireEvent('onPreviousCalled');
+		this.nextIter = this.currentIter-1;
+		if (this.nextIter <= -1)
+			this.nextIter = this.maxIter - 1;
+		this.galleryInit = 0;
+		this.goTo(this.nextIter);
+	},
+	goTo: function(num) {
+		this.clearTimer();
+		if (this.options.embedLinks)
+			this.clearLink();
+		if (this.options.showInfopane)
+		{
+			this.slideInfoZone.clearChain();
+			this.hideInfoSlideShow().chain(this.changeItem.pass(num, this));
+		} else
+			this.changeItem.delay(500, this, num);
+		if (this.options.embedLinks)
+			this.makeLink(num);
+		this.prepareTimer();
+		/*if (this.options.showCarousel)
+			this.clearThumbnailsHighlights();*/
+	},
+	changeItem: function(num) {
+		this.fireEvent('onStartChanging');
+		this.galleryInit = 0;
+		if (this.currentIter != num)
+		{
+			for(i=0;i<this.maxIter;i++)
+			{
+				if ((i != this.currentIter)) this.galleryElements[i].set(0);
+			}
+			if (num > this.currentIter) this.galleryElements[num].custom(1);
+			else
+			{
+				this.galleryElements[num].set(1);
+				this.galleryElements[this.currentIter].custom(0);
+			}
+			this.currentIter = num;
+		}
+		this.doSlideShow.bind(this)();
+		this.fireEvent('onChanged');
+	},
+	clearTimer: function() {
+		if (this.options.timed)
+			$clear(this.timer);
+	},
+	prepareTimer: function() {
+		if (this.options.timed)
+			this.timer = this.nextItem.delay(this.options.delay, this);
+	},
+	doSlideShow: function(position) {
+		if (this.galleryInit == 1)
+		{
+			imgPreloader = new Image();
+			imgPreloader.onload=function(){
+				this.startSlideShow.delay(10, this);
+			}.bind(this);
+			imgPreloader.src = this.galleryData[0].image;
+		} else {
+			if (this.options.showInfopane)
+			{
+				if (this.options.showInfopane)
+				{
+					this.showInfoSlideShow.delay((500 + this.options.fadeDuration), this);
+				} else
+					if (this.options.showCarousel)
+						this.centerCarouselOn(position);
+			}
+		}
+	},
+	initCarousel: function () {
+		var carouselContainerElement = new Element('div').addClass('carouselContainer').injectInside(this.galleryElement);
+		this.carouselContainer = new Fx.Styles(carouselContainerElement, {transition: Fx.Transitions.expoOut});
+		this.carouselContainer.normalHeight = carouselContainerElement.offsetHeight;
+		this.carouselContainer.set({'opacity': this.options.carouselMinimizedOpacity, 'top': (this.options.carouselMinimizedHeight - this.carouselContainer.normalHeight)});
+		
+		this.carouselBtn = new Element('a').addClass('carouselBtn').setProperties({
+			title: this.options.textShowCarousel
+		}).setHTML(this.options.textShowCarousel).injectInside(carouselContainerElement);
+		
+		this.carouselBtn.addEvent(
+			'click',
+			function () {
+				this.carouselContainer.clearTimer();
+				this.toggleCarousel();
+			}.bind(this)
+		);
+		this.carouselActive = false;
+
+		var carouselElement = new Element('div').addClass('carousel').injectInside(carouselContainerElement);
+		this.carousel = new Fx.Styles(carouselElement);
+		
+		this.carouselLabel = new Element('p').addClass('label').injectInside(this.carousel.element);
+		this.carouselWrapper = new Element('div').addClass('carouselWrapper').injectInside(this.carousel.element);
+		this.carouselInner = new Element('div').addClass('carouselInner').injectInside(this.carouselWrapper);
+
+		this.carouselWrapper.scroller = new Scroller(this.carouselWrapper, {
+			area: 100,
+			velocity: 0.2
+		})
+		
+		this.carouselWrapper.elementScroller = new Fx.Scroll(this.carouselWrapper, {
+			duration: 400,
+			onStart: this.carouselWrapper.scroller.stop.bind(this.carouselWrapper.scroller),
+			onComplete: this.carouselWrapper.scroller.start.bind(this.carouselWrapper.scroller)
+		});
+
+		this.constructThumbnails();
+
+		this.carouselInner.style.width = ((this.maxIter * (this.options.thumbWidth + this.options.thumbSpacing)) - this.options.thumbSpacing + this.options.thumbWidth) + "px";
+	},
+	toggleCarousel: function() {
+		if (this.carouselActive)
+			this.hideCarousel();
+		else
+			this.showCarousel();
+	},
+	showCarousel: function () {
+		this.fireEvent('onShowCarousel');
+		this.carouselContainer.custom({
+			'opacity': this.options.carouselMaximizedOpacity,
+			'top': 0
+		}).addEvent('onComplete', function() { this.carouselActive = true; this.carouselWrapper.scroller.start(); }.bind(this));
+	},
+	hideCarousel: function () {
+		this.fireEvent('onHideCarousel');
+		this.carouselContainer.custom({
+			'opacity': this.options.carouselMinimizedOpacity,
+			'top': (this.options.carouselMinimizedHeight - this.carouselContainer.normalHeight)
+		}).addEvent('onComplete', function() { this.carouselActive = false; this.carouselWrapper.scroller.stop(); }.bind(this));
+	},
+	constructThumbnails: function () {
+		element = this.carouselInner;
+		for(i=0;i<this.galleryData.length;i++)
+		{
+			var currentImg = new Fx.Style(new Element ('div').addClass("thumbnail").setStyles({
+					backgroundImage: "url('" + this.galleryData[i].thumbnail + "')",
+					backgroundPosition: "center center",
+					backgroundRepeat: 'no-repeat',
+					marginLeft: this.options.thumbSpacing + "px",
+					width: this.options.thumbWidth + "px",
+					height: this.options.thumbHeight + "px"
+				}).injectInside(element), "opacity", {duration: 200}).set(0.2);
+			currentImg.element.addEvents({
+				'mouseover': function (myself) {
+					myself.clearTimer();
+					myself.custom(0.99);
+					$(this.carouselLabel).setHTML('<span class="number">' + (myself.relatedImage.number + 1) + "/" + this.maxIter + ":</span> " + myself.relatedImage.title);
+				}.pass(currentImg, this),
+				'mouseout': function (myself) {
+					myself.clearTimer();
+					myself.custom(0.2);
+				}.pass(currentImg, this),
+				'click': function (myself) {
+					this.goTo(myself.relatedImage.number);
+				}.pass(currentImg, this)
+			});
+			
+			currentImg.relatedImage = this.galleryData[i];
+			this.thumbnailElements[parseInt(i)] = currentImg;
+		}
+	},
+	clearThumbnailsHighlights: function()
+	{
+		for(i=0;i<this.galleryData.length;i++)
+		{
+			this.thumbnailElements[i].clearTimer();
+			this.thumbnailElements[i].custom(0.2);
+		}
+	},
+	centerCarouselOn: function(num) {
+		var carouselElement = this.thumbnailElements[num];
+		var position = carouselElement.element.offsetLeft + (carouselElement.element.offsetWidth / 2);
+		var carouselWidth = this.carouselWrapper.offsetWidth;
+		var carouselInnerWidth = this.carouselInner.offsetWidth;
+		var diffWidth = carouselWidth / 2;
+		var scrollPos = position-diffWidth;
+		this.carouselWrapper.elementScroller.scrollTo(scrollPos,0);
+	},
+	initInfoSlideshow: function() {
+		/*if (this.slideInfoZone.element)
+			this.slideInfoZone.element.remove();*/
+		this.slideInfoZone = new Fx.Styles(new Element('div').addClass('slideInfoZone').injectInside($(this.galleryElement))).set({'opacity':0});
+		var slideInfoZoneTitle = new Element('h2').injectInside(this.slideInfoZone.element);
+		var slideInfoZoneDescription = new Element('p').injectInside(this.slideInfoZone.element);
+		this.slideInfoZone.normalHeight = this.slideInfoZone.element.offsetHeight;
+		this.slideInfoZone.element.setStyle('opacity',0);
+	},
+	changeInfoSlideShow: function()
+	{
+		this.hideInfoSlideShow.delay(10, this);
+		this.showInfoSlideShow.delay(500, this);
+	},
+	showInfoSlideShow: function() {
+		this.fireEvent('onShowInfopane');
+		this.slideInfoZone.clearTimer();
+		element = this.slideInfoZone.element;
+		element.getElement('h2').setHTML(this.galleryData[this.currentIter].title);
+		element.getElement('p').setHTML(this.galleryData[this.currentIter].description);
+		this.slideInfoZone.custom({'opacity': [0, this.options.slideInfoZoneOpacity], 'height': [0, this.slideInfoZone.normalHeight]});
+		if (this.options.showCarousel)
+			this.slideInfoZone.chain(this.centerCarouselOn.pass(this.currentIter, this));
+		return this.slideInfoZone;
+	},
+	hideInfoSlideShow: function() {
+		this.fireEvent('onHideInfopane');
+		this.slideInfoZone.clearTimer();
+		this.slideInfoZone.custom({'opacity': 0, 'height': 0});
+		return this.slideInfoZone;
+	},
+	makeLink: function(num) {
+		this.currentLink.setProperties({
+			href: this.galleryData[num].link,
+			title: this.galleryData[num].linkTitle
+		})
+		if (!((this.options.embedLinks) && (!this.options.showArrows) && (!this.options.showCarousel)))
+			this.currentLink.setStyle('display', 'block');
+	},
+	clearLink: function() {
+		this.currentLink.setProperties({href: '', title: ''});
+		if (!((this.options.embedLinks) && (!this.options.showArrows) && (!this.options.showCarousel)))
+			this.currentLink.setStyle('display', 'none');
+	}
+});
+gallery.implement(new Events);
+gallery.implement(new Options);
+
+/* All code copyright 2006 Jonathan Schemoul */
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.1.1.3.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.1.1.3.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.1.1.3.js	(revision 198)
@@ -0,0 +1,11 @@
+/*
+ * jQuery 1.1.3.1 - New Wave Javascript
+ *
+ * Copyright (c) 2007 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2007-07-05 00:43:24 -0400 (Thu, 05 Jul 2007) $
+ * $Rev: 2243 $
+ */
+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}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i]);B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}});6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G",4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1];E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}});6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U="2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|text|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easing|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execScript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Thu|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlencoded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.2.6.pack.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.2.6.pack.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/jquery-1.2.6.pack.js	(revision 198)
@@ -0,0 +1,11 @@
+/*
+ * jQuery 1.2.6 - New Wave Javascript
+ *
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
+ * $Rev: 5685 $
+ */
+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}('(H(){J w=1b.4M,3m$=1b.$;J D=1b.4M=1b.$=H(a,b){I 2B D.17.5j(a,b)};J u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,62=/^.[^:#\\[\\.]*$/,12;D.17=D.44={5j:H(d,b){d=d||S;G(d.16){7[0]=d;7.K=1;I 7}G(1j d=="23"){J c=u.2D(d);G(c&&(c[1]||!b)){G(c[1])d=D.4h([c[1]],b);N{J a=S.61(c[3]);G(a){G(a.2v!=c[3])I D().2q(d);I D(a)}d=[]}}N I D(b).2q(d)}N G(D.1D(d))I D(S)[D.17.27?"27":"43"](d);I 7.6Y(D.2d(d))},5w:"1.2.6",8G:H(){I 7.K},K:0,3p:H(a){I a==12?D.2d(7):7[a]},2I:H(b){J a=D(b);a.5n=7;I a},6Y:H(a){7.K=0;2p.44.1p.1w(7,a);I 7},P:H(a,b){I D.P(7,a,b)},5i:H(b){J a=-1;I D.2L(b&&b.5w?b[0]:b,7)},1K:H(c,a,b){J d=c;G(c.1q==56)G(a===12)I 7[0]&&D[b||"1K"](7[0],c);N{d={};d[c]=a}I 7.P(H(i){R(c 1n d)D.1K(b?7.V:7,c,D.1i(7,d[c],b,i,c))})},1g:H(b,a){G((b==\'2h\'||b==\'1Z\')&&3d(a)<0)a=12;I 7.1K(b,a,"2a")},1r:H(b){G(1j b!="49"&&b!=U)I 7.4E().3v((7[0]&&7[0].2z||S).5F(b));J a="";D.P(b||7,H(){D.P(7.3t,H(){G(7.16!=8)a+=7.16!=1?7.76:D.17.1r([7])})});I a},5z:H(b){G(7[0])D(b,7[0].2z).5y().39(7[0]).2l(H(){J a=7;1B(a.1x)a=a.1x;I a}).3v(7);I 7},8Y:H(a){I 7.P(H(){D(7).6Q().5z(a)})},8R:H(a){I 7.P(H(){D(7).5z(a)})},3v:H(){I 7.3W(19,M,Q,H(a){G(7.16==1)7.3U(a)})},6F:H(){I 7.3W(19,M,M,H(a){G(7.16==1)7.39(a,7.1x)})},6E:H(){I 7.3W(19,Q,Q,H(a){7.1d.39(a,7)})},5q:H(){I 7.3W(19,Q,M,H(a){7.1d.39(a,7.2H)})},3l:H(){I 7.5n||D([])},2q:H(b){J c=D.2l(7,H(a){I D.2q(b,a)});I 7.2I(/[^+>] [^+>]/.11(b)||b.1h("..")>-1?D.4r(c):c)},5y:H(e){J f=7.2l(H(){G(D.14.1f&&!D.4n(7)){J a=7.6o(M),5h=S.3h("1v");5h.3U(a);I D.4h([5h.4H])[0]}N I 7.6o(M)});J d=f.2q("*").5c().P(H(){G(7[E]!=12)7[E]=U});G(e===M)7.2q("*").5c().P(H(i){G(7.16==3)I;J c=D.L(7,"3w");R(J a 1n c)R(J b 1n c[a])D.W.1e(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I 7.2I(D.1D(b)&&D.3C(7,H(a,i){I b.1k(a,i)})||D.3g(b,7))},4Y:H(b){G(b.1q==56)G(62.11(b))I 7.2I(D.3g(b,7,M));N b=D.3g(b,7);J a=b.K&&b[b.K-1]!==12&&!b.16;I 7.1E(H(){I a?D.2L(7,b)<0:7!=b})},1e:H(a){I 7.2I(D.4r(D.2R(7.3p(),1j a==\'23\'?D(a):D.2d(a))))},3F:H(a){I!!a&&D.3g(a,7).K>0},7T:H(a){I 7.3F("."+a)},6e:H(b){G(b==12){G(7.K){J c=7[0];G(D.Y(c,"2A")){J e=c.64,63=[],15=c.15,2V=c.O=="2A-2V";G(e<0)I U;R(J i=2V?e:0,2f=2V?e+1:15.K;i<2f;i++){J d=15[i];G(d.2W){b=D.14.1f&&!d.at.2x.an?d.1r:d.2x;G(2V)I b;63.1p(b)}}I 63}N I(7[0].2x||"").1o(/\\r/g,"")}I 12}G(b.1q==4L)b+=\'\';I 7.P(H(){G(7.16!=1)I;G(b.1q==2p&&/5O|5L/.11(7.O))7.4J=(D.2L(7.2x,b)>=0||D.2L(7.34,b)>=0);N G(D.Y(7,"2A")){J a=D.2d(b);D("9R",7).P(H(){7.2W=(D.2L(7.2x,a)>=0||D.2L(7.1r,a)>=0)});G(!a.K)7.64=-1}N 7.2x=b})},2K:H(a){I a==12?(7[0]?7[0].4H:U):7.4E().3v(a)},7b:H(a){I 7.5q(a).21()},79:H(i){I 7.3s(i,i+1)},3s:H(){I 7.2I(2p.44.3s.1w(7,19))},2l:H(b){I 7.2I(D.2l(7,H(a,i){I b.1k(a,i,a)}))},5c:H(){I 7.1e(7.5n)},L:H(d,b){J a=d.1R(".");a[1]=a[1]?"."+a[1]:"";G(b===12){J c=7.5C("9z"+a[1]+"!",[a[0]]);G(c===12&&7.K)c=D.L(7[0],d);I c===12&&a[1]?7.L(a[0]):c}N I 7.1P("9u"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I 7.P(H(){D.3b(7,a)})},3W:H(g,f,h,d){J e=7.K>1,3x;I 7.P(H(){G(!3x){3x=D.4h(g,7.2z);G(h)3x.9o()}J b=7;G(f&&D.Y(7,"1T")&&D.Y(3x[0],"4F"))b=7.3H("22")[0]||7.3U(7.2z.3h("22"));J c=D([]);D.P(3x,H(){J a=e?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=c.1e(a);N{G(a.16==1)c=c.1e(D("1m",a).21());d.1k(b,a)}});c.P(6T)})}};D.17.5j.44=D.17;H 6T(i,a){G(a.4d)D.3Y({1a:a.4d,31:Q,1O:"1m"});N D.5u(a.1r||a.6O||a.4H||"");G(a.1d)a.1d.37(a)}H 1z(){I+2B 8J}D.1l=D.17.1l=H(){J b=19[0]||{},i=1,K=19.K,4x=Q,15;G(b.1q==8I){4x=b;b=19[1]||{};i=2}G(1j b!="49"&&1j b!="H")b={};G(K==i){b=7;--i}R(;i<K;i++)G((15=19[i])!=U)R(J c 1n 15){J a=b[c],2w=15[c];G(b===2w)6M;G(4x&&2w&&1j 2w=="49"&&!2w.16)b[c]=D.1l(4x,a||(2w.K!=U?[]:{}),2w);N G(2w!==12)b[c]=2w}I b};J E="4M"+1z(),6K=0,5r={},6G=/z-?5i|8B-?8A|1y|6B|8v-?1Z/i,3P=S.3P||{};D.1l({8u:H(a){1b.$=3m$;G(a)1b.4M=w;I D},1D:H(a){I!!a&&1j a!="23"&&!a.Y&&a.1q!=2p&&/^[\\s[]?H/.11(a+"")},4n:H(a){I a.1C&&!a.1c||a.2j&&a.2z&&!a.2z.1c},5u:H(a){a=D.3k(a);G(a){J b=S.3H("6w")[0]||S.1C,1m=S.3h("1m");1m.O="1r/4t";G(D.14.1f)1m.1r=a;N 1m.3U(S.5F(a));b.39(1m,b.1x);b.37(1m)}},Y:H(b,a){I b.Y&&b.Y.2r()==a.2r()},1Y:{},L:H(c,d,b){c=c==1b?5r:c;J a=c[E];G(!a)a=c[E]=++6K;G(d&&!D.1Y[a])D.1Y[a]={};G(b!==12)D.1Y[a][d]=b;I d?D.1Y[a][d]:a},3b:H(c,b){c=c==1b?5r:c;J a=c[E];G(b){G(D.1Y[a]){2U D.1Y[a][b];b="";R(b 1n D.1Y[a])1X;G(!b)D.3b(c)}}N{1U{2U c[E]}1V(e){G(c.5l)c.5l(E)}2U D.1Y[a]}},P:H(d,a,c){J e,i=0,K=d.K;G(c){G(K==12){R(e 1n d)G(a.1w(d[e],c)===Q)1X}N R(;i<K;)G(a.1w(d[i++],c)===Q)1X}N{G(K==12){R(e 1n d)G(a.1k(d[e],e,d[e])===Q)1X}N R(J b=d[0];i<K&&a.1k(b,i,b)!==Q;b=d[++i]){}}I d},1i:H(b,a,c,i,d){G(D.1D(a))a=a.1k(b,i);I a&&a.1q==4L&&c=="2a"&&!6G.11(d)?a+"2X":a},1F:{1e:H(c,b){D.P((b||"").1R(/\\s+/),H(i,a){G(c.16==1&&!D.1F.3T(c.1F,a))c.1F+=(c.1F?" ":"")+a})},21:H(c,b){G(c.16==1)c.1F=b!=12?D.3C(c.1F.1R(/\\s+/),H(a){I!D.1F.3T(b,a)}).6s(" "):""},3T:H(b,a){I D.2L(a,(b.1F||b).6r().1R(/\\s+/))>-1}},6q:H(b,c,a){J e={};R(J d 1n c){e[d]=b.V[d];b.V[d]=c[d]}a.1k(b);R(J d 1n c)b.V[d]=e[d]},1g:H(d,e,c){G(e=="2h"||e=="1Z"){J b,3X={30:"5x",5g:"1G",18:"3I"},35=e=="2h"?["5e","6k"]:["5G","6i"];H 5b(){b=e=="2h"?d.8f:d.8c;J a=0,2C=0;D.P(35,H(){a+=3d(D.2a(d,"57"+7,M))||0;2C+=3d(D.2a(d,"2C"+7+"4b",M))||0});b-=29.83(a+2C)}G(D(d).3F(":4j"))5b();N D.6q(d,3X,5b);I 29.2f(0,b)}I D.2a(d,e,c)},2a:H(f,l,k){J e,V=f.V;H 3E(b){G(!D.14.2k)I Q;J a=3P.54(b,U);I!a||a.52("3E")==""}G(l=="1y"&&D.14.1f){e=D.1K(V,"1y");I e==""?"1":e}G(D.14.2G&&l=="18"){J d=V.50;V.50="0 7Y 7W";V.50=d}G(l.1I(/4i/i))l=y;G(!k&&V&&V[l])e=V[l];N G(3P.54){G(l.1I(/4i/i))l="4i";l=l.1o(/([A-Z])/g,"-$1").3y();J c=3P.54(f,U);G(c&&!3E(f))e=c.52(l);N{J g=[],2E=[],a=f,i=0;R(;a&&3E(a);a=a.1d)2E.6h(a);R(;i<2E.K;i++)G(3E(2E[i])){g[i]=2E[i].V.18;2E[i].V.18="3I"}e=l=="18"&&g[2E.K-1]!=U?"2F":(c&&c.52(l))||"";R(i=0;i<g.K;i++)G(g[i]!=U)2E[i].V.18=g[i]}G(l=="1y"&&e=="")e="1"}N G(f.4g){J h=l.1o(/\\-(\\w)/g,H(a,b){I b.2r()});e=f.4g[l]||f.4g[h];G(!/^\\d+(2X)?$/i.11(e)&&/^\\d/.11(e)){J j=V.1A,66=f.65.1A;f.65.1A=f.4g.1A;V.1A=e||0;e=V.aM+"2X";V.1A=j;f.65.1A=66}}I e},4h:H(l,h){J k=[];h=h||S;G(1j h.3h==\'12\')h=h.2z||h[0]&&h[0].2z||S;D.P(l,H(i,d){G(!d)I;G(d.1q==4L)d+=\'\';G(1j d=="23"){d=d.1o(/(<(\\w+)[^>]*?)\\/>/g,H(b,a,c){I c.1I(/^(aK|4f|7E|aG|4T|7A|aB|3n|az|ay|av)$/i)?b:a+"></"+c+">"});J f=D.3k(d).3y(),1v=h.3h("1v");J e=!f.1h("<au")&&[1,"<2A 7w=\'7w\'>","</2A>"]||!f.1h("<ar")&&[1,"<7v>","</7v>"]||f.1I(/^<(aq|22|am|ak|ai)/)&&[1,"<1T>","</1T>"]||!f.1h("<4F")&&[2,"<1T><22>","</22></1T>"]||(!f.1h("<af")||!f.1h("<ad"))&&[3,"<1T><22><4F>","</4F></22></1T>"]||!f.1h("<7E")&&[2,"<1T><22></22><7q>","</7q></1T>"]||D.14.1f&&[1,"1v<1v>","</1v>"]||[0,"",""];1v.4H=e[1]+d+e[2];1B(e[0]--)1v=1v.5T;G(D.14.1f){J g=!f.1h("<1T")&&f.1h("<22")<0?1v.1x&&1v.1x.3t:e[1]=="<1T>"&&f.1h("<22")<0?1v.3t:[];R(J j=g.K-1;j>=0;--j)G(D.Y(g[j],"22")&&!g[j].3t.K)g[j].1d.37(g[j]);G(/^\\s/.11(d))1v.39(h.5F(d.1I(/^\\s*/)[0]),1v.1x)}d=D.2d(1v.3t)}G(d.K===0&&(!D.Y(d,"3V")&&!D.Y(d,"2A")))I;G(d[0]==12||D.Y(d,"3V")||d.15)k.1p(d);N k=D.2R(k,d)});I k},1K:H(d,f,c){G(!d||d.16==3||d.16==8)I 12;J e=!D.4n(d),40=c!==12,1f=D.14.1f;f=e&&D.3X[f]||f;G(d.2j){J g=/5Q|4d|V/.11(f);G(f=="2W"&&D.14.2k)d.1d.64;G(f 1n d&&e&&!g){G(40){G(f=="O"&&D.Y(d,"4T")&&d.1d)7p"O a3 a1\'t 9V 9U";d[f]=c}G(D.Y(d,"3V")&&d.7i(f))I d.7i(f).76;I d[f]}G(1f&&e&&f=="V")I D.1K(d.V,"9T",c);G(40)d.9Q(f,""+c);J h=1f&&e&&g?d.4G(f,2):d.4G(f);I h===U?12:h}G(1f&&f=="1y"){G(40){d.6B=1;d.1E=(d.1E||"").1o(/7f\\([^)]*\\)/,"")+(3r(c)+\'\'=="9L"?"":"7f(1y="+c*7a+")")}I d.1E&&d.1E.1h("1y=")>=0?(3d(d.1E.1I(/1y=([^)]*)/)[1])/7a)+\'\':""}f=f.1o(/-([a-z])/9H,H(a,b){I b.2r()});G(40)d[f]=c;I d[f]},3k:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2d:H(b){J a=[];G(b!=U){J i=b.K;G(i==U||b.1R||b.4I||b.1k)a[0]=b;N 1B(i)a[--i]=b[i]}I a},2L:H(b,a){R(J i=0,K=a.K;i<K;i++)G(a[i]===b)I i;I-1},2R:H(a,b){J i=0,T,2S=a.K;G(D.14.1f){1B(T=b[i++])G(T.16!=8)a[2S++]=T}N 1B(T=b[i++])a[2S++]=T;I a},4r:H(a){J c=[],2o={};1U{R(J i=0,K=a.K;i<K;i++){J b=D.L(a[i]);G(!2o[b]){2o[b]=M;c.1p(a[i])}}}1V(e){c=a}I c},3C:H(c,a,d){J b=[];R(J i=0,K=c.K;i<K;i++)G(!d!=!a(c[i],i))b.1p(c[i]);I b},2l:H(d,a){J c=[];R(J i=0,K=d.K;i<K;i++){J b=a(d[i],i);G(b!=U)c[c.K]=b}I c.7d.1w([],c)}});J v=9B.9A.3y();D.14={5B:(v.1I(/.+(?:9y|9x|9w|9v)[\\/: ]([\\d.]+)/)||[])[1],2k:/75/.11(v),2G:/2G/.11(v),1f:/1f/.11(v)&&!/2G/.11(v),42:/42/.11(v)&&!/(9s|75)/.11(v)};J y=D.14.1f?"7o":"72";D.1l({71:!D.14.1f||S.70=="6Z",3X:{"R":"9n","9k":"1F","4i":y,72:y,7o:y,9h:"9f",9e:"9d",9b:"99"}});D.P({6W:H(a){I a.1d},97:H(a){I D.4S(a,"1d")},95:H(a){I D.3a(a,2,"2H")},91:H(a){I D.3a(a,2,"4l")},8Z:H(a){I D.4S(a,"2H")},8X:H(a){I D.4S(a,"4l")},8W:H(a){I D.5v(a.1d.1x,a)},8V:H(a){I D.5v(a.1x)},6Q:H(a){I D.Y(a,"8U")?a.8T||a.8S.S:D.2d(a.3t)}},H(c,d){D.17[c]=H(b){J a=D.2l(7,d);G(b&&1j b=="23")a=D.3g(b,a);I 7.2I(D.4r(a))}});D.P({6P:"3v",8Q:"6F",39:"6E",8P:"5q",8O:"7b"},H(c,b){D.17[c]=H(){J a=19;I 7.P(H(){R(J i=0,K=a.K;i<K;i++)D(a[i])[b](7)})}});D.P({8N:H(a){D.1K(7,a,"");G(7.16==1)7.5l(a)},8M:H(a){D.1F.1e(7,a)},8L:H(a){D.1F.21(7,a)},8K:H(a){D.1F[D.1F.3T(7,a)?"21":"1e"](7,a)},21:H(a){G(!a||D.1E(a,[7]).r.K){D("*",7).1e(7).P(H(){D.W.21(7);D.3b(7)});G(7.1d)7.1d.37(7)}},4E:H(){D(">*",7).21();1B(7.1x)7.37(7.1x)}},H(a,b){D.17[a]=H(){I 7.P(b,19)}});D.P(["6N","4b"],H(i,c){J b=c.3y();D.17[b]=H(a){I 7[0]==1b?D.14.2G&&S.1c["5t"+c]||D.14.2k&&1b["5s"+c]||S.70=="6Z"&&S.1C["5t"+c]||S.1c["5t"+c]:7[0]==S?29.2f(29.2f(S.1c["4y"+c],S.1C["4y"+c]),29.2f(S.1c["2i"+c],S.1C["2i"+c])):a==12?(7.K?D.1g(7[0],b):U):7.1g(b,a.1q==56?a:a+"2X")}});H 25(a,b){I a[0]&&3r(D.2a(a[0],b,M),10)||0}J C=D.14.2k&&3r(D.14.5B)<8H?"(?:[\\\\w*3m-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\8E*3m-]|\\\\\\\\.)",6L=2B 4v("^>\\\\s*("+C+"+)"),6J=2B 4v("^("+C+"+)(#)("+C+"+)"),6I=2B 4v("^([#.]?)("+C+"*)");D.1l({6H:{"":H(a,i,m){I m[2]=="*"||D.Y(a,m[2])},"#":H(a,i,m){I a.4G("2v")==m[2]},":":{8D:H(a,i,m){I i<m[3]-0},8C:H(a,i,m){I i>m[3]-0},3a:H(a,i,m){I m[3]-0==i},79:H(a,i,m){I m[3]-0==i},3o:H(a,i){I i==0},3S:H(a,i,m,r){I i==r.K-1},6D:H(a,i){I i%2==0},6C:H(a,i){I i%2},"3o-4u":H(a){I a.1d.3H("*")[0]==a},"3S-4u":H(a){I D.3a(a.1d.5T,1,"4l")==a},"8z-4u":H(a){I!D.3a(a.1d.5T,2,"4l")},6W:H(a){I a.1x},4E:H(a){I!a.1x},8y:H(a,i,m){I(a.6O||a.8x||D(a).1r()||"").1h(m[3])>=0},4j:H(a){I"1G"!=a.O&&D.1g(a,"18")!="2F"&&D.1g(a,"5g")!="1G"},1G:H(a){I"1G"==a.O||D.1g(a,"18")=="2F"||D.1g(a,"5g")=="1G"},8w:H(a){I!a.3R},3R:H(a){I a.3R},4J:H(a){I a.4J},2W:H(a){I a.2W||D.1K(a,"2W")},1r:H(a){I"1r"==a.O},5O:H(a){I"5O"==a.O},5L:H(a){I"5L"==a.O},5p:H(a){I"5p"==a.O},3Q:H(a){I"3Q"==a.O},5o:H(a){I"5o"==a.O},6A:H(a){I"6A"==a.O},6z:H(a){I"6z"==a.O},2s:H(a){I"2s"==a.O||D.Y(a,"2s")},4T:H(a){I/4T|2A|6y|2s/i.11(a.Y)},3T:H(a,i,m){I D.2q(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3C(D.3O,H(b){I a==b.T}).K}}},6x:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2B 4v("^([:.#]*)("+C+"+)")],3g:H(a,c,b){J d,1t=[];1B(a&&a!=d){d=a;J f=D.1E(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1t=b?c=f.r:D.2R(1t,f.r)}I 1t},2q:H(t,o){G(1j t!="23")I[t];G(o&&o.16!=1&&o.16!=9)I[];o=o||S;J d=[o],2o=[],3S,Y;1B(t&&3S!=t){J r=[];3S=t;t=D.3k(t);J l=Q,3j=6L,m=3j.2D(t);G(m){Y=m[1].2r();R(J i=0;d[i];i++)R(J c=d[i].1x;c;c=c.2H)G(c.16==1&&(Y=="*"||c.Y.2r()==Y))r.1p(c);d=r;t=t.1o(3j,"");G(t.1h(" ")==0)6M;l=M}N{3j=/^([>+~])\\s*(\\w*)/i;G((m=3j.2D(t))!=U){r=[];J k={};Y=m[2].2r();m=m[1];R(J j=0,3i=d.K;j<3i;j++){J n=m=="~"||m=="+"?d[j].2H:d[j].1x;R(;n;n=n.2H)G(n.16==1){J g=D.L(n);G(m=="~"&&k[g])1X;G(!Y||n.Y.2r()==Y){G(m=="~")k[g]=M;r.1p(n)}G(m=="+")1X}}d=r;t=D.3k(t.1o(3j,""));l=M}}G(t&&!l){G(!t.1h(",")){G(o==d[0])d.4s();2o=D.2R(2o,d);r=d=[o];t=" "+t.6v(1,t.K)}N{J h=6J;J m=h.2D(t);G(m){m=[0,m[2],m[3],m[1]]}N{h=6I;m=h.2D(t)}m[2]=m[2].1o(/\\\\/g,"");J f=d[d.K-1];G(m[1]=="#"&&f&&f.61&&!D.4n(f)){J p=f.61(m[2]);G((D.14.1f||D.14.2G)&&p&&1j p.2v=="23"&&p.2v!=m[2])p=D(\'[@2v="\'+m[2]+\'"]\',f)[0];d=r=p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=0;d[i];i++){J a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];G(a=="*"&&d[i].Y.3y()=="49")a="3n";r=D.2R(r,d[i].3H(a))}G(m[1]==".")r=D.5m(r,m[2]);G(m[1]=="#"){J e=[];R(J i=0;r[i];i++)G(r[i].4G("2v")==m[2]){e=[r[i]];1X}r=e}d=r}t=t.1o(h,"")}}G(t){J b=D.1E(t,r);d=r=b.r;t=D.3k(b.t)}}G(t)d=[];G(d&&o==d[0])d.4s();2o=D.2R(2o,d);I 2o},5m:H(r,m,a){m=" "+m+" ";J c=[];R(J i=0;r[i];i++){J b=(" "+r[i].1F+" ").1h(m)>=0;G(!a&&b||a&&!b)c.1p(r[i])}I c},1E:H(t,r,h){J d;1B(t&&t!=d){d=t;J p=D.6x,m;R(J i=0;p[i];i++){m=p[i].2D(t);G(m){t=t.8r(m[0].K);m[2]=m[2].1o(/\\\\/g,"");1X}}G(!m)1X;G(m[1]==":"&&m[2]=="4Y")r=62.11(m[3])?D.1E(m[3],r,M).r:D(r).4Y(m[3]);N G(m[1]==".")r=D.5m(r,m[2],h);N G(m[1]=="["){J g=[],O=m[3];R(J i=0,3i=r.K;i<3i;i++){J a=r[i],z=a[D.3X[m[2]]||m[2]];G(z==U||/5Q|4d|2W/.11(m[2]))z=D.1K(a,m[2])||\'\';G((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1h(m[5])||O=="$="&&z.6v(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1h(m[5])>=0)^h)g.1p(a)}r=g}N G(m[1]==":"&&m[2]=="3a-4u"){J e={},g=[],11=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=="6D"&&"2n"||m[3]=="6C"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=(11[1]+(11[2]||1))-0,d=11[3]-0;R(J i=0,3i=r.K;i<3i;i++){J j=r[i],1d=j.1d,2v=D.L(1d);G(!e[2v]){J c=1;R(J n=1d.1x;n;n=n.2H)G(n.16==1)n.4q=c++;e[2v]=M}J b=Q;G(3o==0){G(j.4q==d)b=M}N G((j.4q-d)%3o==0&&(j.4q-d)/3o>=0)b=M;G(b^h)g.1p(j)}r=g}N{J f=D.6H[m[1]];G(1j f=="49")f=f[m[2]];G(1j f=="23")f=6u("Q||H(a,i){I "+f+";}");r=D.3C(r,H(a,i){I f(a,i,m,r)},h)}}I{r:r,t:t}},4S:H(b,c){J a=[],1t=b[c];1B(1t&&1t!=S){G(1t.16==1)a.1p(1t);1t=1t[c]}I a},3a:H(a,e,c,b){e=e||1;J d=0;R(;a;a=a[c])G(a.16==1&&++d==e)1X;I a},5v:H(n,a){J r=[];R(;n;n=n.2H){G(n.16==1&&n!=a)r.1p(n)}I r}});D.W={1e:H(f,i,g,e){G(f.16==3||f.16==8)I;G(D.14.1f&&f.4I)f=1b;G(!g.24)g.24=7.24++;G(e!=12){J h=g;g=7.3M(h,H(){I h.1w(7,19)});g.L=e}J j=D.L(f,"3w")||D.L(f,"3w",{}),1H=D.L(f,"1H")||D.L(f,"1H",H(){G(1j D!="12"&&!D.W.5k)I D.W.1H.1w(19.3L.T,19)});1H.T=f;D.P(i.1R(/\\s+/),H(c,b){J a=b.1R(".");b=a[0];g.O=a[1];J d=j[b];G(!d){d=j[b]={};G(!D.W.2t[b]||D.W.2t[b].4p.1k(f)===Q){G(f.3K)f.3K(b,1H,Q);N G(f.6t)f.6t("4o"+b,1H)}}d[g.24]=g;D.W.26[b]=M});f=U},24:1,26:{},21:H(e,h,f){G(e.16==3||e.16==8)I;J i=D.L(e,"3w"),1L,5i;G(i){G(h==12||(1j h=="23"&&h.8p(0)=="."))R(J g 1n i)7.21(e,g+(h||""));N{G(h.O){f=h.2y;h=h.O}D.P(h.1R(/\\s+/),H(b,a){J c=a.1R(".");a=c[0];G(i[a]){G(f)2U i[a][f.24];N R(f 1n i[a])G(!c[1]||i[a][f].O==c[1])2U i[a][f];R(1L 1n i[a])1X;G(!1L){G(!D.W.2t[a]||D.W.2t[a].4A.1k(e)===Q){G(e.6p)e.6p(a,D.L(e,"1H"),Q);N G(e.6n)e.6n("4o"+a,D.L(e,"1H"))}1L=U;2U i[a]}}})}R(1L 1n i)1X;G(!1L){J d=D.L(e,"1H");G(d)d.T=U;D.3b(e,"3w");D.3b(e,"1H")}}},1P:H(h,c,f,g,i){c=D.2d(c);G(h.1h("!")>=0){h=h.3s(0,-1);J a=M}G(!f){G(7.26[h])D("*").1e([1b,S]).1P(h,c)}N{G(f.16==3||f.16==8)I 12;J b,1L,17=D.1D(f[h]||U),W=!c[0]||!c[0].32;G(W){c.6h({O:h,2J:f,32:H(){},3J:H(){},4C:1z()});c[0][E]=M}c[0].O=h;G(a)c[0].6m=M;J d=D.L(f,"1H");G(d)b=d.1w(f,c);G((!17||(D.Y(f,\'a\')&&h=="4V"))&&f["4o"+h]&&f["4o"+h].1w(f,c)===Q)b=Q;G(W)c.4s();G(i&&D.1D(i)){1L=i.1w(f,b==U?c:c.7d(b));G(1L!==12)b=1L}G(17&&g!==Q&&b!==Q&&!(D.Y(f,\'a\')&&h=="4V")){7.5k=M;1U{f[h]()}1V(e){}}7.5k=Q}I b},1H:H(b){J a,1L,38,5f,4m;b=19[0]=D.W.6l(b||1b.W);38=b.O.1R(".");b.O=38[0];38=38[1];5f=!38&&!b.6m;4m=(D.L(7,"3w")||{})[b.O];R(J j 1n 4m){J c=4m[j];G(5f||c.O==38){b.2y=c;b.L=c.L;1L=c.1w(7,19);G(a!==Q)a=1L;G(1L===Q){b.32();b.3J()}}}I a},6l:H(b){G(b[E]==M)I b;J d=b;b={8o:d};J c="8n 8m 8l 8k 2s 8j 47 5d 6j 5E 8i L 8h 8g 4K 2y 5a 59 8e 8b 58 6f 8a 88 4k 87 86 84 6d 2J 4C 6c O 82 81 35".1R(" ");R(J i=c.K;i;i--)b[c[i]]=d[c[i]];b[E]=M;b.32=H(){G(d.32)d.32();d.80=Q};b.3J=H(){G(d.3J)d.3J();d.7Z=M};b.4C=b.4C||1z();G(!b.2J)b.2J=b.6d||S;G(b.2J.16==3)b.2J=b.2J.1d;G(!b.4k&&b.4K)b.4k=b.4K==b.2J?b.6c:b.4K;G(b.58==U&&b.5d!=U){J a=S.1C,1c=S.1c;b.58=b.5d+(a&&a.2e||1c&&1c.2e||0)-(a.6b||0);b.6f=b.6j+(a&&a.2c||1c&&1c.2c||0)-(a.6a||0)}G(!b.35&&((b.47||b.47===0)?b.47:b.5a))b.35=b.47||b.5a;G(!b.59&&b.5E)b.59=b.5E;G(!b.35&&b.2s)b.35=(b.2s&1?1:(b.2s&2?3:(b.2s&4?2:0)));I b},3M:H(a,b){b.24=a.24=a.24||b.24||7.24++;I b},2t:{27:{4p:H(){55();I},4A:H(){I}},3D:{4p:H(){G(D.14.1f)I Q;D(7).2O("53",D.W.2t.3D.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("53",D.W.2t.3D.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3D";I D.W.1H.1w(7,19)}},3N:{4p:H(){G(D.14.1f)I Q;D(7).2O("51",D.W.2t.3N.2y);I M},4A:H(){G(D.14.1f)I Q;D(7).4e("51",D.W.2t.3N.2y);I M},2y:H(a){G(F(a,7))I M;a.O="3N";I D.W.1H.1w(7,19)}}}};D.17.1l({2O:H(c,a,b){I c=="4X"?7.2V(c,a,b):7.P(H(){D.W.1e(7,c,b||a,b&&a)})},2V:H(d,b,c){J e=D.W.3M(c||b,H(a){D(7).4e(a,e);I(c||b).1w(7,19)});I 7.P(H(){D.W.1e(7,d,e,c&&b)})},4e:H(a,b){I 7.P(H(){D.W.21(7,a,b)})},1P:H(c,a,b){I 7.P(H(){D.W.1P(c,a,7,M,b)})},5C:H(c,a,b){I 7[0]&&D.W.1P(c,a,7[0],Q,b)},2m:H(b){J c=19,i=1;1B(i<c.K)D.W.3M(b,c[i++]);I 7.4V(D.W.3M(b,H(a){7.4Z=(7.4Z||0)%i;a.32();I c[7.4Z++].1w(7,19)||Q}))},7X:H(a,b){I 7.2O(\'3D\',a).2O(\'3N\',b)},27:H(a){55();G(D.2Q)a.1k(S,D);N D.3A.1p(H(){I a.1k(7,D)});I 7}});D.1l({2Q:Q,3A:[],27:H(){G(!D.2Q){D.2Q=M;G(D.3A){D.P(D.3A,H(){7.1k(S)});D.3A=U}D(S).5C("27")}}});J x=Q;H 55(){G(x)I;x=M;G(S.3K&&!D.14.2G)S.3K("69",D.27,Q);G(D.14.1f&&1b==1S)(H(){G(D.2Q)I;1U{S.1C.7V("1A")}1V(3e){3B(19.3L,0);I}D.27()})();G(D.14.2G)S.3K("69",H(){G(D.2Q)I;R(J i=0;i<S.4W.K;i++)G(S.4W[i].3R){3B(19.3L,0);I}D.27()},Q);G(D.14.2k){J a;(H(){G(D.2Q)I;G(S.3f!="68"&&S.3f!="1J"){3B(19.3L,0);I}G(a===12)a=D("V, 7A[7U=7S]").K;G(S.4W.K!=a){3B(19.3L,0);I}D.27()})()}D.W.1e(1b,"43",D.27)}D.P(("7R,7Q,43,85,4y,4X,4V,7P,"+"7O,7N,89,53,51,7M,2A,"+"5o,7L,7K,8d,3e").1R(","),H(i,b){D.17[b]=H(a){I a?7.2O(b,a):7.1P(b)}});J F=H(a,c){J b=a.4k;1B(b&&b!=c)1U{b=b.1d}1V(3e){b=c}I b==c};D(1b).2O("4X",H(){D("*").1e(S).4e()});D.17.1l({67:D.17.43,43:H(g,d,c){G(1j g!=\'23\')I 7.67(g);J e=g.1h(" ");G(e>=0){J i=g.3s(e,g.K);g=g.3s(0,e)}c=c||H(){};J f="2P";G(d)G(D.1D(d)){c=d;d=U}N{d=D.3n(d);f="6g"}J h=7;D.3Y({1a:g,O:f,1O:"2K",L:d,1J:H(a,b){G(b=="1W"||b=="7J")h.2K(i?D("<1v/>").3v(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2q(i):a.4U);h.P(c,[a.4U,b,a])}});I 7},aL:H(){I D.3n(7.7I())},7I:H(){I 7.2l(H(){I D.Y(7,"3V")?D.2d(7.aH):7}).1E(H(){I 7.34&&!7.3R&&(7.4J||/2A|6y/i.11(7.Y)||/1r|1G|3Q/i.11(7.O))}).2l(H(i,c){J b=D(7).6e();I b==U?U:b.1q==2p?D.2l(b,H(a,i){I{34:c.34,2x:a}}):{34:c.34,2x:b}}).3p()}});D.P("7H,7G,7F,7D,7C,7B".1R(","),H(i,o){D.17[o]=H(f){I 7.2O(o,f)}});J B=1z();D.1l({3p:H(d,b,a,c){G(D.1D(b)){a=b;b=U}I D.3Y({O:"2P",1a:d,L:b,1W:a,1O:c})},aE:H(b,a){I D.3p(b,U,a,"1m")},aD:H(c,b,a){I D.3p(c,b,a,"3z")},aC:H(d,b,a,c){G(D.1D(b)){a=b;b={}}I D.3Y({O:"6g",1a:d,L:b,1W:a,1O:c})},aA:H(a){D.1l(D.60,a)},60:{1a:5Z.5Q,26:M,O:"2P",2T:0,7z:"4R/x-ax-3V-aw",7x:M,31:M,L:U,5Y:U,3Q:U,4Q:{2N:"4R/2N, 1r/2N",2K:"1r/2K",1m:"1r/4t, 4R/4t",3z:"4R/3z, 1r/4t",1r:"1r/as",4w:"*/*"}},4z:{},3Y:H(s){s=D.1l(M,s,D.1l(M,{},D.60,s));J g,2Z=/=\\?(&|$)/g,1u,L,O=s.O.2r();G(s.L&&s.7x&&1j s.L!="23")s.L=D.3n(s.L);G(s.1O=="4P"){G(O=="2P"){G(!s.1a.1I(2Z))s.1a+=(s.1a.1I(/\\?/)?"&":"?")+(s.4P||"7u")+"=?"}N G(!s.L||!s.L.1I(2Z))s.L=(s.L?s.L+"&":"")+(s.4P||"7u")+"=?";s.1O="3z"}G(s.1O=="3z"&&(s.L&&s.L.1I(2Z)||s.1a.1I(2Z))){g="4P"+B++;G(s.L)s.L=(s.L+"").1o(2Z,"="+g+"$1");s.1a=s.1a.1o(2Z,"="+g+"$1");s.1O="1m";1b[g]=H(a){L=a;1W();1J();1b[g]=12;1U{2U 1b[g]}1V(e){}G(i)i.37(h)}}G(s.1O=="1m"&&s.1Y==U)s.1Y=Q;G(s.1Y===Q&&O=="2P"){J j=1z();J k=s.1a.1o(/(\\?|&)3m=.*?(&|$)/,"$ap="+j+"$2");s.1a=k+((k==s.1a)?(s.1a.1I(/\\?/)?"&":"?")+"3m="+j:"")}G(s.L&&O=="2P"){s.1a+=(s.1a.1I(/\\?/)?"&":"?")+s.L;s.L=U}G(s.26&&!D.4O++)D.W.1P("7H");J n=/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1O=="1m"&&O=="2P"&&n.11(s.1a)&&n.2D(s.1a)[1]!=5Z.al){J i=S.3H("6w")[0];J h=S.3h("1m");h.4d=s.1a;G(s.7t)h.aj=s.7t;G(!g){J l=Q;h.ah=h.ag=H(){G(!l&&(!7.3f||7.3f=="68"||7.3f=="1J")){l=M;1W();1J();i.37(h)}}}i.3U(h);I 12}J m=Q;J c=1b.7s?2B 7s("ae.ac"):2B 7r();G(s.5Y)c.6R(O,s.1a,s.31,s.5Y,s.3Q);N c.6R(O,s.1a,s.31);1U{G(s.L)c.4B("ab-aa",s.7z);G(s.5S)c.4B("a9-5R-a8",D.4z[s.1a]||"a7, a6 a5 a4 5N:5N:5N a2");c.4B("X-9Z-9Y","7r");c.4B("9W",s.1O&&s.4Q[s.1O]?s.4Q[s.1O]+", */*":s.4Q.4w)}1V(e){}G(s.7m&&s.7m(c,s)===Q){s.26&&D.4O--;c.7l();I Q}G(s.26)D.W.1P("7B",[c,s]);J d=H(a){G(!m&&c&&(c.3f==4||a=="2T")){m=M;G(f){7k(f);f=U}1u=a=="2T"&&"2T"||!D.7j(c)&&"3e"||s.5S&&D.7h(c,s.1a)&&"7J"||"1W";G(1u=="1W"){1U{L=D.6X(c,s.1O,s.9S)}1V(e){1u="5J"}}G(1u=="1W"){J b;1U{b=c.5I("7g-5R")}1V(e){}G(s.5S&&b)D.4z[s.1a]=b;G(!g)1W()}N D.5H(s,c,1u);1J();G(s.31)c=U}};G(s.31){J f=4I(d,13);G(s.2T>0)3B(H(){G(c){c.7l();G(!m)d("2T")}},s.2T)}1U{c.9P(s.L)}1V(e){D.5H(s,c,U,e)}G(!s.31)d();H 1W(){G(s.1W)s.1W(L,1u);G(s.26)D.W.1P("7C",[c,s])}H 1J(){G(s.1J)s.1J(c,1u);G(s.26)D.W.1P("7F",[c,s]);G(s.26&&!--D.4O)D.W.1P("7G")}I c},5H:H(s,a,b,e){G(s.3e)s.3e(a,b,e);G(s.26)D.W.1P("7D",[a,s,e])},4O:0,7j:H(a){1U{I!a.1u&&5Z.9O=="5p:"||(a.1u>=7e&&a.1u<9N)||a.1u==7c||a.1u==9K||D.14.2k&&a.1u==12}1V(e){}I Q},7h:H(a,c){1U{J b=a.5I("7g-5R");I a.1u==7c||b==D.4z[c]||D.14.2k&&a.1u==12}1V(e){}I Q},6X:H(a,c,b){J d=a.5I("9J-O"),2N=c=="2N"||!c&&d&&d.1h("2N")>=0,L=2N?a.9I:a.4U;G(2N&&L.1C.2j=="5J")7p"5J";G(b)L=b(L,c);G(c=="1m")D.5u(L);G(c=="3z")L=6u("("+L+")");I L},3n:H(a){J s=[];G(a.1q==2p||a.5w)D.P(a,H(){s.1p(3u(7.34)+"="+3u(7.2x))});N R(J j 1n a)G(a[j]&&a[j].1q==2p)D.P(a[j],H(){s.1p(3u(j)+"="+3u(7))});N s.1p(3u(j)+"="+3u(D.1D(a[j])?a[j]():a[j]));I s.6s("&").1o(/%20/g,"+")}});D.17.1l({1N:H(c,b){I c?7.2g({1Z:"1N",2h:"1N",1y:"1N"},c,b):7.1E(":1G").P(H(){7.V.18=7.5D||"";G(D.1g(7,"18")=="2F"){J a=D("<"+7.2j+" />").6P("1c");7.V.18=a.1g("18");G(7.V.18=="2F")7.V.18="3I";a.21()}}).3l()},1M:H(b,a){I b?7.2g({1Z:"1M",2h:"1M",1y:"1M"},b,a):7.1E(":4j").P(H(){7.5D=7.5D||D.1g(7,"18");7.V.18="2F"}).3l()},78:D.17.2m,2m:H(a,b){I D.1D(a)&&D.1D(b)?7.78.1w(7,19):a?7.2g({1Z:"2m",2h:"2m",1y:"2m"},a,b):7.P(H(){D(7)[D(7).3F(":1G")?"1N":"1M"]()})},9G:H(b,a){I 7.2g({1Z:"1N"},b,a)},9F:H(b,a){I 7.2g({1Z:"1M"},b,a)},9E:H(b,a){I 7.2g({1Z:"2m"},b,a)},9D:H(b,a){I 7.2g({1y:"1N"},b,a)},9M:H(b,a){I 7.2g({1y:"1M"},b,a)},9C:H(c,a,b){I 7.2g({1y:a},c,b)},2g:H(k,j,i,g){J h=D.77(j,i,g);I 7[h.36===Q?"P":"36"](H(){G(7.16!=1)I Q;J f=D.1l({},h),p,1G=D(7).3F(":1G"),46=7;R(p 1n k){G(k[p]=="1M"&&1G||k[p]=="1N"&&!1G)I f.1J.1k(7);G(p=="1Z"||p=="2h"){f.18=D.1g(7,"18");f.33=7.V.33}}G(f.33!=U)7.V.33="1G";f.45=D.1l({},k);D.P(k,H(c,a){J e=2B D.28(46,f,c);G(/2m|1N|1M/.11(a))e[a=="2m"?1G?"1N":"1M":a](k);N{J b=a.6r().1I(/^([+-]=)?([\\d+-.]+)(.*)$/),2b=e.1t(M)||0;G(b){J d=3d(b[2]),2M=b[3]||"2X";G(2M!="2X"){46.V[c]=(d||1)+2M;2b=((d||1)/e.1t(M))*2b;46.V[c]=2b+2M}G(b[1])d=((b[1]=="-="?-1:1)*d)+2b;e.3G(2b,d,2M)}N e.3G(2b,a,"")}});I M})},36:H(a,b){G(D.1D(a)||(a&&a.1q==2p)){b=a;a="28"}G(!a||(1j a=="23"&&!b))I A(7[0],a);I 7.P(H(){G(b.1q==2p)A(7,a,b);N{A(7,a).1p(b);G(A(7,a).K==1)b.1k(7)}})},9X:H(b,c){J a=D.3O;G(b)7.36([]);7.P(H(){R(J i=a.K-1;i>=0;i--)G(a[i].T==7){G(c)a[i](M);a.7n(i,1)}});G(!c)7.5A();I 7}});J A=H(b,c,a){G(b){c=c||"28";J q=D.L(b,c+"36");G(!q||a)q=D.L(b,c+"36",D.2d(a))}I q};D.17.5A=H(a){a=a||"28";I 7.P(H(){J q=A(7,a);q.4s();G(q.K)q[0].1k(7)})};D.1l({77:H(b,a,c){J d=b&&b.1q==a0?b:{1J:c||!c&&a||D.1D(b)&&b,2u:b,41:c&&a||a&&a.1q!=9t&&a};d.2u=(d.2u&&d.2u.1q==4L?d.2u:D.28.5K[d.2u])||D.28.5K.74;d.5M=d.1J;d.1J=H(){G(d.36!==Q)D(7).5A();G(D.1D(d.5M))d.5M.1k(7)};I d},41:{73:H(p,n,b,a){I b+a*p},5P:H(p,n,b,a){I((-29.9r(p*29.9q)/2)+0.5)*a+b}},3O:[],48:U,28:H(b,c,a){7.15=c;7.T=b;7.1i=a;G(!c.3Z)c.3Z={}}});D.28.44={4D:H(){G(7.15.2Y)7.15.2Y.1k(7.T,7.1z,7);(D.28.2Y[7.1i]||D.28.2Y.4w)(7);G(7.1i=="1Z"||7.1i=="2h")7.T.V.18="3I"},1t:H(a){G(7.T[7.1i]!=U&&7.T.V[7.1i]==U)I 7.T[7.1i];J r=3d(D.1g(7.T,7.1i,a));I r&&r>-9p?r:3d(D.2a(7.T,7.1i))||0},3G:H(c,b,d){7.5V=1z();7.2b=c;7.3l=b;7.2M=d||7.2M||"2X";7.1z=7.2b;7.2S=7.4N=0;7.4D();J e=7;H t(a){I e.2Y(a)}t.T=7.T;D.3O.1p(t);G(D.48==U){D.48=4I(H(){J a=D.3O;R(J i=0;i<a.K;i++)G(!a[i]())a.7n(i--,1);G(!a.K){7k(D.48);D.48=U}},13)}},1N:H(){7.15.3Z[7.1i]=D.1K(7.T.V,7.1i);7.15.1N=M;7.3G(0,7.1t());G(7.1i=="2h"||7.1i=="1Z")7.T.V[7.1i]="9m";D(7.T).1N()},1M:H(){7.15.3Z[7.1i]=D.1K(7.T.V,7.1i);7.15.1M=M;7.3G(7.1t(),0)},2Y:H(a){J t=1z();G(a||t>7.15.2u+7.5V){7.1z=7.3l;7.2S=7.4N=1;7.4D();7.15.45[7.1i]=M;J b=M;R(J i 1n 7.15.45)G(7.15.45[i]!==M)b=Q;G(b){G(7.15.18!=U){7.T.V.33=7.15.33;7.T.V.18=7.15.18;G(D.1g(7.T,"18")=="2F")7.T.V.18="3I"}G(7.15.1M)7.T.V.18="2F";G(7.15.1M||7.15.1N)R(J p 1n 7.15.45)D.1K(7.T.V,p,7.15.3Z[p])}G(b)7.15.1J.1k(7.T);I Q}N{J n=t-7.5V;7.4N=n/7.15.2u;7.2S=D.41[7.15.41||(D.41.5P?"5P":"73")](7.4N,n,0,1,7.15.2u);7.1z=7.2b+((7.3l-7.2b)*7.2S);7.4D()}I M}};D.1l(D.28,{5K:{9l:9j,9i:7e,74:9g},2Y:{2e:H(a){a.T.2e=a.1z},2c:H(a){a.T.2c=a.1z},1y:H(a){D.1K(a.T.V,"1y",a.1z)},4w:H(a){a.T.V[a.1i]=a.1z+a.2M}}});D.17.2i=H(){J b=0,1S=0,T=7[0],3q;G(T)ao(D.14){J d=T.1d,4a=T,1s=T.1s,1Q=T.2z,5U=2k&&3r(5B)<9c&&!/9a/i.11(v),1g=D.2a,3c=1g(T,"30")=="3c";G(T.7y){J c=T.7y();1e(c.1A+29.2f(1Q.1C.2e,1Q.1c.2e),c.1S+29.2f(1Q.1C.2c,1Q.1c.2c));1e(-1Q.1C.6b,-1Q.1C.6a)}N{1e(T.5X,T.5W);1B(1s){1e(1s.5X,1s.5W);G(42&&!/^t(98|d|h)$/i.11(1s.2j)||2k&&!5U)2C(1s);G(!3c&&1g(1s,"30")=="3c")3c=M;4a=/^1c$/i.11(1s.2j)?4a:1s;1s=1s.1s}1B(d&&d.2j&&!/^1c|2K$/i.11(d.2j)){G(!/^96|1T.*$/i.11(1g(d,"18")))1e(-d.2e,-d.2c);G(42&&1g(d,"33")!="4j")2C(d);d=d.1d}G((5U&&(3c||1g(4a,"30")=="5x"))||(42&&1g(4a,"30")!="5x"))1e(-1Q.1c.5X,-1Q.1c.5W);G(3c)1e(29.2f(1Q.1C.2e,1Q.1c.2e),29.2f(1Q.1C.2c,1Q.1c.2c))}3q={1S:1S,1A:b}}H 2C(a){1e(D.2a(a,"6V",M),D.2a(a,"6U",M))}H 1e(l,t){b+=3r(l,10)||0;1S+=3r(t,10)||0}I 3q};D.17.1l({30:H(){J a=0,1S=0,3q;G(7[0]){J b=7.1s(),2i=7.2i(),4c=/^1c|2K$/i.11(b[0].2j)?{1S:0,1A:0}:b.2i();2i.1S-=25(7,\'94\');2i.1A-=25(7,\'aF\');4c.1S+=25(b,\'6U\');4c.1A+=25(b,\'6V\');3q={1S:2i.1S-4c.1S,1A:2i.1A-4c.1A}}I 3q},1s:H(){J a=7[0].1s;1B(a&&(!/^1c|2K$/i.11(a.2j)&&D.1g(a,\'30\')==\'93\'))a=a.1s;I D(a)}});D.P([\'5e\',\'5G\'],H(i,b){J c=\'4y\'+b;D.17[c]=H(a){G(!7[0])I;I a!=12?7.P(H(){7==1b||7==S?1b.92(!i?a:D(1b).2e(),i?a:D(1b).2c()):7[c]=a}):7[0]==1b||7[0]==S?46[i?\'aI\':\'aJ\']||D.71&&S.1C[c]||S.1c[c]:7[0][c]}});D.P(["6N","4b"],H(i,b){J c=i?"5e":"5G",4f=i?"6k":"6i";D.17["5s"+b]=H(){I 7[b.3y()]()+25(7,"57"+c)+25(7,"57"+4f)};D.17["90"+b]=H(a){I 7["5s"+b]()+25(7,"2C"+c+"4b")+25(7,"2C"+4f+"4b")+(a?25(7,"6S"+c)+25(7,"6S"+4f):0)}})})();',62,669,'|||||||this|||||||||||||||||||||||||||||||||||if|function|return|var|length|data|true|else|type|each|false|for|document|elem|null|style|event||nodeName|||test|undefined||browser|options|nodeType|fn|display|arguments|url|window|body|parentNode|add|msie|css|indexOf|prop|typeof|call|extend|script|in|replace|push|constructor|text|offsetParent|cur|status|div|apply|firstChild|opacity|now|left|while|documentElement|isFunction|filter|className|hidden|handle|match|complete|attr|ret|hide|show|dataType|trigger|doc|split|top|table|try|catch|success|break|cache|height||remove|tbody|string|guid|num|global|ready|fx|Math|curCSS|start|scrollTop|makeArray|scrollLeft|max|animate|width|offset|tagName|safari|map|toggle||done|Array|find|toUpperCase|button|special|duration|id|copy|value|handler|ownerDocument|select|new|border|exec|stack|none|opera|nextSibling|pushStack|target|html|inArray|unit|xml|bind|GET|isReady|merge|pos|timeout|delete|one|selected|px|step|jsre|position|async|preventDefault|overflow|name|which|queue|removeChild|namespace|insertBefore|nth|removeData|fixed|parseFloat|error|readyState|multiFilter|createElement|rl|re|trim|end|_|param|first|get|results|parseInt|slice|childNodes|encodeURIComponent|append|events|elems|toLowerCase|json|readyList|setTimeout|grep|mouseenter|color|is|custom|getElementsByTagName|block|stopPropagation|addEventListener|callee|proxy|mouseleave|timers|defaultView|password|disabled|last|has|appendChild|form|domManip|props|ajax|orig|set|easing|mozilla|load|prototype|curAnim|self|charCode|timerId|object|offsetChild|Width|parentOffset|src|unbind|br|currentStyle|clean|float|visible|relatedTarget|previousSibling|handlers|isXMLDoc|on|setup|nodeIndex|unique|shift|javascript|child|RegExp|_default|deep|scroll|lastModified|teardown|setRequestHeader|timeStamp|update|empty|tr|getAttribute|innerHTML|setInterval|checked|fromElement|Number|jQuery|state|active|jsonp|accepts|application|dir|input|responseText|click|styleSheets|unload|not|lastToggle|outline|mouseout|getPropertyValue|mouseover|getComputedStyle|bindReady|String|padding|pageX|metaKey|keyCode|getWH|andSelf|clientX|Left|all|visibility|container|index|init|triggered|removeAttribute|classFilter|prevObject|submit|file|after|windowData|inner|client|globalEval|sibling|jquery|absolute|clone|wrapAll|dequeue|version|triggerHandler|oldblock|ctrlKey|createTextNode|Top|handleError|getResponseHeader|parsererror|speeds|checkbox|old|00|radio|swing|href|Modified|ifModified|lastChild|safari2|startTime|offsetTop|offsetLeft|username|location|ajaxSettings|getElementById|isSimple|values|selectedIndex|runtimeStyle|rsLeft|_load|loaded|DOMContentLoaded|clientTop|clientLeft|toElement|srcElement|val|pageY|POST|unshift|Bottom|clientY|Right|fix|exclusive|detachEvent|cloneNode|removeEventListener|swap|toString|join|attachEvent|eval|substr|head|parse|textarea|reset|image|zoom|odd|even|before|prepend|exclude|expr|quickClass|quickID|uuid|quickChild|continue|Height|textContent|appendTo|contents|open|margin|evalScript|borderTopWidth|borderLeftWidth|parent|httpData|setArray|CSS1Compat|compatMode|boxModel|cssFloat|linear|def|webkit|nodeValue|speed|_toggle|eq|100|replaceWith|304|concat|200|alpha|Last|httpNotModified|getAttributeNode|httpSuccess|clearInterval|abort|beforeSend|splice|styleFloat|throw|colgroup|XMLHttpRequest|ActiveXObject|scriptCharset|callback|fieldset|multiple|processData|getBoundingClientRect|contentType|link|ajaxSend|ajaxSuccess|ajaxError|col|ajaxComplete|ajaxStop|ajaxStart|serializeArray|notmodified|keypress|keydown|change|mouseup|mousedown|dblclick|focus|blur|stylesheet|hasClass|rel|doScroll|black|hover|solid|cancelBubble|returnValue|wheelDelta|view|round|shiftKey|resize|screenY|screenX|relatedNode|mousemove|prevValue|originalTarget|offsetHeight|keyup|newValue|offsetWidth|eventPhase|detail|currentTarget|cancelable|bubbles|attrName|attrChange|altKey|originalEvent|charAt|0n|substring|animated|header|noConflict|line|enabled|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128|size|417|Boolean|Date|toggleClass|removeClass|addClass|removeAttr|replaceAll|insertAfter|prependTo|wrap|contentWindow|contentDocument|iframe|children|siblings|prevAll|wrapInner|nextAll|outer|prev|scrollTo|static|marginTop|next|inline|parents|able|cellSpacing|adobeair|cellspacing|522|maxLength|maxlength|readOnly|400|readonly|fast|600|class|slow|1px|htmlFor|reverse|10000|PI|cos|compatible|Function|setData|ie|ra|it|rv|getData|userAgent|navigator|fadeTo|fadeIn|slideToggle|slideUp|slideDown|ig|responseXML|content|1223|NaN|fadeOut|300|protocol|send|setAttribute|option|dataFilter|cssText|changed|be|Accept|stop|With|Requested|Object|can|GMT|property|1970|Jan|01|Thu|Since|If|Type|Content|XMLHTTP|th|Microsoft|td|onreadystatechange|onload|cap|charset|colg|host|tfoot|specified|with|1_|thead|leg|plain|attributes|opt|embed|urlencoded|www|area|hr|ajaxSetup|meta|post|getJSON|getScript|marginLeft|img|elements|pageYOffset|pageXOffset|abbr|serialize|pixelLeft'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_gabarit.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_gabarit.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_gabarit.js	(revision 198)
@@ -0,0 +1,63 @@
+$(document).ready(function(){
+makesortable();
+
+$("#avance .bloc").hide();
+
+$("#avance li").eq(0).css("cursor","pointer").click(function(){
+$("#avance .bloc").toggle();
+});
+
+});
+
+function makesortable() {
+  $('.conteneur_bloc').Sortable(
+  {
+  	accept: 'bloc',
+  	handle: 'div.poignee',
+  	helperclass: 'sortHelper',
+  	activeclass : 	'sortableactive',
+  	hoverclass : 	'sortablehover',
+  	//handle: 'div.itemHeader',
+  	tolerance: 'pointer',
+  	opacity: 0.5,
+
+  	
+  	onStart : function()
+  	{
+  		$.iAutoscroller.start(this, document.getElementsByTagName('body'));
+  	},
+  	onStop : function()
+  	{
+  		$.iAutoscroller.stop();
+  		$('#reponse').html('');
+  		$('#bloc_sauver').css({background: "red", border: "1px solid black"});
+    }
+  }
+  );
+    
+}
+
+function sauver (gabarit,urlretour) {
+	$('#search').css({visibility: 'visible'});
+	serial = $.SortSerialize();
+	// ici recuperer les valeurs des parametres dans les blocs pour les ajouter a la base
+	parametres = "";
+	$('.selecteur-param').each(function() { 
+		lecheck=this.value;
+		lebloc=this.name;
+		parametres = parametres + "&" + lebloc + "=" + lecheck
+		// ici, formater pour le post
+		});	
+
+	$.post("?exec=gabarit&action=enregistrer_gabarit", serial.hash + "&gabarit="+gabarit + parametres, function (reponse) {
+		$('#reponse').html(reponse);
+		$('#search').css({visibility: 'hidden'});
+		$('#bloc_sauver').css({background: "green", border: "1px solid green"});
+		if (urlretour){
+			window.location=urlretour;
+			}
+		});
+	
+	}
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_menu.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_menu.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/manip_menu.js	(revision 198)
@@ -0,0 +1,155 @@
+$(document).ready(function(){
+
+  $('.ajouter').each(function(){
+    $(this).click(function(){
+      titre = $(this).siblings("span").text();
+      regex = /(id_rubrique|id_article|id_groupe|id_mot)=([0-9]+)/;
+      matches = regex.exec(this.getAttribute('href'));
+      if (matches.length > 2) {
+        if (matches[1] == "id_rubrique" && !isNaN(matches[2] && !$('#r'+matches[2]).length)) {
+          $("#selection").append('<li id="r'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['rubrique']+")</span> <a href=\"javascript:supprimer('#r"+matches[2]+"')\">x</a></li>");
+        } else if (matches[1] == "id_article" && !isNaN(matches[2]) && !$('#a'+matches[2]).length) {
+          $("#selection").append('<li id="a'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['article']+")</span> <a href=\"javascript:supprimer('#a"+matches[2]+"')\">x</a></li>");
+        } else if (matches[1] == "id_groupe" && !isNaN(matches[2]) && !$('#g'+matches[2]).length) {
+          $("#selection").append('<li id="g'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['groupe']+")</span> <a href=\"javascript:supprimer('#g"+matches[2]+"')\">x</a></li>");
+        } else if (matches[1] == "id_mot" && !isNaN(matches[2]) && !$('#m'+matches[2]).length) {
+          $("#selection").append('<li id="m'+matches[2]+'" class="sortable">'+titre+" <span class='url_petit'>("+traductions['mot']+")</span> <a href=\"javascript:supprimer('#m"+matches[2]+"')\">x</a></li>");
+        }
+      }
+      
+      $('#bloc_sauver').css({background: "red"});
+     
+      makesortable();
+      return false;
+    });
+  });
+});
+
+function makesortable() {
+  if (type_sortable == "flat") {
+
+  $('#selection').Sortable(
+  {
+  	accept: 'sortable',
+  	helperclass: 'sortHelper',
+  	activeclass : 	'sortableactive',
+  	hoverclass : 	'sortablehover',
+  	//handle: 'div.itemHeader',
+  	tolerance: 'pointer',
+  	opacity: 0.5,
+  	onChange : function(ser)
+  	{
+  	},
+  	onStart : function()
+  	{
+  		$.iAutoscroller.start(this, document.getElementsByTagName('body'));
+  	},
+  	onStop : function()
+  	{
+  		$.iAutoscroller.stop();
+      $('#bloc_sauver').css({background: "red"});
+
+    }
+  }
+  );
+  
+  } else if (type_sortable = "nested") {
+
+  $('#selection').NestedSortable(
+  {
+  	accept: 'sortable',
+  	helperclass: 'sortHelper',
+  	activeclass : 	'sortableactive',
+  	hoverclass : 	'sortablehover',
+  	//handle: 'div.itemHeader',
+  	tolerance: 'pointer',
+  	opacity: 0.5,
+  	onChange : function(ser)
+  	{
+  	},
+  	onStart : function()
+  	{
+  		$.iAutoscroller.start(this, document.getElementsByTagName('body'));
+  	},
+  	onStop : function()
+  	{
+  		$.iAutoscroller.stop();
+      $('#bloc_sauver').css({background: "red"});
+
+    }
+  }
+  );  
+  
+  }
+}
+
+function ajouter_lien() {
+  nom = $('#nom_lien').attr('value');
+  lurl = $('#url_lien').attr('value');
+  if(!nom || !lurl) { return; }
+  
+  afficheurl = lurl;
+  affichenom = nom;
+  nom = nom.replace(/\|/g, "");
+  lurl = lurl.replace(/\|/g, "");
+  
+  // correctif pour le sortable.hash qui merde
+  id = htmlentities('|' + nom+'|'+ lurl);
+  
+  // trouver un id factice superieur Ã  90000
+  base=90000;
+  unique=0;
+  
+  while(unique==0){
+  	if ($("#selection li[@id^=l"+ base+"]").length > 0){
+  	base++;
+  	} else {
+  		unique=1;
+  	}
+  }
+  
+  id="l" + base + id;
+    $("#selection").append('<li id="'+id+'" class="sortable">'+affichenom+" <span class='url_petit'>("+ afficheurl+")</span> <a href='javascript:supprimer_lien(\""+id+"\")'>x</a></li>");
+  $('#bloc_sauver').css({background: "red"});
+  makesortable();
+}
+
+function sauver(langue){
+		$('#search').css({visibility: 'visible'});
+
+  if (type_sortable == "nested") {
+    serial = $.iNestedSortable.serialize('selection');
+  } else {
+    serial = $.SortSerialize();
+  }
+	$.post("?exec=menu&mode=sauver&langue_menu=" + langue + "&niveaux=" + type_sortable, serial.hash, function (reponse) {
+		//console.log(reponse);
+		$('#search').css({visibility: 'hidden'});
+    $('#bloc_sauver').css({background: "green"});
+	});
+}
+
+function supprimer(elem) {
+ jQuery(elem).remove();
+       $('#bloc_sauver').css({background: "red"});
+
+}
+function supprimer_lien(elem) {
+elem = document.getElementById(elem);
+ jQuery(elem).remove();
+       $('#bloc_sauver').css({background: "red"});
+
+}
+
+function htmlentities(str) {
+    var i,output="",len;
+    len = str.length;
+    for(i=0;i<len;i++){
+    	char = str[i].charCodeAt(0);
+       if(char == 34) { output+="ggguiii"; }
+       else if(char ==39) { output +="aaapooo"; }
+       else if(char==45){ output +="tttirrr"; }
+  	else { output += str[i]; }
+    }
+    return output;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/mootools.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/mootools.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/mootools.js	(revision 198)
@@ -0,0 +1,4084 @@
+/*
+Script: Moo.js
+	My Object Oriented javascript.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+
+Credits:
+	- Class is slightly based on Base.js <http://dean.edwards.name/weblog/2006/03/base/> (c) 2006 Dean Edwards, License <http://creativecommons.org/licenses/LGPL/2.1/>
+	- Some functions are based on those found in prototype.js <http://prototype.conio.net/> (c) 2005 Sam Stephenson sam [at] conio [dot] net, MIT-style license
+	- Documentation by Aaron Newton (aaron.newton [at] cnet [dot] com) and Valerio Proietti.
+*/
+
+/*
+Class: Class
+	The base class object of the <http://mootools.net> framework.
+
+Arguments:
+	properties - the collection of properties that apply to the class. Creates a new class, its initialize method will fire upon class instantiation.
+
+Example:
+	(start code)
+	var Cat = new Class({
+		initialize: function(name){
+			this.name = name;
+		}
+	});
+	var myCat = new Cat('Micia');
+	alert myCat.name; //alerts 'Micia'
+	(end)
+*/
+
+var Class = function(properties){
+	var klass = function(){
+		if (this.initialize && arguments[0] != 'noinit') return this.initialize.apply(this, arguments);
+		else return this;
+	};
+	for (var property in this) klass[property] = this[property];
+	klass.prototype = properties;
+	return klass;
+};
+
+/*
+Property: empty
+	Returns an empty function
+*/
+
+Class.empty = function(){};
+
+Class.prototype = {
+
+	/*
+	Property: extend
+		Returns the copy of the Class extended with the passed in properties.
+
+	Arguments:
+		properties - the properties to add to the base class in this new Class.
+
+	Example:
+		(start code)
+		var Animal = new Class({
+			initialize: function(age){
+				this.age = age;
+			}
+		});
+		var Cat = Animal.extend({
+			initialize: function(name, age){
+				this.parent(age); //will call the previous initialize;
+				this.name = name;
+			}
+		});
+		var myCat = new Cat('Micia', 20);
+		alert myCat.name; //alerts 'Micia'
+		alert myCat.age; //alerts 20
+		(end)
+	*/
+
+	extend: function(properties){
+		var pr0t0typ3 = new this('noinit');
+
+		var parentize = function(previous, current){
+			if (!previous.apply || !current.apply) return false;
+			return function(){
+				this.parent = previous;
+				return current.apply(this, arguments);
+			};
+		};
+
+		for (var property in properties){
+			var previous = pr0t0typ3[property];
+			var current = properties[property];
+			if (previous && previous != current) current = parentize(previous, current) || current;
+			pr0t0typ3[property] = current;
+		}
+		return new Class(pr0t0typ3);
+	},
+
+	/*
+	Property: implement
+		Implements the passed in properties to the base Class prototypes, altering the base class, unlike <Class.extend>.
+
+	Arguments:
+		properties - the properties to add to the base class.
+
+	Example:
+		(start code)
+		var Animal = new Class({
+			initialize: function(age){
+				this.age = age;
+			}
+		});
+		Animal.implement({
+			setName: function(name){
+				this.name = name
+			}
+		});
+		var myAnimal = new Animal(20);
+		myAnimal.setName('Micia');
+		alert(myAnimal.name); //alerts 'Micia'
+		(end)
+	*/
+
+	implement: function(properties){
+		for (var property in properties) this.prototype[property] = properties[property];
+	}
+
+};
+
+/* Section: Object related Functions */
+
+/*
+Function: Object.extend
+	Copies all the properties from the second passed object to the first passed Object.
+	If you do myWhatever.extend = Object.extend the first parameter will become myWhatever, and your extend function will only need one parameter.
+
+Example:
+	(start code)
+	var firstOb = {
+		'name': 'John',
+		'lastName': 'Doe'
+	};
+	var secondOb = {
+		'age': '20',
+		'sex': 'male',
+		'lastName': 'Dorian'
+	};
+	Object.extend(firstOb, secondOb);
+	//firstOb will become: 
+	{
+		'name': 'John',
+		'lastName': 'Dorian',
+		'age': '20',
+		'sex': 'male'
+	};
+	(end)
+
+Returns:
+	The first object, extended.
+*/
+
+Object.extend = function(){
+	var args = arguments;
+	args = (args[1]) ? [args[0], args[1]] : [this, args[0]];
+	for (var property in args[1]) args[0][property] = args[1][property];
+	return args[0];
+};
+
+/*
+Function: Object.Native
+	Will add a .extend method to the objects passed as a parameter, equivalent to <Class.implement>
+
+Arguments:
+	a number of classes/native javascript objects
+
+*/
+
+Object.Native = function(){
+	for (var i = 0; i < arguments.length; i++) arguments[i].extend = Class.prototype.implement;
+};
+
+new Object.Native(Function, Array, String, Number, Class);
+
+/*
+Script: Utility.js
+	Contains Utility functions
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+//htmlelement mapping
+
+if (typeof HTMLElement == 'undefined'){
+	var HTMLElement = Class.empty;
+	HTMLElement.prototype = {};
+}
+
+/*
+Function: $type
+	Returns the type of object that matches the element passed in.
+
+Arguments:
+	obj - the object to inspect.
+
+Example:
+	>var myString = 'hello';
+	>$type(myString); //returns "string"
+
+Returns:
+	'element' - if obj is a DOM element node
+	'textnode' - if obj is a DOM text node
+	'whitespace' - if obj is a DOM whitespace node
+	'array' - if obj is an array
+	'object' - if obj is an object
+	'string' - if obj is a string
+	'number' - if obj is a number
+	'boolean' - if obj is a boolean
+	'function' - if obj is a function
+	false - (boolean) if the object is not defined or none of the above.
+*/
+
+function $type(obj){
+	if (obj === null || obj === undefined) return false;
+	var type = typeof obj;
+	if (type == 'object'){
+		if (obj instanceof HTMLElement) return 'element';
+		if (obj instanceof Array) return 'array';
+		if (obj.nodeName){
+			switch (obj.nodeType){
+				case 1: return 'element';
+				case 3: return obj.nodeValue.test('\\S') ? 'textnode' : 'whitespace';
+			}
+		}
+	}
+	return type;
+};
+
+/*
+Function: $chk
+	Returns true if the passed in value/object exists or is 0, otherwise returns false.
+	Useful to accept zeroes.
+*/
+
+function $chk(obj){
+	return !!(obj || obj === 0);
+};
+
+/*
+Function: $pick
+	Returns the first object if defined, otherwise returns the second.
+*/
+
+function $pick(obj, picked){
+	return ($type(obj)) ? obj : picked;
+};
+
+/*
+Function: $random
+	Returns a random integer number between the two passed in values.
+
+Arguments:
+	min - integer, the minimum value (inclusive).
+	max - integer, the maximum value (inclusive).
+
+Returns:
+	a random integer between min and max.
+*/
+
+function $random(min, max){
+	return Math.floor(Math.random() * (max - min + 1) + min);
+};
+
+/*
+Function: $clear
+	clears a timeout or an Interval.
+
+Returns:
+	null
+
+Arguments:
+	timer - the setInterval or setTimeout to clear.
+
+Example:
+	>var myTimer = myFunction.delay(5000); //wait 5 seconds and execute my function.
+	>myTimer = $clear(myTimer); //nevermind
+
+See also:
+	<Function.delay>, <Function.periodical>
+*/
+
+function $clear(timer){
+	clearTimeout(timer);
+	clearInterval(timer);
+	return null;
+};
+
+/* Section: Browser Detection */
+
+/*
+Properties:
+	window.ie - will be set to true if the current browser is internet explorer (any).
+	window.ie6 - will be set to true if the current browser is internet explorer 6.
+	window.ie7 - will be set to true if the current browser is internet explorer 7.
+	window.khtml - will be set to true if the current browser is Safari/Konqueror.
+	window.gecko - will be set to true if the current browser is Mozilla/Gecko.
+*/
+
+if (window.ActiveXObject) window.ie = window[window.XMLHttpRequest ? 'ie7' : 'ie6'] = true;
+else if (document.childNodes && !document.all && !navigator.taintEnabled) window.khtml = true;
+else if (document.getBoxObjectFor != null) window.gecko = true;
+
+/*
+Script: Array.js
+	Contains Array prototypes and the function <$A>;
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Array
+	A collection of The Array Object prototype methods.
+*/
+
+//emulated methods
+
+/*
+Property: forEach
+	Iterates through an array; This method is only available for browsers without native *forEach* support.
+	For more info see <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:forEach>
+*/
+
+Array.prototype.forEach = Array.prototype.forEach || function(fn, bind){
+	for (var i = 0; i < this.length; i++) fn.call(bind, this[i], i, this);
+};
+
+/*
+Property: map
+	This method is provided only for browsers without native *map* support.
+	For more info see <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:map>
+*/
+
+Array.prototype.map = Array.prototype.map || function(fn, bind){
+	var results = [];
+	for (var i = 0; i < this.length; i++) results[i] = fn.call(bind, this[i], i, this);
+	return results;
+};
+
+/*
+Property: every
+	This method is provided only for browsers without native *every* support.
+	For more info see <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:every>
+*/
+
+Array.prototype.every = Array.prototype.every || function(fn, bind){
+	for (var i = 0; i < this.length; i++){
+		if (!fn.call(bind, this[i], i, this)) return false;
+	}
+	return true;
+};
+
+/*
+Property: some
+	This method is provided only for browsers without native *some* support.
+	For more info see <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:some>
+*/
+
+Array.prototype.some = Array.prototype.some || function(fn, bind){
+	for (var i = 0; i < this.length; i++){
+		if (fn.call(bind, this[i], i, this)) return true;
+	}
+	return false;
+};
+
+/*
+Property: indexOf
+	This method is provided only for browsers without native *indexOf* support.
+	For more info see <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf>
+*/
+
+Array.prototype.indexOf = Array.prototype.indexOf || function(item, from){
+	from = from || 0;
+	if (from < 0) from = Math.max(0, this.length + from);
+	while (from < this.length){
+		if(this[from] === item) return from;
+		from++;
+	}
+	return -1;
+};
+
+//custom methods
+
+Array.extend({
+
+	/*
+	Property: each
+		Same as <Array.forEach>.
+
+	Arguments:
+		fn - the function to execute with each item in the array
+		bind - optional, the object that the "this" of the function will refer to.
+
+	Example:
+		>var Animals = ['Cat', 'Dog', 'Coala'];
+		>Animals.forEach(function(animal){
+		>	document.write(animal)
+		>});
+	*/
+
+	each: Array.prototype.forEach,
+
+	/*
+	Property: copy
+		Copy the array and returns it.
+
+	Returns:
+		an Array
+
+	Example:
+		>var letters = ["a","b","c"];
+		>var copy = ["a","b","c"].copy();
+	*/
+
+	copy: function(){
+		var newArray = [];
+		for (var i = 0; i < this.length; i++) newArray[i] = this[i];
+		return newArray;
+	},
+
+	/*
+	Property: remove
+		Removes all occurrences of an item from the array.
+
+	Arguments:
+		item - the item to remove
+
+	Returns:
+		the Array with all occurrences of the item removed.
+
+	Example:
+		>["1","2","3","2"].remove("2") // ["1","3"];
+	*/
+
+	remove: function(item){
+		var i = 0;
+		while (i < this.length){
+			if (this[i] == item) this.splice(i, 1);
+			else i++;
+		}
+		return this;
+	},
+
+	/*
+	Property: test
+		Tests an array for the presence of an item.
+
+	Arguments:
+		item - the item to search for in the array.
+		from - optional, the index at which to begin the search, default is 0. If negative, it is taken as the offset from the end of the array.
+
+	Returns:
+		true - the item was found
+		false - it wasn't
+
+	Example:
+		>["a","b","c"].test("a"); // true
+		>["a","b","c"].test("d"); // false
+	*/
+
+	test: function(item, from){
+		return this.indexOf(item, from) != -1;
+	},
+
+	/*
+	Property: extend
+		Extends an array with another
+
+	Arguments:
+		newArray - the array to extend ours with
+
+	Example:
+		>var Animals = ['Cat', 'Dog', 'Coala'];
+		>Animals.extend(['Lizard']);
+		>//Animals is now: ['Cat', 'Dog', 'Coala', 'Lizard'];
+	*/
+
+	extend: function(newArray){
+		for (var i = 0; i < newArray.length; i++) this.push(newArray[i]);
+		return this;
+	},
+
+	/*
+	Property: associate
+		Creates an object with key-value pairs based on the array of keywords passed in
+		and the current content of the array.
+
+	Arguments:
+		keys - the array of keywords.
+
+	Example:
+		(start code)
+		var Animals = ['Cat', 'Dog', 'Coala', 'Lizard'];
+		var Speech = ['Miao', 'Bau', 'Fruuu', 'Mute'];
+		var Speeches = Animals.associate(speech);
+		//Speeches['Miao'] is now Cat.
+		//Speeches['Bau'] is now Dog.
+		//...
+		(end)
+	*/
+
+	associate: function(keys){
+		var obj = {}, length = Math.min(this.length, keys.length);
+		for (var i = 0; i < length; i++) obj[keys[i]] = this[i];
+		return obj;
+	}
+
+});
+
+/* Section: Utility Functions */
+
+/*
+Function: $A()
+	Same as <Array.copy>, but as function.
+	Useful to apply Array prototypes to iterable objects, as a collection of DOM elements or the arguments object.
+
+Example:
+	(start code)
+	function myFunction(){
+		$A(arguments).each(argument, function(){
+			alert(argument);
+		});
+	};
+	//the above will alert all the arguments passed to the function myFunction.
+	(end)
+*/
+
+function $A(array){
+	return Array.prototype.copy.call(array);
+};
+
+/*
+Function: $each
+	use to iterate through iterables that are not regular arrays, such as builtin getElementsByTagName calls, or arguments of a function.
+
+Arguments:
+	iterable - an iterable element.
+	function - function to apply to the iterable.
+	bind - optional, the 'this' of the function will refer to this object.
+*/
+
+function $each(iterable, fn, bind){
+	return Array.prototype.forEach.call(iterable, fn, bind);
+};
+
+/*
+Script: String.js
+	Contains String prototypes and Number prototypes.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: String
+	A collection of The String Object prototype methods.
+*/
+
+String.extend({
+
+	/*
+	Property: test
+		Tests a string with a regular expression.
+
+	Arguments:
+		regex - the regular expression you want to match the string with
+		params - optional, any parameters you want to pass to the regex ('g' has no effect)
+
+	Returns:
+		true if a match for the regular expression is found in the string, false if not.
+		See <http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:RegExp:test>
+
+	Example:
+		>"I like cookies".test("cookie"); // returns true
+		>"I like cookies".test("COOKIE", "i") // ignore case, returns true
+		>"I like cookies".test("cake"); // returns false
+	*/
+
+	test: function(regex, params){
+		return new RegExp(regex, params).test(this);
+	},
+
+	/*
+	Property: toInt
+		parses a string to an integer.
+
+	Returns:
+		either an int or "NaN" if the string is not a number.
+
+	Example:
+		>var value = "10px".toInt(); // value is 10
+	*/
+
+	toInt: function(){
+		return parseInt(this);
+	},
+
+	toFloat: function(){
+		return parseFloat(this);
+	},
+
+	/*
+	Property: camelCase
+		Converts a hiphenated string to a camelcase string.
+
+	Example:
+		>"I-like-cookies".camelCase(); //"ILikeCookies"
+
+	Returns:
+		the camel cased string
+	*/
+
+	camelCase: function(){
+		return this.replace(/-\D/g, function(match){
+			return match.charAt(1).toUpperCase();
+		});
+	},
+
+	/*
+	Property: hyphenate
+		Converts a camelCased string to a hyphen-ated string.
+
+	Example:
+		>"ILikeCookies".hyphenate(); //"I-like-cookies"
+	*/
+
+	hyphenate: function(){
+		return this.replace(/\w[A-Z]/g, function(match){
+			return (match.charAt(0)+'-'+match.charAt(1).toLowerCase());
+		});
+	},
+
+	/*
+	Property: capitalize
+		Converts the first letter in each word of a string to Uppercase.
+
+	Example:
+		>"i like cookies".capitalize(); //"I Like Cookies"
+
+	Returns:
+		the capitalized string
+	*/
+
+	capitalize: function(){
+		return this.toLowerCase().replace(/\b[a-z]/g, function(match){
+			return match.toUpperCase();
+		});
+	},
+
+	/*
+	Property: trim
+		Trims the leading and trailing spaces off a string.
+
+	Example:
+		>"    i like cookies     ".trim() //"i like cookies"
+
+	Returns:
+		the trimmed string
+	*/
+
+	trim: function(){
+		return this.replace(/^\s+|\s+$/g, '');
+	},
+
+	/*
+	Property: clean
+		trims (<String.trim>) a string AND removes all the double spaces in a string.
+
+	Returns:
+		the cleaned string
+
+	Example:
+		>" i      like     cookies      \n\n".clean() //"i like cookies"
+	*/
+
+	clean: function(){
+		return this.replace(/\s{2,}/g, ' ').trim();
+	},
+
+	/*
+	Property: rgbToHex
+		Converts an RGB value to hexidecimal. The string must be in the format of "rgb(255, 255, 255)" or "rgba(255, 255, 255, 1)";
+
+	Arguments:
+		array - boolean value, defaults to false. Use true if you want the array ['FF', '33', '00'] as output instead of #FF3300
+
+	Returns:
+		hex string or array. returns transparent if the fourth value of rgba in input string is 0,
+
+	Example:
+		>"rgb(17,34,51)".rgbToHex(); //"#112233"
+		>"rgba(17,34,51,0)".rgbToHex(); //"transparent"
+		>"rgb(17,34,51)".rgbToHex(true); //[11,22,33]
+	*/
+
+	rgbToHex: function(array){
+		var rgb = this.match(/\d{1,3}/g);
+		return (rgb) ? rgb.rgbToHex(array) : false;
+	},
+
+	/*
+	Property: hexToRgb
+		Converts a hexidecimal color value to RGB. Input string must be the hex color value (with or without the hash). Also accepts triplets ('333');
+
+	Arguments:
+		array - boolean value, defaults to false. Use true if you want the array ['255', '255', '255'] as output instead of "rgb(255,255,255)";
+
+	Returns:
+		rgb string or array.
+
+	Example:
+		>"#112233".hexToRgb(); //"rgb(17,34,51)"
+		>"#112233".hexToRgb(true); //[17,34,51]
+	*/
+
+	hexToRgb: function(array){
+		var hex = this.match('^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$');
+		return (hex) ? hex.hexToRgb(array) : false;
+	}
+
+});
+
+Array.extend({
+	
+	rgbToHex: function(array){
+		if (this.length < 3) return false;
+		if (this[3] && this[3] == 0) return 'transparent';
+		var hex = [];
+		for (var i = 0; i < 3; i++){
+			var bit = (this[i]-0).toString(16);
+			hex.push(bit.length == 1 ? '0'+bit : bit);
+		}
+		return array ? hex : '#'+hex.join('');
+	},
+	
+	hexToRgb: function(array){
+		if (this.length != 4) return false;
+		var rgb = [];
+		for (var i = 1; i < 4; i++){
+			if (this[i].length == 1) this[i] += this[i];
+			rgb.push(parseInt(this[i], 16));
+		}
+		return array ? rgb : 'rgb('+rgb.join(',')+')';
+	}
+
+});
+
+/*
+Class: Number
+	contains the internal method toInt.
+*/
+
+Number.extend({
+
+	/*
+	Property: toInt
+		Returns this number; useful because toInt must work on both Strings and Numbers.
+	*/
+
+	toInt: function(){
+		return parseInt(this);
+	},
+
+	toFloat: function(){
+		return parseFloat(this);
+	}
+
+});
+
+/* 
+Script: Function.js
+	Contains Function prototypes and utility functions .
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+
+Credits:
+	- Some functions are inspired by those found in prototype.js <http://prototype.conio.net/> (c) 2005 Sam Stephenson sam [at] conio [dot] net, MIT-style license
+*/
+
+/*
+Class: Function
+	A collection of The Function Object prototype methods.
+*/
+
+Function.extend({
+
+	create: function(options){
+		var fn = this;
+		options = Object.extend({
+			'bind': fn,
+			'event': false,
+			'arguments': null,
+			'delay': false,
+			'periodical': false,
+			'attempt': false
+		}, options || {});
+		if (options.arguments != null && typeof options.arguments != 'undefined' && !(options.arguments instanceof Array))
+			options.arguments = [options.arguments];
+		return function(event){
+			var args = options.arguments || arguments;
+			if (options.event){
+				event = (options.event === true) ? event || window.event : new options.event(event);
+				args = [event].concat(args);
+			}
+			var returns = function(){
+				return fn.apply(options.bind, args);
+			};
+			if (options.delay) return setTimeout(returns, options.delay);
+			if (options.periodical) return setInterval(returns, options.periodical);
+			if (options.attempt){
+				try {
+					var result = returns();
+				} catch(err){
+					result = err;
+				} finally {
+					return result;
+				}
+			} else return returns();
+		};
+	},
+
+	/*
+	Property: pass
+		Shortcut to create closures with arguments and bind.
+
+	Returns:
+		a function.
+
+	Arguments:
+		args - the arguments passed. must be an array if arguments > 1
+		bind - optional, the object that the "this" of the function will refer to.
+
+	Example:
+		>myFunction.pass([arg1, arg2], myElement);
+	*/
+
+	pass: function(args, bind){
+		return this.create({'arguments': args, 'bind': bind});
+	},
+	
+	/*
+	Property: attempt
+		Tries to execute the function, returns either the function results or the error.
+
+	Arguments:
+		args - the arguments passed. must be an array if arguments > 1
+		bind - optional, the object that the "this" of the function will refer to.
+
+	Example:
+		>myFunction.attempt([arg1, arg2], myElement);
+	*/
+
+	attempt: function(args, bind){
+		return this.create({'arguments': args, 'bind': bind, 'attempt': true})();
+	},
+
+	/*
+	Property: bind
+		method to easily create closures with "this" altered.
+
+	Arguments:
+		bind - optional, the object that the "this" of the function will refer to.
+		args - optional, the arguments passed. must be an array if arguments > 1
+
+	Returns:
+		a function.
+
+	Example:
+		>function myFunction(){
+		>	this.setStyle('color', 'red');
+		>	// note that 'this' here refers to myFunction, not an element
+		>	// we'll need to bind this function to the element we want to alter
+		>};
+		>var myBoundFunction = myFunction.bind(myElement);
+		>myBoundFunction(); // this will make the element myElement red.
+	*/
+
+	bind: function(bind, args){
+		return this.create({'bind': bind, 'arguments': args});
+	},
+
+	/*
+	Property: bindAsEventListener
+		cross browser method to pass event firer
+
+	Arguments:
+		bind - optional, the object that the "this" of the function will refer to.
+		args - optional, the arguments passed. must be an array if arguments > 1
+
+	Returns:
+		a function with the parameter bind as its "this" and as a pre-passed argument event or window.event, depending on the browser.
+
+	Example:
+		>function myFunction(event){
+		>	alert(event.clientx) //returns the coordinates of the mouse..
+		>};
+		>myElement.onclick = myFunction.bindAsEventListener(myElement);
+	*/
+
+	bindAsEventListener: function(bind, args){
+		return this.create({'bind': bind, 'event': true, 'arguments': args});
+	},
+
+	/*
+	Property: delay
+		Delays the execution of a function by a specified duration.
+
+	Arguments:
+		ms - the duration to wait in milliseconds
+		bind - optional, the object that the "this" of the function will refer to.
+		args - optional, the arguments passed. must be an array if arguments > 1
+
+	Example:
+		>myFunction.delay(50, myElement) //wait 50 milliseconds, then call myFunction and bind myElement to it
+		>(function(){alert('one second later...')}).delay(1000); //wait a second and alert
+	*/
+
+	delay: function(ms, bind, args){
+		return this.create({'delay': ms, 'bind': bind, 'arguments': args})();
+	},
+
+	/*
+	Property: periodical
+		Executes a function in the specified intervals of time
+
+	Arguments:
+		ms - the duration of the intervals between executions.
+		bind - optional, the object that the "this" of the function will refer to.
+		args - optional, the arguments passed. must be an array if arguments > 1
+	*/
+
+	periodical: function(ms, bind, args){
+		return this.create({'periodical': ms, 'bind': bind, 'arguments': args})();
+	}
+
+});
+
+/*
+Script: Element.js
+	Contains useful Element prototypes, to be used with the dollar function <$>.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+
+Credits:
+	- Some functions are inspired by those found in prototype.js <http://prototype.conio.net/> (c) 2005 Sam Stephenson sam [at] conio [dot] net, MIT-style license
+*/
+
+/*
+Class: Element
+	Custom class to allow all of its methods to be used with any DOM element via the dollar function <$>.
+*/
+
+var Element = new Class({
+
+	/*
+	Property: initialize
+		Creates a new element of the type passed in.
+
+	Arguments:
+		el - the tag name for the element you wish to create.
+
+	Example:
+		>var div = new Element('div');
+	*/
+
+	initialize: function(el){
+		if ($type(el) == 'string') el = document.createElement(el);
+		return $(el);
+	}
+
+});
+
+/*
+Function: $()
+	returns the element passed in with all the Element prototypes applied.
+
+Arguments:
+	el - a reference to an actual element or a string representing the id of an element
+
+Example:
+	>$('myElement') // gets a DOM element by id with all the Element prototypes applied.
+	>var div = document.getElementById('myElement');
+	>$(div) //returns an Element also with all the mootools extentions applied.
+
+	You'll use this when you aren't sure if a variable is an actual element or an id, as
+	well as just shorthand for document.getElementById().
+
+Returns:
+	a DOM element or false (if no id was found).
+
+Note:
+	you need to call $ on an element only once to get all the prototypes.
+	But its no harm to call it multiple times, as it will detect if it has been already extended.
+*/
+
+function $(el){
+	if (!el) return false;
+	if (el._element_extended_ || [window, document].test(el)) return el;
+	if ($type(el) == 'string') el = document.getElementById(el);
+	if ($type(el) != 'element') return false;
+	if (['object', 'embed'].test(el.tagName.toLowerCase()) || el.extend) return el;
+	el._element_extended_ = true;
+	Garbage.collect(el);
+	el.extend = Object.extend;
+	if (!(el instanceof HTMLElement)) el.extend(Element.prototype);
+	return el;
+};
+
+//elements class
+
+var Elements = new Class({});
+
+new Object.Native(Elements);
+
+document.getElementsBySelector = document.getElementsByTagName;
+
+/*
+Function: $$()
+	Selects, and extends DOM elements.
+
+Arguments:
+	HTMLCollection(document.getElementsByTagName, element.childNodes), an array of elements, a string.
+
+Note:
+	if you loaded <Dom.js>, $$ will also accept CSS Selectors.
+
+Example:
+	>$$('a') //an array of all anchor tags on the page
+	>$$('a', 'b') //an array of all anchor and bold tags on the page
+	>$$('#myElement') //array containing only the element with id = myElement. (only with <Dom.js>)
+	>$$('#myElement a.myClass') //an array of all anchor tags with the class "myClass" within the DOM element with id "myElement" (only with <Dom.js>)
+
+Returns:
+	array - array of all the dom elements matched
+*/
+
+function $$(){
+	if (!arguments) return false;
+	if (arguments.length == 1){
+		if (!arguments[0]) return false;
+		if (arguments[0]._elements_extended_) return arguments[0];
+	}
+	var elements = [];
+	$each(arguments, function(selector){
+		switch ($type(selector)){
+			case 'element': elements.push($(selector)); break;
+			case 'string': selector = document.getElementsBySelector(selector);
+			default:
+			if (selector.length){
+				$each(selector, function(el){
+					if ($(el)) elements.push(el);
+				});
+			}
+		}
+	});
+	elements._elements_extended_ = true;
+	return Object.extend(elements, new Elements);
+};
+
+Elements.Multi = function(property){
+	return function(){
+		var args = arguments;
+		var items = [];
+		var elements = true;
+		$each(this, function(el){
+			var returns = el[property].apply(el, args);
+			if ($type(returns) != 'element') elements = false;
+			items.push(returns);
+		});
+		if (elements) items = $$(items);
+		return items;
+	};
+};
+
+Element.extend = function(properties){
+	for (var property in properties){
+		HTMLElement.prototype[property] = properties[property];
+		Element.prototype[property] = properties[property];
+		Elements.prototype[property] = Elements.Multi(property);
+	}
+};
+
+Element.extend({
+
+	inject: function(el, where){
+		el = $(el) || new Element(el);
+		switch (where){
+			case "before": $(el.parentNode).insertBefore(this, el); break;
+			case "after":
+				if (!el.getNext()) $(el.parentNode).appendChild(this);
+				else $(el.parentNode).insertBefore(this, el.getNext());
+				break;
+			case "inside": el.appendChild(this);
+		}
+		return this;
+	},
+
+	/*
+	Property: injectBefore
+		Inserts the Element before the passed element.
+
+	Parameteres:
+		el - a string representing the element to be injected in (myElementId, or div), or an element reference.
+		If you pass div or another tag, the element will be created.
+
+	Example:
+		>html:
+		><div id="myElement"></div>
+		><div id="mySecondElement"></div>
+		>js:
+		>$('mySecondElement').injectBefore('myElement');
+		>resulting html:
+		><div id="mySecondElement"></div>
+		><div id="myElement"></div>
+
+	*/
+
+	injectBefore: function(el){
+		return this.inject(el, 'before');
+	},
+
+	/*
+	Property: injectAfter
+		Same as <Element.injectBefore>, but inserts the element after.
+	*/
+
+	injectAfter: function(el){
+		return this.inject(el, 'after');
+	},
+
+	/*
+	Property: injectInside
+		Same as <Element.injectBefore>, but inserts the element inside.
+	*/
+
+	injectInside: function(el){
+		return this.inject(el, 'inside');
+	},
+
+	/*
+	Property: adopt
+		Inserts the passed element inside the Element. Works as <Element.injectInside> but in reverse.
+
+	Parameteres:
+		el - a string representing the element to be injected in (myElementId, or div), or an element reference.
+		If you pass div or another tag, the element will be created.
+	*/
+
+	adopt: function(el){
+		this.appendChild($(el) || new Element(el));
+		return this;
+	},
+
+	/*
+	Property: remove
+		Removes the Element from the DOM.
+
+	Example:
+		>$('myElement').remove() //bye bye
+	*/
+
+	remove: function(){
+		this.parentNode.removeChild(this);
+		return this;
+	},
+
+	/*
+	Property: clone
+		Clones the Element and returns the cloned one.
+
+	Returns: 
+		the cloned element
+
+	Example:
+		>var clone = $('myElement').clone().injectAfter('myElement');
+		>//clones the Element and append the clone after the Element.
+	*/
+
+	clone: function(contents){
+		var el = this.cloneNode(contents !== false);
+		return $(el);
+	},
+
+	/*
+	Property: replaceWith
+		Replaces the Element with an element passed.
+
+	Parameteres:
+		el - a string representing the element to be injected in (myElementId, or div), or an element reference.
+		If you pass div or another tag, the element will be created.
+
+	Returns:
+		the passed in element
+
+	Example:
+		>$('myOldElement').replaceWith($('myNewElement')); //$('myOldElement') is gone, and $('myNewElement') is in its place.
+	*/
+
+	replaceWith: function(el){
+		el = $(el) || new Element(el);
+		this.parentNode.replaceChild(el, this);
+		return el;
+	},
+
+	/*
+	Property: appendText
+		Appends text node to a DOM element.
+
+	Arguments:
+		text - the text to append.
+
+	Example:
+		><div id="myElement">hey</div>
+		>$('myElement').appendText(' howdy'); //myElement innerHTML is now "hey howdy"
+	*/
+
+	appendText: function(text){
+		if (window.ie){
+			switch(this.getTag()){
+				case 'style': this.styleSheet.cssText = text; return this;
+				case 'script': this.setProperty('text', text); return this;
+			}
+		}
+		this.appendChild(document.createTextNode(text));
+		return this;
+	},
+
+	/*
+	Property: hasClass
+		Tests the Element to see if it has the passed in className.
+
+	Returns:
+	 	true - the Element has the class
+	 	false - it doesn't
+	 
+	Arguments:
+		className - the class name to test.
+	 
+	Example:
+		><div id="myElement" class="testClass"></div>
+		>$('myElement').hasClass('testClass'); //returns true
+	*/
+
+	hasClass: function(className){
+		return this.className.test('(?:^|\\s+)' + className + '(?:\\s+|$)');
+	},
+
+	/*
+	Property: addClass
+		Adds the passed in class to the Element, if the element doesnt already have it.
+
+	Arguments:
+		className - the class name to add
+
+	Example: 
+		><div id="myElement" class="testClass"></div>
+		>$('myElement').addClass('newClass'); //<div id="myElement" class="testClass newClass"></div>
+	*/
+
+	addClass: function(className){
+		if (!this.hasClass(className)) this.className = (this.className+' '+className).clean();
+		return this;
+	},
+
+	/*
+	Property: removeClass
+		works like <Element.addClass>, but removes the class from the element.
+	*/
+
+	removeClass: function(className){
+		if (this.hasClass(className)) this.className = this.className.replace(className, '').clean();
+		return this;
+	},
+
+	/*
+	Property: toggleClass
+		Adds or removes the passed in class name to the element, depending on if it's present or not.
+
+	Arguments:
+		className - the class to add or remove
+
+	Example:
+		><div id="myElement" class="myClass"></div>
+		>$('myElement').toggleClass('myClass');
+		><div id="myElement" class=""></div>
+		>$('myElement').toggleClass('myClass');
+		><div id="myElement" class="myClass"></div>
+	*/
+
+	toggleClass: function(className){
+		return this.hasClass(className) ? this.removeClass(className) : this.addClass(className);
+	},
+
+	/*
+	Property: setStyle
+		Sets a css property to the Element.
+
+		Arguments:
+			property - the property to set
+			value - the value to which to set it
+
+		Example:
+			>$('myElement').setStyle('width', '300px'); //the width is now 300px
+	*/
+
+	setStyle: function(property, value){
+		if (property == 'opacity') this.setOpacity(parseFloat(value));
+		else this.style[property.camelCase()] = (value.push) ? value.rgbToHex() : value;
+		return this;
+	},
+
+	/*
+	Property: setStyles
+		Applies a collection of styles to the Element.
+
+	Arguments:
+		source - an object or string containing all the styles to apply
+
+	Examples:
+		>$('myElement').setStyles({
+		>	border: '1px solid #000',
+		>	width: '300px',
+		>	height: '400px'
+		>});
+
+		OR
+
+		>$('myElement').setStyle('border: 1px solid #000; width: 300px; height: 400px;');
+	*/
+
+	setStyles: function(source){
+		switch ($type(source)){
+			case 'object':
+				for (var property in source) this.setStyle(property, source[property]);
+				break;
+			case 'string':
+				if (window.ie) this.cssText = source;
+				else this.setAttribute('style', source);
+		}
+		return this;
+	},
+
+	/*
+	Property: setOpacity
+		Sets the opacity of the Element, and sets also visibility == "hidden" if opacity == 0, and visibility = "visible" if opacity == 1.
+
+	Arguments:
+		opacity - Accepts numbers from 0 to 1.
+
+	Example:
+		>$('myElement').setOpacity(0.5) //make it 50% transparent
+	*/
+
+	setOpacity: function(opacity){
+		if (opacity == 0){
+			if(this.style.visibility != "hidden") this.style.visibility = "hidden";
+		} else {
+			if(this.style.visibility != "visible") this.style.visibility = "visible";
+		}
+		if (!this.currentStyle || !this.currentStyle.hasLayout) this.style.zoom = 1;
+		if (window.ie) this.style.filter = "alpha(opacity=" + opacity*100 + ")";
+		this.style.opacity = this.opacity = opacity;
+		return this;
+	},
+
+	/*
+	Property: getStyle
+		Returns the style of the Element given the property passed in.
+
+	Arguments:
+		property - the css style property you want to retrieve
+
+	Example:
+		>$('myElement').getStyle('width'); //returns "400px"
+		>//but you can also use
+		>$('myElement').getStyle('width').toInt(); //returns "400"
+
+	Returns:
+		the style as a string
+	*/
+
+	getStyle: function(property){
+		property = property.camelCase();
+		var style = this.style[property] || false;
+		if (!$chk(style)){
+			if (property == 'opacity') return $chk(this.opacity) ? this.opacity : 1;
+			if (['margin', 'padding'].test(property)){
+				return [this.getStyle(property+'-top') || 0, this.getStyle(property+'-right') || 0,
+						this.getStyle(property+'-bottom') || 0, this.getStyle(property+'-left') || 0].join(' ');
+			}
+			if (document.defaultView) style = document.defaultView.getComputedStyle(this, null).getPropertyValue(property.hyphenate());
+			else if (this.currentStyle) style = this.currentStyle[property];
+		}
+		return (style && property.test('color', 'i') && style.test('rgb')) ? style.rgbToHex() : style;
+	},
+
+	/*
+	Property: addEvent
+		Attaches an event listener to a DOM element.
+
+	Arguments:
+		type - the event to monitor ('click', 'load', etc) without the prefix 'on'.
+		fn - the function to execute
+
+	Example:
+		>$('myElement').addEvent('click', function(){alert('clicked!')});
+	*/
+
+	addEvent: function(type, fn){
+		this.events = this.events || {};
+		this.events[type] = this.events[type] || {'keys': [], 'values': []};
+		if (!this.events[type].keys){
+			this.events[type].keys = [];
+		}
+		if (!this.events[type].values){
+			this.events[type].values = [];
+		}
+		if (!this.events[type].keys.test(fn)){
+			this.events[type].keys.push(fn);
+			if (this.addEventListener){
+				this.addEventListener((type == 'mousewheel' && window.gecko) ? 'DOMMouseScroll' : type, fn, false);
+			} else {
+				fn = fn.bind(this);
+				this.attachEvent('on'+type, fn);
+				this.events[type].values.push(fn);
+			}
+		}
+		return this;
+	},
+
+	addEvents: function(source){
+		if (source){
+			for (var type in source) this.addEvent(type, source[type]);
+		}
+		return this;
+	},
+
+	/*
+	Property: removeEvent
+		Works as Element.addEvent, but instead removes the previously added event listener.
+	*/
+
+	removeEvent: function(type, fn){
+		if (this.events && this.events[type]){
+			var pos = this.events[type].keys.indexOf(fn);
+			if (pos == -1) return this;
+			var key = this.events[type].keys.splice(pos,1)[0];
+			if (this.removeEventListener){
+				this.removeEventListener((type == 'mousewheel' && window.gecko) ? 'DOMMouseScroll' : type, key, false);
+			} else {
+				this.detachEvent('on'+type, this.events[type].values.splice(pos,1)[0]);
+			}
+		}
+		return this;
+	},
+
+	/*
+	Property: removeEvents
+		removes all events of a certain type from an element. if no argument is passed in, removes all events.
+	*/
+
+	removeEvents: function(type){
+		if (this.events){
+			if (type){
+				if (this.events[type]){
+					this.events[type].keys.each(function(fn){
+						this.removeEvent(type, fn);
+					}, this);
+					this.events[type] = null;
+				}
+			} else {
+				for (var evType in this.events) this.removeEvents(evType);
+				this.events = null;
+			}
+		}
+		return this;
+	},
+
+	/*
+	Property: fireEvent
+		executes all events of the specified type present in the element.
+	*/
+
+	fireEvent: function(type, args){
+		if (this.events && this.events[type]){
+			args = args || [];
+			if ($type(args) != 'array') args = [args];
+			this.events[type].keys.each(function(fn){
+				fn.apply(this, args);
+			}, this);
+		}
+	},
+
+	getBrother: function(what){
+		var el = this[what+'Sibling'];
+		while ($type(el) == 'whitespace') el = el[what+'Sibling'];
+		return $(el);
+	},
+
+	/*
+	Property: getPrevious
+		Returns the previousSibling of the Element, excluding text nodes.
+
+	Example:
+		>$('myElement').getPrevious(); //get the previous DOM element from myElement
+
+	Returns:
+		the sibling element or undefined if none found.
+	*/
+
+	getPrevious: function(){
+		return this.getBrother('previous');
+	},
+
+	/*
+	Property: getNext
+		Works as Element.getPrevious, but tries to find the nextSibling.
+	*/
+
+	getNext: function(){
+		return this.getBrother('next');
+	},
+
+	/*
+	Property: getFirst
+		Works as <Element.getPrevious>, but tries to find the firstChild.
+	*/
+
+	getFirst: function(){
+		var el = this.firstChild;
+		while ($type(el) == 'whitespace') el = el.nextSibling;
+		return $(el);
+	},
+
+	/*
+	Property: getLast
+		Works as <Element.getPrevious>, but tries to find the lastChild.
+	*/
+
+	getLast: function(){
+		var el = this.lastChild;
+		while ($type(el) == 'whitespace') el = el.previousSibling;
+		return $(el);
+	},
+	
+	/*
+	Property: getParent
+		returns the $(element.parentNode)
+	*/
+
+	getParent: function(){
+		return $(this.parentNode);
+	},
+	
+	/*
+	Property: getChildren
+		returns all the $(element.childNodes), excluding text nodes. Returns as <Elements>.
+	*/
+
+	getChildren: function(){
+		return $$(this.childNodes);
+	},
+
+	/*
+	Property: setProperty
+		Sets an attribute for the Element.
+
+	Arguments:
+		property - the property to assign the value passed in
+		value - the value to assign to the property passed in
+
+	Example:
+		>$('myImage').setProperty('src', 'whatever.gif'); //myImage now points to whatever.gif for its source
+	*/
+
+	setProperty: function(property, value){
+		switch (property){
+			case 'class': this.className = value; break;
+			case 'style': this.setStyles(value); break;
+			case 'name': if (window.ie6){
+				var el = $(document.createElement('<'+this.getTag()+' name="'+value+'" />'));
+				$each(this.attributes, function(attribute){
+					if (attribute.name != 'name') el.setProperty(attribute.name, attribute.value);
+				});
+				if (this.parentNode) this.replaceWith(el);
+				return el;
+			}
+			default: this.setAttribute(property, value);
+		}
+		return this;
+	},
+
+	/*
+	Property: setProperties
+		Sets numerous attributes for the Element.
+
+	Arguments:
+		source - an object with key/value pairs.
+
+	Example:
+		>$('myElement').setProperties({
+		>	src: 'whatever.gif',
+		>	alt: 'whatever dude'
+		>});
+		><img src="whatever.gif" alt="whatever dude">
+	*/
+
+	setProperties: function(source){
+		for (var property in source) this.setProperty(property, source[property]);
+		return this;
+	},
+
+	/*
+	Property: setHTML
+		Sets the innerHTML of the Element.
+
+	Arguments:
+		html - the new innerHTML for the element.
+
+	Example:
+		>$('myElement').setHTML(newHTML) //the innerHTML of myElement is now = newHTML
+	*/
+
+	setHTML: function(html){
+		this.innerHTML = html;
+		return this;
+	},
+
+	/*
+	Property: getProperty
+		Gets the an attribute of the Element.
+
+	Arguments:
+		property - the attribute to retrieve
+
+	Example:
+		>$('myImage').getProperty('src') // returns whatever.gif
+
+	Returns:
+		the value, or an empty string
+	*/
+
+	getProperty: function(property){
+		return (property == 'class') ? this.className : this.getAttribute(property);
+	},
+
+	/*
+	Property: getTag
+		Returns the tagName of the element in lower case.
+
+	Example:
+		>$('myImage').getTag() // returns 'img'
+
+	Returns:
+		The tag name in lower case
+	*/
+
+	getTag: function(){
+		return this.tagName.toLowerCase();
+	},
+
+	getOffsets: function(){
+		var el = this, offsetLeft = 0, offsetTop = 0;
+		do {
+			offsetLeft += el.offsetLeft || 0;
+			offsetTop += el.offsetTop || 0;
+			el = el.offsetParent;
+		} while (el);
+		return {'x': offsetLeft, 'y': offsetTop};
+	},
+
+	/*
+	Property: scrollTo
+		scrolls the element to the specified coordinated (if the element has an overflow)
+
+	Arguments:
+		x - the x coordinate
+		y - the y coordinate
+
+	Example:
+		>$('myElement').scrollTo(0, 100)
+	*/
+
+	scrollTo: function(x, y){
+		this.scrollLeft = x;
+		this.scrollTop = y;
+	},
+
+	/*
+	Property: getSize
+		return an Object representing the size/scroll values of the element.
+
+	Example:
+		(start code)
+		$('myElement').getSize();
+		(end)
+
+	Returns:
+		(start code)
+		{
+			'scroll': {'x': 100, 'y': 100},
+			'size': {'x': 200, 'y': 400},
+			'scrollSize': {'x': 300, 'y': 500}
+		}
+		(end)
+	*/
+
+	getSize: function(){
+		return {
+			'scroll': {'x': this.scrollLeft, 'y': this.scrollTop},
+			'size': {'x': this.offsetWidth, 'y': this.offsetHeight},
+			'scrollSize': {'x': this.scrollWidth, 'y': this.scrollHeight}
+		};
+	},
+
+	/*
+	Property: getTop
+		Returns the distance from the top of the window to the Element.
+	*/
+
+	getTop: function(){
+		return this.getOffsets().y;
+	},
+
+	/*
+	Property: getLeft
+		Returns the distance from the left of the window to the Element.
+	*/
+
+	getLeft: function(){
+		return this.getOffsets().x;
+	},
+
+	/*
+	Property: getPosition
+		Returns an object with width, height, left, right, top, and bottom, representing the values of the Element
+
+	Example:
+		(start code)
+		var myValues = $('myElement').getPosition();
+		(end)
+
+	Returns:
+		(start code)
+		{
+			width: 200,
+			height: 300,
+			left: 100,
+			top: 50,
+			right: 300,
+			bottom: 350
+		}
+		(end)
+	*/
+
+	getPosition: function(){
+		var offs = this.getOffsets();
+		var obj = {
+			'width': this.offsetWidth,
+			'height': this.offsetHeight,
+			'left': offs.x,
+			'top': offs.y
+		};
+		obj.right = obj.left + obj.width;
+		obj.bottom = obj.top + obj.height;
+		return obj;
+	},
+
+	/*
+	Property: getValue
+		Returns the value of the Element, if its tag is textarea, select or input. no multiple select support.
+	*/
+
+	getValue: function(){
+		switch (this.getTag()){
+			case 'select': if (this.selectedIndex != -1) return this.options[this.selectedIndex].value; break;
+			case 'input': if (!(this.checked && ['checkbox', 'radio'].test(this.type)) && !['hidden', 'text', 'password'].test(this.type)) break;
+			case 'textarea': return this.value;
+		}
+		return false;
+	}
+
+});
+
+var Window = window;
+
+window.addEvent = document.addEvent = Element.prototype.addEvent;
+window.removeEvent = document.removeEvent = Element.prototype.removeEvent;
+
+var Garbage = {
+
+	elements: [],
+
+	collect: function(element){
+		Garbage.elements.push(element);
+	},
+
+	trash: function(){
+		window.removeEvent('unload', Garbage.trash);
+		Garbage.elements.each(function(el){
+			el.removeEvents();
+			for (var p in Element.prototype) HTMLElement[p] = window[p] = document[p] = el[p] = null;
+			el.extend = null;
+		});
+	}
+
+};
+
+window.addEvent('unload', Garbage.trash);
+
+/*
+Script: Event.js
+	Event class
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>, Michael Jackson, <http://ajaxon.com/michael>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Event
+	Cross browser methods to manage events.
+
+Arguments:
+	event - the event
+
+Properties:
+	shift - true if the user pressed the shift
+	control - true if the user pressed the control 
+	alt - true if the user pressed the alt
+	meta - true if the user pressed the meta key
+	code - the keycode of the key pressed
+	page.x - the x position of the mouse, relative to the full window
+	page.y - the y position of the mouse, relative to the full window
+	client.x - the x position of the mouse, relative to the viewport
+	client.y - the y position of the mouse, relative to the viewport
+	key - the key pressed as a lowercase string. key also returns 'enter', 'up', 'down', 'left', 'right', 'space', 'backspace', 'delete', 'esc'. Handy for these special keys.
+	target - the event target
+	relatedTarget - the event related target
+
+Example:
+	(start code)
+	$('myLink').onkeydown = function(event){
+		var event = new Event(event);
+		//event is now the Event class.
+		alert(event.key); //returns the lowercase letter pressed
+		alert(event.shift); //returns true if the key pressed is shift
+		if (event.key == 's' && event.control) alert('document saved');
+	};
+	(end)
+*/
+
+var Event = new Class({
+
+	initialize: function(event){
+		this.event = event || window.event;
+		this.type = this.event.type;
+		this.target = this.event.target || this.event.srcElement;
+		if (this.target.nodeType == 3) this.target = this.target.parentNode; // Safari
+		this.shift = this.event.shiftKey;
+		this.control = this.event.ctrlKey;
+		this.alt = this.event.altKey;
+		this.meta = this.event.metaKey;
+		if (['DOMMouseScroll', 'mousewheel'].test(this.type)){
+			this.wheel = this.event.wheelDelta ? (this.event.wheelDelta / (window.opera ? -120 : 120)) : -(this.event.detail || 0) / 3;
+		} else if (this.type.test('key')){
+			this.code = this.event.which || this.event.keyCode;
+			for (var name in Event.keys){
+				if (Event.keys[name] == this.code) var special = name;
+			}
+			this.key = special || String.fromCharCode(this.code).toLowerCase();
+
+		} else if (this.type.test('mouse') || this.type == 'click'){
+			this.page = {
+				'x': this.event.pageX || this.event.clientX + document.documentElement.scrollLeft,
+				'y': this.event.pageY || this.event.clientY + document.documentElement.scrollTop
+			};
+			this.client = {
+				'x': this.event.pageX ? this.event.pageX - window.pageXOffset : this.event.clientX,
+				'y': this.event.pageY ? this.event.pageY - window.pageYOffset : this.event.clientY
+			};
+			this.rightClick = (this.event.which == 3) || (this.event.button == 2);
+			switch (this.type){
+				case 'mouseover': this.relatedTarget = this.event.relatedTarget || this.event.fromElement; break;
+				case 'mouseout': this.relatedTarget = this.event.relatedTarget || this.event.toElement;
+			}
+		}
+	},
+
+	/*
+	Property: stop
+		cross browser method to stop an event
+	*/
+
+	stop: function() {
+		this.stopPropagation();
+		this.preventDefault();
+		return this;
+	},
+
+	/*
+	Property: stopPropagation
+		cross browser method to stop the propagation of an event
+	*/
+
+	stopPropagation: function(){
+		if (this.event.stopPropagation) this.event.stopPropagation();
+		else this.event.cancelBubble = true;
+		return this;
+    },
+
+	/*
+	Property: preventDefault
+		cross browser method to prevent the default action of the event
+	*/
+
+	preventDefault: function(){
+		if (this.event.preventDefault) this.event.preventDefault();
+		else this.event.returnValue = false;
+		return this;
+	}
+
+});
+
+Event.keys = {
+	'enter': 13,
+	'up': 38,
+	'down': 40,
+	'left': 37,
+	'right': 39,
+	'esc': 27,
+	'space': 32,
+	'backspace': 8,
+	'delete': 46
+};
+
+Function.extend({
+
+	/*
+	Property: bindWithEvent
+		automatically passes mootools Event Class.
+
+	Arguments:
+		bind - optional, the object that the "this" of the function will refer to.
+
+	Returns:
+		a function with the parameter bind as its "this" and as a pre-passed argument event or window.event, depending on the browser.
+
+	Example:
+		>function myFunction(event){
+		>	alert(event.clientx) //returns the coordinates of the mouse..
+		>};
+		>myElement.onclick = myFunction.bindWithEvent(myElement);
+	*/
+
+	bindWithEvent: function(bind, args){
+		return this.create({'bind': bind, 'arguments': args, 'event': Event});
+	}
+
+});
+
+
+/*
+Script: Common.js
+	Contains common implementations for custom classes. In Mootools is implemented in <Ajax> and <Fx>.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Chain
+	An "Utility" Class. Its methods can be implemented with <Class.implement> into any <Class>.
+	Currently implemented in <Fx> and <Ajax>. In <Fx> for example, is used to execute a list of function, one after another, once the effect is completed.
+	The functions will not be fired all togheter, but one every completion, to create custom complex animations.
+
+Example:
+	(start code)
+	var myFx = new Fx.Style('element', 'opacity');
+
+	myFx.start(1,0).chain(function(){
+		myFx.start(0,1);
+	}).chain(function(){
+		myFx.start(1,0);
+	}).chain(function(){
+		myFx.start(0,1);
+	});
+	//the element will appear and disappear three times
+	(end)
+*/
+
+var Chain = new Class({
+
+	/*
+	Property: chain
+		adds a function to the Chain instance stack.
+
+	Arguments:
+		fn - the function to append.
+	*/
+
+	chain: function(fn){
+		this.chains = this.chains || [];
+		this.chains.push(fn);
+		return this;
+	},
+
+	/*
+	Property: callChain
+		Executes the first function of the Chain instance stack, then removes it. The first function will then become the second.
+	*/
+
+	callChain: function(){
+		if (this.chains && this.chains.length) this.chains.splice(0, 1)[0].delay(10, this);
+	},
+
+	/*
+	Property: clearChain
+		Clears the stack of a Chain instance.
+	*/
+
+	clearChain: function(){
+		this.chains = [];
+	}
+
+});
+
+/*
+Class: Events
+	An "Utility" Class. Its methods can be implemented with <Class.implement> into any <Class>.
+	In <Fx> Class, for example, is used to give the possibility add any number of functions to the Effects events, like onComplete, onStart, onCancel
+
+Example:
+	(start code)
+	var myFx = new Fx.Style('element', 'opacity').addEvent('onComplete', function(){
+		alert('the effect is completed');
+	}).addEvent('onComplete', function(){
+		alert('I told you the effect is completed');
+	});
+
+	myFx.start(0,1);
+	//upon completion it will display the 2 alerts, in order.
+	(end)
+*/
+
+var Events = new Class({
+
+	/*
+	Property: addEvent
+		adds an event to the stack of events of the Class instance.
+	*/
+
+	addEvent: function(type, fn){
+		if (fn != Class.empty){
+			this.events = this.events || {};
+			this.events[type] = this.events[type] || [];
+			if (!this.events[type].test(fn)) this.events[type].push(fn);
+		}
+		return this;
+	},
+
+	/*
+	Property: fireEvent
+		fires all events of the specified type in the Class instance.
+	*/
+
+	fireEvent: function(type, args, delay){
+		if (this.events && this.events[type]){
+			this.events[type].each(function(fn){
+				fn.create({'bind': this, 'delay': delay, 'arguments': args})();
+			}, this);
+		}
+		return this;
+	},
+
+	/*
+	Property: removeEvent
+		removes an event from the stack of events of the Class instance.
+	*/
+
+	removeEvent: function(type, fn){
+		if (this.events && this.events[type]) this.events[type].remove(fn);
+		return this;
+	}
+
+});
+
+/*
+Class: Options
+	An "Utility" Class. Its methods can be implemented with <Class.implement> into any <Class>.
+	Used to automate the options settings, also adding Class <Events> when the option begins with on.
+*/
+
+var Options = new Class({
+
+	/*
+	Property: setOptions
+		sets this.options
+
+	Arguments:
+		defaults - the default set of options
+		options - the user entered options. can be empty too.
+
+	Note:
+		if your Class has <Events> implemented, every option beginning with on, followed by a capital letter (onComplete) becomes an Class instance event.
+	*/
+
+	setOptions: function(defaults, options){
+		this.options = Object.extend(defaults, options);
+		if (this.addEvent){
+			for (var option in this.options){
+				if (($type(this.options[option]) == 'function') && option.test('^on[A-Z]')) this.addEvent(option, this.options[option]);
+			}
+		}
+		return this;
+	}
+
+});
+
+/*
+Script: Dom.js
+	Css Query related function and <Element> extensions
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/* Section: Utility Functions */
+
+/* 
+Function: $E 
+	Selects a single (i.e. the first found) Element based on the selector passed in and an optional filter element.
+
+Arguments:
+	selector - the css selector to match
+	filter - optional; a DOM element to limit the scope of the selector match; defaults to document.
+
+Example:
+	>$E('a', 'myElement') //find the first anchor tag inside the DOM element with id 'myElement'
+
+Returns:
+	a DOM element - the first element that matches the selector
+*/
+
+function $E(selector, filter){
+	return ($(filter) || document).getElement(selector);
+};
+
+/*
+Function: $ES
+	Returns a collection of Elements that match the selector passed in limited to the scope of the optional filter.
+	See Also: <Element.getElements> for an alternate syntax.
+
+Returns:
+	an array of dom elements that match the selector within the filter
+
+Arguments:
+	selector - css selector to match
+	filter - optional; a DOM element to limit the scope of the selector match; defaults to document.
+
+Examples:
+	>$ES("a") //gets all the anchor tags; synonymous with $$("a")
+	>$ES('a','myElement') //get all the anchor tags within $('myElement')
+*/
+
+function $ES(selector, filter){
+	return ($(filter) || document).getElementsBySelector(selector);
+};
+
+/*
+Class: Element
+	Custom class to allow all of its methods to be used with any DOM element via the dollar function <$>.
+*/
+
+Element.extend({
+
+	/*
+	Property: getElements 
+		Gets all the elements within an element that match the given (single) selector.
+
+	Arguments:
+		selector - the css selector to match
+
+	Example:
+		>$('myElement').getElements('a'); // get all anchors within myElement
+
+	Credits:
+		Say thanks to Christophe Beyls <http://digitalia.be> for the new regular expression that rules getElements, a big step forward in terms of speed.
+	*/
+
+	getElements: function(selector){
+		var filters = [];
+		selector.clean().split(' ').each(function(sel, i){
+			var param = sel.match('^(\\w*|\\*)(?:#([\\w_-]+)|\\.([\\w_-]+))?(?:\\[["\']?(\\w+)["\']?(?:([\\*\\^\\$]?=)["\']?(\\w*)["\']?)?\\])?$');
+			//PARAM ARRAY: 0 = full string: 1 = tag; 2 = id; 3 = class; 4 = attribute; 5 = operator; 6 = value;
+			if (!param) return;
+			param[1] = param[1] || '*';
+			if (i == 0){
+				if (param[2]){
+					var el = this.getElementById(param[2]);
+					if (!el || ((param[1] != '*') && (Element.prototype.getTag.call(el) != param[1]))) return;
+					filters = [el];
+				} else {
+					filters = $A(this.getElementsByTagName(param[1]));
+				}
+			} else {
+				filters = Elements.prototype.filterByTagName.call(filters, param[1]);
+				if (param[2]) filters = Elements.prototype.filterById.call(filters, param[2]);
+			}
+			if (param[3]) filters = Elements.prototype.filterByClassName.call(filters, param[3]);
+			if (param[4]) filters = Elements.prototype.filterByAttribute.call(filters, param[4], param[6], param[5]);
+		}, this);
+		return $$(filters);
+	},
+
+	/*
+	Property: getElementById
+		Targets an element with the specified id found inside the Element. Does not overwrite document.getElementById.
+
+	Arguments:
+		id - the id of the element to find.
+	*/
+
+	getElementById: function(id){
+		var el = document.getElementById(id);
+		if (!el) return false;
+		for (var parent = el.parentNode; parent != this; parent = parent.parentNode){
+			if (!parent) return false;
+		}
+		return el;
+	},
+
+	/*
+	Property: getElement
+		Same as <Element.getElements>, but returns only the first. Alternate syntax for <$E>, where filter is the Element.
+	*/
+
+	getElement: function(selector){
+		return this.getElementsBySelector(selector)[0];
+	},
+
+	/*
+	Property: getElementsBySelector
+		Same as <Element.getElements>, but allows for comma separated selectors, as in css. Alternate syntax for <$$>, where filter is the Element.
+
+	*/
+
+	getElementsBySelector: function(selector){
+		var els = [];
+		selector.split(',').each(function(sel){
+			els.extend(this.getElements(sel));
+		}, this);
+		return $$(els);
+	}
+
+});
+
+document.extend = Object.extend;
+
+/* Section: document related functions */
+
+document.extend({
+	/*
+	Function: document.getElementsByClassName 
+		Returns all the elements that match a specific class name. 
+		Here for compatibility purposes. can also be written: document.getElements('.className'), or $$('.className')
+	*/
+
+	getElementsByClassName: function(className){
+		return document.getElements('.'+className);
+	},
+	getElement: Element.prototype.getElement,
+	getElements: Element.prototype.getElements,
+	getElementsBySelector: Element.prototype.getElementsBySelector
+
+});
+
+/*
+Class: Elements
+	Methods for dom queries arrays, as <$$>.
+*/
+
+Elements.extend({
+
+	//internal methods
+
+	filterById: function(id, tag){
+		var found = [];
+		this.each(function(el){
+			if (el.id == id) found.push(el);
+		});
+		return found;
+	},
+
+	filterByClassName: function(className){
+		var found = [];
+		this.each(function(el){
+			if (Element.prototype.hasClass.call(el, className)) found.push(el);
+		});
+		return found;
+	},
+
+	filterByTagName: function(tagName){
+		var found = [];
+		this.each(function(el){
+			found.extend(el.getElementsByTagName(tagName));
+		});
+		return found;
+	},
+
+	filterByAttribute: function(name, value, operator){
+		var found = [];
+		this.each(function(el){
+			var att = el.getAttribute(name);
+			if (!att) return found;
+			if (!operator) return found.push(el);
+
+			switch (operator){
+				case '*=': if (att.test(value)) found.push(el); break;
+				case '=': if (att == value) found.push(el); break;
+				case '^=': if (att.test('^'+value)) found.push(el); break;
+				case '$=': if (att.test(value+'$')) found.push(el);
+			}
+			return found;
+		});
+		return found;
+	}
+
+});
+
+/*
+Script: Hash.js
+	Contains the class Hash.
+
+Author:
+	Christophe Beyls <http://digitalia.be>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Hash
+	It wraps an object that it uses internally as a map. The user must use put(), get(), and remove() to add/change, retrieve and remove values, it must not access the internal object directly. With this implementation, null values are not allowed.
+
+Example:
+	(start code)
+	var hash = new Hash({a: 'hi', b: 'world', c: 'howdy'});
+	hash.remove('b'); // b is removed.
+	hash.set('c', 'hello');
+	hash.get('c'); // returns 'hello'
+	hash.length // returns 2 (a and b)
+	(end)
+*/
+
+var Hash = new Class({
+
+	length: 0,
+
+	initialize: function(obj) {
+		this.obj = {};
+		for (var property in obj) {
+			this.obj[property] = obj[property];
+			this.length++;
+		}
+	},
+
+	get: function(key) {
+		return this.obj[key];
+	},
+
+	set: function(key, value) {
+		if (value == null) return false;
+		if (this.obj[key] == undefined) this.length++;
+		this.obj[key] = value;
+		return this;
+	},
+
+	remove: function(key) {
+		if (this.obj[key] == undefined) return false;
+		var obj = {};
+		this.length--;
+		for (var property in this.obj){
+			if (property != key) obj[property] = this.obj[property];
+		}
+		this.obj = obj;
+		return this;
+	},
+
+	each: function(fn, bind) {
+		for (var property in this.obj) fn.call(bind || this, property, this.obj[property]);
+	},
+	
+	extend: function(obj){
+		this.initialize(Object.extend(this.obj, obj));
+		return this;
+	},
+
+	empty: function() {
+		return (this.length == 0);
+	},
+
+	keys: function() {
+		var keys = [];
+		for (var property in this.obj) keys.push(property);
+		return keys;
+	},
+
+	values: function() {
+		var values = [];
+		for (var property in this.obj) values.push(this.obj[property]);
+		return values;
+	}
+
+});
+
+/*
+Function: $H
+	Shortcut to create an Hash from an Object.
+*/
+
+function $H(obj) {
+	return new Hash(obj);
+};
+
+/*
+Script: Color.js
+	Contains the Color class.
+
+Author:
+	Michael Jackson <http://ajaxon.com/michael>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Color
+	Creates a new Color Object, which is an array with some color specific methods.
+
+Example:
+	(start code)
+	var black = new Color('#000');
+	var purple = new Color([255,0,255]);
+	// mix black with white and purple, each time at 10% of the new color
+	var darkpurple = black.mix('#fff', purple, 10);
+	$('myDiv').setStyle('background-color', darkpurple);
+	(end)
+*/
+
+var Color = new Class({
+
+	initialize: function(color){
+		if (color.mix && color.invert) return color;
+		var rgb = (color.push) ? color : color.hexToRgb(true);
+		return Object.extend(rgb, Color.prototype);
+	},
+	
+	mix: function(){
+		var colors = $A(arguments);
+		var alpha = 50;
+		if ($type(colors[colors.length-1]) == 'number') alpha = colors.pop();
+		var rgb = this.copy();
+		colors.each(function(color){
+			color = new Color(color);
+			for (var i = 0; i < 3; i++) rgb[i] = Math.round((rgb[i] / 100 * (100 - alpha)) + (color[i] / 100 * alpha));
+		});
+		return new Color(rgb);
+	},
+
+	invert: function(){
+		var rgb = [];
+		for (var i = 0; i < 3; i++) rgb.push(255 - this[i]);
+		return new Color(rgb);
+	}
+
+});
+
+function $C(color){
+	return new Color(color);
+};
+
+/*
+Script: Window.Base.js
+	Contains Window.onDomReady and Window.disableImageCache
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Window
+	Cross browser methods to get the window size, onDomReady method.
+*/
+
+window.extend = Object.extend;
+
+window.extend({
+
+	/*
+	Function: window.disableImageCache
+		Disables background image chache for internex explorer, to prevent flickering. 
+		To be called if you have effects with background images, and they flicker.
+
+	Example:
+		Window.disableImageCache();
+	*/
+
+	disableImageCache: function(){
+		if (this.ie6) try {document.execCommand("BackgroundImageCache", false, true);} catch (e){};
+	},
+
+	addEvent: function(type, fn){
+		if (type == 'domready'){
+			if (this.loaded) fn();
+			else if (!this.events || !this.events.domready){
+				var domReady = function(){
+					if (this.loaded) return;
+					this.loaded = true;
+					if (this.timer) this.timer = $clear(this.timer);
+					Element.prototype.fireEvent.call(this, 'domready');
+					this.events.domready = null;
+				}.bind(this);
+				if (document.readyState && this.khtml){ //safari and konqueror
+					this.timer = function(){
+						if (['loaded','complete'].test(document.readyState)) domReady();
+					}.periodical(50);
+				}
+				else if (document.readyState && this.ie){ //ie
+					document.write("<script id=ie_ready defer src=javascript:void(0)><\/script>");
+					$('ie_ready').onreadystatechange = function(){
+						if (this.readyState == 'complete') domReady();
+					};
+				} else { //others
+					this.addEvent("load", domReady);
+					document.addEvent("DOMContentLoaded", domReady);
+				}
+			}
+		}
+		Element.prototype.addEvent.call(this, type, fn);
+		return this;
+	},
+
+	/*
+	Function: window.onDomReady
+		Executes the passed in function when the DOM is ready (when the document tree has loaded, not waiting for images).
+		Same as window.addEvent('domready', init);
+
+	Credits:
+		(c) Dean Edwards/Matthias Miller/John Resig, remastered for mootools. Later touched up by Christophe Beyls <http://digitalia.be>.
+
+	Arguments:
+		init - the function to execute when the DOM is ready
+
+	Example:
+		> window.addEvent('domready', function(){alert('the dom is ready')});
+	*/
+
+	onDomReady: function(init){
+		return this.addEvent('domready', init);
+	}
+
+});
+
+/*
+Script: Window.Size.js
+	Window cross-browser dimensions methods.
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: window
+	Cross browser methods to get the window size, onDomReady method.
+*/
+
+window.extend({
+
+	/*
+	Property: getWidth
+		Returns an integer representing the width of the browser.
+	*/
+
+	getWidth: function(){
+		if (this.khtml || this.opera) return this.innerWidth;
+		else return document.documentElement.clientWidth || document.body.clientWidth;
+	},
+
+	/*
+	Property: getHeight
+		Returns an integer representing the height of the browser.
+	*/
+
+	getHeight: function(){
+		if (this.khtml || this.opera) return this.innerHeight;
+		return document.documentElement.clientHeight || document.body.clientHeight;
+	},
+
+	/*
+	Property: getScrollHeight
+		Returns an integer representing the scrollHeight of the window.
+
+	See Also:
+		<http://developer.mozilla.org/en/docs/DOM:element.scrollHeight>
+	*/
+
+	getScrollHeight: function(){
+		return document.documentElement.scrollHeight;
+	},
+
+	/*
+	Property: getScrollWidth
+		Returns an integer representing the scrollWidth of the window.
+
+	See Also:
+		<http://developer.mozilla.org/en/docs/DOM:element.scrollWidth>
+	*/
+
+	getScrollWidth: function(){
+		return document.documentElement.scrollWidth;
+	},
+
+	/*
+	Property: getScrollTop
+		Returns an integer representing the scrollTop of the window (the number of pixels the window has scrolled from the top).
+
+	See Also:
+		<http://developer.mozilla.org/en/docs/DOM:element.scrollTop>
+	*/
+
+	getScrollTop: function(){
+		return this.pageYOffset || document.documentElement.scrollTop;
+	},
+
+	/*
+	Property: getScrollLeft
+		Returns an integer representing the scrollLeft of the window (the number of pixels the window has scrolled from the left).
+
+	See Also:
+		<http://developer.mozilla.org/en/docs/DOM:element.scrollLeft>
+	*/
+
+	getScrollLeft: function(){
+		return this.pageXOffset || document.documentElement.scrollLeft;
+	},
+
+	/*
+	Property: getSize
+		Same as <Element.getSize>
+	*/
+
+	getSize: function(){
+		return {
+			'scroll': {'x': this.getScrollLeft(), 'y': this.getScrollTop()},
+			'size': {'x': this.getWidth(), 'y': this.getHeight()},
+			'scrollSize': {'x': this.getScrollWidth(), 'y': this.getScrollHeight()}
+		};
+	},
+
+	//ignore
+	getOffsets: function(){return {'x': 0, 'y': 0}}
+
+});
+
+/*
+Script: Fx.Base.js
+	Contains <Fx.Base> and two Transitions.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+var Fx = {};
+
+/*
+Class: Fx.Base
+	Base class for the Mootools Effects (Moo.Fx) library.
+
+Options:
+	onStart - the function to execute as the effect begins; nothing (<Class.empty>) by default.
+	onComplete - the function to execute after the effect has processed; nothing (<Class.empty>) by default.
+	transition - the equation to use for the effect see <Fx.Transitions>; default is <Fx.Transitions.sineInOut>
+	duration - the duration of the effect in ms; 500 is the default.
+	unit - the unit is 'px' by default (other values include things like 'em' for fonts or '%').
+	wait - boolean: to wait or not to wait for a current transition to end before running another of the same instance. defaults to true.
+	fps - the frames per second for the transition; default is 30
+*/
+
+Fx.Base = new Class({
+
+	getOptions: function(){
+		return {
+			onStart: Class.empty,
+			onComplete: Class.empty,
+			onCancel: Class.empty,
+			transition: Fx.Transitions.sineInOut,
+			duration: 500,
+			unit: 'px',
+			wait: true,
+			fps: 50
+		};
+	},
+
+	initialize: function(options){
+		this.element = this.element || null;
+		this.setOptions(this.getOptions(), options);
+		if (this.options.initialize) this.options.initialize.call(this);
+	},
+
+	step: function(){
+		var time = new Date().getTime();
+		if (time < this.time + this.options.duration){
+			this.cTime = time - this.time;
+			this.setNow();
+			this.increase();
+		} else {
+			this.stop(true);
+			this.now = this.to;
+			this.increase();
+			this.fireEvent('onComplete', this.element, 10);
+			this.callChain();
+		}
+	},
+
+	/*
+	Property: set
+		Immediately sets the value with no transition.
+
+	Arguments:
+		to - the point to jump to
+
+	Example:
+		>var myFx = new Fx.Style('myElement', 'opacity').set(0); //will make it immediately transparent
+	*/
+
+	set: function(to){
+		this.now = to;
+		this.increase();
+		return this;
+	},
+
+	setNow: function(){
+		this.now = this.compute(this.from, this.to);
+	},
+
+	compute: function(from, to){
+		return this.options.transition(this.cTime, from, (to - from), this.options.duration);
+	},
+
+	/*
+	Property: start
+		Executes an effect from one position to the other.
+
+	Arguments:
+		from - integer: staring value
+		to - integer: the ending value
+
+	Examples:
+		>var myFx = new Fx.Style('myElement', 'opacity').start(0,1); //display a transition from transparent to opaque.
+	*/
+
+	start: function(from, to){
+		if (!this.options.wait) this.stop();
+		else if (this.timer) return this;
+		this.from = from;
+		this.to = to;
+		this.time = new Date().getTime();
+		this.timer = this.step.periodical(Math.round(1000/this.options.fps), this);
+		this.fireEvent('onStart', this.element);
+		return this;
+	},
+
+	/*
+	Property: stop
+		Stops the transition.
+	*/
+
+	stop: function(end){
+		if (!this.timer) return this;
+		this.timer = $clear(this.timer);
+		if (!end) this.fireEvent('onCancel', this.element);
+		return this;
+	},
+
+	//compat
+	custom: function(from, to){return this.start(from, to)},
+	clearTimer: function(end){return this.stop(end)}
+
+});
+
+Fx.Base.implement(new Chain);
+Fx.Base.implement(new Events);
+Fx.Base.implement(new Options);
+
+/*
+Class: Fx.Transitions
+	A collection of transition equations for use with the <Fx> Class.
+
+See Also:
+	<Fxtransitions.js> for a whole bunch of transitions.
+
+Credits:
+	Easing Equations, (c) 2003 Robert Penner (http://www.robertpenner.com/easing/), Open Source BSD License.
+*/
+
+Fx.Transitions = {
+
+	/* Property: linear */
+	linear: function(t, b, c, d){
+		return c*t/d + b;
+	},
+
+	/* Property: sineInOut */
+	sineInOut: function(t, b, c, d){
+		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
+	}
+
+};
+
+/*
+Script: Fx.CSS.js
+	Css parsing class for effects. Required by <Fx.Style>, <Fx.Styles>, <Fx.Elements>. No documentation needed, as its used internally.
+
+Author:
+	Christophe Beyls, <http://www.digitalia.be>,
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+Fx.CSS = {
+
+	select: function(property, to){
+		if (property.test('color', 'i')) return this.Color;
+		if (to.test && to.test(' ')) return this.Multi;
+		return this.Single;
+	},
+
+	parse: function(el, property, fromTo){
+		if (!fromTo.push) fromTo = [fromTo];
+		var from = fromTo[0], to = fromTo[1];
+		if (!to && to != 0){
+			to = from;
+			from = el.getStyle(property);
+		}
+		var css = this.select(property, to);
+		return {from: css.parse(from), to: css.parse(to), css: css};
+	}
+
+};
+
+Fx.CSS.Single = {
+
+	parse: function(value){
+		return parseFloat(value);
+	},
+
+	getNow: function(from, to, fx){
+		return fx.compute(from, to);
+	},
+
+	getValue: function(value, unit){
+		return value+unit;
+	}
+
+};
+
+Fx.CSS.Multi = {
+
+	parse: function(value){
+		return value.push ? value : value.split(' ').map(function(v){
+			return parseFloat(v);
+		});
+	},
+
+	getNow: function(from, to, fx){
+		var now = [];
+		for (var i = 0; i < from.length; i++) now[i] = fx.compute(from[i], to[i]);
+		return now;
+	},
+
+	getValue: function(value, unit){
+		return value.join(unit+' ')+unit;
+	}
+
+};
+
+Fx.CSS.Color = {
+
+	parse: function(value){
+		return value.push ? value : value.hexToRgb(true);
+	},
+
+	getNow: function(from, to, fx){
+		var now = [];
+		for (var i = 0; i < from.length; i++) now[i] = Math.round(fx.compute(from[i], to[i]));
+		return now;
+	},
+
+	getValue: function(value){
+		return 'rgb('+value.join(',')+')';
+	}
+
+};
+
+/*
+Script: Fx.Style.js
+	Contains <Fx.Style>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Fx.Style
+	The Style effect; Extends <Fx.Base>, inherits all its properties. Used to transition any css property from one value to another. Includes colors.
+	Colors must be in hex format.
+
+Arguments:
+	el - the $(element) to apply the style transition to
+	property - the property to transition
+	options - the Fx.Base options (see: <Fx.Base>)
+
+Example:
+	>var marginChange = new Fx.Style('myElement', 'margin-top', {duration:500});
+	>marginChange.start(10, 100);
+*/
+
+Fx.Style = Fx.Base.extend({
+
+	initialize: function(el, property, options){
+		this.element = $(el);
+		this.property = property;
+		this.parent(options);
+	},
+
+	/*
+	Property: hide
+		Same as <Fx.Base.set>(0)
+	*/
+
+	hide: function(){
+		return this.set(0);
+	},
+
+	setNow: function(){
+		this.now = this.css.getNow(this.from, this.to, this);
+	},
+
+	set: function(to){
+		this.css = Fx.CSS.select(this.property, to);
+		return this.parent(this.css.parse(to));
+	},
+
+	/*
+	Property: start
+		displays the transition to the value/values passed in
+
+	Example:
+		(start code)
+		var var marginChange = new Fx.Style('myElement', 'margin-top', {duration:500});
+		marginChange.start(10); //tries to read current margin top value and goes from current to 10
+		(end)
+	*/
+
+	start: function(from, to){
+		if (this.timer && this.options.wait) return this;
+		var parsed = Fx.CSS.parse(this.element, this.property, [from, to]);
+		this.css = parsed.css;
+		return this.parent(parsed.from, parsed.to);
+	},
+
+	increase: function(){
+		this.element.setStyle(this.property, this.css.getValue(this.now, this.options.unit));
+	}
+
+});
+
+/*
+Class: Element
+	Custom class to allow all of its methods to be used with any DOM element via the dollar function <$>.
+*/
+
+Element.extend({
+
+	/*
+	Property: effect
+		Applies an <Fx.Style> to the Element; This a shortcut for <Fx.Style>.
+
+	Example:
+		>var myEffect = $('myElement').effect('height', {duration: 1000, transition: Fx.Transitions.linear});
+		>myEffect.start(10, 100);
+	*/
+
+	effect: function(property, options){
+		return new Fx.Style(this, property, options);
+	}
+
+});
+
+/*
+Script: Fx.Styles.js
+	Contains <Fx.Styles>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Fx.Styles
+	Allows you to animate multiple css properties at once; Extends <Fx.Base>, inherits all its properties. Includes colors.
+	Colors must be in hex format.
+
+Arguments:
+	el - the $(element) to apply the styles transition to
+	options - the fx options (see: <Fx.Base>)
+
+Example:
+	(start code)
+	var myEffects = new Fx.Styles('myElement', {duration: 1000, transition: Fx.Transitions.linear});
+
+	//height from 10 to 100 and width from 900 to 300
+	myEffects.start({
+		'height': [10, 100],
+		'width': [900, 300]
+	});
+
+	//or height from current height to 100 and width from current width to 300
+	myEffects.start({
+		'height': 100,
+		'width': 300
+	});
+	(end)
+*/
+
+Fx.Styles = Fx.Base.extend({
+
+	initialize: function(el, options){
+		this.element = $(el);
+		this.parent(options);
+	},
+
+	setNow: function(){
+		for (var p in this.from) this.now[p] = this.css[p].getNow(this.from[p], this.to[p], this);
+	},
+
+	set: function(to){
+		var parsed = {};
+		this.css = {};
+		for (var p in to){
+			this.css[p] = Fx.CSS.select(p, to[p]);
+			parsed[p] = this.css[p].parse(to[p]);
+		}
+		return this.parent(parsed);
+	},
+
+	/*
+	Property: start
+		The function you'll actually use to execute a transition.
+
+	Arguments:
+		an object
+
+	Example:
+		see <Fx.Styles>
+	*/
+
+	start: function(obj){
+		if (this.timer && this.options.wait) return this;
+		this.now = {};
+		this.css = {};
+		var from = {}, to = {};
+		for (var p in obj){
+			var parsed = Fx.CSS.parse(this.element, p, obj[p]);
+			from[p] = parsed.from;
+			to[p] = parsed.to;
+			this.css[p] = parsed.css;
+		}
+		return this.parent(from, to);
+	},
+
+	increase: function(){
+		for (var p in this.now) this.element.setStyle(p, this.css[p].getValue(this.now[p], this.options.unit));
+	}
+
+});
+
+/*
+Class: Element
+	Custom class to allow all of its methods to be used with any DOM element via the dollar function <$>.
+*/
+
+Element.extend({
+
+	/*
+	Property: effects
+		Applies an <Fx.Styles> to the Element; This a shortcut for <Fx.Styles>.
+
+	Example:
+		>var myEffects = $(myElement).effects({duration: 1000, transition: Fx.Transitions.sineInOut});
+ 		>myEffects.start({'height': [10, 100], 'width': [900, 300]});
+	*/
+
+	effects: function(options){
+		return new Fx.Styles(this, options);
+	}
+
+});
+
+/*
+Script: Fx.Elements.js
+	Contains <Fx.Elements>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Fx.Elements
+	Fx.Elements allows you to apply any number of styles transitions to a selection of elements. Includes colors (must be in hex format).
+
+Arguments:
+	elements - a collection of elements the effects will be applied to.
+	options - same as <Fx.Base> options.
+*/
+
+Fx.Elements = Fx.Base.extend({
+
+	initialize: function(elements, options){
+		this.elements = $$(elements);
+		this.parent(options);
+	},
+
+	setNow: function(){
+		for (var i in this.from){
+			var iFrom = this.from[i], iTo = this.to[i], iCss = this.css[i], iNow = this.now[i] = {};
+			for (var p in iFrom) iNow[p] = iCss[p].getNow(iFrom[p], iTo[p], this);
+		}
+	},
+
+	set: function(to){
+		var parsed = {};
+		this.css = {};
+		for (var i in to){
+			var iTo = to[i], iCss = this.css[i] = {}, iParsed = parsed[i] = {};
+			for (var p in iTo){
+				iCss[p] = Fx.CSS.select(p, iTo[p]);
+				iParsed[p] = iCss[p].parse(iTo[p]);
+			}
+		}
+		return this.parent(parsed);
+	},
+
+	/*
+	Property: start
+		Applies the passed in style transitions to each object named (see example). Each item in the collection is refered to as a numerical string ("1" for instance). The first item is "0", the second "1", etc.
+
+	Example:
+		(start code)
+		var myElementsEffects = new Fx.Elements($$('a'));
+		myElementsEffects.start({
+			'0': { //let's change the first element's opacity and width
+				'opacity': [0,1],
+				'width': [100,200]
+			},
+			'1': { //and the second one's opacity
+				'opacity': [0.2, 0.5]
+			}
+		});
+		(end)
+	*/
+
+	start: function(obj){
+		if (this.timer && this.options.wait) return this;
+		this.now = {};
+		this.css = {};
+		var from = {}, to = {};
+		for (var i in obj){
+			var iProps = obj[i], iFrom = from[i] = {}, iTo = to[i] = {}, iCss = this.css[i] = {};
+			for (var p in iProps){
+				var parsed = Fx.CSS.parse(this.elements[i], p, iProps[p]);
+				iFrom[p] = parsed.from;
+				iTo[p] = parsed.to;
+				iCss[p] = parsed.css;
+			}
+		}
+		return this.parent(from, to);
+	},
+
+	increase: function(){
+		for (var i in this.now){
+			var iNow = this.now[i], iCss = this.css[i];
+			for (var p in iNow) this.elements[i].setStyle(p, iCss[p].getValue(iNow[p], this.options.unit));
+		}
+	}
+
+});
+
+/*
+Script: Fx.Scroll.js
+	Contains <Fx.Scroll>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Fx.Scroll
+	Scroll any element with an overflow, including the window element.
+
+Arguments:
+	element - the element to scroll
+	options - same as <Fx.Base> options.
+*/
+
+Fx.Scroll = Fx.Base.extend({
+
+	initialize: function(element, options){
+		this.now = [];
+		this.element = $(element);
+		this.addEvent('onStart', function(){
+			this.element.addEvent('mousewheel', this.stop.bind(this, false));
+		}.bind(this));
+		this.removeEvent('onComplete', function(){
+			this.element.removeEvent('mousewheel', this.stop.bind(this, false));
+		}.bind(this));
+		this.parent(options);
+	},
+
+	setNow: function(){
+		for (var i = 0; i < 2; i++) this.now[i] = this.compute(this.from[i], this.to[i]);
+	},
+
+	/*
+	Property: scrollTo
+		Scrolls the chosen element to the x/y coordinates.
+
+	Arguments:
+		x - the x coordinate to scroll the element to
+		y - the y coordinate to scroll the element to
+	*/
+
+	scrollTo: function(x, y){
+		if (this.timer && this.options.wait) return this;
+		var el = this.element.getSize();
+		var values = {'x': x, 'y': y};
+		for (var z in el.size){
+			var max = el.scrollSize[z] - el.size[z];
+			if ($chk(values[z])) values[z] = ($type(values[z]) == 'number') ? Math.max(Math.min(values[z], max), 0) : max;
+			else values[z] = el.scroll[z];
+		}
+		return this.start([el.scroll.x, el.scroll.y], [values.x, values.y]);
+	},
+
+	/*
+	Property: toTop
+		Scrolls the chosen element to its maximum top.
+	*/
+
+	toTop: function(){
+		return this.scrollTo(false, 0);
+	},
+
+	/*
+	Property: toBottom
+		Scrolls the chosen element to its maximum bottom.
+	*/
+
+	toBottom: function(){
+		return this.scrollTo(false, 'full');
+	},
+
+	/*
+	Property: toLeft
+		Scrolls the chosen element to its maximum left.
+	*/
+
+	toLeft: function(){
+		return this.scrollTo(0, false);
+	},
+
+	/*
+	Property: toRight
+		Scrolls the chosen element to its maximum right.
+	*/
+
+	toRight: function(){
+		return this.scrollTo('full', false);
+	},
+
+	/*
+	Property: toElement
+		Scrolls the specified element to the position the passed in element is found. Only usable if the chosen element is == window.
+
+	Arguments:
+		el - the $(element) to scroll the window to
+	*/
+
+	toElement: function(el){
+		return this.scrollTo($(el).getLeft(), $(el).getTop());
+	},
+
+	increase: function(){
+		this.element.scrollTo(this.now[0], this.now[1]);
+	}
+
+});
+
+/*
+Script: Fx.Slide.js
+	Contains <Fx.Slide>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Fx.Slide
+	The slide effect; slides an element in horizontally or vertically, the contents will fold inside. Extends <Fx.Base>, inherits all its properties.
+
+Note:
+	This effect works on any block element, but the element *cannot be positioned*; no margins or absolute positions. To position the element, put it inside another element (a wrapper div, for instance) and position that instead.
+
+Options:
+	mode - set it to vertical or horizontal. Defaults to vertical.
+	and all the <Fx.Base> options
+
+Example:
+	(start code)
+	var mySlider = new Fx.Slide('myElement', {duration: 500});
+	mySlider.toggle() //toggle the slider up and down.
+	(end)
+*/
+
+Fx.Slide = Fx.Base.extend({
+
+	initialize: function(el, options){
+		this.element = $(el).setStyle('margin', 0);
+		this.wrapper = new Element('div').injectAfter(this.element).setStyle('overflow', 'hidden').adopt(this.element);
+		this.setOptions({'mode': 'vertical'}, options);
+		this.now = [];
+		this.parent(this.options);
+	},
+
+	setNow: function(){
+		for (var i = 0; i < 2; i++) this.now[i] = this.compute(this.from[i], this.to[i]);
+	},
+
+	vertical: function(){
+		this.margin = 'top';
+		this.layout = 'height';
+		this.offset = this.element.offsetHeight;
+		return [this.element.getStyle('margin-top').toInt(), this.wrapper.getStyle('height').toInt()];
+	},
+
+	horizontal: function(){
+		this.margin = 'left';
+		this.layout = 'width';
+		this.offset = this.element.offsetWidth;
+		return [this.element.getStyle('margin-left').toInt(), this.wrapper.getStyle('width').toInt()];
+	},
+
+	/*
+	Property: slideIn
+		slides the elements in view horizontally or vertically, depending on the mode parameter or options.mode.
+	*/
+
+	slideIn: function(mode){
+		return this.start(this[mode || this.options.mode](), [0, this.offset]);
+	},
+
+	/*
+	Property: slideOut
+		slides the elements out of the view horizontally or vertically, depending on the mode parameter or options.mode.
+	*/
+
+	slideOut: function(mode){
+		return this.start(this[mode || this.options.mode](), [-this.offset, 0]);
+	},
+
+	/*
+	Property: hide
+		Hides the element without a transition.
+	*/
+
+	hide: function(mode){
+		this[mode || this.options.mode]();
+		return this.set([-this.offset, 0]);
+	},
+
+	/*
+	Property: show
+		Shows the element without a transition.
+	*/
+
+	show: function(mode){
+		this[mode || this.options.mode]();
+		return this.set([0, this.offset]);
+	},
+
+	/*
+	Property: toggle
+		Slides in or Out the element, depending on its state
+	*/
+
+	toggle: function(mode){
+		if (this.wrapper.offsetHeight == 0 || this.wrapper.offsetWidth == 0) return this.slideIn(mode);
+		else return this.slideOut(mode);
+	},
+
+	increase: function(){
+		this.element.setStyle('margin-'+this.margin, this.now[0]+this.options.unit);
+		this.wrapper.setStyle(this.layout, this.now[1]+this.options.unit);
+	}
+
+});
+
+/*
+Script: Fx.Transitions.js
+	Cool transitions, to be used with all the effects.
+
+Author:
+	Robert Penner, <http://www.robertpenner.com/easing/>, modified to be used with mootools.
+
+License:
+	Easing Equations v1.5, (c) 2003 Robert Penner, all rights reserved. Open Source BSD License.
+*/
+
+/*
+Class: Fx.Transitions
+	A collection of tweaning transitions for use with the <Fx.Base> classes.
+*/
+
+Fx.Transitions = {
+
+	/* Property: linear */
+	linear: function(t, b, c, d){
+		return c*t/d + b;
+	},
+
+	/* Property: quadIn */
+	quadIn: function(t, b, c, d){
+		return c*(t/=d)*t + b;
+	},
+
+	/* Property: quatOut */
+	quadOut: function(t, b, c, d){
+		return -c *(t/=d)*(t-2) + b;
+	},
+
+	/* Property: quadInOut */
+	quadInOut: function(t, b, c, d){
+		if ((t/=d/2) < 1) return c/2*t*t + b;
+		return -c/2 * ((--t)*(t-2) - 1) + b;
+	},
+
+	/* Property: cubicIn */
+	cubicIn: function(t, b, c, d){
+		return c*(t/=d)*t*t + b;
+	},
+
+	/* Property: cubicOut */
+	cubicOut: function(t, b, c, d){
+		return c*((t=t/d-1)*t*t + 1) + b;
+	},
+
+	/* Property: cubicInOut */
+	cubicInOut: function(t, b, c, d){
+		if ((t/=d/2) < 1) return c/2*t*t*t + b;
+		return c/2*((t-=2)*t*t + 2) + b;
+	},
+
+	/* Property: quartIn */
+	quartIn: function(t, b, c, d){
+		return c*(t/=d)*t*t*t + b;
+	},
+
+	/* Property: quartOut */
+	quartOut: function(t, b, c, d){
+		return -c * ((t=t/d-1)*t*t*t - 1) + b;
+	},
+
+	/* Property: quartInOut */
+	quartInOut: function(t, b, c, d){
+		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
+		return -c/2 * ((t-=2)*t*t*t - 2) + b;
+	},
+
+	/* Property: quintIn */
+	quintIn: function(t, b, c, d){
+		return c*(t/=d)*t*t*t*t + b;
+	},
+
+	/* Property: quintOut */
+	quintOut: function(t, b, c, d){
+		return c*((t=t/d-1)*t*t*t*t + 1) + b;
+	},
+
+	/* Property: quintInOut */
+	quintInOut: function(t, b, c, d){
+		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
+		return c/2*((t-=2)*t*t*t*t + 2) + b;
+	},
+
+	/* Property: sineIn */
+	sineIn: function(t, b, c, d){
+		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
+	},
+
+	/* Property: sineOut */
+	sineOut: function(t, b, c, d){
+		return c * Math.sin(t/d * (Math.PI/2)) + b;
+	},
+
+	/* Property: sineInOut */
+	sineInOut: function(t, b, c, d){
+		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
+	},
+
+	/* Property: expoIn */
+	expoIn: function(t, b, c, d){
+		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
+	},
+
+	/* Property: expoOut */
+	expoOut: function(t, b, c, d){
+		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
+	},
+
+	/* Property: expoInOut */
+	expoInOut: function(t, b, c, d){
+		if (t==0) return b;
+		if (t==d) return b+c;
+		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
+		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
+	},
+
+	/* Property: circIn */
+	circIn: function(t, b, c, d){
+		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
+	},
+
+	/* Property: circOut */
+	circOut: function(t, b, c, d){
+		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
+	},
+
+	/* Property: circInOut */
+	circInOut: function(t, b, c, d){
+		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
+		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
+	},
+
+	/* Property: elasticIn */
+	elasticIn: function(t, b, c, d, a, p){
+		if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (!a) a = 1;
+		if (a < Math.abs(c)){ a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin(c/a);
+		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+	},
+
+	/* Property: elasticOut */
+	elasticOut: function(t, b, c, d, a, p){
+		if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (!a) a = 1;
+		if (a < Math.abs(c)){ a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin(c/a);
+		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+	},
+
+	/* Property: elasticInOut */
+	elasticInOut: function(t, b, c, d, a, p){
+		if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); if (!a) a = 1;
+		if (a < Math.abs(c)){ a=c; var s=p/4; }
+		else var s = p/(2*Math.PI) * Math.asin(c/a);
+		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
+	},
+
+	/* Property: backIn */
+	backIn: function(t, b, c, d, s){
+		if (!s) s = 1.70158;
+		return c*(t/=d)*t*((s+1)*t - s) + b;
+	},
+
+	/* Property: backOut */
+	backOut: function(t, b, c, d, s){
+		if (!s) s = 1.70158;
+		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+	},
+
+	/* Property: backInOut */
+	backInOut: function(t, b, c, d, s){
+		if (!s) s = 1.70158;
+		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
+		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+	},
+
+	/* Property: bounceIn */
+	bounceIn: function(t, b, c, d){
+		return c - Fx.Transitions.bounceOut (d-t, 0, c, d) + b;
+	},
+
+	/* Property: bounceOut */
+	bounceOut: function(t, b, c, d){
+		if ((t/=d) < (1/2.75)){
+			return c*(7.5625*t*t) + b;
+		} else if (t < (2/2.75)){
+			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
+		} else if (t < (2.5/2.75)){
+			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
+		} else {
+			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
+		}
+	},
+
+	/* Property: bounceInOut */
+	bounceInOut: function(t, b, c, d){
+		if (t < d/2) return Fx.Transitions.bounceIn(t*2, 0, c, d) * .5 + b;
+		return Fx.Transitions.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
+	}
+
+};
+
+/*
+Script: Drag.Base.js
+	Contains <Drag.Base>, <Element.makeResizable>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+var Drag = {};
+
+/*
+Class: Drag.Base
+	Modify two css properties of an element based on the position of the mouse.
+
+Arguments:
+	el - the $(element) to apply the transformations to.
+	options - optional. The options object.
+
+Options:
+	handle - the $(element) to act as the handle for the draggable element. defaults to the $(element) itself.
+	modifiers - an object. see Modifiers Below.
+	onStart - optional, function to execute when the user starts to drag (on mousedown);
+	onComplete - optional, function to execute when the user completes the drag.
+	onDrag - optional, function to execute at every step of the drag
+	limit - an object, see Limit below.
+	snap - optional, the distance you have to drag before the element starts to respond to the drag. defaults to false
+
+	modifiers:
+		x - string, the style you want to modify when the mouse moves in an horizontal direction. defaults to 'left'
+		y - string, the style you want to modify when the mouse moves in a vertical direction. defaults to 'top'
+
+	limit:
+		x - array with start and end limit relative to modifiers.x
+		y - array with start and end limit relative to modifiers.y
+*/
+
+Drag.Base = new Class({
+
+	getOptions: function(){
+		return {
+			handle: false,
+			unit: 'px',
+			onStart: Class.empty, 
+			onComplete: Class.empty,
+			onSnap: Class.empty,
+			onDrag: Class.empty,
+			limit: false,
+			modifiers: {x: 'left', y: 'top'},
+			snap: 6
+		};
+	},
+
+	initialize: function(el, options){
+		this.setOptions(this.getOptions(), options);
+		this.element = $(el);
+		this.handle = $(this.options.handle) || this.element;
+		this.mouse = {'now': {}, 'pos': {}};
+		this.value = {'start': {}, 'now': {}};
+		this.bound = {'start': this.start.bindWithEvent(this)};
+		this.handle.addEvent('mousedown', this.bound.start);
+		if (this.options.initialize) this.options.initialize.call(this);
+	},
+
+	start: function(event){
+		this.mouse.start = event.page;
+		var limit = this.options.limit;
+		this.limit = {'x': [], 'y': []};
+		for (var z in this.options.modifiers){
+			this.value.now[z] = this.element.getStyle(this.options.modifiers[z]).toInt();
+			this.mouse.pos[z] = event.page[z] - this.value.now[z];
+			if (limit && limit[z]){
+				for (var i = 0; i < 2; i++){
+					if ($chk(limit[z][i])) this.limit[z][i] = limit[z][i].apply ? limit[z][i].call(this) : limit[z][i];
+				}
+			}
+		}
+		this.bound.drag = this.drag.bindWithEvent(this);
+		this.bound.checkAndDrag = this.checkAndDrag.bindWithEvent(this);
+		this.bound.stop = this.stop.bind(this);
+		document.addEvent('mousemove', this.options.snap ? this.bound.checkAndDrag : this.bound.drag);
+		document.addEvent('mouseup', this.bound.stop);
+		this.fireEvent('onStart', this.element);
+		event.stop();
+	},
+
+	checkAndDrag: function(event){
+		var distance = Math.round(Math.sqrt(Math.pow(event.page.x - this.mouse.start.x, 2) + Math.pow(event.page.y - this.mouse.start.y, 2)));
+		if (distance > this.options.snap){
+			document.removeEvent('mousemove', this.bound.checkAndDrag);
+			document.addEvent('mousemove', this.bound.drag);
+			this.drag(event);
+			this.fireEvent('onSnap', this.element);
+		}
+		event.stop();
+	},
+
+	drag: function(event){
+		this.out = false;
+		this.mouse.now = event.page;
+		for (var z in this.options.modifiers){
+			this.value.now[z] = event.page[z] - this.mouse.pos[z];
+			if (this.limit[z]){
+				if ($chk(this.limit[z][1]) && (this.value.now[z] > this.limit[z][1])){
+					this.value.now[z] = this.limit[z][1];
+					this.out = true;
+				} else if ($chk(this.limit[z][0]) && (this.value.now[z] < this.limit[z][0])){
+					this.value.now[z] = this.limit[z][0];
+					this.out = true;
+				}
+			}
+			this.element.setStyle(this.options.modifiers[z], this.value.now[z] + this.options.unit);
+		}
+		this.fireEvent('onDrag', this.element);
+		event.stop();
+	},
+	
+	detach: function(){
+		this.handle.removeEvent('mousedown', this.bound.start);
+	},
+
+	stop: function(){
+		document.removeEvent('mousemove', this.bound.drag);
+		document.removeEvent('mouseup', this.bound.stop);
+		this.fireEvent('onComplete', this.element);
+	}
+
+});
+
+Drag.Base.implement(new Events);
+Drag.Base.implement(new Options);
+
+/*
+Class: Element
+	Custom class to allow all of its methods to be used with any DOM element via the dollar function <$>.
+*/
+
+Element.extend({
+
+	/*
+	Property: makeResizable
+		Makes an element resizable (by dragging) with the supplied options.
+
+	Arguments:
+		options - see <Drag.Base> for acceptable options.
+	*/
+
+	makeResizable: function(options){
+		return new Drag.Base(this, Object.extend(options || {}, {modifiers: {x: 'width', y: 'height'}}));
+	}
+
+});
+
+/*
+Script: Scroller.js
+	Contains the <Scroller>.
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Scroller
+	The Scroller is a class to scroll any element with an overflow (including the window) when the mouse cursor reaches certain buondaries of that element.
+	You must call its start method to start listening to mouse movements.
+
+Arguments:
+	element - required, the element to scroll.
+	options - optional, see options below, and <Fx.Base> options.
+
+Options:
+	area - integer, the necessary boundaries to make the element scroll.
+	velocity - integer, velocity ratio, the modifier for the window scrolling speed.
+	onChange - optionally, when the mouse reaches some boundaries, you can choose to alter some other values, instead of the scrolling offsets.
+		Automatically passes as parameters x and y values.
+*/
+
+var Scroller = new Class({
+
+	getOptions: function(){
+		return {
+			area: 20,
+			velocity: 1,
+			onChange: function(x, y){
+				this.element.scrollTo(x, y);
+			}
+		};
+	},
+
+	initialize: function(element, options){
+		this.setOptions(this.getOptions(), options);
+		this.element = $(element);
+		this.mousemover = ([window, document].test(element)) ? $(document.body) : this.element;
+	},
+
+	/*
+	Property: start
+		The scroller starts listening to mouse movements.
+	*/
+
+	start: function(){
+		this.coord = this.getCoords.bindWithEvent(this);
+		this.mousemover.addEvent('mousemove', this.coord);
+	},
+
+	/*
+	Property: stop
+		The scroller stops listening to mouse movements.
+	*/
+
+	stop: function(){
+		this.mousemover.removeEvent('mousemove', this.coord);
+		this.timer = $clear(this.timer);
+	},
+
+	getCoords: function(event){
+		this.page = (this.element == window) ? event.client : event.page;
+		if (!this.timer) this.timer = this.scroll.periodical(50, this);
+	},
+
+	scroll: function(){
+		var el = this.element.getSize();
+		var pos = this.element.getOffsets();
+
+		var change = {'x': 0, 'y': 0};
+		for (var z in this.page){
+			if (this.page[z] < (this.options.area + pos[z]) && el.scroll[z] != 0)
+				change[z] = (this.page[z] - this.options.area - pos[z]) * this.options.velocity;
+			else if (this.page[z] + this.options.area > (el.size[z] + pos[z]) && el.scroll[z] + el.size[z] != el.scrollSize[z])
+				change[z] = (this.page[z] - el.size[z] + this.options.area - pos[z]) * this.options.velocity;
+		}
+		if (change.y || change.x) this.fireEvent('onChange', [el.scroll.x + change.x, el.scroll.y + change.y]);
+	}
+
+});
+
+Scroller.implement(new Events);
+Scroller.implement(new Options);
+
+/*
+Script: Slider.js
+	Contains <Slider>
+
+Author:
+	Valerio Proietti, <http://mad4milk.net>
+
+License:
+	MIT-style license.
+*/
+
+/*
+Class: Slider
+	Creates a slider with two elements: a knob and a container. Returns the values.
+
+Arguments:
+	element - the knob container
+	knob - the handle
+	options - see Options below
+
+Options:
+	onChange - a function to fire when the value changes.
+	onComplete - a function to fire when you're done dragging.
+	onTick - optionally, you can alter the onTick behavior, for example displaying an effect of the knob moving to the desired position. 
+		Passes as parameter the new position.
+	steps - the number of steps for your slider.
+	mode - either 'horizontal' or 'vertical'. defaults to horizontal.
+	wheel - experimental! Also use the mouse wheel to control the slider. defaults to false.
+*/
+
+var Slider = new Class({
+
+	getOptions: function(){
+		return {
+			onChange: Class.empty,
+			onComplete: Class.empty,
+			onTick: function(pos){
+				this.knob.setStyle(this.p, pos+'px');
+			},
+			steps: 100,
+			mode: 'horizontal',
+			wheel: false
+		};
+	},
+
+	initialize: function(el, knob, options){
+		this.element = $(el);
+		this.knob = $(knob);
+		this.setOptions(this.getOptions(), options);
+
+		this.previousChange = -1;
+		this.previousEnd = -1;
+		this.step = -1;
+
+		this.element.addEvent('mousedown', this.clickedElement.bindWithEvent(this));
+
+		if (this.options.wheel) this.element.addEvent('mousewheel', this.scrolledElement.bindWithEvent(this));
+
+		if (this.options.mode == 'horizontal'){
+			this.z = 'x'; this.p = 'left';
+			this.max = this.element.offsetWidth-this.knob.offsetWidth;
+			this.half = this.knob.offsetWidth/2;
+			this.getPos = this.element.getLeft.bind(this.element);
+		} else if (this.options.mode == 'vertical'){
+			this.z = 'y'; this.p = 'top';
+			this.max = this.element.offsetHeight-this.knob.offsetHeight;
+			this.half = this.knob.offsetHeight/2;
+			this.getPos = this.element.getTop.bind(this.element);
+		}
+
+		this.knob.setStyle('position', 'relative').setStyle(this.p, 0);
+
+		var modSlide = {}, limSlide = {};
+
+		limSlide[this.z] = [0, this.max];
+		modSlide[this.z] = this.p;
+
+		this.drag = new Drag.Base(this.knob, {
+			limit: limSlide,
+			snap: 0,
+			modifiers: modSlide,
+			onStart: function(){
+				this.draggedKnob();
+			}.bind(this),
+			onDrag: function(){
+				this.draggedKnob();
+			}.bind(this),
+			onComplete: function(){
+				this.draggedKnob();
+				this.end();
+			}.bind(this)
+		});
+		if (this.options.initialize) this.options.initialize.call(this);
+	},
+
+	/*
+	Property: set
+		The slider will get the step you pass.
+
+	Arguments:
+		step - one integer
+	*/
+
+	set: function(step){
+		if (step > this.options.steps) step = this.options.steps;
+		else if (step < 0) step = 0;
+		this.step = step;
+		this.checkStep();
+		this.end();
+		this.fireEvent('onTick', this.toPosition(this.step)+'');
+		return this;
+	},
+
+	scrolledElement: function(event){
+		if (event.wheel < 0) this.set(this.step + 1);
+		else if (event.wheel > 0) this.set(this.step - 1);
+		event.stop();
+	},
+
+	clickedElement: function(event){
+		var position = event.page[this.z] - this.getPos() - this.half;
+		if (position > this.max) position = this.max;
+		else if (position < 0) position = 0;
+		this.step = this.toStep(position);
+		this.checkStep();
+		this.end();
+		this.fireEvent('onTick', position+'');
+	},
+
+	draggedKnob: function(){
+		this.step = this.toStep(this.drag.value.now[this.z]);
+		this.checkStep();
+	},
+
+	checkStep: function(){
+		if (this.previousChange != this.step){
+			this.previousChange = this.step;
+			this.fireEvent('onChange', this.step);
+		}
+	},
+
+	end: function(){
+		if (this.previousEnd !== this.step){
+			this.previousEnd = this.step;
+			this.fireEvent('onComplete', this.step+'');
+		}
+	},
+
+	toStep: function(position){
+		return Math.round(position/this.max*this.options.steps);
+	},
+
+	toPosition: function(step){
+		return (this.max)*step/this.options.steps;
+	}
+
+});
+
+Slider.implement(new Events);
+Slider.implement(new Options);
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/news-sticker.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/news-sticker.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/news-sticker.js	(revision 198)
@@ -0,0 +1,67 @@
+/*
+*
+* Copyright (c) 2006 Sam Collett (http://www.texotela.co.uk)
+* Licensed under the MIT License:
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+/*
+* Un affichage d'actus simple
+*
+* @nom     newsticker (ou newsTicker)
+* @param    delay      Delai (en millisecondes) entre les iterations. Par default 4 secondes (4000ms)
+* @autheur   Sam Collett (http://www.texotela.co.uk)
+* @adaptation Allergie aka Philippe Auriol
+* @exemple  $("#news").newsticker(); // ou jQuery("#news").newsticker(5000);
+*
+*/
+jQuery.fn.newsTicker = jQuery.fn.newsticker = function(delay)
+{
+        return this.each(
+                function()
+                {
+                        if(this.nodeName.toLowerCase()!= "ul") return;
+                        delay = delay || 6000;
+                        var self = this;
+                        self.items = jQuery("li", self);
+                        // cache tous les items (sauf le premier)
+                        self.items.not(":eq(0)").hide().end();
+                        //  item courant
+                        self.currentitem = 0;
+                        var doTick = function()
+                        {
+                                jQuery.newsticker(self);
+                        }
+                        setInterval(doTick,delay);
+                }
+        )
+        .addClass("newsticker")
+        .hover(
+                function()
+                {
+                        // se met en pause si on passe la souris dessus
+                        this.pause = true;
+                },
+                function()
+                {
+                        // stop la pause quand on enleve la souris de l'item
+                        this.pause = false;
+                }
+        );
+}
+jQuery.newsticker = function(el)
+{
+        // retour si la souris passe dessus
+        if(el.pause) return;
+        // cache l'item courant
+        jQuery(el.items[el.currentitem]).fadeOut("slow",
+                function()
+                {
+                        jQuery(this).hide();
+                        // passe a l'objet suivant et le montre
+                        el.currentitem = ++el.currentitem % (el.items.size());
+                        jQuery(el.items[el.currentitem]).fadeIn("slow");
+                }
+        );
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/pngfix.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/pngfix.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/pngfix.js	(revision 198)
@@ -0,0 +1,39 @@
+/*
+ 
+Correctly handle PNG transparency in Win IE 5.5 & 6.
+http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
+
+Use in <HEAD> with DEFER keyword wrapped in conditional comments:
+<!--[if lt IE 7]>
+<script defer type="text/javascript" src="pngfix.js"></script>
+<![endif]-->
+
+*/
+
+var arVersion = navigator.appVersion.split("MSIE")
+var version = parseFloat(arVersion[1])
+
+if ((version >= 5.5) && (document.body.filters)) 
+{
+   for(var i=0; i<document.images.length; i++)
+   {
+      var img = document.images[i]
+      var imgName = img.src.toUpperCase()
+      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
+      {
+         var imgID = (img.id) ? "id='" + img.id + "' " : ""
+         var imgClass = (img.className) ? "class='" + img.className + "' " : ""
+         var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
+         var imgStyle = "display:inline-block;" + img.style.cssText 
+         if (img.align == "left") imgStyle = "float:left;" + imgStyle
+         if (img.align == "right") imgStyle = "float:right;" + imgStyle
+         if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
+         var strNewHTML = "<span " + imgID + imgClass + imgTitle
+         + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+         + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+         + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
+         img.outerHTML = strNewHTML
+         i = i-1
+      }
+   }
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/quickSearch.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/quickSearch.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/quickSearch.js	(revision 198)
@@ -0,0 +1,275 @@
+jQuery.fn.quicksearch = function (options) {
+	
+	this.timeout = null;
+	
+	this.settings = $.extend({
+		
+		position: 'prepend',
+		attached: 'body',
+		formId: 'quicksearch',
+		labelText: 'Quick Search',
+		labelClass: 'qs_label',
+		inputText: null,
+		inputClass: 'qs_input',
+		loaderId: 'loader',
+		loaderClass: 'loader',
+		loaderImg: null,
+		loaderText: 'Loading...',
+		stripeRowClass: null,
+		hideElement: null,
+		delay: 500,
+		focusOnLoad: false,
+		randomElement: 'qs'+Math.floor(Math.random()*1000000)
+	}, options || {});
+	
+	var el 		= this;
+		
+	var form1 	= new jQuery._form(this.settings);
+	var key1	= new jQuery._key(this.settings);
+	var loader	= new jQuery._loader(this.settings);
+	var stripes = new jQuery._stripe(this.settings.stripeRowClass);	
+	
+	form1.initialize();
+	loader.setTo('hide');	
+	
+	if(this.settings.stripeRowClass != null) {
+		$(el).each(function () {			
+			if(el.settings.hideElement == "grandparent") {
+				stripes.go(this.parentNode.parentNode);
+			} else if (el.settings.hideElement == "parent") {
+				stripes.go(this.parentNode);
+			} else {
+				stripes.go(this);
+			}
+		})
+		stripes.reset();
+	}		
+	
+	$('form.quicksearch').submit( function () { return false; });
+	
+	$('input[@rel="'+this.settings.randomElement+'"]').keydown(function(e) {
+		switch(e.keyCode) {
+			case 9: 
+			case 13:
+			case 38: 
+			case 40:
+				e.preventDefault();
+				break;
+			default:
+				clearTimeout(this.timeout);				
+			
+				this.timeout = setTimeout(function () {
+						loader.setTo('show');
+						setTimeout( function () {
+						
+							key1.setKey();
+							
+							$(el).each( function () {
+							
+								if(el.settings.hideElement == "grandparent") {
+									var hide = $(this).parent().parent();
+								} else if (el.settings.hideElement == "parent") {
+									var hide = $(this).parent();
+								} else {
+									var hide = $(this)
+								}
+							
+								if(key1.test(this)) {
+											
+									$(hide).show();
+								} else {
+									$(hide).hide();
+								}	
+								if(el.settings.stripeRowClass != null) {									
+									if(el.settings.hideElement == "grandparent") {
+										stripes.go(this.parentNode.parentNode);
+									} else if (el.settings.hideElement == "parent") {
+										stripes.go(this.parentNode);
+									} else {
+										stripes.go(this);
+									}
+								}				
+							});						
+							stripes.reset();
+						}, el.settings.delay);						
+						setTimeout( function () { 
+							loader.setTo('hide');
+						}, el.settings.delay);			
+				}, el.settings.delay);
+				break;
+		}
+	});
+
+	
+	
+	
+}
+
+
+jQuery._key = function (set) {
+	
+	this.key = "";
+	this.settings = set;
+	this.getKey = function ()  {
+		return this.key;
+	};
+	this.setKey = function () {
+		var input = $('input[@rel="'+this.settings.randomElement+'"]').val();
+		var string = input.replace(/\s{2,}/g, " ").toLowerCase();
+		var arr = string.split(" ");
+		for(var i in arr) {
+			var regexp = new RegExp(/([^A-Za-z0-9])/gi);
+			if(arr[i] == "") {
+				arr.splice(i,1);
+			}
+		}
+		this.key = arr;
+	};
+	this.test = function (el) {
+		if( this.getKey() == '' ) {
+			return true;
+		} else {			
+			var searchStrings = this.getKey();
+			var text = $._stripHtml( $(el).html() );	
+			for (var i = 0; i < searchStrings.length; i++) {
+				var test = text.indexOf(searchStrings[i]);	
+				if (test == -1) {	
+					return false;
+				}
+			}			
+			return true;
+		}
+	}	
+}
+
+jQuery._form = function (set) {	
+	
+	this.settings = set;
+	
+	this.initialize = function () {
+		this.placeForm();
+		if(this.settings.focusOnLoad) {
+			this.focusOnLoad();
+		}
+		if(this.settings.inputText != "" && this.settings.inputText != null) {
+			this.toggleText();
+		}
+	};
+	this.placeForm = function () {
+		var formPosition 	= this.settings.position;
+		var formAttached 	= this.settings.attached;
+					
+		if(formPosition == 'before') {
+			$(formAttached).before( jQuery._makeForm(this.settings) );
+		} else if(formPosition == 'prepend') {
+			$(formAttached).prepend( jQuery._makeForm(this.settings) );
+		} else if(formPosition == 'append') {
+			$(formAttached).append( jQuery._makeForm(this.settings) );
+		} else {
+			$(formAttached).after( jQuery._makeForm(this.settings) );
+		}
+	};
+	this.focusOnLoad = function () {
+		$('input[@rel="'+this.settings.randomElement+'"]').get(0).focus();
+	};
+	this.toggleText = function () {
+		var el = this;
+		$('input[@rel="'+this.settings.randomElement+'"]').focus(function () {
+			if($(this).val() == el.settings.inputText) {
+				$(this).val('');
+			}
+		}),
+		$('input[@rel="'+this.settings.randomElement+'"]').blur(function () {
+			if($(this).val() == "") {
+				$(this).val(el.settings.inputText);
+			}
+		})
+	};	
+};
+
+jQuery._loader = function (set) {
+	this.settings = set;
+	this.setTo = function (to) {
+		if(this.settings.loaderId) {
+			if(to == 'hide') {
+				$('input[@rel="'+this.settings.randomElement+'"]').parent().find('.loader').hide();
+			} else {
+				$('input[@rel="'+this.settings.randomElement+'"]').parent().find('.loader').show();
+			}			
+		}
+	}
+}
+
+jQuery._makeForm = function (set) {
+	this.settings = set;
+	this.mform = function () {
+		return '<form action="#" ' + 
+						'id="'+ this.settings.formId + '" ' +
+						'class="quicksearch">' +
+						this.mlabel() +
+						this.minput() +
+						this.mloader() +		
+						'</form>';
+	};
+	this.mlabel = function () {
+		if(!this.isEmpty(this.settings.labelText)) {
+			return '<label for="' + this.settings.inputId + '" '+
+						'class="' + this.settings.labelClass + '">'
+						+ this.settings.labelText
+						+ '</label> ';	
+		}
+		return '';
+	};
+	this.minput = function () {			
+		var val = (!this.isEmpty(this.settings.inputText)) ? this.settings.inputText : ""
+		return '<input type="text" ' +
+					'value="' + val + '" ' + 
+					'rel="' + this.settings.randomElement  + '" ' +
+					'class="' + this.settings.inputClass + '" ' +
+					'/> ';	
+	};
+	this.mloader = function () {
+		if(!this.isEmpty(this.settings.loaderImg)) {
+			return '<img src="' + this.settings.loaderImg + '" alt="Loading" id="' + this.settings.loaderId + '" class="' + this.settings.loaderClass + '" />';
+		} else {
+			return '<span id="' + this.settings.loaderId + '" class="' + this.settings.loaderClass + '">' + this.settings.loaderText + '</span>';
+		}
+	};
+	this.isEmpty = function (input) {
+		return (input == null || input == undefined || input == '' || input == 0) ? true: false;
+	};
+	return this.mform();
+}
+
+jQuery._stripHtml = function (input) {
+	var regexp = new RegExp( /\<[^\<]+\>/g );
+	var output = input.replace(regexp, "");
+	output = output.toLowerCase();
+	return output;
+}
+
+jQuery._stripe = function (set) {
+	this.i = 0;
+	this.set = set;
+	this.go = function (el) {
+		this.removeClasses(el);
+		if(el.getAttribute('style') != "display: none;") {				
+			$(el).addClass(this.set[this.i%this.set.length]);
+			this.i += 1;
+		}
+	}; 
+	this.removeClasses = function (el) {
+		for(var j = 0; j < this.set.length; j++) {
+			if(this.i%this.set.length != j) {
+				$(el).removeClass(this.set[j]);
+			}
+		}
+	};
+	this.reset = function () {
+		this.i = 0;
+	}
+}
+
+
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/selecteur_priv.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/selecteur_priv.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/selecteur_priv.js	(revision 198)
@@ -0,0 +1,23 @@
+var icone_haut;
+var icone_bas;
+
+$(document).ready(function(){
+ if ($(".fleche").length){
+  icone_haut = $(".fleche")[0].getAttribute('src');
+  icone_bas = icone_haut.replace(/deplierhaut\.gif/, 'deplierbas.gif');
+ }
+});
+
+function montrer_item(leitem) {
+	jQuery(leitem).toggle(); 	
+}
+
+function deplier_contenu(elem) {
+  if ($(elem).attr("src") == icone_haut) {
+    $(elem).attr({src: icone_bas});
+    $(elem).siblings("ul").css({display: "block"});
+  } else {
+    $(elem).attr({src: icone_haut});
+    $(elem).siblings("ul").css({display: "none"});
+  }
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/slightbox.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/slightbox.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/slightbox.js	(revision 198)
@@ -0,0 +1,377 @@
+/* All code copyright 2007 Taras Mankovski */
+/* email: tarasm@gmail.com */
+/* website: http://www.oscandy.com/author/taras */
+
+// This class adds lightbox functionality to smoothgallery
+gallery = gallery.extend({
+	initialize: function(element, options) {
+		this.parent(element, options);
+		this.addEvent('onPopulated', this.makeLink.bind(this));
+		if (options.lightbox) this.lightbox = new lightboxforsmoothgallery(this.galleryData, {});
+	},
+	populateData: function() {
+		currentArrayPlace = this.galleryData.length;
+		options = this.options;
+		data = this.galleryData;
+		this.galleryElement.getElements(options.elementSelector).each(function(el) {
+			elementDict = {
+				imagepath: el.getElement(options.linkSelector).getProperty('href'),
+				image: el.getElement(options.imageSelector).getProperty('src'),
+				number: currentArrayPlace
+			};
+			if ((options.showInfopane) | (options.showCarousel))
+				Object.extend(elementDict, {
+					title: el.getElement(options.titleSelector).innerHTML,
+					description: el.getElement(options.subtitleSelector).innerHTML
+				});
+			if (options.embedLinks)
+				Object.extend(elementDict, {
+					link: el.getElement(options.linkSelector).href||false,
+					linkTitle: el.getElement(options.linkSelector).title||false
+				});
+			if ((!options.useThumbGenerator) && (options.showCarousel))
+				Object.extend(elementDict, {
+					thumbnail: el.getElement(options.thumbnailSelector).src
+				});
+			else if (options.useThumbGenerator)
+				Object.extend(elementDict, {
+					thumbnail: 'resizer.php?imgfile=' + elementDict.image + '&max_width=' + options.thumbWidth + '&max_height=' + options.thumbHeight
+				});
+			
+			data[currentArrayPlace] = elementDict;
+			currentArrayPlace++;
+			if (this.options.destroyAfterPopulate)
+				el.remove();
+		});
+		this.galleryData = data;
+		this.fireEvent('onPopulated');
+	},
+	makeLink: function (num) {
+		this.currentLink.setProperties({
+			href: this.galleryData[num].link,
+			title: this.galleryData[num].linkTitle
+		})
+		if (options.lightbox) this.currentLink.onclick = this.lightbox.open.pass(num, this.lightbox);
+		if (!((this.options.embedLinks) && (!this.options.showArrows) && (!this.options.showCarousel)))
+			this.currentLink.setStyle('display', 'block');	
+	}
+});
+
+/*
+	Slimbox v1.22 - The ultimate lightweight Lightbox clone
+	by Christophe Beyls (http://www.digitalia.be) - MIT-style license.
+	Inspired by the original Lightbox v2 by Lokesh Dhakar.
+*/
+
+var Lightbox = new Class({
+	
+	initialize: function(options) {
+		this.options = Object.extend({
+			resizeDuration: 400,		// Duration of height and width resizing (ms)
+			initialWidth: 250,		// Initial width of the box (px)
+			initialHeight: 250,		// Initial height of the box (px)
+			animateCaption: true		// Enable/Disable caption animation
+		}, options || {});
+		this.anchors = [];
+		$A(document.getElementsByTagName('a')).each(function(el){
+			if(el.rel && el.href && el.rel.test('^lightbox', 'i')) {
+				el.onclick = this.click.pass(el, this);
+				this.anchors.push(el);
+			}
+		}, this);
+
+		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
+		this.eventPosition = this.position.bind(this);
+
+		this.buildbox();
+
+		var nextEffect = this.nextEffect.bind(this);
+		this.fx = {
+			overlay: this.overlay.effect('opacity', { duration: 500 }).hide(),
+			resize: this.center.effects({ duration: this.options.resizeDuration, onComplete: nextEffect }),
+			image: this.image.effect('opacity', { duration: 500, onComplete: nextEffect }),
+			bottom: this.bottom.effects({ duration: 400, onComplete: nextEffect })
+		};
+		
+		this.preloadPrev = new Image();
+		this.preloadNext = new Image();
+	},
+	buildbox : function () {
+		this.overlay = new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);	
+		this.center = new Element('div').setProperty('id', 'lbCenter').setStyles({width: this.options.initialWidth+'px', height: this.options.initialHeight+'px', marginLeft: '-'+(this.options.initialWidth/2)+'px', display: 'none'}).injectInside(document.body);
+		this.image = new Element('div').setProperty('id', 'lbImage').injectInside(this.center);
+		this.prevLink = new Element('a').setProperties({id: 'lbPrevLink', href: '#'}).setStyle('display', 'none').injectInside(this.image);
+		this.nextLink = this.prevLink.clone().setProperty('id', 'lbNextLink').injectInside(this.image);
+		this.prevLink.onclick = this.previous.bind(this);
+		this.nextLink.onclick = this.next.bind(this);
+	
+		this.bottom = new Element('div').setProperty('id', 'lbBottom').setStyle('display', 'none').injectInside(document.body);
+		new Element('a').setProperties({id: 'lbCloseLink', href: '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
+		this.number = new Element('div').setProperty('id', 'lbNumber').injectInside(this.bottom);
+		this.caption = new Element('div').setProperty('id', 'lbCaption').injectInside(this.bottom);
+		new Element('div').setStyle('clear', 'both').injectInside(this.bottom);
+	},
+	click: function(link) {
+		if(link.rel.length == 8) {
+			return this.show(link.href, link.title);
+		}
+		var j, imageNum, images = [];
+		this.anchors.each(function(el){
+			if(el.rel == link.rel) {
+				for(j = 0; j < images.length; j++)
+					if(images[j][0] == el.href) break;
+				if(j == images.length) {			
+					images.push([el.href, el.title]);
+					if(el.href == link.href) imageNum = j;
+				}
+			}
+		}, this);
+		return this.open(images, imageNum);
+	},
+
+	show: function(url, title) {
+		return this.open([[url, title]], 0);
+	},
+
+	open: function(images, imageNum) {
+		this.images = images;
+		this.position();
+		this.setup(true);
+		this.top = Window.getScrollTop() + (Window.getHeight() / 15);
+		this.center.setStyles({top: this.top+'px', display: ''});
+		this.fx.overlay.custom(0.8);
+		return this.changeImage(imageNum);
+	},
+
+	position: function() {
+		this.overlay.setStyles({top: Window.getScrollTop()+'px', height: Window.getHeight()+'px'});
+	},
+
+	setup: function(open) {
+		var elements = $A(document.getElementsByTagName('object'));
+		elements.extend(document.getElementsByTagName(window.ActiveXObject ? 'select' : 'embed'));
+		elements.each(function(el){ el.style.visibility = open ? 'hidden' : ''; });
+		var fn = open ? 'addEvent' : 'removeEvent';
+		window[fn]('scroll', this.eventPosition)[fn]('resize', this.eventPosition);
+		document[fn]('keydown', this.eventKeyDown);
+		this.step = 0;
+	},
+
+	keyboardListener: function(event) {
+		switch(event.keyCode) {
+			case 27: case 88: case 67: this.close(); break;
+			case 37: case 80: this.previous(); break;	
+			case 39: case 78: this.next();
+		}
+	},
+
+	previous: function() {
+		return this.changeImage(this.activeImage-1);
+	},
+
+	next: function() {
+		return this.changeImage(this.activeImage+1);
+	},
+
+	changeImage: function(imageNum) {		
+		if(this.step || (imageNum < 0) || (imageNum >= this.images.length)) return false;
+		this.step = 1;
+		this.activeImage = imageNum;
+		
+		this.prevLink.style.display = this.nextLink.style.display = 'none';
+		this.bottom.setStyles({opacity: '0', height: '0px', display: 'none'});
+		this.fx.image.hide();
+		this.center.className = 'lbLoading';
+		
+		this.preload = new Image();
+		this.preload.onload = this.nextEffect.bind(this);
+		this.preload.src = this.images[imageNum][0];
+		return false;
+	},
+
+	nextEffect: function() {
+		switch(this.step++) {
+		case 1:
+			this.center.className = '';
+			this.image.setStyles({backgroundImage: 'url('+this.images[this.activeImage][0]+')', width: this.preload.width+'px'});
+			this.image.style.height = this.prevLink.style.height = this.nextLink.style.height = this.preload.height+'px';
+			
+			this.caption.setHTML(this.images[this.activeImage][1] || '');
+			this.number.setHTML((this.images.length == 1) ? '' : 'Image '+(this.activeImage+1)+' of '+this.images.length);
+			
+			if(this.activeImage != 0) this.preloadPrev.src = this.images[this.activeImage - 1][0];
+			if(this.activeImage != (this.images.length - 1)) this.preloadNext.src = this.images[this.activeImage + 1][0];
+			if(this.center.clientHeight != this.image.offsetHeight+20) {
+				this.fx.resize.custom({height: [this.center.clientHeight, this.image.offsetHeight]});
+				break;
+			}
+			this.step++;
+		case 2:
+			if(this.center.clientWidth != this.image.offsetWidth+20) {
+				this.fx.resize.custom({width: [this.center.clientWidth, this.image.offsetWidth], marginLeft: [-this.center.clientWidth/2, -this.image.offsetWidth/2]});
+				break;
+			}
+			this.step++;
+		case 3:
+			this.bottom.setStyles({top: (this.top + this.center.clientHeight)+'px', width: this.image.style.width, marginLeft: this.center.style.marginLeft, display: ''});
+			this.fx.image.custom(0, 1);
+			break;
+		case 4:
+			if(this.options.animateCaption) {
+				this.fx.bottom.custom({opacity: [0, 1], height: [0, this.bottom.scrollHeight]});
+				break;
+			}
+			this.bottom.setStyles({opacity: '1', height: this.bottom.scrollHeight+'px'});
+		case 5:
+			if(this.activeImage != 0) this.prevLink.style.display = '';
+			if(this.activeImage != (this.images.length - 1)) this.nextLink.style.display = '';
+			this.step = 0;
+		}
+	},
+
+	close: function() {
+		if(this.step < 0) return;
+		this.step = -1;
+		if(this.preload) {
+			this.preload.onload = Class.empty;
+			this.preload = null;
+		}
+		for(var f in this.fx) this.fx[f].clearTimer();
+		this.center.style.display = this.bottom.style.display = 'none';
+		this.fx.overlay.chain(this.setup.pass(false, this)).custom(0);
+		return false;
+	}
+});
+
+/* All code copyright 2007 Taras Mankovski */
+/* email: tarasm@gmail.com */
+/* website: http://www.oscandy.com/author/taras */
+
+// This class extends lightbox class and makes the lightbox compatible with smoothgallery
+var lightboxforsmoothgallery = Lightbox.extend({
+	initialize: function(galleryData, options) {
+		this.options = Object.extend({
+			resizeDuration: 400,	// Duration of height and width resizing (ms)
+			initialWidth: 250,		// Initial width of the box (px)
+			initialHeight: 250,		// Initial height of the box (px)
+			animateCaption: true	// Enable/Disable caption animation
+		}, options || {});
+		
+		this.images = galleryData;
+		
+		this.eventKeyDown = this.keyboardListener.bindAsEventListener(this);
+		this.eventPosition = this.position.bind(this);
+		
+		this.overlay = new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);
+		
+		this.center = new Element('div').setProperty('id', 'lbCenter').setStyles({width: this.options.initialWidth+'px', height: this.options.initialHeight+'px', marginLeft: '-'+(this.options.initialWidth/2)+'px', display: 'none'}).injectInside(document.body);
+		this.image = new Element('div').setProperty('id', 'lbImage').injectInside(this.center);
+		this.prevLink = new Element('a').setProperties({id: 'lbPrevLink', href: '#'}).setStyle('display', 'none').injectInside(this.image);
+		this.nextLink = this.prevLink.clone().setProperty('id', 'lbNextLink').injectInside(this.image);
+		this.prevLink.onclick = this.previous.bind(this);
+		this.nextLink.onclick = this.next.bind(this);
+		
+		this.bottom = new Element('div').setProperty('id', 'lbBottom').setStyle('display', 'none').injectInside(document.body);
+		this.close = new Element('a').setProperties({id: 'lbCloseLink', href: '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
+		this.number = new Element('div').setProperty('id', 'lbNumber').addClass('gallery').injectInside(this.bottom);
+		this.description = new Element('div').setProperty('id', 'lbDescription').injectInside(this.bottom);
+		this.title = new Element('div').setProperty('id', 'lbTitle').injectInside(this.description);
+		new Element('div').setStyle('clear', 'both').injectInside(this.description);
+		this.caption = new Element('div').setProperty('id', 'lbCaption').injectInside(this.description);
+		new Element('div').setStyle('clear', 'both').injectInside(this.bottom);
+		
+		var nextEffect = this.nextEffect.bind(this);
+		this.fx = {
+			overlay: this.overlay.effect('opacity', { duration: 500 }).hide(),
+			resize: this.center.effects({ duration: this.options.resizeDuration, onComplete: nextEffect }),
+			image: this.image.effect('opacity', { duration: 500, onComplete: nextEffect }),
+			bottom: this.bottom.effects({ duration: 400, onComplete: nextEffect })
+		};
+		
+		this.preloadPrev = new Image();
+		this.preloadNext = new Image();
+		
+		this.open.bind(this);
+		this.changeImage.bind(this);		
+	},
+	buildbox : function () {
+		this.overlay = new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);	
+		this.center = new Element('div').setProperty('id', 'lbCenter').setStyles({width: this.options.initialWidth+'px', height: this.options.initialHeight+'px', marginLeft: '-'+(this.options.initialWidth/2)+'px', display: 'none'}).injectInside(document.body);
+		this.image = new Element('div').setProperty('id', 'lbImage').injectInside(this.center);
+		this.prevLink = new Element('a').setProperties({id: 'lbPrevLink', href: '#'}).setStyle('display', 'none').injectInside(this.image);
+		this.nextLink = this.prevLink.clone().setProperty('id', 'lbNextLink').injectInside(this.image);
+		this.prevLink.onclick = this.previous.bind(this);
+		this.nextLink.onclick = this.next.bind(this);
+	
+		this.bottom = new Element('div').setProperty('id', 'lbBottom').setStyle('display', 'none').injectInside(document.body);
+		new Element('a').setProperties({id: 'lbCloseLink', href: '#'}).injectInside(this.bottom).onclick = this.overlay.onclick = this.close.bind(this);
+		new Element('div').setProperty('id', 'lbDescription').injectInside(this.bottom);
+		this.number = new Element('div').setProperty('id', 'lbNumber').injectInside(this.bottom);
+		this.title = new Element('div').setProperty('id', 'lbTitle').injectInside(this.description);
+		this.caption = new Element('div').setProperty('id', 'lbCaption').injectInside(this.description);
+		new Element('div').setStyle('clear', 'both').injectInside(this.bottom);
+	},
+	open: function(num) {
+		this.position();
+		this.setup(true);
+		this.top = Window.getScrollTop() + (Window.getHeight() / 15);
+		this.center.setStyles({top: this.top+'px', display: ''});
+		this.fx.overlay.custom(0.8);
+		return this.changeImage(num);
+	},
+	changeImage: function(num) {		
+		if(this.step || (num < 0) || (num >= this.images.length)) return false;
+		this.step = 1;
+		this.activeImage = num;
+		
+		this.prevLink.style.display = this.nextLink.style.display = 'none';
+		this.bottom.setStyles({opacity: '0', height: '0px', display: 'none'});
+		this.fx.image.hide();
+		this.center.className = 'lbLoading';
+		
+		this.preload = new Image();
+		this.preload.onload = this.nextEffect.bind(this);
+		this.preload.src = this.images[num].imagepath;
+		return false;
+	},
+	nextEffect: function() {
+		switch(this.step++) {
+		case 1:
+			this.center.className = '';
+			this.image.setStyles({backgroundImage: 'url('+this.images[this.activeImage].imagepath+')', width: this.preload.width+'px'});
+			this.image.style.height = this.prevLink.style.height = this.nextLink.style.height = this.preload.height+'px';
+			
+			this.title.setHTML(this.images[this.activeImage].title || '');
+			this.caption.setHTML(this.images[this.activeImage].description || '');
+			this.number.setHTML((this.images.length == 1) ? '' : 'Image '+(this.activeImage+1)+' of '+this.images.length);
+	
+			if(this.activeImage != 0) this.preloadPrev.src = this.images[this.activeImage - 1].imagepath;
+			if(this.activeImage != (this.images.length - 1)) this.preloadNext.src = this.images[this.activeImage + 1].imagepath;
+			if(this.center.clientHeight != this.image.offsetHeight+20) {
+				this.fx.resize.custom({height: [this.center.clientHeight, this.image.offsetHeight]});
+				break;
+			}
+			this.step++;
+		case 2:
+			if(this.center.clientWidth != this.image.offsetWidth+20) {
+				this.fx.resize.custom({width: [this.center.clientWidth, this.image.offsetWidth], marginLeft: [-this.center.clientWidth/2, -this.image.offsetWidth/2]});
+				break;
+			}
+			this.step++;
+		case 3:
+			this.bottom.setStyles({top: (this.top + this.center.clientHeight)+'px', width: this.image.style.width, marginLeft: this.center.style.marginLeft, display: ''});
+			this.fx.image.custom(0, 1);
+			break;
+		case 4:
+			if(this.options.animateCaption) {
+				this.fx.bottom.custom({opacity: [0, 1], height: [0, this.bottom.scrollHeight]});
+				break;
+			}
+			this.bottom.setStyles({opacity: '1', height: this.bottom.scrollHeight+'px'});
+		case 5:
+			if(this.activeImage != 0) this.prevLink.style.display = '';
+			if(this.activeImage != (this.images.length - 1)) this.nextLink.style.display = '';
+			this.step = 0;
+		}
+	}
+});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/swfobject.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/swfobject.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/swfobject.js	(revision 198)
@@ -0,0 +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
+ *
+ */
+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;
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/theme.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/theme.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/theme.js	(revision 198)
@@ -0,0 +1,32 @@
+$(document).ready(function(){
+
+// cache la liste des menus et declinaisons, ajoute un onclick, deroule si clicque
+$(".liste-declinaison").hide();
+$(".declinaison").each(function(){
+if( $(this).attr("checked")==true){
+$(this).parent().show();
+}
+
+});
+
+$(".vignette-autres-theme").css({ display:"block",position:"absolute",top:"0",left:"0px" });
+
+$(".conteneur-theme .theme_deplier").each(function(){
+$(this).css("cursor","pointer");
+	$(this).click(function(){
+		$(this).next().toggle();
+	});
+	$(this).hover(function(e){
+	lien=$(this).attr("rel");
+	$("body").after("<img src='"+ lien +"' id='lavignette' />");
+	posbasex=e.pageX;
+	posbasey=e.pageY;
+	$('#lavignette').css("top", (posbasey -20) + "px").css("left", (posbasex -320) + "px");
+	},function(){
+	$("#lavignette").remove();
+	});
+	
+});
+
+
+});
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/thickbox.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/thickbox.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/thickbox.js	(revision 198)
@@ -0,0 +1,10 @@
+/*
+ * Thickbox 3 - One Box To Rule Them All.
+ * By Cody Lindley (http://www.codylindley.com)
+ * Copyright (c) 2007 cody lindley
+ * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
+*/
+
+var tb_pathToImage = "images/loadingAnimation.gif";
+
+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}('$(o).2S(9(){1u(\'a.18, 3n.18, 3i.18\');1w=1p 1t();1w.L=2H});9 1u(b){$(b).s(9(){6 t=X.Q||X.1v||M;6 a=X.u||X.23;6 g=X.1N||P;19(t,a,g);X.2E();H P})}9 19(d,f,g){3m{3(2t o.v.J.2i==="2g"){$("v","11").r({A:"28%",z:"28%"});$("11").r("22","2Z");3(o.1Y("1F")===M){$("v").q("<U 5=\'1F\'></U><4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}n{3(o.1Y("B")===M){$("v").q("<4 5=\'B\'></4><4 5=\'8\'></4>");$("#B").s(G)}}3(1K()){$("#B").1J("2B")}n{$("#B").1J("2z")}3(d===M){d=""}$("v").q("<4 5=\'K\'><1I L=\'"+1w.L+"\' /></4>");$(\'#K\').2y();6 h;3(f.O("?")!==-1){h=f.3l(0,f.O("?"))}n{h=f}6 i=/\\.2s$|\\.2q$|\\.2m$|\\.2l$|\\.2k$/;6 j=h.1C().2h(i);3(j==\'.2s\'||j==\'.2q\'||j==\'.2m\'||j==\'.2l\'||j==\'.2k\'){1D="";1G="";14="";1z="";1x="";R="";1n="";1r=P;3(g){E=$("a[@1N="+g+"]").36();25(D=0;((D<E.1c)&&(R===""));D++){6 k=E[D].u.1C().2h(i);3(!(E[D].u==f)){3(1r){1z=E[D].Q;1x=E[D].u;R="<1e 5=\'1X\'>&1d;&1d;<a u=\'#\'>2T &2R;</a></1e>"}n{1D=E[D].Q;1G=E[D].u;14="<1e 5=\'1U\'>&1d;&1d;<a u=\'#\'>&2O; 2N</a></1e>"}}n{1r=1b;1n="1t "+(D+1)+" 2L "+(E.1c)}}}S=1p 1t();S.1g=9(){S.1g=M;6 a=2x();6 x=a[0]-1M;6 y=a[1]-1M;6 b=S.z;6 c=S.A;3(b>x){c=c*(x/b);b=x;3(c>y){b=b*(y/c);c=y}}n 3(c>y){b=b*(y/c);c=y;3(b>x){c=c*(x/b);b=x}}13=b+30;1a=c+2G;$("#8").q("<a u=\'\' 5=\'1L\' Q=\'1o\'><1I 5=\'2F\' L=\'"+f+"\' z=\'"+b+"\' A=\'"+c+"\' 23=\'"+d+"\'/></a>"+"<4 5=\'2D\'>"+d+"<4 5=\'2C\'>"+1n+14+R+"</4></4><4 5=\'2A\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4>");$("#Z").s(G);3(!(14==="")){9 12(){3($(o).N("s",12)){$(o).N("s",12)}$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1D,1G,g);H P}$("#1U").s(12)}3(!(R==="")){9 1i(){$("#8").C();$("v").q("<4 5=\'8\'></4>");19(1z,1x,g);H P}$("#1X").s(1i)}o.1h=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}n 3(I==3k){3(!(R=="")){o.1h="";1i()}}n 3(I==3j){3(!(14=="")){o.1h="";12()}}};16();$("#K").C();$("#1L").s(G);$("#8").r({Y:"T"})};S.L=f}n{6 l=f.2r(/^[^\\?]+\\??/,\'\');6 m=2p(l);13=(m[\'z\']*1)+30||3h;1a=(m[\'A\']*1)+3g||3f;W=13-30;V=1a-3e;3(f.O(\'2j\')!=-1){1E=f.1B(\'3d\');$("#15").C();3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\' Q=\'1o\'>1l</a> 1k 1j 1s</4></4><U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\' > </U>")}n{$("#B").N();$("#8").q("<U 1W=\'0\' 2d=\'0\' L=\'"+1E[0]+"\' 5=\'15\' 1v=\'15"+1f.2c(1f.1y()*2b)+"\' 1g=\'1m()\' J=\'z:"+(W+29)+"p;A:"+(V+17)+"p;\'> </U>")}}n{3($("#8").r("Y")!="T"){3(m[\'1A\']!="1b"){$("#8").q("<4 5=\'2f\'><4 5=\'1H\'>"+d+"</4><4 5=\'2e\'><a u=\'#\' 5=\'Z\'>1l</a> 1k 1j 1s</4></4><4 5=\'F\' J=\'z:"+W+"p;A:"+V+"p\'></4>")}n{$("#B").N();$("#8").q("<4 5=\'F\' 3c=\'3b\' J=\'z:"+W+"p;A:"+V+"p;\'></4>")}}n{$("#F")[0].J.z=W+"p";$("#F")[0].J.A=V+"p";$("#F")[0].3a=0;$("#1H").11(d)}}$("#Z").s(G);3(f.O(\'37\')!=-1){$("#F").q($(\'#\'+m[\'26\']).1T());$("#8").24(9(){$(\'#\'+m[\'26\']).q($("#F").1T())});16();$("#K").C();$("#8").r({Y:"T"})}n 3(f.O(\'2j\')!=-1){16();3($.1q.35){$("#K").C();$("#8").r({Y:"T"})}}n{$("#F").34(f+="&1y="+(1p 33().32()),9(){16();$("#K").C();1u("#F a.18");$("#8").r({Y:"T"})})}}3(!m[\'1A\']){o.21=9(e){3(e==M){I=2w.2v}n{I=e.2u}3(I==27){G()}}}}31(e){}}9 1m(){$("#K").C();$("#8").r({Y:"T"})}9 G(){$("#2Y").N("s");$("#Z").N("s");$("#8").2X("2W",9(){$(\'#8,#B,#1F\').2V("24").N().C()});$("#K").C();3(2t o.v.J.2i=="2g"){$("v","11").r({A:"1Z",z:"1Z"});$("11").r("22","")}o.1h="";o.21="";H P}9 16(){$("#8").r({2U:\'-\'+20((13/2),10)+\'p\',z:13+\'p\'});3(!(1V.1q.2Q&&1V.1q.2P<7)){$("#8").r({38:\'-\'+20((1a/2),10)+\'p\'})}}9 2p(a){6 b={};3(!a){H b}6 c=a.1B(/[;&]/);25(6 i=0;i<c.1c;i++){6 d=c[i].1B(\'=\');3(!d||d.1c!=2){39}6 e=2a(d[0]);6 f=2a(d[1]);f=f.2r(/\\+/g,\' \');b[e]=f}H b}9 2x(){6 a=o.2M;6 w=1S.2o||1R.2o||(a&&a.1Q)||o.v.1Q;6 h=1S.1P||1R.1P||(a&&a.2n)||o.v.2n;1O=[w,h];H 1O}9 1K(){6 a=2K.2J.1C();3(a.O(\'2I\')!=-1&&a.O(\'3o\')!=-1){H 1b}}',62,211,'|||if|div|id|var||TB_window|function||||||||||||||else|document|px|append|css|click||href|body||||width|height|TB_overlay|remove|TB_Counter|TB_TempArray|TB_ajaxContent|tb_remove|return|keycode|style|TB_load|src|null|unbind|indexOf|false|title|TB_NextHTML|imgPreloader|block|iframe|ajaxContentH|ajaxContentW|this|display|TB_closeWindowButton||html|goPrev|TB_WIDTH|TB_PrevHTML|TB_iframeContent|tb_position||thickbox|tb_show|TB_HEIGHT|true|length|nbsp|span|Math|onload|onkeydown|goNext|Esc|or|close|tb_showIframe|TB_imageCount|Close|new|browser|TB_FoundURL|Key|Image|tb_init|name|imgLoader|TB_NextURL|random|TB_NextCaption|modal|split|toLowerCase|TB_PrevCaption|urlNoQuery|TB_HideSelect|TB_PrevURL|TB_ajaxWindowTitle|img|addClass|tb_detectMacXFF|TB_ImageOff|150|rel|arrayPageSize|innerHeight|clientWidth|self|window|children|TB_prev|jQuery|frameborder|TB_next|getElementById|auto|parseInt|onkeyup|overflow|alt|unload|for|inlineId||100||unescape|1000|round|hspace|TB_closeAjaxWindow|TB_title|undefined|match|maxHeight|TB_iframe|bmp|gif|png|clientHeight|innerWidth|tb_parseQuery|jpeg|replace|jpg|typeof|which|keyCode|event|tb_getPageSize|show|TB_overlayBG|TB_closeWindow|TB_overlayMacFFBGHack|TB_secondLine|TB_caption|blur|TB_Image|60|tb_pathToImage|mac|userAgent|navigator|of|documentElement|Prev|lt|version|msie|gt|ready|Next|marginLeft|trigger|fast|fadeOut|TB_imageOff|hidden||catch|getTime|Date|load|safari|get|TB_inline|marginTop|continue|scrollTop|TB_modal|class|TB_|45|440|40|630|input|188|190|substr|try|area|firefox'.split('|'),0,{}))
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/ufo.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/ufo.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/javascript/ufo.js	(revision 198)
@@ -0,0 +1,286 @@
+/*	Unobtrusive Flash Objects (UFO) v3.20 <http://www.bobbyvandersluis.com/ufo/>
+	Copyright 2005, 2006 Bobby van der Sluis
+	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
+*/
+
+var UFO = {
+	req: ["movie", "width", "height", "majorversion", "build"],
+	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing"],
+	optAtt: ["id", "name", "align"],
+	optExc: ["swliveconnect"],
+	ximovie: "ufo.swf",
+	xiwidth: "215",
+	xiheight: "138",
+	ua: navigator.userAgent.toLowerCase(),
+	pluginType: "",
+	fv: [0,0],
+	foList: [],
+		
+	create: function(FO, id) {
+		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
+		UFO.getFlashVersion();
+		UFO.foList[id] = UFO.updateFO(FO);
+		UFO.createCSS("#" + id, "visibility:hidden;");
+		UFO.domLoad(id);
+	},
+
+	updateFO: function(FO) {
+		if (typeof FO.xi != "undefined" && FO.xi == "true") {
+			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
+			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
+			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
+		}
+		FO.mainCalled = false;
+		return FO;
+	},
+
+	domLoad: function(id) {
+		var _t = setInterval(function() {
+			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
+				UFO.main(id);
+				clearInterval(_t);
+			}
+		}, 250);
+		if (typeof document.addEventListener != "undefined") {
+			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
+		}
+	},
+
+	main: function(id) {
+		var _fo = UFO.foList[id];
+		if (_fo.mainCalled) return;
+		UFO.foList[id].mainCalled = true;
+		document.getElementById(id).style.visibility = "hidden";
+		if (UFO.hasRequired(id)) {
+			if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
+				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
+				UFO.writeSWF(id);
+			}
+			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
+				UFO.createDialog(id);
+			}
+		}
+		document.getElementById(id).style.visibility = "visible";
+	},
+	
+	createCSS: function(selector, declaration) {
+		var _h = document.getElementsByTagName("head")[0]; 
+		var _s = UFO.createElement("style");
+		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
+		_s.setAttribute("type", "text/css");
+		_s.setAttribute("media", "screen"); 
+		_h.appendChild(_s);
+		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
+			var _ls = document.styleSheets[document.styleSheets.length - 1];
+			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
+		}
+	},
+	
+	setContainerCSS: function(id) {
+		var _fo = UFO.foList[id];
+		var _w = /%/.test(_fo.width) ? "" : "px";
+		var _h = /%/.test(_fo.height) ? "" : "px";
+		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
+		if (_fo.width == "100%") {
+			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
+		}
+		if (_fo.height == "100%") {
+			UFO.createCSS("html", "height:100%; overflow:hidden;");
+			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
+		}
+	},
+
+	createElement: function(el) {
+		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
+	},
+
+	createObjParam: function(el, aName, aValue) {
+		var _p = UFO.createElement("param");
+		_p.setAttribute("name", aName);	
+		_p.setAttribute("value", aValue);
+		el.appendChild(_p);
+	},
+
+	uaHas: function(ft) {
+		var _u = UFO.ua;
+		switch(ft) {
+			case "w3cdom":
+				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
+			case "xml":
+				var _m = document.getElementsByTagName("meta");
+				var _l = _m.length;
+				for (var i = 0; i < _l; i++) {
+					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
+				}
+				return false;
+			case "ieMac":
+				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
+			case "ieWin":
+				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
+			case "gecko":
+				return /gecko/.test(_u) && !/applewebkit/.test(_u);
+			case "opera":
+				return /opera/.test(_u);
+			case "safari":
+				return /applewebkit/.test(_u);
+			default:
+				return false;
+		}
+	},
+	
+	getFlashVersion: function() {
+		if (UFO.fv[0] != 0) return;  
+		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
+			UFO.pluginType = "npapi";
+			var _d = navigator.plugins["Shockwave Flash"].description;
+			if (typeof _d != "undefined") {
+				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
+				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
+				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
+				UFO.fv = [_m, _r];
+			}
+		}
+		else if (window.ActiveXObject) {
+			UFO.pluginType = "ax";
+			try { // avoid fp 6 crashes
+				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
+			}
+			catch(e) {
+				try { 
+					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
+					UFO.fv = [6, 0];
+					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
+				}
+				catch(e) {
+					if (UFO.fv[0] == 6) return;
+				}
+				try {
+					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
+				}
+				catch(e) {}
+			}
+			if (typeof _a == "object") {
+				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
+				if (typeof _d != "undefined") {
+					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
+					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
+				}
+			}
+		}
+	},
+
+	hasRequired: function(id) {
+		var _l = UFO.req.length;
+		for (var i = 0; i < _l; i++) {
+			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
+		}
+		return true;
+	},
+	
+	hasFlashVersion: function(major, release) {
+		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
+	},
+
+	writeSWF: function(id) {
+		var _fo = UFO.foList[id];
+		var _e = document.getElementById(id);
+		if (UFO.pluginType == "npapi") {
+			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
+				while(_e.hasChildNodes()) {
+					_e.removeChild(_e.firstChild);
+				}
+				var _obj = UFO.createElement("object");
+				_obj.setAttribute("type", "application/x-shockwave-flash");
+				_obj.setAttribute("data", _fo.movie);
+				_obj.setAttribute("width", _fo.width);
+				_obj.setAttribute("height", _fo.height);
+				var _l = UFO.optAtt.length;
+				for (var i = 0; i < _l; i++) {
+					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
+				}
+				var _o = UFO.opt.concat(UFO.optExc);
+				var _l = _o.length;
+				for (var i = 0; i < _l; i++) {
+					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
+				}
+				_e.appendChild(_obj);
+			}
+			else {
+				var _emb = "";
+				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
+				var _l = _o.length;
+				for (var i = 0; i < _l; i++) {
+					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
+				}
+				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
+			}
+		}
+		else if (UFO.pluginType == "ax") {
+			var _objAtt = "";
+			var _l = UFO.optAtt.length;
+			for (var i = 0; i < _l; i++) {
+				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
+			}
+			var _objPar = "";
+			var _l = UFO.opt.length;
+			for (var i = 0; i < _l; i++) {
+				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
+			}
+			var _p = window.location.protocol == "https:" ? "https:" : "http:";
+			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
+		}
+	},
+		
+	createDialog: function(id) {
+		var _fo = UFO.foList[id];
+		UFO.createCSS("html", "height:100%; overflow:hidden;");
+		UFO.createCSS("body", "height:100%; overflow:hidden;");
+		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
+		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
+		var _b = document.getElementsByTagName("body")[0];
+		var _c = UFO.createElement("div");
+		_c.setAttribute("id", "xi-con");
+		var _d = UFO.createElement("div");
+		_d.setAttribute("id", "xi-dia");
+		_c.appendChild(_d);
+		_b.appendChild(_c);
+		var _mmu = window.location;
+		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
+			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
+		}
+		else {
+			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
+		}
+		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
+		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
+		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
+		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
+		UFO.writeSWF("xi-dia");
+	},
+
+	expressInstallCallback: function() {
+		var _b = document.getElementsByTagName("body")[0];
+		var _c = document.getElementById("xi-con");
+		_b.removeChild(_c);
+		UFO.createCSS("body", "height:auto; overflow:auto;");
+		UFO.createCSS("html", "height:auto; overflow:auto;");
+	},
+
+	cleanupIELeaks: function() {
+		var _o = document.getElementsByTagName("object");
+		var _l = _o.length
+		for (var i = 0; i < _l; i++) {
+			_o[i].style.display = "none";
+			for (var x in _o[i]) {
+				if (typeof _o[i][x] == "function") {
+					_o[i][x] = null;
+				}
+			}
+		}
+	}
+
+};
+
+if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
+	window.attachEvent("onunload", UFO.cleanupIELeaks);
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/jquery-public.js.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/jquery-public.js.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/jquery-public.js.html	(revision 198)
@@ -0,0 +1,19 @@
+[(#REM)
+
+	Charger la librairie jQuery et ses plugins
+
+]#CACHE{7*24*3600,cache-client}
+#HTTP_HEADER{'Content-Type: text/javascript'}
+/*
+ * jQuery 1.2.6 - New Wave Javascript
+ *
+ * Copyright (c) 2007 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * + form.js (plugins @ jQuery.com)
+ * + ajaxCallback.js (www.spip.net)
+ */
+[(#INCLURE{javascript/jquery-1.2.6.pack.js})]
+[(#INCLURE{javascript/form.js}|compacte_js)]
+[(#INCLURE{javascript/ajaxCallback.js}|compacte_js)]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_es.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_es.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_es.php	(revision 198)
@@ -0,0 +1,308 @@
+<?php
+
+// FICHIER DE TRADUCTION DES PAGES OPTIONS ARTY
+// Pour les caractÃšres spÃ©ciaux HTML voir  
+//  http://www.ilovejackdaniels.com/cheat-sheets/html-character-entities-cheat-sheet/
+// Attention Ã  Ã©chapper les guillements par backspace : "l'apostrophe" -> "l\'apostrophe"
+
+// Pour la traduction de la partie publique voir local_**.php
+
+$GLOBALS['i18n_arty_es'] = array(
+
+// TRADUCTIONS GENERALES
+  'titre'                     => 'TÃ­tulo',
+  'acces_a_la_page'           => 'Solamente los administradores o administradoras tienen acceso a esta pÃ¡gina.',
+  'modifier_cette_option'     => 'Modificar esta opciÃ³n',
+  'info'                      => 'info',
+  'erreur'                    => 'Error',
+  'le_changement_a_ete_effectue' => 'El cambio se ha realizado',
+
+// messages d'erreur
+  'erreur_extension'          => 'Este tipo de archivo no estÃ¡ permitido.',
+  'upload_reussi'             => 'Imagen subida.',
+  'upload_rate'               => 'Imposible subir la imagen.',
+  'erreur_trop_gros'          => 'El archivo es demasiado grande.',
+  'erreur_transmission'       => 'Ha habido un problema durante la transmisiÃ³n del archivo.',
+
+// menu de navigation
+
+// boutons
+  'enregistrer'               => 'Guardar',
+  'modifier_et_retour' => 'Guardar y volver a la pÃ¡gina',
+  'supprimer'                 => 'Eliminar',
+  'options_arty'              => 'Opciones Magusine',
+// onglets
+  'onglet_base'               => 'ConfiguraciÃ³n inicial',
+  'onglet_themes'             => 'Temas',
+  'onglet_avance'             => 'Blocs libres',
+  'onglet_menu'               => 'MenÃºs',
+  'onglet_gabarit'            => 'Plantillas',
+  'onglet_a_propos'           => 'Acerca de',
+  
+// blocs libres
+  'titre_bloc_defaut'         => 'TÃ­tulo del bloc libre',
+  'texte_bloc_defaut'         => 'Texto del bloc libre',
+  'logo_bloc'                 => 'Logo del bloc libre:',
+  'modifier_bloc_libre'       => 'Modificar este bloc',
+  'supprimer_bloc'            => 'Eliminar este bloc',
+  'charger_une_image'         => 'AÃ±adir una imagen en este bloc:',
+  'charger_autre_image'       => 'Cambiar la imagen de este bloc:',
+  'supprimer_bandeau'         => 'Eliminar esta cabecera',
+  'entrez_donnees_nouveau_bloc' => 'TÃ­tulo y texto del bloc libre',
+  'bloc_lien'                 => 'Enlace (se aplica sobre la imagen y el texto del bloc, opcional)',
+  'bloc_image'                => 'Illustration du bloc (optionnel)',
+  
+// bloc de logo de rubrique
+ 'intro_up_rub_bandeau' => 'Cliquea sobre el botÃ³n "Seleccionar el archivo" para aÃ±adir/cambiar la cabecera de esta secciÃ³n',
+ 'titre_up_rub_bandeau' => 'Cabecera de esta secciÃ³n',
+ 'invit_up_rub_bandeau' => 'Cambiar la cabecera',
+ 'upload_reussi'        => 'Upload realizada',
+ 'bandeau_actuel'       => 'Cabecera actual',
+ 'aucun_bandeau_rub'    => 'No hay cabecera seleccionada',
+
+// TRADUCTIONS SPECIFIQUES
+//ARTY.php - Options de base
+  // titre page
+  'titre_options_base'        => 'Opciones ARTY iniciales',
+  'titre_configuration_base'  => 'ConfiguraciÃ³n inicial',
+  'sideinfo_arty'             => 'En esta pÃ¡gina puedes seleccionar las secciones de donde se recogerÃ¡n los contenidos de la editorial, las noticias, etc.',
+  'edito'                     => 'SÃ©lecciona la editorial',
+  'choix_rubrique_news'       => 'Elige la secciÃ³n para las noticias',
+  'rubrique_article_une'      => 'Rubrique et articles Ã  la une',
+  'pas_de_une'                => 'Pas de rubrique ou d\'article Ã  la une',
+  'explication_choix_rubrique_news' => 'Las noticias son informaciones cortas sobre tu actividad. TÃ©cnicamente son breves escritas en una secciÃ³n.',
+  'video_au_hasard'     => 'Selecciona la secciÃ³n para vÃ­deos al azar',
+  'pas_de_image_hasard' => 'Sin imagen al azar',
+ 'cacher_edito'=> 'Ocultar la editorial (ocultar la editorial en las listas)',
+ 'lire_autres_editos' => 'Mostrar el enlace "leer las otras editoriales"',
+ 'ajouter_un_lien'=> 'AÃ±adir un enlace manual',
+  
+  // bloc aide
+  'titre_aide_base'           => 'Ayuda',
+  'aide_options_base'         => 'Si tienes poco tiempo &#224; para personalizar el sitio, concentra tus esfuerzos en esta pÃ¡gina.',
+  
+  // Page menu
+  'si_pas_langue'      => 'Si el idioma para el que quieres crear un menÃº no estÃ¡ en la lista, es que todavÃ­a no has asignado ese idioma a una secciÃ³n o a un artÃ­culo.',
+  'titre_options_menu' => 'CreaciÃ³n de los menÃºs',
+  'intro_menu'         => 'Esta pÃ¡gina permite crear el menÃº del sitio. Puedes poner secciones, artÃ­culos asi como grupos de palabras clave y palabras clave. Luego puedes organizar el orden estos elementos.',
+  'menu_actuel'        => 'MenÃº para el idioma',
+  'type_de_menu'       => 'Tipo de menÃº',
+  'menu_reservoir'     => 'Selecciona los elementos a incluir en el menÃº',
+  'nom_lien' => 'Nombre del enlace:',
+  'url_lien'=> 'DirecciÃ³n url del enlace:',
+  'un_niveau'=> 'Un nivel',
+  'deux_niveaux' => 'Dos niveles',
+  'manuel'   => 'Manual',
+  'nombre_niveaux_menu' => 'Puedes elegir entre 3 tipos de menÃº.',
+  'intro_niveaux_menu' => 'En el menÃº, puedes hacer aparecer sÃ³lo los nombres de las secciones (1 nivel), pero tambiÃ©n de las subsecciones (2 niveles). Si eliges el modo manual, tienes que elegir cada elemento a mostrar en el menÃº.',
+  'intro_lister_articles' => 'Marca aquÃ­ si quieres mostrar los artÃ­culos (y las palabras claves) en el segundo nivel.',
+  'lister_articles' => 'TambiÃ©n mostrar los artÃ­culos y las palabras clave.',
+  'choix_de_la_langue_menu' => 'Info',
+  'rubrique' => 'SecciÃ³n',
+  'article' => 'ArtÃ­culo',
+  'groupe' => 'Grupo de palabras',
+  'mot' => 'Palabra clave', 
+  'intro_choix_niveaux' => 'Elige los niveles a mostrar:',
+  'n_niveaux' => 'La jerarquÃ­a completa',
+  'intro_menu_manuel' => 'Seleccionando el modo manual, puedes elegir uno a uno los elementos a mostrar en la jerarquÃ­a del menÃº.',
+  'avis_menu_auto' => 'Como ningÃºn elemento ha sido aÃ±adido al menÃº, este funciona de forma automÃ¡tica.',
+  
+  // page article
+  'galerie_image'  => 'GalerÃ­a de imÃ¡genes',
+  'intro_creer_bloc' => 'AÃ±adir un bloc libre',
+  
+//PAGE THEMES
+  'sideinfo_theme' => 'Puedes seleccionar el tema principal del sitio asi como otras configuraciones generales: contenido del pie de pÃ¡gina, las metas, y el texto de la pÃ¡gina 404. El tema se encarga de a visualizaciÃ³n grÃ¡fica del sitio',
+  'aucun_bandeau' => 'No hay cabecera',
+  'choix_du_theme' => 'ConfiguraciÃ³n de los temas',
+  'choixtheme' => 'ElecciÃ³n del tema',
+  'theme_actuel' => 'Tema actual.',
+  'theme_base' => 'Tema inicial',
+  'bouton_changer_theme' => 'Guardar',
+  'titre_upload_bandeau' => 'AÃ±adir una cabecera',
+   'intro_upload_bandeau' => 'AquÃ­ puedes subir una cabecera (baner, logo, imagen que se mostrarÃ¡ en todas las pÃ¡ginas del sitio) cogiÃ©ndolo de una carpeta que se encuentra en tu ordenador.',
+   'footer'=> 'AÃ±adir un pie de pÃ¡gina',
+   'votre_message_de_footer' => 'AquÃ­ puedes subir los elementos para tu pie de pÃ¡gina. Es el texto del pie de pÃ¡gina que se aÃ±ade a todas las pÃ¡ginas del sitio.',
+   'metas' => 'Guardar tus metas',
+'vos_metas' => 'Un "mÃ©ta" es una informaciÃ³n oculta en la pÃ¡gina y que utilizan los motores de bÃºsqueda. Por ejemplo: si quieres aÃ±adir la "mÃ©ta" -pomme- y que la recoja gogle como -pomme-, vuestro sitio serÃ¡ mostrado en la lista de resultados cuando se busque -pomme-. Las tres metas principales son: keywords, description, robot.',
+'type_meta' => 'Tipo de metas', 
+'valeur_meta' => 'Tu(s) meta(s)',
+'page_404'=> 'Personalizar la pÃ¡gina de error (404). La pÃ¡gina se muestra cuando no se encuentra un enlace.',
+'votre_message_page_404'=> 'Marca el tÃ­tulo y el texto del mensaje 404',
+'liste_assoc' => 'Muestra los temas relacionados',
+'ajouter_meta' => 'AÃ±adir una meta',
+
+// page Exec (configuration de base)
+'pas_de_edito'=> 'No hay editorial.',
+'pas_de_rubrique_news' => 'No hay secciÃ³n noticias.',
+'pas_de_video_hasard' => 'No hay vÃ­deos al azar.',
+'config_date_auteur' => 'Personnalizar fecha y autor o autora',
+'intro_config_date_auteur' => 'Puedes elegir si mostrar o no la fecha o el autor o autora de los artÃ­culos y breves.',
+'intro_date'=> 'Selecciona una opciÃ³n',
+'intro_auteur' => 'Selecciona una opciÃ³n',
+
+'afficher_date' => 'Mostrar la fecha',
+'pas_de_date' => 'No mostrar la fecha',
+'afficher_auteur' => 'Mostrar el autor o autora',
+'pas_afficher_auteur' => 'No mostrar el autor o autora',
+'intro_suite' => 'Selecciona una opciÃ³n',
+'afficher_suite' => 'Mostrar el botÃ³n "leer mÃ¡s"',
+'pas_de_suite' => 'No mostrar el botÃ³n "leer mÃ¡s"',
+
+'config_forum'=> 'ConfiguraciÃ³n de los foros',
+'intro_config_forum'=>  'Elige el tipo de foros.',
+'explication_forum'=> 'Un foro permite intercambiar opiniones: leer las de otras personas y publicar las tuyas. Dispones de dos opciones. La primera necesita javascript. La primera permite tener un foro en el artÃ­culo, la segunda en una ventana separada.',
+'forum_self'=> 'Foro (con javascript)', 
+'forum_forum' => 'Foro (sin javascript)',
+'image_au_hasard'=> 'Elige la secciÃ³n para cargar imÃ¡genes al azar',
+'config_google_maps' => 'ConfiguraciÃ³n del mapa de google',
+'intro_config_api_key' => 'Los mapas de google son mapas personalizados (con marcadores, recorridos, textos, imÃ¡genes) fÃ¡ciles de incluir en el sitio de <a href="http://maps.google.com">google maps</a>. Para mostrarlos en tu sitio, tienes que crear una clave api y colocarla aquÃ­. Es gratuita. Luego, carga los ficheros KML en tus artÃ­culos como documentos.',
+'gmaps_afficher_controles' => 'Mostrar los botones de control en el mapa',
+
+// page blocs libres
+'gestion_bloc_libre' => "GestiÃ³n de los blocs libres",
+'sideinfo_avance'=>'AquÃ­ puedes gestionar los blocs libres, es decir, un texto, una imagen, un enlace, breve, un contenido que puede ser asociado a cualquier artÃ­culo, secciÃ³n e incluso portada. Citar tambiÃ©n las pÃ¡ginas de los artÃ­culos y las secciones para asociar al (a los) bloc(s)',
+'creer_un_bloc_libre'=>'Crear un bloc libre',
+'attention_modif_globale' => 'Attention, les modifications effectuÃ©es ici seront rÃ©percutÃ©es sur tous les endroits oÃ¹ le bloc a Ã©tÃ© associÃ©!',
+'modifier_ce_bloc' => 'Modificar el bloc',
+
+//page gabarit
+'sideinfo_gabarit'=>'AquÃ­ puedes configurar la plantilla de la pÃ¡gina desplazando los mÃ³dulos. Los mÃ³dulos de la columna de reserva rÃ©serve no se muestran en el sitio, deben estar situados en el cuerpo o en las columnas. Hay una plantilla para la pÃ¡gina de portada, pero tambiÃ©n para las secciones, artÃ­culos, grupos de palabras clave, foros, enlaces etc.',
+'sauver'=> 'Guardar',
+'configuration_des_gabarits'=>'ConfiguraciÃ³n de las plantillas:',
+'contexte1'=> 'Columna 1',
+'contexte2'=> 'Columna 2',
+'corps'=> 'Cuerpo',
+'reserve'=>'Reserva',
+'avance' => 'Reserva avanzada',
+'nouveau_gabarit'=>'Nueva plantilla',
+'deriver_gabarit'=> 'Nombre de la nueva plantilla',
+'baser_gabarit_sur'=> 'Partir de esta plantilla',
+'modifier_un_autre_gabarit' => 'Modificar otra plantilla',
+'nom_du_gabarit' => 'Nombre de la plantilla',
+'liste_assoc_gabarit' => 'PÃ¡ginas asociadas a esta plantilla',
+
+
+// gabarits : noms des blocs
+'bloc-libre' => 'Blocs libres',
+'articles-une' => 'Articles Ã  la une',
+'liste-liens' => 'Lista de enlaces',
+'derniers-liens' => 'Ãltimos enlaces',
+'nombre_liens_affiches' => 'NÃºmero de enlaces mostrados',
+'menu-langues' => 'MenÃº de idiomas',
+'rechercher' => 'Buscar',
+'editorial' => 'Editorial',
+'derniers-articles' => 'Ãltimos artÃ­culos',
+'nombre_articles_affiches' => 'NÃºmero de artÃ­culos mostrados',
+'identification-visiteur' => 'IdentificaciÃ³n de visitantes',
+'liste-breves' => 'Lista de breves',
+'nombre_breves_affichees' => 'NÃºmero de breves mostrados',
+
+'derniers-forums' => 'Ãltimos foros',
+'nombre_forums_affiches' => 'NÃºmero de foros mostrados',
+
+'groupe-mots-cles' => 'Grupo de palabras clave',
+'menu-groupe' => 'Palabras clave del grupo',
+'rubriques-une' => 'Rubrique Ã  la une',
+'nombre_articles' => 'NÃºmero de artÃ­culos mostrados',
+'bloc_libre_rubrique' => 'Blocs libres',
+'bloc_libre_article' => 'Blocs libres',
+'quels_blocs' => 'Â¿QuÃ© blocs?',
+'blocs_article' => 'Del artÃ­culo',
+'blocs_article_rubrique' => 'Del artÃ­culo y su secciÃ³n',
+'liste_extension_exclure' => 'Lista de extensiones a excluir separadas por barras verticales',
+'pieces_jointes' => 'Archivo completo',
+'rubrique_podcast' => 'Podcast de la secciÃ³n',
+'article_podcast' => 'Podcast del artÃ­culo',
+'liste_groupe_inclure' => 'Lista aquÃ­ las "id", los nÃºmeros, de los grupos de palabras calve separados por barras verticales.',
+'thesaurus_mots' => 'Tesauro',
+'raccourcis_sous_rubrique' => 'Lista de subsecciones (anclas)',
+'galerie_videos_rub' => 'GalerÃ­a de vÃ­deo',
+'type_de_video' => 'Tipo de vÃ­deo',
+'video-hasard' => 'VÃ­deo al azar',
+'flv_lecteur_flash' => 'FLV (lector flash)',
+'tous_popup' => 'Todos (popup)',
+'image-hasard' => 'Imagen al azar',
+
+'nombre_news_affichees' => 'NÃºmero de noticias mostradas',
+'bloc_sons_hasard_branche' => 'Sonidos de esta "branche" (secciÃ­n y sus subsecciones) al azar',
+'nombre_playlist' => 'NÃºmero de sonidos en la lista',
+'google-maps-rubrique' => 'Google map',
+'google-maps-article' => 'Google map',
+'bloc_proposer_lien' => 'Proponer un enlace',
+'diaporama-rubrique' => 'Diaporama de imÃ¡genes',
+'rubrique-head' => 'TÃ­tulo y logo de la secciÃ³n',
+'rubrique-texte' => 'Texto de la secciÃ³n',
+'liste-articles' => 'ArtÃ­culos de esta secciÃ³n',
+'liste-rubriques' => 'Subsecciones de esta secciÃ³n',
+'forum' => 'Foros',
+'galerie-image' => 'GalerÃ­a de imÃ¡genes',
+'galerie-audios-rub' => 'GalerÃ­a de audio',
+'galerie-audios' => 'GalerÃ­a de audio',
+'mots-cles' => 'Palabras clave de esta secciÃ³n',
+'liste-sites-motscles' => 'Sitios con la misma palabra clave',
+
+'galerie-swf' => 'GalerÃ­a de animaciones flash',
+'diaporama-article-flash' => 'Diaporama de animaciones flash',
+'autres-articles' => 'Otros artÃ­culos de la misma secciÃ³n',
+'article-head' => 'TÃ­tulo e informaciones del artÃ­culo',
+'article-texte' => 'Texto del artÃ­culo',
+'bloc-forum' => 'Foros',
+'galerie-videos' => 'GalerÃ­a de vÃ­deos',
+
+'groupe-autres-groupes' => 'Otros grupos de palabras clave',
+'groupe-head' => 'TÃ­tulo y logo del grupo',
+'groupe-texte' => 'Texto del grupo',
+'groupe-liste-mots' => 'Lista de palabras clave del grupo',
+'groupe-dernieres-entrees' => 'Ãltimas entradas el grupo',
+'liste-mots-cles' => 'Lista de todas las palabras clave',
+
+'404-head' => 'TÃ­tulo de la pÃ¡gina 404',
+'404-texte' => 'Texto de la pÃ¡gina 404',
+'auteur-ecrire' => 'Escribir al autor o autora',
+'auteur_autres_auteurs' => 'Lista de otros autores y autoras',
+'auteur-head' => 'TÃ­tulo de la pÃ¡gina',
+'auteur-info' => 'Informaciones sobre el autor o autora',
+'liste-articles-auteur' => 'Lista de los artÃ­culos del autor o autora',
+'bloc-login' => 'Formulario de login',
+'recherche-head' => 'TÃ­tulo de la bÃºsqueda',
+'recherche-articles' => 'ArtÃ­culos encontrados',
+'recherche-rubriques' => 'Secciones encontradas',
+'recherche-mots' => 'Palabras clave encontradas',
+'recherche-documents' => 'Documentos encontrados',
+'recherche-liens' => 'Enlaces encontrados',
+
+'liste-agenda' => 'Lista de eventos (artÃ­culos)',
+
+'abo-newsletter' => 'Inscribirse en los boletines',
+
+// a propos
+'a_propos' => 'Acerca de',
+'dernieres_infos' => 'Ãltimas informaciones',
+'sideinfo_about'=> 'Acerca de: buscar las Ãºltimas infos del plugin.',
+
+// page groupe
+'titre_up_rub_logo' => 'Logo del grupo',
+'invit_up_rub_logo' => 'Modificar el logo',
+'logo_actuel' => 'Logo actual',
+'intro_up_logo' => 'Cliquea sobre el botÃ³n "Selecciona el archivo" para aÃ±adir/modificar la cabecera de esta secciÃ³n',
+'supprimer_logo' => 'Supprimer le logo',
+
+//pages naviguer
+'associer_un_bloc_libre' => 'Asociarr un bloc libre',
+'associer_un_theme' => 'Asociar un tema',   
+'creer_bloc_et_associer' => 'Crear un nuevo bloc',   
+'ajouter' => 'AÃ±adir',
+'langue_bloc_assoc' => 'Idioma del bloc libre:',
+'langue_bloc' => 'Idioma del bloc libre:',
+'intro_associer_bloc_libre' => 'Asociar un bloc libre que ya exista a este entorno:',  
+'blocs_libres_deja_associes' => 'Blocs libres ya asociados a este entorno:',
+'intro_associer_gabarit' => 'Puedes elegir una plantilla especÃ­fica para esta pÃ¡gina.', 
+'choisissez_un_gabarit' => 'Elige una plantilla',
+'associer_un_gabarit' => 'Asociar una plantilla',
+'bouton_changer_gabarit' => 'Asociar esta plantilla',
+'editer_ce_gabarit' => 'Editar esta plantilla',
+'creer_gabarit_et_associer' => 'Crear plantilla y asociarla',
+'pas_de_page_associee' => 'No esta asociada a ninguna pÃ¡gina.'
+);
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_fr.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_fr.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_fr.php	(revision 198)
@@ -0,0 +1,309 @@
+<?php
+
+// FICHIER DE TRADUCTION DES PAGES OPTIONS ARTY
+// Pour les caractÃšres spÃ©ciaux HTML voir  
+//  http://www.ilovejackdaniels.com/cheat-sheets/html-character-entities-cheat-sheet/
+// Attention Ã  Ã©chapper les guillements par backspace : "l'apostrophe" -> "l\'apostrophe"
+
+// Pour la traduction de la partie publique voir local_**.php
+
+$GLOBALS['i18n_arty_fr'] = array(
+
+// TRADUCTIONS GENERALES
+  'titre'                     => 'Titre',
+  'acces_a_la_page'           => 'Seuls les administrateurs ont acc&egrave;s &agrave; cette page.',
+  'modifier_cette_option'     => 'Modifier cette option',
+  'info'                      => 'info',
+  'erreur'                    => 'Erreur',
+  'le_changement_a_ete_effectue' => 'Le changement a &eacute;t&eacute; effectu&eacute;',
+
+// messages d'erreur
+  'erreur_extension'          => 'Ce type de fichier n\'est pas autoris&eacute;.',
+  'upload_reussi'             => 'Image chargÃ©e avec succÃšs.',
+  'upload_rate'               => 'Impossible de charger l\'image.',
+  'erreur_trop_gros'          => 'Le fichier est trop volumineux.',
+  'erreur_transmission'       => 'Un probl&egrave;me est survenu pendant la transmission du fichier.',
+  'erreur_supprimer_bandeau'  => 'Impossible de supprimer le bandeau',
+
+// menu de navigation
+
+// boutons
+  'enregistrer'               => 'Enregistrer',
+  'modifier_et_retour' => 'Enregister et revenir Ã  la page',
+  'supprimer'                 => 'Supprimer',
+  'options_arty'              => 'Options Magusine',
+// onglets
+  'onglet_base'               => 'Configuration de base',
+  'onglet_themes'             => 'Th&egrave;mes',
+  'onglet_avance'             => 'Blocs libres',
+  'onglet_menu'               => 'Menus',
+  'onglet_gabarit'            => 'Gabarits',
+  'onglet_a_propos'           => 'Ã Propos',
+  
+// blocs libres
+  'titre_bloc_defaut'         => 'Titre du bloc libre',
+  'texte_bloc_defaut'         => 'Texte du bloc libre',
+  'logo_bloc'                 => 'Logo du bloc libre:',
+  'modifier_bloc_libre'       => 'Modifier ce bloc',
+  'supprimer_bloc'            => 'Supprimer ce bloc',
+  'charger_une_image'         => 'Ajouter une image &agrave; ce bloc:',
+  'charger_autre_image'       => 'Remplacer l\'image de ce bloc:',
+  'supprimer_bandeau'         => 'Supprimer ce bandeau',
+  'entrez_donnees_nouveau_bloc' => 'Titre et texte du bloc libre',
+  'bloc_lien'                 => 'Lien (s\'applique sur l\'image et le texte du bloc, optionnel)',
+  'bloc_image'                => 'Illustration du bloc (optionnel)',
+  
+// bloc de logo de rubrique
+ 'intro_up_rub_bandeau' => 'Ajouter un nouveau bandeau :',
+ 'titre_up_rub_bandeau' => 'Bandeau de la rubrique',
+ 'invit_up_rub_bandeau' => 'Modifier le bandeau',
+ 'upload_reussi'        => 'Upload rÃ©ussi !',
+ 'bandeau_actuel'       => 'Bandeau actuel',
+ 'aucun_bandeau_rub'    => 'Actuellement aucun bandeau.',
+
+// TRADUCTIONS SPECIFIQUES
+//ARTY.php - Options de base
+  // titre page
+  'titre_options_base'        => 'Options ARTY de base',
+  'titre_configuration_base'  => 'Configuration de base',
+  'sideinfo_arty'             => 'Dans cette page, vous pouvez sÃ©lectionner les rubriques d\'oÃ¹ proviendrons les contenus de l\'Ã©ditorial, des news, etc.',
+  'edito'                     => 'SÃ©lection de l\'editorial',
+  'choix_rubrique_news'       => 'Choix de la rubrique de news',
+  'rubrique_article_une'      => 'Rubrique et articles Ã  la une',
+  'pas_de_une'                => 'Pas de rubrique ou d\'article Ã  la une',
+  'explication_choix_rubrique_news' => 'Les news sont des informations courtes sur votre activitÃ©. Il s\'agit techniquement de breves Ã©crites dans une rubrique.',
+  'video_au_hasard'     => 'Choix de la rubrique de vidÃ©o au hasard',
+  'pas_de_image_hasard' => 'Pas d\'image au hasard',
+ 'cacher_edito'=> 'Cacher l\'Ã©dito (masquer l\'Ã©ditorial dans les listes)',
+ 'lire_autres_editos' => 'Afficher le lien "lire les autres Ã©ditos"',
+ 'ajouter_un_lien'=> 'Ajouter un lien manuellement',
+  
+  // bloc aide
+  'titre_aide_base'           => 'Aide',
+  'aide_options_base'         => 'Si vous n\'avez que peu de temps &#224; consacrer &agrave; la personnalisation de votre site, concentrez vos efforts sur cette page.',
+  
+  // Page menu
+  'si_pas_langue'      => 'Si la langue pour laquelle vous voulez crÃ©er un menu ne se trouve pas dans cette liste, c\'est que vous n\'avez pas encore assignÃ© cette langue Ã  une rubrique ou un article.',
+  'titre_options_menu' => 'CrÃ©ation des menus',
+  'intro_menu'         => 'Cette page vous permet de crÃ©er le menu de votre site. Vous pouvez y disposer des rubriques, des articles ainsi que des groupes de mots-clÃ©s et des mots-clÃ©s. Vous pouvez ensuite agencer l\'ordre de ces Ã©lÃ©ments.',
+  'menu_actuel'        => 'Menu pour la langue',
+  'type_de_menu'       => 'Type de menu',
+  'menu_reservoir'     => 'Choisissez les Ã©lÃ©ments Ã  inclure dans le menu',
+  'nom_lien' => 'Nom du lien:',
+  'url_lien'=> 'Adresse url du lien:',
+  'un_niveau'=> 'Un niveau',
+  'deux_niveaux' => 'Deux niveaux',
+  'manuel'   => 'Manuel',
+  'nombre_niveaux_menu' => 'Vous pouvez choisir entre 3 types de menus.',
+  'intro_niveaux_menu' => 'Dans le menu, vous pouvez juste faire s\'afficher les noms des rubriques (1 niveau) mais aussi ceux des sous-rubriques (2 niveaux). Si vous choisissez le mode manuel, vous devez choisir chaque Ã©lÃ©ment Ã  afficher dans le menu.',
+  'intro_lister_articles' => 'Cochez la case ci-dessous si vous voulez lister les articles (et les mots-clÃ©s des groupes) dans le second niveau.',
+  'lister_articles' => 'Lister les articles et les mots-clÃ©s Ã©galement.',
+  'choix_de_la_langue_menu' => 'Info',
+  'rubrique' => 'Rubrique',
+  'article' => 'Article',
+  'groupe' => 'Groupe mots',
+  'mot' => 'Mot-clÃ©', 
+  'intro_choix_niveaux' => 'Choisissez ici le nombre de niveaux Ã  afficher:',
+  'n_niveaux' => 'L\'arborescence complÃšte',
+  'intro_menu_manuel' => 'En choisissant le mode manuel, vous pouvez dÃ©finir un Ã  un les Ã©lÃ©ments Ã  inclure dans l\'arborescence du menu.',
+  'avis_menu_auto' => 'Tant qu\'aucun Ã©lÃ©ment n\'a Ã©tÃ© insÃ©rÃ© dans le menu, celui-ci fonctionne en mode automatique.',
+  
+  // page article
+  'galerie_image'  => 'Galerie image',
+  'intro_creer_bloc' => 'Ajouter un bloc libre',
+  
+//PAGE THEMES
+  'sideinfo_theme' => 'Ici vous pouvez selectionner le thÃšme principal de votre site ainsi que d\'autres configurations generales : contenu du footer des pages, les metas, et le texte de la page 404. Le thÃšme correspond Ã  l\'habillage graphique du site',
+  'aucun_bandeau' => 'Il n\'y a pas de bandeau',
+  'choix_du_theme' => 'Configuration des thÃšmes',
+  'choixtheme' => 'Choix du thÃšme',
+  'theme_actuel' => 'ThÃšme actuel.',
+  'theme_base' => 'ThÃšme de base',
+  'bouton_changer_theme' => 'Enregistrer',
+  'titre_upload_bandeau' => 'InsÃ©rer un bandeau',
+   'intro_upload_bandeau' => 'C\'est ici que vous pouvez insÃ©rer un bandeau (banniÃšre, logo, illustration qui se retrouvera Ã  toutes les pages du site) en le chargeant Ã  partir d\'un dossier qui se trouve sur votre ordinateur.',
+   'footer'=> 'InsÃ©rer un footer',
+   'votre_message_de_footer' => 'C\'est ici que vous pouvez charger les Ã©lÃ©ments qui composeront votre footer. Il s\'agit du texte en pied de page qui s\'affiche sur toutes les pages du site.',
+   'metas' => 'Enregistrer vos metas',
+'vos_metas' => 'Un "mÃ©ta" est une information cachÃ©e dans la page et qui s\'adresse aux moteurs de recherche. Par exemple : si vous introduisez le "mÃ©ta" -pomme-  et que vous introduisez dans google -pomme-, votre site sera affichÃ© dans la liste des rÃ©sultats comme correspondant Ã  -pomme-. Les trois principaux mÃ©tas utilisÃ©s sont : keywords, description, robot.',
+'type_meta' => 'Type de mÃ©tas', 
+'valeur_meta' => 'Votre(vos) mÃ©ta(s)',
+'page_404'=> 'Personnaliser la page d\'erreur (404). La page s\'affiche quand le lien n\'est pas trouvÃ©.',
+'votre_message_page_404'=> 'Tapez ici le titre et le texte du message 404',
+'liste_assoc' => 'Liste des thÃšmes dÃ©jÃ  associÃ©s',
+'ajouter_meta' => 'Ajouter un mÃ©ta',
+
+// page Exec (configuration de base)
+'pas_de_edito'=> 'Il n\'y a pas d\'Ã©dito.',
+'pas_de_rubrique_news' => 'Il n\'y a pas de rubrique news.',
+'pas_de_video_hasard' => 'Il n\'y a pas de video au hasard.',
+'config_date_auteur' => 'Personnalisation de la date et de l\'auteur',
+'intro_config_date_auteur' => 'C\'est ici que vous pouvez choisir d\'afficher la date ou l\'auteur de vos articles et brÃšves.',
+'intro_date'=> 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+'intro_auteur' => 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+
+'afficher_date' => 'Afficher la date',
+'pas_de_date' => 'Ne pas afficher la date',
+'afficher_auteur' => 'Afficher l\'auteur',
+'pas_afficher_auteur' => 'Ne pas afficher l\'auteur',
+'intro_suite' => 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+'afficher_suite' => 'Afficher le bouton "suite"',
+'pas_de_suite' => 'Ne pas afficher le bouton "suite"',
+
+'config_forum'=> 'Configuration du forum',
+'intro_config_forum'=>  'C\'est ici que vous pouvez choisir votre type de forum.',
+'explication_forum'=> 'Un forum permet d\'Ã©changer vos opinions : lire celles des autres et publier les vÃŽtres. Vous disposez de deux options. La premiÃšre demande javascript. La premiÃšre permet d\'avoir un forum dans l\'article, la seconde dans une fenÃªtre sÃ©parÃ©e.',
+'forum_self'=> 'Forum (avec javascript)', 
+'forum_forum' => 'Forum (sans javascript)',
+'image_au_hasard'=> 'Choix de la rubrique comprenant l\'image au hasard',
+'config_google_maps' => 'Configuration de la google map',
+'intro_config_api_key' => 'Les google map sont des cartes personnalisÃ©es (avec points de repÃšres, parcours, textes, images) facile Ã  fabriquer sur le site de <a href="http://maps.google.com">google map</a>. Pour les afficher sur votre site, vous devez fabriquer un clÃ© api et la placer ci-dessous. C\'est gratuit. Ensuite, tÃ©lÃ©chargez les fichier KML dans vos articles en tant que documents.',
+'gmaps_afficher_controles' => 'Afficher les boutons de contrÃŽle sur la carte',
+
+// page blocs libres
+'gestion_bloc_libre' => "Gestion des blocs libres",
+'sideinfo_avance'=>'Dans cette page, vous avez la possibilitÃ© de gÃ©rer des blocs libres, c\'est-Ã -dire, un texte, une image, un lien, bref, un contenu qui peut Ãªtre associÃ© Ã  n\'importe quel article, rubiruqe et mÃªme sommaire. Rendez-vous aussi aux pages des articles et des rubriques pour associer le(s) bloc(s)',
+'creer_un_bloc_libre'=>'CrÃ©er un bloc libre',
+'attention_modif_globale' => 'Attention, les modifications effectuÃ©es ici seront rÃ©percutÃ©es sur tous les endroits oÃ¹ le bloc a Ã©tÃ© associÃ©!',
+'modifier_ce_bloc' => 'Modifier ce bloc',
+
+//page gabarit
+'sideinfo_gabarit'=>'Dans cette page, vous avez la possibilitÃ© de configurer votre page en dÃ©plaÃ§ant les modules oÃ¹ vous le dÃ©sirez. Les modules dans la colonne rÃ©serve ne s\'affiche pas sur votre site, il doivent Ãªtre dÃ©placÃ©s dans le corps  de votre page ou une colonne contextuelle. Il existe un gabarit pour la page de sommaire mais aussi pour les rubriques, les articles, les groupe-mots, les forum, les liens etc.',
+'sauver'=> 'Enregistrer',
+'configuration_des_gabarits'=>'Configuration des gabarits :',
+'contexte1'=> 'Colonne contextuelle 1',
+'contexte2'=> 'Colonne contextuelle 2',
+'corps'=> 'Corps',
+'reserve'=>'RÃ©serve',
+'avance' => 'RÃ©serve avancÃ©e',
+'nouveau_gabarit'=>'DÃ©river un gabarit',
+'deriver_gabarit'=> 'Nom du nouveau gabarit',
+'baser_gabarit_sur'=> 'Baser le gabarit sur',
+'modifier_un_autre_gabarit' => 'Modifier un autre gabarit',
+'nom_du_gabarit' => 'Nom du gabarit',
+'liste_assoc_gabarit' => 'Pages associÃ©es Ã  ce gabarit',
+
+
+// gabarits : noms des blocs
+'bloc-libre' => 'Blocs libres',
+'articles-une' => 'Articles Ã  la une',
+'liste-liens' => 'Liste de liens',
+'derniers-liens' => 'Derniers liens',
+'nombre_liens_affiches' => 'Nombre de liens affichÃ©s',
+'menu-langues' => 'Menu des langues',
+'rechercher' => 'Rechercher',
+'editorial' => 'Editorial',
+'derniers-articles' => 'Derniers articles',
+'nombre_articles_affiches' => 'Nombre d\'articles affichÃ©s',
+'identification-visiteur' => 'Identification des visiteurs',
+'liste-breves' => 'Liste des brÃšves',
+'nombre_breves_affichees' => 'Nombre de brÃšves affichÃ©es',
+
+'derniers-forums' => 'Derniers forums',
+'nombre_forums_affiches' => 'Nombre de forums affichÃ©s',
+
+'groupe-mots-cles' => 'Groupe de mots clÃ©s',
+'menu-groupe' => 'Mots clÃ©s d\'un groupe',
+'rubriques-une' => 'Rubrique Ã  la une',
+'nombre_articles' => 'Nombre d\'articles affichÃ©s',
+'bloc_libre_rubrique' => 'Blocs libres',
+'bloc_libre_article' => 'Blocs libres',
+'quels_blocs' => 'Quels blocs ?',
+'blocs_article' => 'De l\'article',
+'blocs_article_rubrique' => 'De l\'article et sa rubrique',
+'liste_extension_exclure' => 'Liste d\'extension Ã  exclure, sÃ©parÃ©es par des barres verticales',
+'pieces_jointes' => 'PiÃšces jointes',
+'rubrique_podcast' => 'Podcast de la rubrique',
+'article_podcast' => 'Podcast de l\'article',
+'liste_groupe_inclure' => 'Listez ici les id des groupes sÃ©parÃ©s par des barres verticales.',
+'thesaurus_mots' => 'ThÃ©saurus',
+'raccourcis_sous_rubrique' => 'Liste des sous rubriques (ancres)',
+'galerie_videos_rub' => 'Galerie vidÃ©o',
+'type_de_video' => 'Type de vidÃ©o',
+'video-hasard' => 'VidÃ©o au hasard',
+'flv_lecteur_flash' => 'FLV (lecteur flash)',
+'tous_popup' => 'Tous (popup)',
+'image-hasard' => 'Image au hasard',
+
+'nombre_news_affichees' => 'Nombre de news affichÃ©es',
+'bloc_sons_hasard_branche' => 'Sons au hasard de cette branche',
+'nombre_playlist' => 'Nombre de sons dans la liste',
+'google-maps-rubrique' => 'Google map',
+'google-maps-article' => 'Google map',
+'bloc_proposer_lien' => 'Proposer un lien',
+'diaporama-rubrique' => 'Diaporama image',
+'rubrique-head' => 'Titre et logo de la rubrique',
+'rubrique-texte' => 'Texte de la rubrique',
+'liste-articles' => 'Articles de cette rubrique',
+'liste-rubriques' => 'Sous-rubriques de cette rubrique',
+'forum' => 'Forums',
+'galerie-image' => 'Galerie d\'images',
+'galerie-audios-rub' => 'Galerie audio',
+'galerie-audios' => 'Galerie audio',
+'mots-cles' => 'Mots clÃ©s de cette rubrique',
+'liste-sites-motscles' => 'Sites comportants le mÃªme mot-clÃ©',
+
+'galerie-swf' => 'Galerie d\'animations flash',
+'diaporama-article-flash' => 'Diaporama image flash',
+'autres-articles' => 'Autres articles de la mÃªme rubrique',
+'article-head' => 'Titre et informations de l\'article',
+'article-texte' => 'Texte de l\'article',
+'bloc-forum' => 'Forums',
+'galerie-videos' => 'Galerie vidÃ©o',
+
+'groupe-autres-groupes' => 'Autres groupes de mots-clÃ©s',
+'groupe-head' => 'Titre et logo du groupe',
+'groupe-texte' => 'Texte du groupe',
+'groupe-liste-mots' => 'Liste de mots du groupe',
+'groupe-dernieres-entrees' => 'DerniÃšres entrÃ©es du groupe',
+'liste-mots-cles' => 'Liste de tous les mots clÃ©s',
+
+'404-head' => 'Titre de la page 404',
+'404-texte' => 'Texte de la page 404',
+'auteur-ecrire' => 'Ecrire Ã  l\'auteur',
+'auteur_autres_auteurs' => 'Liste des autres auteurs',
+'auteur-head' => 'Titre de la page',
+'auteur-info' => 'Informations sur l\'lauteur',
+'liste-articles-auteur' => 'Liste des articles de l\'auteur',
+'bloc-login' => 'Formulaire de login',
+'recherche-head' => 'Titre de la recherche',
+'recherche-articles' => 'Articles correspondants',
+'recherche-rubriques' => 'Rubriques correspondantes',
+'recherche-mots' => 'Mots correspondants',
+'recherche-documents' => 'Documents correspondants',
+'recherche-liens' => 'Liens correspondants',
+
+'liste-agenda' => 'Liste des Ã©vÃ©nements (articles)',
+
+'abo-newsletter' => 'Abonnement Ã  la newsletter',
+
+// a propos
+'a_propos' => 'A propos',
+'dernieres_infos' => 'DerniÃšres informations',
+'sideinfo_about'=> 'Ã propos : retrouver les derniÃšres infos du plugin.',
+
+// page groupe
+'titre_up_rub_logo' => 'Logo du groupe',
+'invit_up_rub_logo' => 'Modifier le logo',
+'logo_actuel' => 'Logo actuel',
+'intro_up_logo' => 'Cliquez sur le bouton "Choisir le fichier" pour ajouter/modifier le bandeau de cette rubrique',
+'supprimer_logo' => 'Supprimer le logo',
+
+//pages naviguer
+'associer_un_bloc_libre' => 'Associer un bloc libre',
+'associer_un_theme' => 'Associer un thÃšme',   
+'creer_bloc_et_associer' => 'CrÃ©er un nouveau bloc',   
+'ajouter' => 'Ajouter',
+'langue_bloc_assoc' => 'Langue du bloc libre:',
+'langue_bloc' => 'Langue du bloc libre:',
+'intro_associer_bloc_libre' => 'Associer un bloc libre prÃ©existant Ã  cet endroit:',  
+'blocs_libres_deja_associes' => 'Blocs libres dÃ©jÃ  associÃ©s Ã  cet endroit:',
+'intro_associer_gabarit' => 'Vous pouvez choisir ici un gabarit de prÃ©sentation spÃ©cifique Ã  cette page.', 
+'choisissez_un_gabarit' => 'Choisissez un gabarit',
+'associer_un_gabarit' => 'Associer un gabarit',
+'bouton_changer_gabarit' => 'Associer ce gabarit',
+'editer_ce_gabarit' => 'Editer ce gabarit',
+'creer_gabarit_et_associer' => 'Creer gabarit et l\'associer',
+'pas_de_page_associee' => 'Pas de page associÃ©e.'
+);
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_it.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_it.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_it.php	(revision 198)
@@ -0,0 +1,308 @@
+<?php
+
+// FICHIER DE TRADUCTION DES PAGES OPTIONS ARTY
+// Pour les caractÃšres spÃ©ciaux HTML voir  
+//  http://www.ilovejackdaniels.com/cheat-sheets/html-character-entities-cheat-sheet/
+// Attention Ã  Ã©chapper les guillements par backspace : "l'apostrophe" -> "l\'apostrophe"
+
+// Pour la traduction de la partie publique voir local_**.php
+
+$GLOBALS['i18n_arty_it'] = array(
+
+// TRADUCTIONS GENERALES
+  'titre'                     => 'Titolo',
+  'acces_a_la_page'           => 'Solo gli amministratori hanno accesso a questa pagina.',
+  'modifier_cette_option'     => 'Modificare questa opzione',
+  'info'                      => 'info',
+  'erreur'                    => 'Errore',
+  'le_changement_a_ete_effectue' => 'La modifica è stata effettuata',
+
+// messages d'erreur
+  'erreur_extension'          => 'Questo tipo di file non è autorizzato.',
+  'upload_reussi'             => 'Immagine caricata con successo.',
+  'upload_rate'               => 'Impossibile caricare l\'immagine.',
+  'erreur_trop_gros'          => 'Il file è troppo voluminoso.',
+  'erreur_transmission'       => 'Un problema grave è intervenuto nel caricamento del file.',
+
+// menu de navigation
+
+// boutons
+  'enregistrer'               => 'Registrare',
+  'modifier_et_retour'        => 'Registrare e ritornare alla pagina',
+  'supprimer'                 => 'Cancellare',
+  'options_arty'              => 'Opzioni Magusine',
+// onglets
+  'onglet_base'               => 'Configuratione di base',
+  'onglet_themes'             => 'Temi',
+  'onglet_avance'             => 'Blocchi liberi',
+  'onglet_menu'               => 'Menu',
+  'onglet_gabarit'            => 'Schemi',
+  'onglet_a_propos'           => 'Informazioni su',
+  
+// blocs libres
+  'titre_bloc_defaut'         => 'Titolo del blocco libero',
+  'texte_bloc_defaut'         => 'Testo del blocco libero',
+  'logo_bloc'                 => 'Logo del blocco libero:',
+  'modifier_bloc_libre'       => 'Modificare questo blocco',
+  'supprimer_bloc'            => 'Cancellare questo blocco',
+  'charger_une_image'         => 'Aggiungere un\'immagine a questo blocco:',
+  'charger_autre_image'       => 'Sosituire l\'immagine a questo blocco:',
+  'supprimer_bandeau'         => 'Cancellare il logo intestazione',
+  'entrez_donnees_nouveau_bloc' => 'Titolo e testo del blocco libero',
+  'bloc_lien'                 => 'Link (si applica all\'immagine e al testo del blocco, opzionale)',
+  'bloc_image'                => 'Illustrazione del blocco (opzionale)',
+  
+// bloc de logo de rubrique
+ 'intro_up_rub_bandeau'    => 'Cliccare su "Scegliere il file" per aggiungere o modificare il logo di questa rubrica',
+ 'titre_up_rub_bandeau'    => 'Logo di questa rubrica',
+ 'invit_up_rub_bandeau'    => 'Modificare il logo',
+ 'upload_reussi'           => 'Upload riuscito!',
+ 'bandeau_actuel'          => 'Banner attuale',
+ 'aucun_bandeau_rub'       => 'Attualmente nessun logo.',
+
+// TRADUCTIONS SPECIFIQUES
+//ARTY.php - Options de base
+  // titre page
+  'titre_options_base'        => 'Optioni ARTY di base',
+  'titre_configuration_base'  => 'Configurazione di base',
+  'sideinfo_arty'             => 'In questa pagina, potete selezionare le rubriche da cui provengono i contenuti dell\'editoriale, delle news, ecc.',
+  'edito'                     => 'Selezione dell\'editoriale',
+  'choix_rubrique_news'       => 'Scelta della rubrica delle news',
+  'rubrique_article_une'      => 'Rubrica e articoli in prima pagina',
+  'pas_de_une'                => 'Nessuna rubrica o articolo in prima pagina',
+  'explication_choix_rubrique_news' => 'Le news sono delle informazioni brevi sulla vostra attività. Si tratta tecnicamente di brevi scritti in una rubrica.',
+  'video_au_hasard'           => 'Scelta della rubrica del video a caso',
+  'pas_de_image_hasard'       => 'Nessuna immagine a caso',
+  'cacher_edito'              => 'Nascondere l\'editoriale (celare l\'editoriale negli elenchi)',
+  'lire_autres_editos'        => 'Mostrare il link "leggere gli altri editoriali"',
+  'ajouter_un_lien'           => 'Aggiungere manualmente un link',
+  
+  // bloc aide
+  'titre_aide_base'           => 'Aiuto',
+  'aide_options_base'         => 'Se non avete che poco tempo da dedicare alla personalizzazione del vostro sito, concentrate i vostri sforzi su questa pagina.',
+  
+  // Page menu
+  'si_pas_langue'      => 'Se la lingua per la quale volete creare un menu non appare in questa lista, significa che non avete ancora assegnato questa lingua ad una rubrica o a un articolo.',
+  'titre_options_menu' => 'Creazione dei menu',
+  'intro_menu'         => 'Questa pagina vi permette di creare il menu del vostro sito. Potete disporvi delle rubriche, degli articoli come dei gruppi di parole-chiave e delle parole-chiave. Potete quindi organizzare l\'ordine di questi elementi.',
+  'menu_actuel'        => 'Menu per la lingua',
+  'type_de_menu'       => 'Tipo di menu',
+  'menu_reservoir'     => 'Scegliete gli elementi da inserire nel menu',
+  'nom_lien'           => 'Nome del sito:',
+  'url_lien'           => 'Indirizzo url del sito:',
+  'un_niveau'          => 'Un livello',
+  'deux_niveaux'       => 'Due livelli',
+  'manuel'             => 'Manuale',
+  'nombre_niveaux_menu' => 'Potete scegliere fra 3 tipi di menu.',
+  'intro_niveaux_menu'  => 'Nel menu, potete far apparire i nomi delle rubriche (1 livello) ma anche quello delle sotto-rubriche (2 livelli). Se scegliete il modo manuale, dovete specificare manualmente ogni elemento da far apparire nel menu.',
+  'intro_lister_articles' => 'Barrate la casella qui sotto se volete elencare gli articoli (e le parole-chiave dei gruppi) nel secondo livello.',
+  'lister_articles'       => 'Elencare gli articoli e le parole-chiave.',
+  'choix_de_la_langue_menu' => 'Info',
+  'rubrique'                => 'Rubrica',
+  'article'                 => 'Articolo',
+  'groupe'                  => 'Gruppo parole-chiave',
+  'mot'                     => 'Parola-chiave',
+  'intro_choix_niveaux'     => 'Scegliete qui il numero di livelli da mostrare:',
+  'n_niveaux'               => 'Tutti i livelli',
+  'intro_menu_manuel'       => 'Scegliendo il modo manuale, potete definire uno a uno gli elementi da includere nel menu.',
+  'avis_menu_auto'          => 'Se nessun elemento viene inserito nel menu, questo funziona in modo automatico.',
+  
+  // page article
+  'galerie_image'           => 'Galleria immagini',
+  'intro_creer_bloc'        => 'Aggiungere un blocco libero',
+  
+//PAGE THEMES
+  'sideinfo_theme'          => 'Qui potete selezionare il tema principale del vostro sito come altre configurazioni generali: contenuto del piè di pagina delle pagine, i metacontenuti, e il testo della pagina 404. Il tema corrisponde all\'impostazione grafica del sito',
+  'aucun_bandeau'           => 'Nessun banner',
+  'choix_du_theme'          => 'Configurazione dei temi',
+  'choixtheme'              => 'Scelta del tema',
+  'theme_actuel'            => 'Tema attuale.',
+  'theme_base'              => 'Tema di base',
+  'bouton_changer_theme'    => 'Salvare',
+  'titre_upload_bandeau'    => 'Inserire un banner',
+   'intro_upload_bandeau'   => 'È qui che potete inserire un banner (logo, illustrazione che appare in tutte le pagine del sito) caricandolo da una cartella del vostro pc.',
+   'footer'                 => 'Inserire un footer/piè di pagina',
+   'votre_message_de_footer' => 'Qui potete caricare gli elementi che comporranno il piè di pagina (footer). Si tratta di testo in piè di pagina che appare su tutte le pagine del sito.',
+   'metas'                   => 'Salvare i vostri meta',
+'vos_metas'                  => 'Un "meta" è un\'informazione per i motori di ricerca e nascosta nella pagina. Per esempio: se inserite il "meta" -mela-  e inserite in google -mela-, il vostro sito apparirà nella lista dei risultati corrispondente a -mela-. I tre principali meta utilizzati sono: keywords, descrizione, robot.',
+'type_meta'                  => 'Tipo di meta',
+'valeur_meta'                => 'I vostri meta',
+'page_404'                   => 'Personalizzare la pagina di errore (404). La pagina appare quando non viene trovato l\'indirizzo.',
+'votre_message_page_404'     => 'Digitare qui il titolo e il testo della pagina 404',
+'liste_assoc'                => 'Elenco dei temi già associati',
+'ajouter_meta'               => 'Aggiungere un meta',
+
+// page Exec (configuration de base)
+'pas_de_edito'              => 'Nessun editoriale.',
+'pas_de_rubrique_news'      => 'Nessuna rubrica news.',
+'pas_de_video_hasard'       => 'Nessun video a caso.',
+'config_date_auteur'        => 'Personalizzazione della data e dell\'autore',
+'intro_config_date_auteur'  => 'Qui potete scegliere di mostrare la data o l\'autore degli articoli e delle brevi.',
+'intro_date'                => 'Selezionare l\'opzione prescelta',
+'intro_auteur'              => 'Selezionare l\'opzione prescelta',
+
+'afficher_date'             => 'Mostrare la data',
+'pas_de_date'               => 'Non mostrare la data',
+'afficher_auteur'           => 'Mostrare l\'autore',
+'pas_afficher_auteur'       => 'Non mostrare l\'autore',
+'intro_suite'               => 'Selezionare l\'opzione prescelta',
+'afficher_suite'            => 'Mostrare il pulsante "segue"',
+'pas_de_suite'              => 'Non mostrare il pulsante "segue"',
+
+'config_forum'              => 'Configurazione del forum',
+'intro_config_forum'        => 'Qui potete scegliere il tipo di forum.',
+'explication_forum'         => 'Un forum permette di scambiare le proprie opinioni: leggere quelle altrui e pubblicare le vostre. Disponete di due opzioni. La prima richiede javascript e permette di avere un forum nell\'articolo, la seconda in una finestra separata.',
+'forum_self'                => 'Forum (con javascript)',
+'forum_forum'               => 'Forum (senza javascript)',
+'image_au_hasard'           => 'Scelta della rubrica contenente l\'immagine a caso',
+'config_google_maps'        => 'Configurazione della google map',
+'intro_config_api_key'      => 'Le google map sono carte geografiche personalizzate (con punti di riferimento, percorsi, testi, immagini) semplici da realizzare sul sito <a href="http://maps.google.com">google map</a>. Pour les afficher sur votre site, vous devez fabriquer un clÃ© api et la placer ci-dessous. C\'est gratuit. Ensuite, tÃ©lÃ©chargez les fichier KML dans vos articles en tant que documents.',
+'gmaps_afficher_controles'  => 'Mostrare il pulsante di controllo sulla carta',
+
+// page blocs libres
+'gestion_bloc_libre'       => 'Gestione dei blocchi liberi',
+'sideinfo_avance'          => 'In questa pagina, potete gestire dei blocchi liberi, cioè un testo, un\'immagine, un link, in sintesi un qualsiasi contenuto che può essere associato a non importa quale articolo, rubrica e anche sommario. Portarsi anche sulle pagine degli articoli e delle rubriche per associare i blocchi liberi',
+'creer_un_bloc_libre'      => 'Creare un blocco libero',
+'attention_modif_globale'  => 'Attenzione, le modifiche effettuate qui incideranno su tutti i luoghi associati ai blocchi liberi!',
+'modifier_ce_bloc'         => 'Modificare questo blocco',
+
+//page gabarit
+'sideinfo_gabarit'         => 'Da qui è possibile configurare le pagine spostando i moduli dove si desidera. I moduli sulla colonna "Riserva" non appariranno nel vostro sito, devono essere collocati nel "corpo" della pagina o in una colonna contestuale. Esiste uno schema per la pagina di sommario ma altresì per le rubriche, gli articoli, i gruppo di parole-chiave, i forum, i link, ecc.',
+'sauver'                   => 'Salvare',
+'configuration_des_gabarits'=> 'Configurazione degli schemi:',
+'contexte1'                    => 'Colonna contestuale 1',
+'contexte2'                    => 'Colonna contestuale 2',
+'corps'                        => 'Corpo',
+'reserve'                      => 'Riserva',
+'avance'                       => 'Riserva avanzata',
+'nouveau_gabarit'              => 'Derivare uno schema',
+'deriver_gabarit'              => 'Nome del nuovo schema',
+'baser_gabarit_sur'            => 'Basare lo schema su',
+'modifier_un_autre_gabarit'    => 'Modificare un altro schema',
+'nom_du_gabarit'               => 'Nome dello schema',
+'liste_assoc_gabarit'          => 'Pagine associate a questo schema',
+
+
+// gabarits : noms des blocs
+'bloc-libre'                => 'Blocchi liberi',
+'articles-une'              => 'Articoli in prima pagina',
+'liste-liens'               => 'Elenco dei links',
+'derniers-liens'            => 'Ultimi links',
+'nombre_liens_affiches'     => 'Numero dei links mostrati',
+'menu-langues'              => 'Menu delle lingue',
+'rechercher'                => 'Ricerca',
+'editorial'                 => 'Editoriale',
+'derniers-articles'         => 'Ultimi articoli',
+'nombre_articles_affiches'  => 'Numero degli articoli da mostrare',
+'identification-visiteur'   => 'Identificazione dei visitatori',
+'liste-breves'              => 'Elenco delle brevi',
+'nombre_breves_affichees'   => 'Numero delle brevi da mostrare',
+
+'derniers-forums'           => 'Ultimi forums',
+'nombre_forums_affiches'    => 'Numero dei forums mostrati',
+
+'groupe-mots-cles'          => 'Gruppo di parole-chiave',
+'menu-groupe'               => 'Parole-chiave di un gruppo',
+'rubriques-une'             => 'Rubrica in prima pagina',
+'nombre_articles'           => 'Numero di articoli mostrati',
+'bloc_libre_rubrique'       => 'Blocchi liberi',
+'bloc_libre_article'        => 'Blocchi liberi',
+'quels_blocs'               => 'Quali blocchi?',
+'blocs_article'             => 'Dell\'articolo',
+'blocs_article_rubrique'    => 'Dell\'articolo e la sua rubrica',
+'liste_extension_exclure'   => 'Elenco estensioni da escludere, separate da barre verticali',
+'pieces_jointes'            => 'Allegati',
+'rubrique_podcast'          => 'Podcast della rubrica',
+'article_podcast'           => 'Podcast dell\'articolo',
+'liste_groupe_inclure'      => 'Elencate qui gli id dei gruppi separati da barre verticali.',
+'thesaurus_mots'            => 'Thesaurus',
+'raccourcis_sous_rubrique'  => 'Elenco delle sotto-rubriche (ancres)',
+'galerie_videos_rub'        => 'Galerria video',
+'type_de_video'             => 'Tipo di video',
+'video-hasard'              => 'Video a caso',
+'flv_lecteur_flash'         => 'FLV (lecteur flash)',
+'tous_popup'                => 'Tutti (popup)',
+'image-hasard'              => 'Immagine a caso',
+
+'nombre_news_affichees'     => 'Numero delle news mostrate',
+'bloc_sons_hasard_branche'  => 'File audio a caso in questa sezione',
+'nombre_playlist'           => 'Numero dei file audio nell\'elenco',
+'google-maps-rubrique'      => 'Google map',
+'google-maps-article'       => 'Google map',
+'bloc_proposer_lien'        => 'Proporre un sito',
+'diaporama-rubrique'        => 'Diaporama image',
+'rubrique-head'             => 'Titolo e logo della rubrica',
+'rubrique-texte'            => 'Testo della rubrica',
+'liste-articles'            => 'Articoli della rubrica',
+'liste-rubriques'           => 'Sotto-rubriche della rubrica',
+'forum'                     => 'Forums',
+'galerie-image'             => 'Galleria d\'immagini',
+'galerie-audios-rub'        => 'Galleria audio',
+'galerie-audios'            => 'Galerie audio',
+'mots-cles'                 => 'Parole-chiave di questa rubrica',
+'liste-sites-motscles'      => 'Siti con la stessa parola-chiave',
+
+'galerie-swf'               => 'Galleria di animazioni flash',
+'diaporama-article-flash'   => 'Diaporama image flash',
+'autres-articles'           => 'Altri articoli nella medesima rubrica',
+'article-head'              => 'Titolo e informazioni sull\'articolo',
+'article-texte'             => 'Testo dell\'articolo',
+'bloc-forum'                => 'Forums',
+'galerie-videos'            => 'Galleria video',
+
+'groupe-autres-groupes'     => 'Altri gruppi di parole-chiave',
+'groupe-head'               => 'Titolo e logo del gruppo',
+'groupe-texte'              => 'Testo del gruppoe',
+'groupe-liste-mots'         => 'Elenco delle parole-chiave del gruppo',
+'groupe-dernieres-entrees'  => 'Parole-chiave recenti del gruppo',
+'liste-mots-cles'           => 'Elenco di tutte le parole-chiave',
+
+'404-head'                  => 'Titolo della pagina 404',
+'404-texte'                 => 'Testo della pagina 404',
+'auteur-ecrire'             => 'Scrivere all\'autore',
+'auteur_autres_auteurs'     => 'Elenco degli altri autori',
+'auteur-head'               => 'Titolo della pagina',
+'auteur-info'               => 'Informazioni sull\'autore',
+'liste-articles-auteur'     => 'Elenco degli articoli dell\'autore',
+'bloc-login'                => 'Formulario per il login',
+'recherche-head'            => 'Titolo della ricerca',
+'recherche-articles'        => 'Articoli corrispondenti',
+'recherche-rubriques'       => 'Rubriche corrispondenti',
+'recherche-mots'            => 'Parole corrispondenti',
+'recherche-documents'       => 'Documenti corrispondenti',
+'recherche-liens'           => 'Links corrispondenti',
+
+'liste-agenda'              => 'Elenco degli eventi (articoli)',
+
+'abo-newsletter'            => 'Abbonarsi alla newsletter',
+
+// a propos
+'a_propos'                  => 'A proposito',
+'dernieres_infos'           => 'Ultime informazioni',
+'sideinfo_about'            => 'A proposito: le ultime novità sul plugin.',
+
+// page groupe
+'titre_up_rub_logo'         => 'Logo del gruppo',
+'invit_up_rub_logo'         => 'Modificare il logo',
+'logo_actuel'               => 'Logo attuale',
+'intro_up_logo'             => 'Cliccare sul pulsante "Scegliere il file" per aggiungere o modificare il banner di questa rubrica',
+'supprimer_logo'            => 'Cancellare il logo',
+
+//pages naviguer
+'associer_un_bloc_libre'    => 'Associare un blocco libero',
+'associer_un_theme'         => 'Associare un tema',
+'creer_bloc_et_associer'    => 'Creare un nuovo blocco',
+'ajouter'                   => 'Aggiungere',
+'langue_bloc_assoc'         => 'Lingua del blocco libero:',
+'langue_bloc'               => 'Lingua del blocco libero:',
+'intro_associer_bloc_libre' => 'Associare un blocco libero a questo elemento:',
+'blocs_libres_deja_associes' => 'Blocchi liberi già associati a questo elemento:',
+'intro_associer_gabarit'     => 'Potete scegliere qui uno schema di presentazione specifica per questa pagina.',
+'choisissez_un_gabarit'      => 'Scegliere uno schema',
+'associer_un_gabarit'        => 'Associare uno schema',
+'bouton_changer_gabarit'     => 'Associare uno schema',
+'editer_ce_gabarit'          => 'Editare questo schema',
+'creer_gabarit_et_associer'  => 'Creare uno schema e associarlo',
+'pas_de_page_associee'       => 'Nessuna pagina associata.'
+);
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_nl.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_nl.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/arty_nl.php	(revision 198)
@@ -0,0 +1,303 @@
+<?php
+
+// FICHIER DE TRADUCTION DES PAGES OPTIONS ARTY
+// Pour les caractÃšres spÃ©ciaux HTML voir  
+//  http://www.ilovejackdaniels.com/cheat-sheets/html-character-entities-cheat-sheet/
+// Attention Ã  Ã©chapper les guillements par backspace : "l'apostrophe" -> "l\'apostrophe"
+
+// Pour la traduction de la partie publique voir local_**.php
+
+$GLOBALS['i18n_arty_nl'] = array(
+
+// TRADUCTIONS GENERALES
+  'titre'                     => 'Titre',
+  'acces_a_la_page'           => 'Seuls les administrateurs ont acc&egrave;s &agrave; cette page.',
+  'modifier_cette_option'     => 'Modifier cette option',
+  'info'                      => 'info',
+  'erreur'                    => 'Erreur',
+  'le_changement_a_ete_effectue' => 'Le changement a Ã©tÃ© effectuÃ©',
+
+// messages d'erreur
+  'erreur_extension'          => 'Ce type de fichier n\'est pas autoris&eacute;.',
+  'upload_reussi'             => 'Image chargÃ©e avec succÃšs.',
+  'upload_rate'               => 'Impossible de charger l\'image.',
+  'erreur_trop_gros'          => 'Le fichier est trop volumineux.',
+  'erreur_transmission'       => 'Un probl&egrave;me est survenu pendant la transmission du fichier.',
+
+// menu de navigation
+
+// boutons
+  'enregistrer'               => 'Enregistrer',
+  'modifier_et_retour' => 'Enregister et revenir Ã  la page',
+  'supprimer'                 => 'Supprimer',
+  'options_arty'              => 'Options Magusine',
+// onglets
+  'onglet_base'               => 'Configuration de base',
+  'onglet_themes'             => 'Th&egrave;mes',
+  'onglet_avance'             => 'Blocs libres',
+  'onglet_menu'               => 'Menus',
+  'onglet_gabarit'            => 'Gabarits',
+  'onglet_a_propos'           => 'About',
+  
+// blocs libres
+  'titre_bloc_defaut'         => 'Titre du bloc libre',
+  'texte_bloc_defaut'         => 'Texte du bloc libre',
+  'logo_bloc'                 => 'Logo du bloc libre:',
+  'modifier_bloc_libre'       => 'Modifier ce bloc',
+  'supprimer_bloc'            => 'Supprimer ce bloc',
+  'charger_une_image'         => 'Ajouter une image &agrave; ce bloc:',
+  'charger_autre_image'       => 'Remplacer l\'image de ce bloc:',
+  'supprimer_bandeau'         => 'Supprimer ce bandeau',
+  'entrez_donnees_nouveau_bloc' => 'Titre et texte du bloc libre',
+  'bloc_lien'                 => 'Lien (s\'applique sur l\'image et le texte du bloc, optionnel)',
+  'bloc_image'                => 'Illustration du bloc (optionnel)',
+  
+// bloc de logo de rubrique
+ 'intro_up_rub_bandeau' => 'Cliquez sur le bouton "Choisir le fichier" pour ajouter/modifier le bandeau de cette rubrique',
+ 'titre_up_rub_bandeau' => 'Bandeau de cette rubrique',
+ 'invit_up_rub_bandeau' => 'Modifier le bandeau',
+ 'upload_reussi'        => 'Upload rÃ©ussi !',
+ 'bandeau_actuel'       => 'Bandeau actuel',
+ 'aucun_bandeau_rub'    => 'Actuellement aucun bandeau.',
+
+// TRADUCTIONS SPECIFIQUES
+//ARTY.php - Options de base
+  // titre page
+  'titre_options_base'        => 'Options ARTY de base',
+  'titre_configuration_base'  => 'Configuration de base',
+  'sideinfo_arty'             => 'Dans cette page, vous pouvez sÃ©lectionner les rubriques d\'oÃ¹ proviendrons les contenus de l\'Ã©ditorial, des news, etc.',
+  'edito'                     => 'SÃ©lection de l\'editorial',
+  'choix_rubrique_news'       => 'Choix de la rubrique de news',
+  'rubrique_article_une'      => 'Rubrique et articles Ã  la une',
+  'pas_de_une'                => 'Pas de rubrique ou d\'article Ã  la une',
+  'explication_choix_rubrique_news' => 'Les news sont des informations courtes sur votre activitÃ©. Il s\'agit techniquement de breves Ã©crites dans une rubrique.',
+  'video_au_hasard'     => 'Choix de la rubrique de vidÃ©o au hasard',
+  'pas_de_image_hasard' => 'Pas d\'image au hasard',
+ 'cacher_edito'=> 'Cacher l\'Ã©dito (masquer l\'Ã©ditorial dans les listes)',
+ 'lire_autres_editos' => 'Afficher le lien "lire les autres Ã©ditos"',
+ 'ajouter_un_lien'=> 'Ajouter un lien manuellement',
+  
+  // bloc aide
+  'titre_aide_base'           => 'Aide',
+  'aide_options_base'         => 'Si vous n\'avez que peu de temps &#224; consacrer &agrave; la personnalisation de votre site, concentrez vos efforts sur cette page.',
+  
+  // Page menu
+  'si_pas_langue'      => 'Si la langue pour laquelle vous voulez crÃ©er un menu ne se trouve pas dans cette liste, c\'est que vous n\'avez pas encore assignÃ© cette langue Ã  une rubrique ou un article.',
+  'titre_options_menu' => 'CrÃ©ation des menus',
+  'intro_menu'         => 'Cette page vous permet de crÃ©er le menu de votre site. Vous pouvez y disposer des rubriques, des articles ainsi que des groupes de mots-clÃ©s et des mots-clÃ©s. Vous pouvez ensuite agencer l\'ordre de ces Ã©lÃ©ments.',
+  'menu_actuel'        => 'Menu pour la langue',
+  'type_de_menu'       => 'Type de menu',
+  'menu_reservoir'     => 'Choisissez les Ã©lÃ©ments Ã  inclure dans le menu',
+  'nom_lien' => 'Nom du lien:',
+  'url_lien'=> 'Adresse url du lien:',
+  'un_niveau'=> 'Un niveau',
+  'deux_niveaux' => 'Deux niveaux',
+  'manuel'   => 'Manuel',
+  'nombre_niveaux_menu' => 'Vous pouvez choisir entre 3 types de menus.',
+  'intro_niveaux_menu' => 'Dans le menu, vous pouvez juste faire s\'afficher les noms des rubriques (1 niveau) mais aussi ceux des sous-rubriques (2 niveaux). Si vous choisissez le mode manuel, vous devez choisir chaque Ã©lÃ©ment Ã  afficher dans le menu.',
+  'intro_lister_articles' => 'Cochez la case ci-dessous si vous voulez lister les articles (et les mots-clÃ©s des groupes) dans le second niveau.',
+  'lister_articles' => 'Lister les articles et les mots-clÃ©s Ã©galement.',
+  'choix_de_la_langue_menu' => 'Info',
+  'rubrique' => 'Rubrique',
+  'article' => 'Article',
+  'groupe' => 'Groupe mots',
+  'mot' => 'Mot-clÃ©', 
+  'intro_choix_niveaux' => 'Choisissez ici le nombre de niveaux Ã  afficher:',
+  'n_niveaux' => 'L\'arborescence complÃšte',
+  'intro_menu_manuel' => 'En choisissant le mode manuel, vous pouvez dÃ©finir un Ã  un les Ã©lÃ©ments Ã  inclure dans l\'arborescence du menu.',
+  'avis_menu_auto' => 'Tant qu\'aucun Ã©lÃ©ment n\'a Ã©tÃ© insÃ©rÃ© dans le menu, celui-ci fonctionne en mode automatique.',
+  
+  // page article
+  'galerie_image'  => 'Galerie image',
+  'intro_creer_bloc' => 'Ajouter un bloc libre',
+  
+//PAGE THEMES
+  'sideinfo_theme' => 'Ici vous pouvez selectionner le thÃšme principal de votre site ainsi que d\'autres configurations generales : contenu du footer des pages, les metas, et le texte de la page 404. Le thÃšme correspond Ã  l\'habillage graphique du site',
+  'aucun_bandeau' => 'Il n\'y a pas de bandeau',
+  'choix_du_theme' => 'Configuration des thÃšmes',
+  'choixtheme' => 'Choix du thÃšme',
+  'theme_actuel' => 'ThÃšme actuel.',
+  'theme_base' => 'ThÃšme de base',
+  'bouton_changer_theme' => 'Enregistrer',
+  'titre_upload_bandeau' => 'InsÃ©rer un bandeau',
+   'intro_upload_bandeau' => 'C\'est ici que vous pouvez insÃ©rer un bandeau (banniÃšre, logo, illustration qui se retrouvera Ã  toutes les pages du site) en le chargeant Ã  partir d\'un dossier qui se trouve sur votre ordinateur.',
+   'footer'=> 'InsÃ©rer un footer',
+   'votre_message_de_footer' => 'C\'est ici que vous pouvez charger les Ã©lÃ©ments qui composeront votre footer. Il s\'agit ddu texte en pied de page qui s\'affiche sur toutes les pages du site.',
+   'metas' => 'Enregistrer vos metas',
+'vos_metas' => 'Un "mÃ©ta" est une information cachÃ©e dans la page et qui s\'adresse aux moteurs de recherche. Par exemple : si vous introduisez le "mÃ©ta" -pomme-  et que vous introduisez dans google -pomme-, votre site sera affichÃ© dans la liste des rÃ©sultats comme correspondant Ã  -pomme-. Les trois principaux mÃ©tas utilisÃ©s sont : keywords, description, robot.',
+'type_meta' => 'Type de mÃ©tas', 
+'valeur_meta' => 'Votre(vos) mÃ©ta(s)',
+'page_404'=> 'Personnaliser la page d\'erreur (404). La page s\'affiche quand le lien n\'est pas trouvÃ©.',
+'votre_message_page_404'=> 'Tapez ici le titre et le texte du message 404',
+'liste_assoc' => 'Liste des thÃšmes dÃ©jÃ  associÃ©s',
+'ajouter_meta' => 'Ajouter un mÃ©ta',
+
+// page Exec (configuration de base)
+'pas_de_edito'=> 'Il n\'y a pas d\'Ã©dito.',
+'pas_de_rubrique_news' => 'Il n\'y a pas de rubrique news.',
+'pas_de_video_hasard' => 'Il n\'y a pas de video au hasard.',
+'config_date_auteur' => 'Personnalisation de la date et de l\'auteur',
+'intro_config_date_auteur' => 'C\'est ici que vous pouvez choisir d\'afficher la date ou l\'auteur de vos articles et brÃšves.',
+'intro_date'=> 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+'intro_auteur' => 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+
+'afficher_date' => 'Afficher la date',
+'pas_de_date' => 'Ne pas afficher la date',
+'afficher_auteur' => 'Afficher l\'auteur',
+'pas_afficher_auteur' => 'Ne pas afficher l\'auteur',
+'intro_suite' => 'SÃ©lectionnez l\'option dÃ©sirÃ©e',
+'afficher_suite' => 'Afficher le bouton "suite"',
+'pas_de_suite' => 'Ne pas afficher le bouton "suite"',
+
+'config_forum'=> 'Configuration du forum',
+'intro_config_forum'=>  'C\'est ici que vous pouvez choisir votre type de forum.',
+'explication_forum'=> 'Un forum permet d\'Ã©changer vos opinions : lire celles des autres et publier les vÃŽtres. Vous disposez de deux options. La premiÃšre demande javascript. La premiÃšre permet d\'avoir un forum dans l\'article, la seconde dans une fenÃªtre sÃ©parÃ©e.',
+'forum_self'=> 'Forum (avec javascript)', 
+'forum_forum' => 'Forum (sans javascript)',
+'image_au_hasard'=> 'Choix de la rubrique comprenant l\'image au hasard',
+'config_google_maps' => 'Configuration de la google map',
+'intro_config_api_key' => 'Les google map sont des cartes personnalisÃ©es (avec points de repÃšres, parcours, textes, images) facile Ã  fabriquer sur le site de <a href="http://maps.google.com">google map</a>. Pour les afficher sur votre site, vous devez fabriquer un clÃ© api et la placer ci-dessous. C\'est gratuit. Ensuite, tÃ©lÃ©chargez les fichier KML dans vos articles en tant que documents.',
+'gmaps_afficher_controles' => 'Afficher les boutons de contrÃŽle sur la carte',
+
+// page blocs libres
+'gestion_bloc_libre' => "Gestion des blocs libres",
+'sideinfo_avance'=>'Dans cette page, vous avez la possibilitÃ© de gÃ©rer des blocs libres, c\'est-Ã -dire, un texte, une image, un lien, bref, un contenu qui peut Ãªtre associÃ© Ã  n\'importe quel article, rubiruqe et mÃªme sommaire. Rendez-vous aussi aux pages des articles et des rubriques pour associer le(s) bloc(s)',
+'creer_un_bloc_libre'=>'CrÃ©er un bloc libre',
+'attention_modif_globale' => 'Attention, les modifications effectuÃ©es ici seront rÃ©percutÃ©es sur tous les endroits oÃ¹ le bloc a Ã©tÃ© associÃ©!',
+'modifier_ce_bloc' => 'Modifier ce bloc',
+
+//page gabarit
+'sideinfo_gabarit'=>'Dans cette page, vous avez la possibilitÃ© de configurer votre page en dÃ©plaÃ§ant les modules oÃ¹ vous le dÃ©sirez. Les modules dans la colonne rÃ©serve ne s\'affiche pas sur votre site, il doivent Ãªtre dÃ©placÃ©s dans le corps  de votre page ou une colonne contextuelle. Il existe un gabarit pour la page de sommaire mais aussi pour les rubriques, les articles, les groupe-mots, les forum, les liens etc.',
+'sauver'=> 'Enregistrer',
+'configuration_des_gabarits'=>'Configuration des gabarits :',
+'contexte1'=> 'Colonne contextuelle 1',
+'contexte2'=> 'Colonne contextuelle 2',
+'corps'=> 'Corps',
+'reserve'=>'RÃ©serve',
+'avance' => 'RÃ©serve avancÃ©e',
+'nouveau_gabarit'=>'DÃ©river un gabarit',
+'deriver_gabarit'=> 'Nom du nouveau gabarit',
+'baser_gabarit_sur'=> 'Baser le gabarit sur',
+'modifier_un_autre_gabarit' => 'Modifier un autre gabarit',
+'nom_du_gabarit' => 'Nom du gabarit',
+
+// gabarits : noms des blocs
+'bloc-libre' => 'Blocs libres',
+'articles-une' => 'Articles Ã  la une',
+'liste-liens' => 'Liste de liens',
+'derniers-liens' => 'Derniers liens',
+'nombre_liens_affiches' => 'Nombre de liens affichÃ©s',
+'menu-langues' => 'Menu des langues',
+'rechercher' => 'Rechercher',
+'editorial' => 'Editorial',
+'derniers-articles' => 'Derniers articles',
+'nombre_articles_affiches' => 'Nombre d\'articles affichÃ©s',
+'identification-visiteur' => 'Identification des visiteurs',
+'liste-breves' => 'Liste des brÃšves',
+'nombre_breves_affichees' => 'Nombre de brÃšves affichÃ©es',
+
+'derniers-forums' => 'Derniers forums',
+'nombre_forums_affiches' => 'Nombre de forums affichÃ©s',
+
+'groupe-mots-cles' => 'Groupe de mots clÃ©s',
+'menu-groupe' => 'Mots clÃ©s d\'un groupe',
+'rubriques-une' => 'Rubrique Ã  la une',
+'nombre_articles' => 'Nombre d\'articles affichÃ©s',
+'bloc_libre_rubrique' => 'Blocs libres',
+'bloc_libre_article' => 'Blocs libres',
+'quels_blocs' => 'Quels blocs ?',
+'blocs_article' => 'De l\'article',
+'blocs_article_rubrique' => 'De l\'article et sa rubrique',
+'liste_extension_exclure' => 'Liste d\'extension Ã  exclure, sÃ©parÃ©es par des barres verticales',
+'pieces_jointes' => 'PiÃšces jointes',
+'rubrique_podcast' => 'Podcast de la rubrique',
+'article_podcast' => 'Podcast de l\'article',
+'liste_groupe_inclure' => 'Listez ici les id des groupes sÃ©parÃ©s par des barres verticales.',
+'thesaurus_mots' => 'ThÃ©saurus',
+'raccourcis_sous_rubrique' => 'Liste des sous rubriques (ancres)',
+'galerie_videos_rub' => 'Galerie vidÃ©o',
+'type_de_video' => 'Type de vidÃ©o',
+'video-hasard' => 'VidÃ©o au hasard',
+'flv_lecteur_flash' => 'FLV (lecteur flash)',
+'tous_popup' => 'Tous (popup)',
+'image-hasard' => 'Image au hasard',
+
+'nombre_news_affichees' => 'Nombre de news affichÃ©es',
+'bloc_sons_hasard_branche' => 'Sons au hasard de cette branche',
+'nombre_playlist' => 'Nombre de sons dans la liste',
+'google-maps-rubrique' => 'Google map',
+'google-maps-article' => 'Google map',
+'bloc_proposer_lien' => 'Proposer un lien',
+'diaporama-rubrique' => 'Diaporama image',
+'rubrique-head' => 'Titre et logo de la rubrique',
+'rubrique-texte' => 'Texte de la rubrique',
+'liste-articles' => 'Articles de cette rubrique',
+'liste-rubriques' => 'Sous-rubriques de cette rubrique',
+'forum' => 'Forums',
+'galerie-image' => 'Galerie d\'images',
+'galerie-audios-rub' => 'Galerie audio',
+'galerie-audios' => 'Galerie audio',
+'mots-cles' => 'Mots clÃ©s de cette rubrique',
+'liste-sites-motscles' => 'Sites comportants le mÃªme mot-clÃ©',
+
+'galerie-swf' => 'Galerie d\'animations flash',
+'diaporama-article-flash' => 'Diaporama image flash',
+'autres-articles' => 'Autres articles de la mÃªme rubrique',
+'article-head' => 'Titre et informations de l\'article',
+'article-texte' => 'Texte de l\'article',
+'bloc-forum' => 'Forums',
+'galerie-videos' => 'Galerie vidÃ©o',
+
+'groupe-autres-groupes' => 'Autres groupes de mots-clÃ©s',
+'groupe-head' => 'Titre et logo du groupe',
+'groupe-texte' => 'Texte du groupe',
+'groupe-liste-mots' => 'Liste de mots du groupe',
+'groupe-dernieres-entrees' => 'DerniÃšres entrÃ©es du groupe',
+'liste-mots-cles' => 'Liste de tous les mots clÃ©s',
+
+'404-head' => 'Titre de la page 404',
+'404-texte' => 'Texte de la page 404',
+'auteur-ecrire' => 'Ecrire Ã  l\'auteur',
+'auteur_autres_auteurs' => 'Liste des autres auteurs',
+'auteur-head' => 'Titre de la page',
+'auteur-info' => 'Informations sur l\'lauteur',
+'liste-articles-auteur' => 'Liste des articles de l\'auteur',
+'bloc-login' => 'Formulaire de login',
+'recherche-head' => 'Titre de la recherche',
+'recherche-articles' => 'Articles correspondants',
+'recherche-rubriques' => 'Rubriques correspondantes',
+'recherche-mots' => 'Mots correspondants',
+'recherche-documents' => 'Documents correspondants',
+'recherche-liens' => 'Liens correspondants',
+
+'liste-agenda' => 'Liste des Ã©vÃ©nements (articles)',
+
+'abo-newsletter' => 'Abonnement Ã  la newsletter',
+
+// a propos
+'a_propos' => 'A propos',
+'dernieres_infos' => 'DerniÃšres informations',
+'sideinfo_about'=> 'Ã propos : retrouver les derniÃšres infos du plugin.',
+
+// page groupe
+'titre_up_rub_logo' => 'Logo du groupe',
+'invit_up_rub_logo' => 'Modifier le logo',
+'logo_actuel' => 'Logo actuel',
+'intro_up_logo' => 'Cliquez sur le bouton "Choisir le fichier" pour ajouter/modifier le bandeau de cette rubrique',
+'supprimer_logo' => 'Supprimer le logo',
+
+//pages naviguer
+'associer_un_bloc_libre' => 'Associer un bloc libre',
+'associer_un_theme' => 'Associer un thÃšme',   
+'creer_bloc_et_associer' => 'CrÃ©er un nouveau bloc',   
+'ajouter' => 'Ajouter',
+'langue_bloc_assoc' => 'Langue du bloc libre:',
+'langue_bloc' => 'Langue du bloc libre:',
+'intro_associer_bloc_libre' => 'Associer un bloc libre prÃ©existant Ã  cet endroit:',  
+'blocs_libres_deja_associes' => 'Blocs libres dÃ©jÃ  associÃ©s Ã  cet endroit:',
+'intro_associer_gabarit' => 'Vous pouvez choisir ici un gabarit de prÃ©sentation spÃ©cifique Ã  cette page.', 
+'choisissez_un_gabarit' => 'Choisissez un gabarit',
+'associer_un_gabarit' => 'Associer un gabarit',
+'bouton_changer_gabarit' => 'Associer ce gabarit',
+);
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_es.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_es.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_es.php	(revision 198)
@@ -0,0 +1,130 @@
+<?php
+
+// fichier de langue additif ARTY
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+// PremiÃšre page
+  'theme' => 'Tema',
+  'acces_admin' => 'AdministraciÃ³n',
+  'arty_un_site_corsaires' => 'Sitio desarrollado por <a href="http://www.magunews.net" target="_blank">Les Corsaires</a>',
+  'le_date' => 'El',
+  'suite' => 'ContinÃºa...',
+  'identification_visiteur'=>'Visitante',
+  'identifiez_vous'=> 'IdendifÃ­cate debajo',
+  'news'=> 'Novedades',
+  'derniers_forums'=>'Ãltimos foros',
+  'ici_les_derniers_forums'=> 'Cliquea aquÃ­ para ver los Ãºltimos foros',
+  'logout'=>'Desconectar',
+  'se_connecter_sous_un_autre_identifiant'=>'Conectarse con otro identificador',
+  'vous_etes_connecte' => 'Conectada(o)',
+  'accueil'=> 'Inicio',
+  'derniers_liens' => 'Ãltimos enlaces',
+  'voir_autres_editos' => 'Ver otros editoriales',
+  'navigation' => 'NavigaciÃ³n',
+  
+  //login
+  'enregistrement' => 'Acceso al espacio privado',
+  'choisir_langue' => 'Selecciona idioma',
+  
+  // feed rss
+  'feed'=>'Feed',
+  'filrsssite' => 'RSS del sitio',
+  'filrssrubrique'=> 'RSS de la secciÃ³n',
+  
+  // thickbox
+  'fermer' => 'Cerrar',
+  'ou_touche_ESC' => 'o ESC',
+  'precedente' => 'Ant.',
+  'suivante' => 'Sig.',
+  'image' => 'Imagen',
+  'de' => 'de',
+  
+  // image au hasard
+  'image_hasard' => 'Una imagen al azar',
+  'article_origine' => 'Ver el artÃ­culo',
+  
+  // lecteur audio et autres pieces jointes
+  'pour_ecouter_cliquez' => 'Cliquea para abrir el lector en una nueva ventana',
+  'lien_lecteur_standalone' => 'aquÃ­',
+  'galerie_image' => 'GalerÃ­a de imÃ¡genes',
+  'avis_telechargement_audio' => 'Descarga de mp3',
+  'galerie_audio' => 'GalerÃ­a de audio',
+  'galerie_video' => 'GalerÃ­a de vÃ­deo',
+  'piecesjointes' => 'Juntar',
+  
+  // page 404
+  'titre_404' => 'No existe la pÃ¡gina',
+  'texte_404' => 'Lo siento, esta pÃ¡gina no existe. <br />Volver a la pÃ¡gina principal del sitio <a href=\'spip.php\'>cliqueando aquÃ­</a>.',
+  
+  // newsletter
+  'inscription_newsletter' => 'InscripciÃ³n para recibir novedades',
+  'desabonnement' => 'Darse de baja',
+  
+  // page article 
+  'autres_articles' => 'En la misma secciÃ³n',
+  'a_propos_auteur' => 'Sobre el autor o autora',
+  'sites_associes' => 'Sitios relacionados',
+  'pas_de_titre' => 'Sin tÃ­tulo',
+  'telecharger_le_son' => 'Descargar el archivo de sonido (clic derecho)',
+  'podacsting' => 'Podcasting',
+  'article_contient_podcast' => 'Abonarse al podcast y descargar las Ãºltimas secuencias de este artÃ­culo en vuestro lector de podcast.',
+  'autres_articles' => 'Otros artÃ­culos en la secciÃ³n',
+  
+  // page auteur
+  'ecrire_a' => 'Escribir un mensaje',
+  'articles_auteur' => 'Ãltimos artÃ­culos publicados',
+  'autres_auteurs' => 'Otros autores o autoras',
+  'articles_associes' => 'ArtÃ­culos relacionados',
+  'pageauteur' => 'pÃ¡gina del autor o autora',
+  
+  // page rubrique
+  'rubriques_rubrique' => 'Subsecciones',
+  'rubrique_contient_podcast' => 'Abonarse al podcast y descargar las Ãºltimas secuencias de este artÃ­culo en vuestro lector de podcast.',
+  'raccourcis' => 'Atajos',
+  'son_hasard_branche' => 'Canciones al azar',
+  'proposer_un_site' => 'Proponer un enlace',
+  'derniers_articles_rubrique' => 'Ãltimos artÃ­culos en esta secciÃ³n',
+  
+  	// page mot
+	'autres_mots' => 'Otras palabras clave del grupo',
+	'mot_articles' => 'ArtÃ­culos',
+	'mot_rubriques' => 'Secciones',
+	'liste_mots' => 'Palabras clave',
+	'derniere_entree_groupe' => 'Ãltimas publicaciones',
+	'autre_groupe_mots' => 'Otros grupos de palabras clave',
+	'groupe_mot' => 'Grupo de palabras clave',
+	'liste_mots_cles' => 'Lista de palabras clave',
+	'mot_sites' => 'Sitios relacionados',
+	'mot_breves' => 'Breves relacionadas',
+	'tous_mots' => 'Todas las palabras clave',
+  
+  // page gabarit de liens
+  'sites_rubrique' => 'Sitios referenciados',
+  'liste_sites' => 'Lista de sitios',
+  
+  // page recherche
+  'recherche' => 'Buscar',
+  'resultat_pour' => 'RÃ©sultados para',
+  'resultat_recherche_articles' => 'En los artÃ­culos',
+  'resultat_recherche_rubriques' => 'En las secciones',
+  'resultat_recherche_breves' => 'En las breves',
+  'resultat_recherche_documents' => 'En los documentos',
+  'resultat_recherche_forums' => 'En los foros',
+  'resultat_recherche_liens' => 'En los enlaces',
+  
+  // page rubrique liens
+  'index_rubriques' => 'Ãndice de secciones',
+  
+  // bouton admin
+  'admin_magusine' => 'Acceso Magusine',
+    
+  // webmaton
+  'derniers_webmaton' => 'Ãltimos webmatons',
+  'questions_en' => 'Preguntas en ',
+  'mosaique' => 'mosaico',
+  'voir_aussi' => 'Ver tambiÃ©n',
+  'les_webmatons' => 'Las webmatons'
+  );
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_fr.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_fr.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_fr.php	(revision 198)
@@ -0,0 +1,130 @@
+<?php
+
+// fichier de langue additif ARTY
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+// PremiÃšre page
+  'theme' => 'ThÃšme',
+  'acces_admin' => 'Administration',
+  'arty_un_site_corsaires' => 'Un site motorisÃ© par <a href="http://www.spip.net">Spip</a> et le plugin <a href="http://www.magunews.net" target="_blank">Magusine</a>',
+  'le_date' => 'Le',
+  'suite' => 'Suite...',
+  'identification_visiteur'=>'Cher visiteur',
+  'identifiez_vous'=> 'Identifiez-vous ci-dessous',
+  'news'=> 'News',
+  'derniers_forums'=>'Derniers forums',
+  'ici_les_derniers_forums'=> 'Cliquez ici pour les derniers forums',
+  'logout'=>'Se dÃ©connecter',
+  'se_connecter_sous_un_autre_identifiant'=>'Se connecter sous un autre identifiant',
+  'vous_etes_connecte' => 'Vous Ãªtes connectÃ©',
+  'accueil'=> 'Accueil',
+  'derniers_liens' => 'Derniers liens',
+  'voir_autres_editos' => 'Voir les autres Ã©ditos',
+  'navigation' => 'Navigation',
+  
+  //login
+  'enregistrement' => 'AccÃšs Ã  l\'espace privÃ©',
+  'choisir_langue' => 'Choose your language',
+  
+  // feed rss
+  'feed'=>'Feed',
+  'filrsssite' => 'Fil RSS du site',
+  'filrssrubrique'=> 'Fil RSS de la rubrique',
+  
+  // thickbox
+  'fermer' => 'Fermer',
+  'ou_touche_ESC' => 'ou ESC',
+  'precedente' => 'Prec',
+  'suivante' => 'Suiv',
+  'image' => 'Image',
+  'de' => 'de',
+  
+  // image au hasard
+  'image_hasard' => 'Une image au hasard',
+  'article_origine' => 'Voir l\'Article',
+  
+  // lecteur audio et autres pieces jointes
+  'pour_ecouter_cliquez' => 'Pour lancer le lecteur dans une nouvelle fenÃªtre cliquez',
+  'lien_lecteur_standalone' => 'ici',
+  'galerie_image' => 'Galerie image',
+  'avis_telechargement_audio' => 'TÃ©lÃ©chargement de mp3',
+  'galerie_audio' => 'Galerie audio',
+  'galerie_video' => 'Galerie vidÃ©o',
+  'piecesjointes' => 'PiÃšces jointes',
+  
+  // page 404
+  'titre_404' => 'Page inexistante !',
+  'texte_404' => 'DÃ©solÃ©, cette page n\'existe pas ou n\'existe plus. <br />Revenez Ã  la page principale de ce site <a href=\'spip.php\'>en cliquant ici</a>.',
+  
+  // newsletter
+  'inscription_newsletter' => 'Inscription Ã  la newsletter',
+  'desabonnement' => 'DÃ©sabonnement',
+  
+  // page article 
+  'autres_articles' => 'Dans la mÃªme rubrique',
+  'a_propos_auteur' => 'A propos de l\'auteur',
+  'sites_associes' => 'Sites associÃ©s',
+  'pas_de_titre' => 'Sans titre',
+  'telecharger_le_son' => 'TÃ©lÃ©charger ce fichier son (clic droit)',
+  'podacsting' => 'Podcasting',
+  'article_contient_podcast' => 'Abonnez-vous au podcast et tÃ©lÃ©chargez les derniÃšres sÃ©quences en date de cet article dans votre logiciel de podcast.',
+  'autres_articles' => 'Autres articles dans cette rubrique',
+  
+  // page auteur
+  'ecrire_a' => 'Ecrire Ã ',
+  'articles_auteur' => 'Derniers articles publiÃ©s',
+  'autres_auteurs' => 'Autres auteurs',
+  'articles_associes' => 'Articles associÃ©s',
+  'pageauteur' => 'page auteur',
+  
+  // page rubrique
+  'rubriques_rubrique' => 'Sous-rubriques',
+  'rubrique_contient_podcast' => 'Abonnez-vous au podcast et tÃ©lÃ©chargez les derniÃšres sÃ©quences en date de cette rubrique dans votre logiciel de podcast.',
+  'raccourcis' => 'Raccourcis',
+  'son_hasard_branche' => 'Quelques sons au hasard',
+  'proposer_un_site' => 'Proposez un lien',
+  'derniers_articles_rubrique' => 'Derniers articles de cette rubrique',
+  
+  	// page mot
+	'autres_mots' => 'Autres mots-clÃ©s de ce groupe',
+	'mot_articles' => 'Articles',
+	'mot_rubriques' => 'Rubriques',
+	'liste_mots' => 'Mots clÃ©s',
+	'derniere_entree_groupe' => 'DerniÃšres publications',
+	'autre_groupe_mots' => 'Autres groupes de mots clÃ©s',
+	'groupe_mot' => 'Groupe de mots clÃ©s',
+	'liste_mots_cles' => 'Liste des mots clÃ©s',
+	'mot_sites' => 'Sites associÃ©s',
+	'mot_breves' => 'BrÃšves associÃ©es',
+	'tous_mots' => 'Tous les mots-clÃ©s',
+  
+  // page gabarit de liens
+  'sites_rubrique' => 'Sites rÃ©fÃ©rencÃ©s',
+  'liste_sites' => 'Liste des sites',
+  
+  // page recherche
+  'recherche' => 'Recherche',
+  'resultat_pour' => 'RÃ©sultats pour',
+  'resultat_recherche_articles' => 'Dans les articles',
+  'resultat_recherche_rubriques' => 'Dans les rubriques',
+  'resultat_recherche_breves' => 'Dans les brÃªves',
+  'resultat_recherche_documents' => 'Dans les documents',
+  'resultat_recherche_forums' => 'Dans les forums',
+  'resultat_recherche_liens' => 'Dans les liens',
+  
+  // page rubrique liens
+  'index_rubriques' => 'Index des rubriques',
+  
+  // bouton admin
+  'admin_magusine' => 'AccÃšs Magusine',
+    
+  // webmaton
+  'derniers_webmaton' => 'Derniers webmatons',
+  'questions_en' => 'Questions en ',
+  'mosaique' => 'mosaÃ¯que',
+  'voir_aussi' => 'Voir aussi',
+  'les_webmatons' => 'Les webmatons'
+  );
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_it.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_it.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_it.php	(revision 198)
@@ -0,0 +1,130 @@
+<?php
+
+// fichier de langue additif ARTY
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+// PremiÃšre page
+  'theme'                              => 'Tema',
+  'acces_admin'                        => 'Amministrazione',
+  'arty_un_site_corsaires'             => 'Sito creato con <href="http://www.spip.net">Spip</a> e il plugin <a href="http://www.magunews.net" target="_blank">Magusine</a>',
+  'le_date'                            => 'Il',
+  'suite'                              => 'Segue...',
+  'identification_visiteur'            => 'Caro visitatore',
+  'identifiez_vous'                    => 'Identificarsi qui sotto',
+  'news'                               => 'News',
+  'derniers_forums'                    => 'Forums recenti',
+  'ici_les_derniers_forums'            => 'Cliccare qui per i forums recenti',
+  'logout'                             => 'Disconnettersi',
+  'se_connecter_sous_un_autre_identifiant'=> 'Connettersi con un altro ID',
+  'vous_etes_connecte'                 => 'Siete connessi',
+  'accueil'                            => 'Accoglienza',
+  'derniers_liens'                     => 'Links recenti',
+  'voir_autres_editos'                 => 'Vedere gli altri editoriali',
+  'navigation'                         => 'Navigazione',
+
+  //login
+  'enregistrement'                     => 'Accesso allo spazio privato',
+  'choisir_langue'                     => 'Choose your language',
+
+  // feed rss
+  'feed'                               => 'Feed',
+  'filrsssite'                         => 'RSS del sito',
+  'filrssrubrique'                     => 'RSS della rubrica',
+
+  // thickbox
+  'fermer'                             => 'Chiudere',
+  'ou_touche_ESC'                      => 'o ESC',
+  'precedente'                         => 'Prec',
+  'suivante'                           => 'Seg',
+  'image'                              => 'Immagine',
+  'de'                                 => 'di',
+  
+  // image au hasard
+  'image_hasard'                 => 'Un\'immagine a caso',
+  'article_origine'              => 'Vedere l\'articolo',
+  
+  // lecteur audio et autres pieces jointes
+  'pour_ecouter_cliquez'         => 'Per attivare il lettore in una nuova finestra cliccare',
+  'lien_lecteur_standalone'      => 'qui',
+  'galerie_image'                => 'Galleria immagini',
+  'avis_telechargement_audio'    => 'Caricamento di mp3',
+  'galerie_audio'                => 'Galleria audio',
+  'galerie_video'                => 'Galleria video',
+  'piecesjointes'                => 'Allegati',
+  
+  // page 404
+  'titre_404'                    => 'Pagina inesistente!',
+  'texte_404'                    => 'Spiacenti, questa pagina non esiste più. <br />Ritornare alla pagina principale del sito <a href=\'spip.php\'>cliccando qui</a>.',
+  
+  // newsletter
+  'inscription_newsletter'       => 'Iscrizione alla newsletter',
+  'desabonnement'                => 'Cancellarsi',
+  
+  // page article 
+  'autres_articles'              => 'Nella stessa rubrica',
+  'a_propos_auteur'              => 'A proposito dell\'autore',
+  'sites_associes'               => 'Siti associati',
+  'pas_de_titre'                 => 'Senza titolo',
+  'telecharger_le_son'           => 'Scaricare il file audio (tasto destro del mouse)',
+  'podacsting'                   => 'Podcasting',
+  'article_contient_podcast'     => 'Abbonarsi al podcast e scaricare gli ultimi inserimenti alla data di questo articolo nel vostro lettore.',
+  'autres_articles'              => 'Altri articoli in questa rubrica',
+  
+  // page auteur
+  'ecrire_a'                     => 'Scrivere a ',
+  'articles_auteur'              => 'Ultimi articoli pubblicati',
+  'autres_auteurs'               => 'Altri autori',
+  'articles_associes'            => 'Articoli associati',
+  'pageauteur'                   => 'Pagina autore',
+  
+  // page rubrique
+  'rubriques_rubrique'           => 'Sottorubriche',
+  'rubrique_contient_podcast'    => 'Abbonarsi al podcast e scaricare gli ultimi inserimenti alla data di questa rubrica nel vostro lettore.',
+  'raccourcis'                   => 'Scorciatoie',
+  'son_hasard_branche'           => 'Qualche audio a caso',
+  'proposer_un_site'             => 'Proporre un sito',
+  'derniers_articles_rubrique'   => 'Ultimi articoli in questa rubrica',
+  
+  	// page mot
+	'autres_mots'                => 'Altre parole-chiave in questo gruppo',
+	'mot_articles'               => 'Articoli',
+	'mot_rubriques'              => 'Rubriche',
+	'liste_mots'                 => 'Parole-chiave',
+	'derniere_entree_groupe'     => 'Pubblicazioni recenti',
+	'autre_groupe_mots'          => 'Altri gruppi di parole-chiave',
+	'groupe_mot'                 => 'Gruppo di parole-chiave',
+	'liste_mots_cles'            => 'Elenco delle parole-chiave',
+	'mot_sites'                  => 'Siti associati',
+	'mot_breves'                 => 'Brevi associate',
+	'tous_mots'                  => 'Tutte le parole-chiave',
+  
+  // page gabarit de liens
+  'sites_rubrique'               => 'Siti amici',
+  'liste_sites'                  => 'Elenco dei siti',
+  
+  // page recherche
+  'recherche'                    => 'Ricerca',
+  'resultat_pour'                => 'Risultati per',
+  'resultat_recherche_articles'  => 'Negli articoli',
+  'resultat_recherche_rubriques' => 'Nelle rubriche',
+  'resultat_recherche_breves'    => 'Nelle brevi',
+  'resultat_recherche_documents' => 'Nei documenti',
+  'resultat_recherche_forums'    => 'Nei forums',
+  'resultat_recherche_liens'     => 'Nei link',
+  
+  // page rubrique liens
+  'index_rubriques'              => 'Indice delle rubriche',
+  
+  // bouton admin
+  'admin_magusine'               => 'Accesso a Magusine',
+    
+  // webmaton
+  'derniers_webmaton'            => 'Webmatons recenti',
+  'questions_en'                 => 'Questions en ',
+  'mosaique'                     => 'Mosaico',
+  'voir_aussi'                   => 'Vedere anche',
+  'les_webmatons'                => 'I webmatons'
+  );
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_nl.php
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_nl.php	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/lang/local_nl.php	(revision 198)
@@ -0,0 +1,131 @@
+<?php
+
+// fichier de langue additif ARTY
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+// PremiÃšre page
+  'theme' => 'Thema',
+  'acces_admin' => 'Beheer',
+  'arty_un_site_corsaires' => 'Een site ontworpen door <a href="http://www.magunews.net" target="_blank">Les Corsaires</a>',
+  'le_date' => ' ',
+  'suite' => 'Vervolg...',
+  'identification_visiteur'=>'Geachte bezoeker',
+  'identifiez_vous'=> 'Login gegevens',
+  'news'=> 'News',
+  'derniers_forums'=>'Laatste forums',
+  'ici_les_derniers_forums'=> 'Klik hier om de laatste forums te zien',
+  'logout'=>'Se dÃ©connecter',
+  'se_connecter_sous_un_autre_identifiant'=>'Inloggen onder een andere naam',
+  'vous_etes_connecte' => 'U bent verbonden',
+  'accueil'=> 'Onthaal',
+  'derniers_liens' => 'Laatst bezocht',
+  'voir_autres_editos' => 'Andere editos',
+  'navigation' => 'Navigatie',
+  
+  //login
+  'enregistrement' => 'Toegang tot het beveiligde gedeelte',
+  'choisir_langue' => 'Choose your language',
+  
+  // feed rss
+  'feed'=>'RSS Feeds',
+  'filrsssite' => 'Van de site',
+  'filrssrubrique'=> 'Van de huidige rubriek',
+  
+  // thickbox
+  'fermer' => 'Sluiten',
+  'ou_touche_ESC' => 'of ESC',
+  'precedente' => 'Vorige',
+  'suivante' => 'Volgende',
+  'image' => 'Beeld',
+  'de' => 'of',
+  
+  // image au hasard
+  'image_hasard' => 'Een willekeurig beeld',
+  'article_origine' => 'Artikel bekijken',
+  
+  // lecteur audio et autres pieces jointes
+  'pour_ecouter_cliquez' => 'Klik hier om te openen in een nieuw venster',
+  'lien_lecteur_standalone' => 'hier',
+  'galerie_image' => 'Beeldgalerij',
+  'avis_telechargement_audio' => 'MP3 opladen',
+  'galerie_audio' => 'Audiogalerij',
+  'galerie_video' => 'Videogalerij',
+  'piecesjointes' => 'Samengevoegde stukken',
+  
+  // page 404
+  'titre_404' => 'Niet bestaande pagina !',
+  'texte_404' => 'Helaas, deze pagina bestaat niet (meer)<br />Terug naar de startpagina door <a href=\'spip.php\'>hier te klikken</a>.',
+  
+  // newsletter
+  'inscription_newsletter' => 'Inschrijven op de nieuwsbrief',
+  'desabonnement' => 'Uitschrijven',
+  
+  // page article 
+  'autres_articles' => 'In dezelfde rubriek',
+  'a_propos_auteur' => 'Kommentaar van de auteur',
+  'sites_associes' => 'Gelinkte sites',
+  'pas_de_titre' => 'Zonder titel',
+  'telecharger_le_son' => 'Dit bestand downloaden (klik rechts)',
+  'podacsting' => 'Podcasting',
+  'article_contient_podcast' => 'Schrijf je in op de podcast en download de laatste fragmenten van dit artikel naar je podcast software',
+  'autres_articles' => 'Andere artikels van deze rubriek',
+  
+  // page auteur
+  'ecrire_a' => 'Schrijven naar',
+  'articles_auteur' => 'Laatst gepubliceerde artikels',
+  'autres_auteurs' => 'Andere auteurs',
+  'articles_associes' => 'gelinkte artikels',
+  'pageauteur' => 'Pagina van de auteur',
+  
+  // page rubrique
+  'rubriques_rubrique' => 'Rubrieken van deze rubriek',
+  'rubrique_contient_podcast' => 'Schrijf je in op de podcast en download de laatste fragmenten van dit artikel naar je podcast software',
+  'raccourcis' => 'Snelkoppelingen',
+  'son_hasard_branche' => 'Enkele willekeurige klankfragmeneten',
+  'proposer_un_site' => 'Stel een link voor',
+  'derniers_articles_rubrique' => 'Laatste artikels van deze rubriek',
+  
+	// page mot
+	'autres_mots' => 'Andere trefwoorden van deze groep',
+	'mot_articles' => 'Artikels',
+	'mot_rubriques' => 'Rubrieken',
+	'liste_mots' => 'Trefwoorden',
+	'derniere_entree_groupe' => 'Laatste publicaties',
+	'autre_groupe_mots' => 'Andere groepen trefwoorden',
+	'groupe_mot' => 'Trefwoordgroepen',
+	'liste_mots_cles' => 'Lijst met trefwoorden',
+	'mot_sites' => 'Gelinkte sites',
+	'mot_breves' => 'Gelinkte afkortingen',
+	'tous_mots' => 'Alle trefwoorden',
+  
+  // page gabarit de liens
+  'sites_rubrique' => 'Voorkeur sites',
+  'liste_sites' => 'Lijst van de sites',
+  
+  // page recherche
+  'recherche' => 'Zoek',
+  'resultat_pour' => 'Resultaat per',
+  'resultat_recherche_articles' => 'In de artikels',
+  'resultat_recherche_rubriques' => 'In de rubrieken',
+  'resultat_recherche_breves' => 'In de afkortingen',
+  'resultat_recherche_documents' => 'In de dokumeneten',
+  'resultat_recherche_forums' => 'In de forums',
+  'resultat_recherche_liens' => 'In de links',
+  
+  // page rubrique liens
+  'index_rubriques' => 'Index van de rubrieken',
+  
+  // bouton admin
+  'admin_magusine' => 'Toegang Magusine',
+  'repondre_article' => 'Reageren op dit artikel',
+  
+  // webmaton
+  'derniers_webmaton' => 'Meest recente babbelboxfragmenten',
+  'questions_en' => 'Vragen : ',
+  'mosaique' => 'mozaÃ¯ek',
+  'voir_aussi' => 'Zie ook',
+  'les_webmatons' => 'Babbelboxfragmenten'
+  );
+
+?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/plugin.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/plugin.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/plugin.xml	(revision 198)
@@ -0,0 +1,51 @@
+<plugin>
+ <nom>Magusine</nom>
+ <auteur><a href="http://www.lescorsaires.be/">Les Corsaires asbl</a>, StÃ©phane NoÃ«l, Philippe Vanderlinden</auteur>
+ <description>
+ Magusine est un plugin comportant principalement un sÃ©lecteur de thÃšme, un systÃšme de crÃ©ation et de configuration des gabarits, un systÃšme de personnalisation de la navigation, et des options de personnalisation de squelettes.
+ 
+ <ul><strong>CrÃ©dits</strong><br />
+ <li>Interface.js : <a href="http://interface.eyecon.ro/">Interface elements for jQuery</a></li>
+ <li>Pngfix.js : <a href="http://homepage.ntlworld.com/bobosola">http://homepage.ntlworld.com/bobosola</a></li>
+  <li>Correction css : <a href="http://dean.edwards.name/IE7/">Ie7 par Dean Edwards</a></li>
+ <li>IcÃŽnes: <a href="http://tango.freedesktop.org/">Tango Desktop Project</a></li>
+ <li>Podcast logo : <a href="http://www.podcastlogo.com/">http://www.podcastlogo.com/</a></li>
+ <li>Lecteurs flash: <a href="http://www.erational.org/">eraplayer</a>, <a href="http://www.estvideo.com/dew/index/2005/12/03/603-dewplayer-reloaded">dewplayer</a>, <a href="http://www.jeroenwijering.com/?item=Flash_MP3_Player">Flash mp3 player et video</a>, <a href="http://www.netdeveloppeur.com/spip-video-flash-player-article63.html">Flash Video Player</a></li>
+ </ul>
+ 
+ </description>
+ <version>1.8 (18 mars 2009)</version>
+ <etat>stable</etat>
+ <prefix>arty</prefix>
+ 
+ <install>base/arty_init.php</install>
+ <fonctions>arty_fonctions.php</fonctions>
+ <options>arty_options.php</options>
+ <pipeline>
+		<nom>ajouter_boutons</nom>
+		<action>ajouterBoutons</action>
+		<inclure>arty_boutons.php</inclure>
+	</pipeline>
+	
+	<pipeline>
+		<nom>insert_head</nom>
+		<action>ajouterHeader</action>
+		<inclure>arty_header.php</inclure>
+	</pipeline>
+<pipeline>
+		<nom>header_prive</nom>
+		<action>ajouterHeaderPrive</action>
+		<inclure>arty_header_prive.php</inclure>
+	</pipeline>	
+	<pipeline>
+    <nom>affiche_gauche</nom>
+    <action>ajouterfonctionnalites</action>
+    <inclure>arty_affichegauche.php</inclure>
+  </pipeline>
+  	<pipeline>
+		<nom>ajouter_onglets</nom>
+		<action>ajouter_onglets</action>
+		<inclure>arty_onglets.php</inclure>
+	</pipeline>
+  
+</plugin>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/prive/upload_bandeau.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/prive/upload_bandeau.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/prive/upload_bandeau.html	(revision 198)
@@ -0,0 +1,5 @@
+<div class="ajax" id="45654">
+	<p>
+		#FORMULAIRE_UPLOAD_BANDEAU{#ID_RUBRIQUE,#ENV{largeurMax},#ENV{hauteurMax}}
+	</p>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/404.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/404.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/404.html	(revision 198)
@@ -0,0 +1,58 @@
+#CACHE{24*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+</head>
+<body id="page-404">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=Erreur})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=404}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{mise_en_page=contexte}{lang}>
+</BOUCLE_blocs_contexte0>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=404}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{mise_en_page=contexte}{lang}>
+</BOUCLE_blocs_contexte1>
+<div id="fin-contexte2"></div>
+</div>
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=Erreur})]]
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=404}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{mise_en_page=corps}{lang}>
+</BOUCLE_blocs_corps>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/about.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/about.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/about.html	(revision 198)
@@ -0,0 +1,30 @@
+<!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=utf-8"/>
+<title>About</title>
+[(#INSERT_HEAD)]
+</head>
+<body>
+<div id="corps" style="margin-right:0;padding:0.4em;">
+<BOUCLE_larticle(ARTICLES){id_article=1765}>
+<h1>#TITRE</h1>
+<div class="texte">#TEXTE</div>
+</BOUCLE_larticle>
+
+<div id="listagebloc">
+<h2>Documentation Magusine</h2>
+<ul class="listageconteneur">
+<BOUCLE_lesrubs(RUBRIQUES){id_parent=655}{par num titre}{par titre}>
+<li>
+<h4 class="listagetitre"><a href="#URL_SITE_SPIP/#URL_RUBRIQUE" target="_blank">[(#TITRE|supprimer_numero)]</a></h4>
+<div class="listagetexte">[(#DESCRIPTIF|sinon{#INTRODUCTION})]</div>
+</li>
+</BOUCLE_lesrubs></ul>
+</div>
+
+</div>
+</body>
+</html>
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/article.html	(revision 198)
@@ -0,0 +1,91 @@
+#CACHE{24*3600}<BOUCLE_generale(ARTICLES){id_article}>
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP : [(#TITRE|supprimer_numero)]</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_article})]
+</head>
+<body id="page-article" class="article#ID_ARTICLE">#SET{parametres,#REM|sinon{"rien"}|parametres}
+<div id="general">
+[(#INCLURE{fond=bandeau}{id_article})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_article})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+<BOUCLE_archetype_article(SPIP_ARTY_GABARITASSOC){type=article}{id=#ENV{id_article}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_article>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=article}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_article>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_article2(SPIP_ARTY_GABARITASSOC){type=article}{id=#ENV{id_article}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_article2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=article}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_article2>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_article})]]
+
+<BOUCLE_archetype_article3(SPIP_ARTY_GABARITASSOC){type=article}{id=#ENV{id_article}}>
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_corps>
+
+</BOUCLE_archetype_article3>
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=article}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_article3>
+
+<div id="fin-corps"></div><!-- fin du corps -->
+</div>
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_article})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_article})]]
+</body>
+</html>
+</BOUCLE_generale>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/auteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/auteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/auteur.html	(revision 198)
@@ -0,0 +1,92 @@
+#CACHE{24*3600}<BOUCLE_generale(AUTEURS){id_auteur}>
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_auteur})]
+</head>
+<body id="page-auteur">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_auteur}{id_rubrique=0}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{id_rubrique=0}{cettepage=<:pageauteur:>})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_auteur}{id_rubrique=0}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_auteur}{id_rubrique=0}>]
+<BOUCLE_archetype_article(SPIP_ARTY_GABARITASSOC){type=auteur}{id=#ENV{id_auteur}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_article>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=auteur}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_article>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_article2(SPIP_ARTY_GABARITASSOC){type=auteur}{id=#ENV{id_auteur}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_article2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=auteur}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_article2>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corpsl}|?{' ',''})[(#INCLURE{id_rubrique=0}{cettepage=<:pageauteur:>})]]
+
+<BOUCLE_archetype_article3(SPIP_ARTY_GABARITASSOC){type=auteur}{id=#ENV{id_auteur}}>
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_corps>
+
+</BOUCLE_archetype_article3>
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=auteur}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_auteur=#ENV{id_auteur}}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_article3>
+
+<div id="fin-corps"></div><!-- fin du corps -->
+</div>
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_auteur})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_auteur})]]
+</body>
+</html>
+</BOUCLE_generale>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-head.html	(revision 198)
@@ -0,0 +1,15 @@
+<BOUCLE_texte404(SPIP_ARTY_PARAMETRES){parametre=404}>
+<div id="header">
+<div class="texteheader">
+<h1>[(#VALEUR|propre)]</h1>
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_texte404>
+<div id="header">
+<div class="texteheader">
+<h1><:titre_404:></h1>
+</div>
+<p class="clearer_header"></p>
+</div>
+<//B_texte404>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/404/404-texte.html	(revision 198)
@@ -0,0 +1,9 @@
+<BOUCLE_texte404(SPIP_ARTY_PARAMETRES){parametre=404}>
+<div id="texteconteneur">
+<div class="texte">[(#VALEUR2|propre)]</div>
+</div>
+</BOUCLE_texte404>
+<div id="texteconteneur">
+<div class="texte"><:texte_404:></div>
+</div>
+<//B_texte404>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/abo-newsletter.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/abo-newsletter.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/abo-newsletter.html	(revision 198)
@@ -0,0 +1,6 @@
+[<div id="newsletter" class="listagebloc">
+<h2><:inscription_newsletter:></h2>
+<ul class="listageconteneur">
+<li>(#FORMULAIRE_ABONNEMENT)</li>
+</ul>
+</div>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/a_propos_auteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/a_propos_auteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/a_propos_auteur.html	(revision 198)
@@ -0,0 +1,17 @@
+<B_apropos>
+<div id="apropos" class="listagebloc">
+<h2><:a_propos_auteur:></h2>
+<ul class="listageconteneur">
+<BOUCLE_apropos(AUTEURS){id_article}{par nom}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_auteur}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_AUTEUR">[(#NOM)]</a></h4>
+[<div class="listagetexte">(#BIO)</div>]
+<div class="listageinfo">
+[<a href="#URL_SITE">(#NOM_SITE)</a>]
+</div>
+</li>
+</BOUCLE_apropos>
+</ul>
+</div>
+</B_apropos>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/accessibilite.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/accessibilite.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/accessibilite.html	(revision 198)
@@ -0,0 +1,31 @@
+<div id="accessibilite" class="listagebloc">
+<h2><:accessibilite:></h2>
+<script type="text/javascript">
+h1=$(".titre").css("font-size");
+chapeau=$(".chapeau").css("font-size");
+texte=$(".texte").css("font-size");
+h3=$(".texte h3").css("font-size");
+ps=$(".psnotes").css("font-size");
+
+function accessibilite(facteur) {
+neoh1=$("h1").css("font-size");
+neochapeau=$(".chapeau").css("font-size");
+neotexte=$(".texte").css("font-size") * (facteur/100);
+neoh3=$(".texte h3").css("font-size") * (facteur/100);
+neops=$(".psnotes").css("font-size") * (facteur/100);
+
+$(".titre").css("font-size", neoh1 + "%");
+$(".texte").css("font-size", neotexte + "%");
+$(".chapeau").css("font-size", neochapeau + "%");
+
+alert(neoh1);
+}
+</script>
+<ul class="listageconteneur">
+<li>
+<a href="javascript:accessibilite(-10);">plus petit</a>
+<a href="javascript:accessibilite(0);">standard</a>
+<a href="javascript:accessibilite(+10);">plus grand</a>
+</li>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-head.html	(revision 198)
@@ -0,0 +1,29 @@
+<BOUCLE_head_article(ARTICLES){id_article}>
+<div id="header">
+[(#LOGO_ARTICLE|!={}|?{' ',''})<div class="logo #EDIT{logo}">[(#INCLURE{fond=formatage_logo}{id_article}{conteneur=#ENV{conteneur}})]</div>]
+
+<div class="texteheader">
+[<p class="sursoustitre surtitre #EDIT{surtitre}">(#SURTITRE)</p>]
+[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+[<p class="sursoustitre soustitre #EDIT{soustitre}">(#SOUSTITRE)</p>]
+
+<!-- traduction de l'article -->
+<B_traductions><p class="dateauteurs traductions"><BOUCLE_traductions(ARTICLES){traduction}{exclus}>
+[<:voir_traduction:> <a href="#URL_ARTICLE&lang=#LANG" dir="#LANG_DIR">(#LANG|traduire_nom_langue)</a>]
+</BOUCLE_traductions></p></B_traductions>
+
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<p class="dateauteurs">'; } ?></BOUCLE_montrediv>
+
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</p>'; } ?></BOUCLE_montrediv2>
+
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_head_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article-texte.html	(revision 198)
@@ -0,0 +1,50 @@
+<BOUCLE_texte_article(ARTICLES){id_article}>
+<div id="texteconteneur">
+[<div class="chapeau #EDIT{chapo}">(#CHAPO)</div>]
+<div class="#EDIT{texte} texte">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+[<p class="listagesite" #EDIT{nom_site}><strong><:voir_en_ligne:></strong> <a href="#URL_SITE" target="_blank">(#NOM_SITE)</a></p>]
+[<div class="ps #EDIT{ps}"><strong><:ps:>:</strong> (#PS)</div>]
+[<div class="ps notes #EDIT{notes}"><strong><:notes:>:</strong> (#NOTES)</div>]
+[<p class="listagerepondre"><a id="lien_forum" href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_article:></a></p>]
+</div>
+<BOUCLE_siself(SPIP_ARTY_PARAMETRES){parametre=config_forum}{valeur=true}>
+
+<script type="text/javascript">
+$(document).ready(function(){
+		$("#intervention_forum").hide();
+		$("#lien_forum").attr("href","javascript:montrele('#intervention_forum')");
+		
+		// cache tous les forums de la page
+		<BOUCLE_forumsliste(FORUMS){id_article}{plat}>
+		$("#intervention_forum#ID_FORUM").hide();
+		$("#lien_forum#ID_FORUM").attr("href","javascript:montrele('#intervention_forum#ID_FORUM')");
+		</BOUCLE_forumsliste>
+		
+		
+		$(".previsu").each(function(){
+		$("#intervention_forum<?php echo $_POST['id_forum']; ?>").show();
+		});
+		
+		$(".formulaire_forum .cachable").hide();
+		$(".formulaire_forum legend").css("cursor","pointer");
+
+		
+		$(".formulaire_forum legend").click( function() { 
+			$(this).siblings(".cachable").each(function(){
+				$(this).toggle();
+			});
+			});
+		
+});
+</script>
+
+<!-- intervenir dans le forum -->
+[<div id="intervention_forum">
+(#FORMULAIRE_FORUM)
+</div>]
+</BOUCLE_siself>
+</BOUCLE_texte_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_aide_admin.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_aide_admin.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_aide_admin.html	(revision 198)
@@ -0,0 +1,13 @@
+<?php if ($auteur_session) { ?>
+<div id="bloc-aide-redaction" class="listagebloc">
+<h2><:aide_redaction:></h2>
+<ul class="listageconteneur">
+<li><h4 class="listagetitre"><:ecrire:acces_admin:></h4>
+<div class="listagetexte"><a href="ecrire/?exec=articles_edit&id_article=#ID_ARTICLE"><:spip:admin_modifier_article:></a></div>
+<div class="listagetexte"><a href="ecrire/?exec=articles_edit&id_rubrique=#ID_RUBRIQUE&new=oui"><:spip:icone_ecrire_article:></a></div>
+</li>
+<li><h4 class="listagetitre"><:spip:info_documents:></h4>
+<div class="listagetexte">[(#ID_ARTICLE|afficher_documents_colonne)]</div>
+</li>
+</ul>
+</div><?php } ?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_podcast.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_podcast.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/article_podcast.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_podcast(DOCUMENTS){id_article}{mode=document}{extension==mp3}{0,1}><div id="podcasting" class="listagebloc">
+<h2><:podacsting:></h2>
+<ul class="listageconteneur">
+<li>
+<div class="listagetexte"><:article_contient_podcast:></div></li>
+<li><div class="listageinfo"><a href="#URL_SITE_SPIP/?page=spiptunes&id_article=#ID_ARTICLE">
+<img src="#CHEMIN{images/rsspodcast.gif}"></a></div></li>
+<li><div class="listageinfo"><a href="[(#URL_SITE_SPIP|lienitunes)]/?page=spiptunes&id_article=#ID_ARTICLE">
+<img src="#CHEMIN{images/itunespodcast.gif}"></a></div></li>	
+</li>
+</ul>
+</div></BOUCLE_podcast>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/autres-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/autres-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/autres-articles.html	(revision 198)
@@ -0,0 +1,12 @@
+<B_autresarts>
+<div id="autres-articles" class="listagebloc">
+<h2><:autres_articles:></h2>
+<ul class="listageconteneur">
+<BOUCLE_autresarts(ARTICLES){id_rubrique}{exclus}{0,1}>
+[(#ENV{parametre}|=={liste}|?{' ',''})<INCLURE{fond=include-autresarticles-liste}{id_article=#ENV{id_article}}{id_rubrique}>]
+[(#ENV{parametre}|=={prec-suiv}|?{' ',''})<li>ici les autres articles precedent-suivant<a href="#URL_ARTICLE">#TITRE</a></li>]
+[(#ENV{parametre}|=={deroulant}|?{' ',''})<INCLURE{fond=include-autresarticles-dropdown}{id_article=#ENV{id_article}}{id_rubrique}>]
+</BOUCLE_autresarts>
+</ul>
+</div>
+</B_autresarts>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-racine.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-racine.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-racine.html	(revision 198)
@@ -0,0 +1,8 @@
+<B_rubrac>
+<div id="listearticles" class="listagebloc">
+<h2><:articles_associes:></h2>
+<ul class="listageconteneur">
+<BOUCLE_rubrac(RUBRIQUES){racine}{par num titre}{par titre}><li><h4 class="listagetitre"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4><p class="listagetexte"><BOUCLE_lesarts(ARTICLES){id_rubrique}{branche}{!par date}{par titre}>[<a href="#URL_SITE" [title="(#DESCRIPTIF|entites_html)"]>(#TITRE|supprimer_numero)</a><br />]</BOUCLE_lesarts></p></li></B_lesarts></BOUCLE_rubrac>
+</ul>
+</div>
+</B_rubrac>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-simple.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-simple.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/inc-listearticlesmot-simple.html	(revision 198)
@@ -0,0 +1,14 @@
+<B_listesites>
+<div id="listearticles" class="listagebloc">
+<h2><:articles_associes:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesites(MOTS){id_article}{par titre}><B_lesarts><li>
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte"><BOUCLE_lesarts(ARTICLES){id_mot}{par titre}{!par date}>
+[<a href="#URL_SITE" [title="(#DESCRIPTIF|entites_html)"]>(#TITRE|supprimer_numero)</a><br />]
+</BOUCLE_lesarts>
+</p>
+</li></B_lesarts></BOUCLE_listesites>
+</ul>
+</div>
+</B_listesites>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-dropdown.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-dropdown.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-dropdown.html	(revision 198)
@@ -0,0 +1,13 @@
+<BOUCLE_recup(ARTICLES){id_article}>
+<form action="spip.php?" method="get" class="forml">
+<select name="article" onchange="document.location.href='spip.php?article'+this.options[this.selectedIndex].value">
+<option value="#ID_ARTICLE"> --- </option>
+<BOUCLE_autresarticles(ARTICLES){id_rubrique}{exclus}{par num titre, titre}>
+<option value="#ID_ARTICLE">[(#TITRE|supprimer_numero)]</option>
+</BOUCLE_autresarticles>
+</select>
+<noscript>
+<div><input type='submit' class='fondo' value='Changer' /></div>
+</noscript>
+</form>
+</BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/include-autresarticles-liste.html	(revision 198)
@@ -0,0 +1,5 @@
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_autresarticles(ARTICLES){id_rubrique}{exclus}{par num titre, id_article}>
+<li><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_autresarticles>
+</BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste-sites-motscles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste-sites-motscles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste-sites-motscles.html	(revision 198)
@@ -0,0 +1,14 @@
+<B_listesites>
+<div id="listesites" class="listagebloc">
+<h2><:sites_associes:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesites(MOTS){id_article}{par titre}><B_lessites><li>
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte"><BOUCLE_lessites(SITES){id_mot}{par num nom_site}{par nom_site}>
+[<a href="#URL_SITE" [title="(#DESCRIPTIF|entites_html)"]>(#NOM_SITE)</a><br />]
+</BOUCLE_lessites>
+</p>
+</li>
+</B_lessites></BOUCLE_listesites></ul>
+</div>
+</B_listesites>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste_articles_motscles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste_articles_motscles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/liste_articles_motscles.html	(revision 198)
@@ -0,0 +1,2 @@
+[(#ENV{parametre}|=={simple}|?{' ',''})<INCLURE{fond=inc-listearticlesmot-simple}{id_article}{id_mot}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={par_rubrique_racine}|?{' ',''})<INCLURE{fond=inc-listearticlesmot-racine}{id_article}{id_mot}{conteneur=#ENV{conteneur}}>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_formulaire.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_formulaire.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_formulaire.html	(revision 198)
@@ -0,0 +1,9 @@
+[<div id="petition" class="listagebloc">
+<h2>[(#ENV*{parametre}|propre|sinon{<:petition:>})]</h2>
+<ul class="listageconteneur">
+<li><div class="listagetexte">
+(#FORMULAIRE_SIGNATURE)
+</div>
+</li>
+</ul>
+</div>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/article/petition_liste.html	(revision 198)
@@ -0,0 +1,15 @@
+<B_sign><div id="liste-petition" class="listagebloc">
+<h2>[(#ENV*{parametre}|propre|sinon{<:signatures_petition:>})]</h2>
+<ul class="listageconteneur">
+<BOUCLE_sign(SIGNATURES){id_article}{!par date}>
+<li>
+<div class="listagetexte">
+<h4 class="listagetitre">#NOM</h4>
+<div class="listageinfo">[(#DATE|affdate)]</div>
+[<div class="listagetexte">(#MESSAGE)</div>]
+[<div class="listagesite"><a href="(#URL_SITE)">#NOM_SITE</a></div>]
+</li>
+</BOUCLE_sign>
+</ul>
+</div>
+</B_sign>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-ecrire.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-ecrire.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-ecrire.html	(revision 198)
@@ -0,0 +1,8 @@
+<BOUCLE_lesb(AUTEURS){id_auteur}>
+<div id="ecrireauteur" class="listagebloc">
+<h2><:ecrire_a:> [(#NOM|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+#FORMULAIRE_ECRIRE_AUTEUR
+</li></ul>
+</div>
+</BOUCLE_lesb>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-head.html	(revision 198)
@@ -0,0 +1,11 @@
+<BOUCLE_head_article(AUTEURS){id_auteur}>
+<div id="header">
+[(#LOGO_AUTEUR|!={}|?{' ',''})<div class="logo">[(#INCLURE{fond=formatage_logo_auteur}{id_auteur}{conteneur=#ENV{conteneur}})]</div>]
+
+<div class="texteheader">
+[<h1>(#NOM|supprimer_numero)</h1>]
+
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_head_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-info.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-info.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur-info.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_texte_article(AUTEURS){id_auteur}>
+<div id="texteconteneur">
+<div class="texte">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#BIO|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#BIO|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#BIO|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+[<p class="listagesite"><strong><:voir_en_ligne:></strong> <a href="#URL_SITE" target="_blank">(#NOM_SITE)</a></p>]
+[<div class="ps"><strong><:ps:>:</strong> (#PS)</div>]
+[<div class="ps notes"><strong><:notes:>:</strong> (#NOTES)</div>]
+</div>
+</BOUCLE_texte_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur_autres_auteurs.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur_autres_auteurs.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/auteur_autres_auteurs.html	(revision 198)
@@ -0,0 +1,9 @@
+<B_autres>
+<div id="ecrireauteur" class="listagebloc">
+<h2><:autres_auteurs:></h2>
+<ul class="listageconteneur">
+<BOUCLE_autres(AUTEURS){exclus}>
+<li><a href="#URL_AUTEUR" title="[(#BIO|entites_html)]">#NOM</a></li>
+</BOUCLE_autres>
+</ul>
+</div></B_autres>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/autres-breves.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/autres-breves.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/autres-breves.html	(revision 198)
@@ -0,0 +1,6 @@
+<BOUCLE_autresarts(BREVES){id_rubrique}{exclus}{0,1}>
+[(#ENV{parametre}|=={liste_courte}|?{' ',''})<INCLURE{fond=include-autresbreves-listecourte}{id_breve=#ENV{id_breve}}{id_rubrique}>]
+[(#ENV{parametre}|=={liste_complete}|?{' ',''})<INCLURE{fond=include-autresbreves-listecomplete}{id_breve=#ENV{id_breve}}{id_rubrique}>]
+[(#ENV{parametre}|=={prec-suiv}|?{' ',''})<li>ici les autres articles precedent-suivant<a href="#URL_BREVE">#TITRE</a></li>]
+[(#ENV{parametre}|=={deroulant}|?{' ',''})<INCLURE{fond=include-autresbreves-dropdown}{id_breve=#ENV{id_breve}}{id_rubrique}>]
+</BOUCLE_autresarts>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bandeau.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bandeau.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bandeau.html	(revision 198)
@@ -0,0 +1,1 @@
+<div id="bandeau" onclick="location.href='spip.php'" style="cursor:pointer;"></div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-forum.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-forum.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-forum.html	(revision 198)
@@ -0,0 +1,47 @@
+<BOUCLE_forumart(ARTICLES){id_article}>
+<!-- forum -->
+<B_forums><div id="forum" class="listagebloc">
+<a name="forums"></a>
+<h2><:Forum:></h2>
+<ul class="listageconteneur">
+<BOUCLE_forums(FORUMS){id_article}{par date}>
+<li>
+<h4 class="listagetitre">#TITRE</h4>
+<div class="listageinfo">[(#DATE|affdate)][, <:par_auteur:> <a href="mailto:#EMAIL">(#NOM)</a>]</div>
+<p class="listagetexte">[(#TEXTE|ptobr)]</p>
+[<div class="listagesite"><:voir_en_ligne:> : <a href="(#URL_SITE)" target="_blank"> [(#NOM_SITE|sinon{#URL_SITE})]</a></div>]
+[(#ENV{parametre}|!={1 niveau}|?{' ',''})[<div class="listagerepondre"><a id="lien_forum#ID_FORUM" href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_message:></a></div>]]
+
+<BOUCLE_siself(SPIP_ARTY_PARAMETRES){parametre=config_forum}{valeur=true}>
+[<!-- intervenir dans le forum -->
+<div id="intervention_forum#ID_FORUM">
+(#FORMULAIRE_FORUM)
+</div>]
+</BOUCLE_siself>
+
+<B_forums_fils>
+	<ul>
+	<BOUCLE_forums_fils(FORUMS){id_parent}{par date}>
+	<li>
+	<h4 class="listagetitre">#TITRE</h4>
+	<div class="listageinfo">[(#DATE|affdate)][, <:par_auteur:> <a href="mailto:#EMAIL">(#NOM)</a>]</div>
+	<p class="listagetexte">[(#TEXTE|ptobr)]</p>
+	[<div class="listagesite"><:voir_en_ligne:> : <a href="(#URL_SITE)" target="_blank"> [(#NOM_SITE|sinon{#URL_SITE})]</a></div>]
+	
+	[(#ENV{parametre}|=={multithread}|?{' ',''})[<div class="listagerepondre"><a id="lien_forum#ID_FORUM" href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_message:></a></div>]]
+	
+	<BOUCLE_siself2(SPIP_ARTY_PARAMETRES){parametre=config_forum}{valeur=true}>
+
+[<!-- intervenir dans le forum -->
+<div id="intervention_forum#ID_FORUM">
+(#FORMULAIRE_FORUM)
+</div>]
+</BOUCLE_siself2>
+	<BOUCLE_Forums_Boucle(boucle_forums_fils)></BOUCLE_Forums_Boucle>
+	</li>
+	</BOUCLE_forums_fils>
+	</ul>
+</B_forums_fils>
+</li>
+</BOUCLE_forums></ul></div></B_forums>
+</BOUCLE_forumart>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-libre.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-libre.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc-libre.html	(revision 198)
@@ -0,0 +1,31 @@
+<BOUCLE_lesb(SPIP_ARTY_BLOCLIBREASSOC){type=article}{id=#ID_ARTICLE}>
+<BOUCLE_bloc_art(SPIP_ARTY_BLOCLIBRE){id_bloc_libre}>
+<div class="bloclibre bloc#COMPTEUR_BOUCLE listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+[<a href="(#LIEN|propre|nospace)">][(#INCLURE{fond=formatage_bloclibre}{conteneur=#ENV{conteneur}}{id_bloc_libre})]
+[(#LIEN|!={""}|?{'</a>',''})]
+<div class="listagetexte">
+[<a href="(#LIEN|propre|nospace)">]
+[(#CONTENU|propre)]
+[(#LIEN|!={""}|?{'</a>',''})]</div>
+</li></ul>
+</div>
+</BOUCLE_bloc_art>
+</BOUCLE_lesb>
+
+<BOUCLE_lesbr(SPIP_ARTY_BLOCLIBREASSOC){type=rubrique}{id=#ID_RUBRIQUE}>
+<BOUCLE_bloc_rub(SPIP_ARTY_BLOCLIBRE){id_bloc_libre}>
+<div class="bloclibre bloc#COMPTEUR_BOUCLE listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+[<a href="(#LIEN|propre|nospace)">][(#INCLURE{fond=formatage_bloclibre}{conteneur=#ENV{conteneur}}{id_bloc_libre})]
+[(#LIEN|!={""}|?{'</a>',''})]
+<div class="listagetexte">
+[<a href="(#LIEN|propre|nospace)">]
+[(#CONTENU|propre)]
+[(#LIEN|!={""}|?{'</a>',''})]</div>
+</li></ul>
+</div>
+</BOUCLE_bloc_rub>
+</BOUCLE_lesbr>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_article.html	(revision 198)
@@ -0,0 +1,21 @@
+#SET{critere_in,#ARRAY{0,0}}<BOUCLE_lesb(SPIP_ARTY_BLOCLIBREASSOC){type=article}{id=#ID_ARTICLE}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_BLOC_LIBRE}}}
+</BOUCLE_lesb>
+<BOUCLE_bloc_art(SPIP_ARTY_BLOCLIBRE){id_bloc_libre IN #GET{critere_in}}{par num titre}>
+<div class="bloclibre [(#TITRE|supprimer_numero|no_accent|nospace)] bloc#COMPTEUR_BOUCLE listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+[<a href="(#LIEN|propre|nospace)">][(#INCLURE{fond=formatage_bloclibre}{conteneur=#ENV{conteneur}}{id_bloc_libre})]
+[(#LIEN|!={""}|?{'</a>',''})]
+<div class="listagetexte">
+[<a href="(#LIEN|propre|nospace)">]
+[(#CONTENU|propre)]
+[(#LIEN|!={""}|?{'</a>',''})]</div>
+</li></ul>
+</div>
+</BOUCLE_bloc_art>
+
+
+[(#ENV{parametre}|=={blocs_article_rubrique}|?{' ',''})
+<INCLURE{fond=bloc_libre_rubrique}{id_rubrique=#ID_RUBRIQUE}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_rubrique.html	(revision 198)
@@ -0,0 +1,18 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_lesbr(SPIP_ARTY_BLOCLIBREASSOC){type=rubrique}{id=#ID_RUBRIQUE}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_BLOC_LIBRE}}}
+</BOUCLE_lesbr>
+<BOUCLE_bloc_rub(SPIP_ARTY_BLOCLIBRE){id_bloc_libre IN #GET{critere_in}}{par num titre}>
+<div class="bloclibre [(#TITRE|supprimer_numero|no_accent|nospace)] bloc#COMPTEUR_BOUCLE listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+[<a href="(#LIEN|propre|nospace)">][(#INCLURE{fond=formatage_bloclibre}{conteneur=#ENV{conteneur}}{id_bloc_libre})]
+[(#LIEN|!={""}|?{'</a>',''})]
+<div class="listagetexte">
+[<a href="(#LIEN|propre|nospace)">]
+[(#CONTENU|propre)]
+[(#LIEN|!={""}|?{'</a>',''})]
+</div>
+</li></ul>
+</div>
+</BOUCLE_bloc_rub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_sommaire.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_sommaire.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/bloc_libre_sommaire.html	(revision 198)
@@ -0,0 +1,18 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_lesbr(SPIP_ARTY_BLOCLIBREASSOC){type=rubrique}{id=#ID_RUBRIQUE}{lang}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_BLOC_LIBRE}}}
+</BOUCLE_lesbr>
+<BOUCLE_bloc_rub(SPIP_ARTY_BLOCLIBRE){id_bloc_libre IN #GET{critere_in}}{par num titre}>
+<div class="bloclibre [(#TITRE|supprimer_numero|no_accent|nospace)] bloc#COMPTEUR_BOUCLE listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur"><li>
+[<a href="(#LIEN|propre|nospace)">][(#INCLURE{fond=formatage_bloclibre}{conteneur=#ENV{conteneur}}{id_bloc_libre})]
+[(#LIEN|!={""}|?{'</a>',''})]
+<div class="listagetexte">
+[<a href="(#LIEN|propre|nospace)">]
+[(#CONTENU|propre)]
+[(#LIEN|!={""}|?{'</a>',''})]
+</div>
+</li></ul>
+</div>
+</BOUCLE_bloc_rub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-head.html	(revision 198)
@@ -0,0 +1,20 @@
+<BOUCLE_head_breve(BREVES){id_breve}>
+<div id="header">
+
+[(#LOGO_BREVE|!={}|?{' ',''})<div class="logo #EDIT{logo}">[(#INCLURE{fond=formatage_logo}{id_breve}{conteneur=#ENV{conteneur}})]</div>]
+
+<div class="texteheader">
+[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<p class="dateauteurs">'; } ?></BOUCLE_montrediv>
+
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</p>'; } ?></BOUCLE_montrediv2>
+
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_head_breve>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/breve-texte.html	(revision 198)
@@ -0,0 +1,48 @@
+<BOUCLE_texte_breve(BREVES){id_breve}>
+<div id="texteconteneur">
+<div class="texte #EDIT{texte}">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+[<p class="listagesite #EDIT{nom_site}"><strong><:voir_en_ligne:></strong> <a href="#URL_SITE" target="_blank">(#NOM_SITE)</a></p>]
+[<div class="ps notes"><strong><:notes:>:</strong> (#NOTES)</div>]
+[<p class="listagerepondre"><a id="lien_forum" href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_breve:></a></p>]
+</div>
+<BOUCLE_siself(SPIP_ARTY_PARAMETRES){parametre=config_forum}{valeur=true}>
+
+<script type="text/javascript">
+$(document).ready(function(){
+		$("#intervention_forum").hide();
+		$("#lien_forum").attr("href","javascript:montrele('#intervention_forum')");
+		
+		// cache tous les forums de la page
+		<BOUCLE_forumsliste(FORUMS){id_breve}{plat}>
+		$("#intervention_forum#ID_FORUM").hide();
+		$("#lien_forum#ID_FORUM").attr("href","javascript:montrele('#intervention_forum#ID_FORUM')");
+		</BOUCLE_forumsliste>
+		
+		
+		$(".previsu").each(function(){
+		$("#intervention_forum<?php echo $_POST['id_forum']; ?>").show();
+		});
+		
+		$(".formulaire_forum .cachable").hide();
+		$(".formulaire_forum legend").css("cursor","pointer");
+
+		
+		$(".formulaire_forum legend").click( function() { 
+			$(this).siblings(".cachable").each(function(){
+				$(this).toggle();
+			});
+			});
+		
+});
+</script>
+
+<!-- intervenir dans le forum -->
+[<div id="intervention_forum">
+(#FORMULAIRE_FORUM)
+</div>]
+</BOUCLE_siself>
+</BOUCLE_texte_breve>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/chemin.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/chemin.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/chemin.html	(revision 198)
@@ -0,0 +1,22 @@
+<div id="chemin[(#ENV{afficher}|=={rien}|?{'-vide',''})]">
+#SET{separateur,#REM|sinon{separateur}|parametres}
+<?php $separateur="#GET{separateur}"; ?>
+[(#ENV{afficher}|!={rien}|?{' ',''})<a href="spip.php"><:accueil_site:></a>]
+
+<BOUCLE_recupdou(RUBRIQUES){id_rubrique}>
+
+<B_hierar> #GET{separateur} <BOUCLE_hierar(HIERARCHIE){id_rubrique}{"<?php echo $separateur; ?>"}><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></BOUCLE_hierar>
+ #GET{separateur} [(#TITRE|supprimer_numero)]
+</BOUCLE_recupdou>
+
+<BOUCLE_recupdou2(ARTICLES){id_article}>
+
+<B_hierar2> #GET{separateur} <BOUCLE_hierar2(HIERARCHIE){id_rubrique}{tout}{"<?php echo $separateur; ?>"}><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></BOUCLE_hierar2>
+ #GET{separateur} [(#TITRE|supprimer_numero)]
+</BOUCLE_recupdou2>
+
+<BOUCLE_recupdoubreve(BREVES){id_breve}> #GET{separateur} <:breves:> #GET{separateur} [(#TITRE|supprimer_numero)]</BOUCLE_recupdoubreve>
+<BOUCLE_recupdoumot(MOTS){id_mot}> #GET{separateur} <:mots_clefs:> #GET{separateur} [(#TITRE|supprimer_numero)]</BOUCLE_recupdoumot>
+
+[#GET{separateur} (#ENV{cettepage})]
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/feed.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/feed.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/feed.html	(revision 198)
@@ -0,0 +1,7 @@
+<div id="feed" class="listagebloc">
+<h2><:feed:></h2>
+<ul class="listageconteneur">
+<li><a href="spip.php?page=backend" title="XML feed"><:filrsssite:></a></li>
+<BOUCLE_feedrub(RUBRIQUES){id_rubrique}><li><a href="spip.php?page=backend&amp;id_rubrique=#ID_RUBRIQUE" title="XML feed"><:filrssrubrique:></a></li></BOUCLE_feedrub>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/footer.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/footer.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/footer.html	(revision 198)
@@ -0,0 +1,17 @@
+<div id="footer">
+<!-- contenu du footer -->
+<BOUCLE_lefooter(SPIP_ARTY_PARAMETRES) {parametre=footer}>
+[<p id="site-footer">(#VALEUR|propre|ptobr)</p>]
+</BOUCLE_lefooter>
+<p id="magusine-footer"><a href="#URL_SITE_SPIP/ecrire"><:acces_admin:></a> - #NOM_SITE_SPIP : <:arty_un_site_corsaires:> - <:theme:> : [(#REM|sinon{titre}|parametres)]</p>
+<BOUCLE_logos(SPIP_ARTY_PARAMETRES){parametre=logos_bailleurs}{valeur=false}> </BOUCLE_logos>
+<p id="logos-bailleurs"><a href="http://www.cfwb.be/default2.asp" target="_blank"><img src="#CHEMIN{images/logos-bailleurs/cocof-jeunesse.png}" alt="COCOF-jeunesse" /></a>
+<a href="http://europa.eu.int/comm/employment_social/equal/index_fr.cfm" target="_blank"><img src="#CHEMIN{images/logos-bailleurs/europe.png}" alt="equal" /></a>
+<a href="http://www.cocof.be/" target="_blank"><img src="#CHEMIN{images/logos-bailleurs/cocof.png}" alt="COCOF" /></a>
+
+<a href="http://www.magusine.net/formation/article.php3?id_article=1469"><img src="#CHEMIN{images/logos-bailleurs/somerights20.png}" alt="creativecommons" /></a>
+<a href="http://www.spip.net/fr" target="_blank"><img src="#CHEMIN{images/logos-bailleurs/spip-logo.png}" alt="spip" /></a>
+<a href="http://www.mozilla-europe.org/fr/products/firefox/" target="_blank"><img src="#CHEMIN{images/logos-bailleurs/firefox.png}" alt="Use Firefox !" /></a>
+</p>
+<//B_logos>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/bloc_sons_hasard_branche.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/bloc_sons_hasard_branche.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/bloc_sons_hasard_branche.html	(revision 198)
@@ -0,0 +1,38 @@
+<div id="galerie-audio-branche" class="listagebloc">
+<a name="audio"></a>
+<h2><:son_hasard_branche:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{audiovars}|trouveintheme{''})]";
+// hauteur : parametre height displayheight=120&
+if ($parametre !="") {
+	if(eregi("displayheight=([0-9]{1,3})&",$parametre,$elem)) {
+		$visualisateur=(int) $elem[1];
+		$parametre=ereg_replace("displayheight=([0-9]{1,3})&","",$parametre);
+	} else { $visualisateur=0; }
+	
+	if(eregi("height=([0-9]{1,3})&",$parametre,$elem)) {
+		$hauteur= (int) $elem[1];
+		$parametre=ereg_replace("height=([0-9]{1,3})&","",$parametre);
+	} else { $hauteur=92; }
+	
+} 
+
+
+
+//$listheight=(int) "[(#ENV{parametre}|moins{1}|mult{23})]";
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+if($largeur>300){ $largeur=300; }
+?>
+
+<li id="audio-viewer">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/mediaplayer.swf}" style="" id="mp3player" name="rmp3player" quality="high" 
+flashvars="file=spip.php%3Fpage%3Dxml_audioflash_hasard_branche%26id_rubrique%3D[(#ID_RUBRIQUE|sinon{0})]%26parametre%3D[(#ENV{parametre}|moins{1})]&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $visualisateur + 20; if ($parametre) { echo "&". $parametre; } ?>"
+height="<?php echo $hauteur + $visualisateur + 20; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+</ul>
+</div>
+</B_lesfiles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article-flash.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article-flash.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article-flash.html	(revision 198)
@@ -0,0 +1,23 @@
+<BOUCLE_recup(ARTICLES){id_article}><B_lesdocs><div id="cadre-slideshow" class="listagebloc">
+<h2><:diaporama:></h2>
+
+<INCLURE{fond=inc-rotatorplaylist}{id_article}{conteneur=#ENV{conteneur}}>
+
+<?php
+$parametre="[(#REM|sinon{flashdiaporama}|trouveintheme{'transition=fade&amp;shownavigation=true&amp;overstrech=true&amp;shuffle=false|160'})]";
+$parametres=explode("|", $parametre);
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+?>
+
+<ul class="listageconteneur">
+<BOUCLE_lesdocs(DOCUMENTS){id_article}{mode=document}{extension==gif|png|jpg}{0,1}>
+<li id="player">
+<embed 
+type="application/x-shockwave-flash" 
+src="#CHEMIN{swf/imagerotator.swf}" style="" id="rotator" name="rotator" quality="high" flashvars="file=#CHEMIN{swf/playlistima.xml}&amp;<?php echo $parametres[0]; ?>" 
+height="<?php echo $parametres[1]; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+</BOUCLE_lesdocs>
+</li></ul></div>
+</B_lesdocs></BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-article.html	(revision 198)
@@ -0,0 +1,43 @@
+<B_lesimagesliste><link href='#CHEMIN{themes/#THEME/addfiles/diaporama.css}' rel='stylesheet' type='text/css' />
+<style type="text/css">
+#slideShow
+{
+	width:[(#ENV{conteneur}|=={1}|?{' ',''})[(#LARGEUR_CONTEXTE1)]][(#ENV{conteneur}|=={2}|?{' ',''})[(#LARGEUR_CONTEXTE2)]][(#ENV{conteneur}|=={3}|?{' ',''})[(#LARGEUR_CORPS)]]px;
+	height: #ENV{parametre}px;
+}
+</style>
+<script type="text/javascript" src="#CHEMIN{javascript/interface.js}"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+  $.slideshow(
+  	{
+  		container : 'slideShow',
+  		loader: '[(#CHEMIN{themes/#THEME/addfiles/images/slideshow_loader.gif}|sinon{#CHEMIN{images/slideshow_loader.gif}})]',
+  		linksPosition: 'bottom',
+  		linksClass: 'pagelinks',
+  		linksSeparator : ' &nbsp; ',
+  		fadeDuration : 400,
+  		activeLinkClass: 'activeSlide',
+  		nextslideClass: 'nextSlide',
+  		prevslideClass: 'prevSlide',
+  		captionPosition: 'bottom',
+  		captionClass: 'slideCaption',
+  		autoplay: 5,
+  		
+  		// largeur en cours : [(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1)],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2)],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS)],''})]
+  		images : [
+  		<BOUCLE_lesimagesliste(DOCUMENTS){id_article}{mode=document}{extension==png|gif|jpg}{par num titre}>
+  			{
+  				src: '[(#FICHIER||image_reduire{[(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1)],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2)],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS)],''})]|,#ENV{parametre}}|extraire_attribut{src})]',
+  				caption: '[(#TITRE|texte_script)]'
+  			},
+  		</BOUCLE_lesimagesliste>
+  		]
+  	}
+  )
+});
+</script>
+<div id="cadre-slideshow" class="listagebloc">
+<div id="slideShow">
+</div></div>
+</B_lesimagesliste>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporama-rubrique.html	(revision 198)
@@ -0,0 +1,42 @@
+<B_lesimagesliste><link href='#CHEMIN{themes/#THEME/addfiles/diaporama.css}' rel='stylesheet' type='text/css' />
+<style type="text/css">
+#slideShow
+{
+	width: [(#ENV{conteneur}|=={1}|?{'[(#LARGEUR_CONTEXTE1|moins{6})]',''})][(#ENV{conteneur}|=={2}|?{'[(#LARGEUR_CONTEXTE2|moins{6})]',''})][(#ENV{conteneur}|=={3}|?{'#LARGEUR_CORPS',''})]px;
+	height: #ENV{parametre}px;
+}
+</style>
+<script type="text/javascript" src="#CHEMIN{javascript/interface.js}"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+  $.slideshow(
+  	{
+  		container : 'slideShow',
+  		loader: '#CHEMIN{themes/#THEME/addfiles/images/slideshow_loader.gif}',
+  		linksPosition: 'bottom',
+  		linksClass: 'pagelinks',
+  		linksSeparator : ' &nbsp; ',
+  		fadeDuration : 400,
+  		activeLinkClass: 'activeSlide',
+  		nextslideClass: 'nextSlide',
+  		prevslideClass: 'prevSlide',
+  		captionPosition: 'bottom',
+  		captionClass: 'slideCaption',
+  		autoplay: 5,
+  		images : [
+  		<BOUCLE_lesimagesliste(DOCUMENTS){id_rubrique}{extension==png|gif|jpg}{par num titre}>
+  			{
+  				src: '[(#FICHIER||image_reduire{[(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1|moins{8})],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2|moins{8})],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS|moins{10})],''})]|,#ENV{parametre}}|extraire_attribut{src})]',
+  				caption: '[(#TITRE|texte_script)]'
+  			},
+  		</BOUCLE_lesimagesliste>
+  		]
+  	}
+  )
+});
+</script>
+<div id="cadre-slideshow">
+<div id="slideShow">
+
+</div></div>
+</B_lesimagesliste>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporamaarticle_xml.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporamaarticle_xml.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/diaporamaarticle_xml.html	(revision 198)
@@ -0,0 +1,15 @@
+#HTTP_HEADER{Content-Type: text/xml}
+<playlist xmlns="http://xspf.org/ns/0/" version="1">
+	<tracklist>
+	<BOUCLE_galerieima(DOCUMENTS){id_article=#ENV{article}}{extension==gif|jpg|png}>
+		<track>
+		<BOUCLE_infos(ARTICLES){id_document}>
+			<title>[(#TITRE|supprimer_numero)]</title>
+			<creator><BOUCLE_aut(AUTEURS){id_article}{","}>#NOM</BOUCLE_aut></creator>
+			<info>#URL_ARTICLE</info>
+		</BOUCLE_infos>
+			<location>#URL_SITE_SPIP/#URL_DOCUMENT</location>
+		</track>
+	</BOUCLE_galerieima>
+	</tracklist>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/embed_video.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/embed_video.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/embed_video.html	(revision 198)
@@ -0,0 +1,16 @@
+#CACHE{0}#HTTP_HEADER{Content-Type: text/html; charset=utf-8}
+<BOUCLE_documentflv(DOCUMENTS){id_document}{extension==flv}>
+<?php
+$largeur=[(#ENV{largeur})];
+if ($largeur==0){ $largeur=320; }
+$hauteur=round(($largeur/4)*3) + 20;
+?>
+<object type='application/x-shockwave-flash' width='<?php echo $largeur; ?>' height='<?php echo $hauteur; ?>' wmode='transparent'
+ data='#URL_SITE_SPIP/#CHEMIN{swf/flvplayer.swf}?autoStart=true&amp;file=#URL_SITE_SPIP/#URL_DOCUMENT'>
+ <param name='movie' value='#URL_SITE_SPIP/#CHEMIN{swf/flvplayer.swf}?file=#URL_SITE_SPIP/#URL_DOCUMENT' />
+ <param name='wmode' value='transparent' />
+</object>
+</BOUCLE_documentflv>
+<BOUCLE_document(DOCUMENTS){id_document}{extension!==flv}>
+#EMBED_DOCUMENT
+</BOUCLE_document>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-audios.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-audios.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-audios.html	(revision 198)
@@ -0,0 +1,4 @@
+[(#ENV{parametre}|=={liste}|?{' ',''})<INCLURE{fond=incgal-audio-liste}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={lecteur_flash}|?{' ',''})<INCLURE{fond=incgal-audio-flash}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={lecteur_flash_liste}|?{' ',''})<INCLURE{fond=incgal-audio-liste-lecteur}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={popup}|?{' ',''})<INCLURE{fond=incgal-audio-popup}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-diaporama-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-diaporama-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-diaporama-popup.html	(revision 198)
@@ -0,0 +1,60 @@
+<!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=utf-8"/>
+<title><BOUCLE_letitre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_letitre></title>
+#INSERT_HEAD
+<link href='#CHEMIN{themes/#THEME/addfiles/diaporama.css}' rel='stylesheet' type='text/css' />
+<style type="text/css">
+#slideShow
+{
+	width: 600px;
+	height: 500px;
+}
+</style>
+<script type="text/javascript" src="#CHEMIN{javascript/interface.js}"></script>
+</head>
+<body>
+
+<B_premiere_image>
+<script type="text/javascript">
+$(document).ready(function(){
+  $.slideshow(
+  	{
+  		container : 'slideShow',
+  		loader: '#CHEMIN{themes/#THEME/addfiles/images/slideshow_loader.gif}',
+  		linksPosition: 'bottom',
+  		linksClass: 'pagelinks',
+  		linksSeparator : ' &nbsp; ',
+  		fadeDuration : 400,
+  		activeLinkClass: 'activeSlide',
+  		nextslideClass: 'nextSlide',
+  		prevslideClass: 'prevSlide',
+  		captionPosition: 'bottom',
+  		captionClass: 'slideCaption',
+  		autoplay: 5,
+  		images : [
+  		<BOUCLE_premiere_image(DOCUMENTS){id_document=#ENV{id_document}}{extension==png|gif|jpg}{par num titre}{doublons premier_doc}>
+  			{
+  				src: '[(#FICHIER||image_reduire{600, 500}|extraire_attribut{src})]',
+  				caption: '[(#TITRE|texte_script)]'
+  			},
+  		</BOUCLE_premiere_image>
+  		<BOUCLE_lesimagesliste(DOCUMENTS){id_article=#ENV{id_article}}{extension==png|gif|jpg}{par num titre}{doublons premier_doc}>
+  			{
+  				src: '[(#FICHIER||image_reduire{600, 500}|extraire_attribut{src})]',
+  				caption: '[(#TITRE|texte_script)]'
+  			},
+  		</BOUCLE_lesimagesliste>
+  		]
+  	}
+  )
+});
+</script>
+<div id="cadre-slideshow">
+  <div id="slideShow">
+  </div>
+</div>
+</B_premiere_image>
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-image.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-image.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-image.html	(revision 198)
@@ -0,0 +1,15 @@
+[(#ENV{parametre}|=={galerie simple}|?{' ',''})
+<INCLURE{fond=incgal-image-simple}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{document=#ENV{document}}>
+]
+[(#ENV{parametre}|=={thickbox}|?{' ',''})
+<INCLURE{fond=incgal-thickbox}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={diaporama popup}|?{' ',''})
+<INCLURE{fond=incgal-image-diaporama-popup}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={galerie liste}|?{' ',''})
+<INCLURE{fond=incgal-image-liste}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={galerie popup}|?{' ',''})
+<INCLURE{fond=incgal-image-popup}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-swf.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-swf.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-swf.html	(revision 198)
@@ -0,0 +1,3 @@
+[(#ENV{parametre}|=={320_240}|?{' ',''})<INCLURE{fond=incgal-swf}{id_article}{conteneur=#ENV{conteneur}}{largeur=320}>]
+[(#ENV{parametre}|=={largeur_totale_4_3}|?{' ',''})<INCLURE{fond=incgal-swf}{id_article}{conteneur=#ENV{conteneur}}{largeur=totale_4}>]
+[(#ENV{parametre}|=={largeur_totale_16_9}|?{' ',''})<INCLURE{fond=incgal-swf}{id_article}{conteneur=#ENV{conteneur}}{largeur=totale_16}>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-videos.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-videos.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/galerie-videos.html	(revision 198)
@@ -0,0 +1,6 @@
+[(#ENV{parametre}|=={liste}|?{' ',''})<INCLURE{fond=incgal-video-liste}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{document=#ENV{document}}>]
+[(#ENV{parametre}|=={flv_liste}|?{' ',''})<INCLURE{fond=incgal_flv_liste}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{document=#ENV{document}}>]
+[(#ENV{parametre}|=={popup}|?{' ',''})<INCLURE{fond=incgal-video-popup}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={flv_320_240}|?{' ',''})<INCLURE{fond=incgal-video-flash}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{largeur=320}>]
+[(#ENV{parametre}|=={flv_largeur_totale_4_3}|?{' ',''})<INCLURE{fond=incgal-video-flash}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{largeur=totale_4}>]
+[(#ENV{parametre}|=={flv_largeur_totale_16_9}|?{' ',''})<INCLURE{fond=incgal-video-flash}{id_article}{id_rubrique}{conteneur=#ENV{conteneur}}{largeur=totale_16}>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-article.html	(revision 198)
@@ -0,0 +1,34 @@
+<B_documents_gmap>
+<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<BOUCLE_api_key(SPIP_ARTY_PARAMETRES){parametre=google_api_key}>#VALEUR</BOUCLE_api_key>" type="text/javascript"></script>
+<style type="text/css">
+.gmaps {
+  width:[(#ENV{conteneur}|=={1}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={2}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={3}|?{' ',''})#LARGEUR_CORPS]px;
+  height: #ENV{parametre}px;
+}
+</style>
+<BOUCLE_documents_gmap(DOCUMENTS){id_article}{extension==kml|kmz}{par num titre}>
+<div id="googlemap" class="listagebloc googlemap#ID_DOCUMENT">
+[<h2>(#TITRE|supprimer_numero)</h2>]
+<li><div id="map#ID_DOCUMENT" class="gmaps"></div></li>
+[<li class="listageinfo">(#DESCRIPTIF)</li>]
+</div>
+<script type="text/javascript">
+//<![CDATA[
+var map#ID_DOCUMENT;
+var geoXml#ID_DOCUMENT = new GGeoXml("#URL_SITE_SPIP/#FICHIER");
+
+jQuery(document).ready(function(){
+  if (GBrowserIsCompatible()) {
+    map#ID_DOCUMENT = new GMap2(document.getElementById("map#ID_DOCUMENT")); 
+    <BOUCLE_parametres(SPIP_ARTY_PARAMETRES){parametre=gmaps_afficher_controles}{valeur=true}{0, 1}>
+    map#ID_DOCUMENT.addControl(new GSmallMapControl());
+    map#ID_DOCUMENT.addControl(new GMapTypeControl());
+    </BOUCLE_parametres>    
+    map#ID_DOCUMENT.setCenter(new GLatLng(41.875696,-87.624207), 2); 
+    map#ID_DOCUMENT.addOverlay(geoXml#ID_DOCUMENT);
+    geoXml#ID_DOCUMENT.gotoDefaultViewport(map#ID_DOCUMENT); 
+  }
+});
+//]]>
+</script>
+</BOUCLE_documents_gmap>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/google-maps-rubrique.html	(revision 198)
@@ -0,0 +1,34 @@
+<B_documents_gmap>
+<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<BOUCLE_api_key(SPIP_ARTY_PARAMETRES){parametre=google_api_key}>#VALEUR</BOUCLE_api_key>" type="text/javascript"></script>
+<style type="text/css">
+.gmaps {
+  width: [(#ENV{conteneur}|=={1}|?{'[(#LARGEUR_CONTEXTE1|moins{6})]',''})][(#ENV{conteneur}|=={2}|?{'[(#LARGEUR_CONTEXTE2|moins{6})]',''})][(#ENV{conteneur}|=={3}|?{'#LARGEUR_CORPS',''})]px;
+  height: #ENV{parametre}px;
+}
+</style>
+<BOUCLE_documents_gmap(DOCUMENTS){id_rubrique}{extension==kml|kmz}{par num titre}>
+<div id="googlemap" class="listagebloc googlemap#ID_DOCUMENT">
+[<h2>(#TITRE|supprimer_numero)</h2>]
+<li><div id="map#ID_DOCUMENT" class="gmaps"></div></li>
+[<li class="listageinfo">(#DESCRIPTIF)</li>]
+</div>
+<script type="text/javascript">
+//<![CDATA[
+var map#ID_DOCUMENT;
+var geoXml#ID_DOCUMENT = new GGeoXml("#URL_SITE_SPIP/#FICHIER");
+
+jQuery(document).ready(function(){
+  if (GBrowserIsCompatible()) {
+    map#ID_DOCUMENT = new GMap2(document.getElementById("map#ID_DOCUMENT"));
+    <BOUCLE_parametres(SPIP_ARTY_PARAMETRES){parametre=gmaps_afficher_controles}{valeur=true}{0, 1}>
+    map#ID_DOCUMENT.addControl(new GSmallMapControl());
+    map#ID_DOCUMENT.addControl(new GMapTypeControl());
+    </BOUCLE_parametres>
+    map#ID_DOCUMENT.setCenter(new GLatLng(41.875696,-87.624207), 2); 
+    map#ID_DOCUMENT.addOverlay(geoXml#ID_DOCUMENT);
+    geoXml#ID_DOCUMENT.gotoDefaultViewport(map#ID_DOCUMENT); 
+  }
+});
+//]]>
+</script>
+</BOUCLE_documents_gmap>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/inc-rotatorplaylist.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/inc-rotatorplaylist.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/inc-rotatorplaylist.html	(revision 198)
@@ -0,0 +1,29 @@
+#CACHE{0}<BOUCLE_rotator(ARTICLES){id_article}>
+<B_galerieima><?php $chemin1 = "#CHEMIN{swf/playlistima.xml}";
+$fp = fopen ($chemin1, "w+");
+$fp2="<playlist version=\"1\" xmlns=\"http://xspf.org/ns/0/\">\n<trackList>\n"; 
+?>
+<BOUCLE_galerieima(DOCUMENTS){id_article}{mode=document}{extension==jpg|png|gif}{par num titre}{par id_document}>
+<?php 
+$urlDocPlayer="#URL_SITE_SPIP/".trim("[(#ENV{conteneur}|=={1}|?{' ',''})[(#FICHIER||image_reduire{#LARGEUR_CONTEXTE1,0}|extraire_attribut{src})]][(#ENV{conteneur}|=={2}|?{' ',''})[(#FICHIER||image_reduire{#LARGEUR_CONTEXTE2,0}|extraire_attribut{src})]][(#ENV{conteneur}|=={3}|?{' ',''})[(#FICHIER||image_reduire{#LARGEUR_CORPS,0}|extraire_attribut{src})]]");
+$titreDocPlayer='[(#TITRE|supprimer_numero|no_accent|texte_script|sinon{<:sans_titre:>})]';
+$DescriptifDocPlayer='[(#DESCRIPTIF|no_accent|texte_script|sinon{<:pas_de_descriptif:>})]';
+$identifier='#ID_DOCUMENT';
+
+$fp2.=" <track>\n";
+$fp2.=" <title>$DescriptifDocPlayer </title>\n";
+$fp2.=" <creator>$titreDocPlayer</creator>\n";
+$fp2.=" <info>#URL_SITE_SPIP/#URL_DOCUMENT</info>\n";
+$fp2.=" <location>$urlDocPlayer</location>\n";
+$fp2.=" <identifier>$identifier</identifier>\n";
+$fp2.="</track>\n";
+?>
+</BOUCLE_galerieima>
+<?php 
+$fp2.="</trackList>\n</playlist>\n";
+$fp3 = fwrite ($fp, $fp2);
+$p3 = fclose ($fp); 
+?>
+</B_galerieima>
+
+</BOUCLE_rotator>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-flash.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-flash.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-flash.html	(revision 198)
@@ -0,0 +1,47 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp3}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article%3D#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp3}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique%3D#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_lesfiles><div id="galerie-audio" class="listagebloc">
+<a name="audio"></a>
+<h2><:galerie_audio:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{audiovars}|trouveintheme{''})]";
+<BOUCLE_voissiplus(DOCUMENTS){id_document IN #GET{critere_in}}{1,1}>$listheight=(int) "[(#REM|sinon{audiolistheight}|trouveintheme{'100'})]";</BOUCLE_voissiplus>
+
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=100;
+
+?>
+<BOUCLE_lesfiles(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}{0,1}>
+<li id="audio-viewer">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/mediaplayer.swf}" style="" id="mp3player" name="rmp3player" quality="high" 
+flashvars="file=spip.php%3Fpage%3Dxml_audioflash%26#GET{vers}&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $listheight + 20; if ($parametre) { echo "&". $parametre; } ?>"
+height="<?php echo $hauteur + $listheight + 20; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+<BOUCLE_parametres_telechargement_audio(SPIP_ARTY_PARAMETRES){parametre=liens_telecharger_audio}{valeur=true}>
+<li>
+<p><:avis_telechargement_audio:></p>
+<BOUCLE_liste_doc_audio(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT">[(#FICHIER|nomfichier)]</a> ([(#TAILLE|taille_en_octets)]) <br />
+</BOUCLE_liste_doc_audio>
+</li>
+</BOUCLE_parametres_telechargement_audio>
+
+</BOUCLE_lesfiles>
+ 
+</ul>
+</div>
+</B_lesfiles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste-lecteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste-lecteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste-lecteur.html	(revision 198)
@@ -0,0 +1,36 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp3}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp3}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc><div id="galerie-audio" class="listagebloc">
+<a name="audio"></a>
+<h2><:galerie_audio:></h2>
+<?php 
+$largeur=[(#ENV{conteneur}|=={1}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={2}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={3}|?{' ',''})#LARGEUR_CORPS];
+if ($largeur > 290) { $largeur=290; }
+?>
+<ul class="listageconteneur">
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+<h4 class="listagetitre">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</h4>
+<object type="application/x-shockwave-flash" data="#CHEMIN{swf/pixplayer.swf}" id="audioplayer#ID_DOCUMENT" height="24" width="<?php echo $largeur; ?>">
+<param name="wmode" value="opaque">
+<param name="movie" value="#CHEMIN{swf/pixplayer.swf}">
+<param name="FlashVars" value="playerID=#ID_DOCUMENT&amp;bg=0xf8f8f8&amp;leftbg=0xeeeeee&amp;lefticon=0x666666&amp;rightbg=0xcccccc&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=[(#URL_DOCUMENT)]">
+<param name="quality" value="high">
+<param name="menu" value="false">
+<param name="bgcolor" value="#FFFFFF">
+</object>
+[<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>]
+<p class="listageinfo"><a href="#URL_SITE_SPIP/[(#URL_DOCUMENT)]"><:telecharger_le_son:></a></p>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-liste.html	(revision 198)
@@ -0,0 +1,33 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp2|mp3|wma|aac|ac4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp2|mp3|wma|aac|ac4}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc><div id="galerie-audio" class="listagebloc">
+<a name="audio"></a>
+<h2><:galerie_audio:></h2>
+<ul class="listageconteneur">
+<li id="audio-viewer">
+<BOUCLE_lecture_doc(DOCUMENTS){id_document=#ENV{document}}>
+<INCLURE{fond=embed_video}{id_document}>
+</BOUCLE_lecture_doc>
+</li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+<a class="liens_audis listagelogo audio #EDIT{logo}" rel="audio#ID_DOCUMENT" href="#URL_DOCUMENT">[(#INCLURE{fond=formatage_logo_liste_doc}{id_document}{conteneur=#ENV{conteneur}})]</a>
+<p class="listagetitre #EDIT{titre}"><a class="liens_audios" rel="audio#ID_DOCUMENT" href="#URL_DOCUMENT">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</a></p>
+[<p class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|ptobr)</p>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+<script type="text/javascript" language="javascript">
+
+</script>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-audio-popup.html	(revision 198)
@@ -0,0 +1,35 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp3}{mode=document}{0,1}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article=#ID_ARTICLE}
+#TITRE
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp3}{mode=document}{0,1}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique=#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc>
+<div id="galerie_audio" class="listagebloc">
+<h2><:galerie_audio:></h2>
+<script type="text/javascript">
+function ouvrirPopup(id_doc, titre) 
+{
+  left = (screen.width) ? (screen.width-400)/2 : 0;
+  top = (screen.height) ? (screen.height-240)/2 : 0;
+  params = 'height='+240+',width='+400+',top='+top+',left='+left+',scrollbars=no,resizable=yes,menubar=no,toolbar=no,status=no';
+  window.open('#URL_SITE_SPIP/spip.php?page=popup-galerie-audio&#GET{vers}&id_document='+id_doc, titre, params);
+}
+</script>
+<ul class="listageconteneur">
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}>
+<li>
+<div class="listagetitre"><a href="javascript:ouvrirPopup('#ID_DOCUMENT');"><:pour_ecouter_cliquez:> <:lien_lecteur_standalone:></a>
+</div>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-diaporama-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-diaporama-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-diaporama-popup.html	(revision 198)
@@ -0,0 +1,31 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article=#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup(ARTICLES)>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique=#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc>
+<div id="galerieimg">
+<h2><:galerie_image:></h2>
+<script type="text/javascript">
+jQuery(document).ready(function(){
+  jQuery(".diaporama-popup").click(function() {
+    url = jQuery(this).attr("href");
+    window.open(url, '<:diaporama:>', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=750,height=550,left=290,top=100');
+    return false;
+  });
+});
+</script>
+<ul><li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<a href="#URL_SITE_SPIP?page=galerie-diaporama-popup&#GET{vers}&id_document=#ID_DOCUMENT" target="_blank" alt="[(#TITRE|texte_script)]" title="[(#TITRE|texte_script)][ - (#DESCRIPTIF|texte_script)]" class="diaporama-popup">[(#INCLURE{fond=formatage_vignette}{id_document}{conteneur=#ENV{conteneur}})]</a>
+</BOUCLE_doc>
+</li></ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-liste.html	(revision 198)
@@ -0,0 +1,25 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_piecesjointes>
+<div id="galerieimg" class="listagebloc">
+<h2><:galerie_image:></h2>
+<ul class="listageconteneur">
+<BOUCLE_piecesjointes(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CORPS,0})]]
+[<h4 class="listagetitre">(#TITRE|sinon{<:pas_de_titre:>})</h4>]
+[<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+</li>
+</BOUCLE_piecesjointes>
+</ul></div></B_piecesjointes>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-popup.html	(revision 198)
@@ -0,0 +1,33 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article=#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique=#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc>
+<div id="galerieimg" class="listagebloc">
+<h2><:galerie_image:></h2>
+<script type="text/javascript">
+
+function ouvrirlepopup(id_doc, titre) 
+{
+
+  var left = (screen.width) ? (screen.width-700)/2 : 0;
+  var top = (screen.height) ? (screen.height-600)/2 : 0;
+  params = 'height='+600+',width='+700+',top='+top+',left='+left+',scrollbars=no,resizable=yes,menubar=no,toolbar=no,status=no';
+  window.open('#URL_SITE_SPIP/spip.php?page=popup-galerie-image&#GET{vers}&id_document='+id_doc, titre, params);
+}
+</script>
+<ul class="listageconteneur"><li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT" onclick="ouvrirlepopup('#ID_DOCUMENT','[(#TITRE|texte_script)]'); return false;" target="_blank" alt="[(#TITRE|texte_script)]" title="[(#TITRE|texte_script)][ - (#DESCRIPTIF|texte_script)]" class="popup">[(#INCLURE{fond=formatage_vignette}{id_document}{conteneur=#ENV{conteneur}})]</a>
+</BOUCLE_doc>
+</li></ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-simple.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-simple.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-image-simple.html	(revision 198)
@@ -0,0 +1,64 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+
+<B_doc>
+<div id="galerieimg" class="listagebloc">
+<h2><:galerie_image:></h2>
+<a name="galerie_image"></a>
+<script type="text/javascript">
+
+	$(document).ready(function(){
+		$("#image-grand-format").hide();
+   $(".image-galerie").each(function(){
+   	
+   	$(this).attr("href", "javascript:void(0);");
+   	$(this).click( function(){
+   		lien=$(this).attr("rel");
+   		titre=$(this).attr("title");
+   		descriptif=$(this).attr("longdesc");
+   		
+   		$("#image-grand-format > .listagetitre").empty().html(titre);
+   		$("#image-grand-format > .listagetexte").empty().html(descriptif);
+   		$("#image-grand-format > img").attr("src", lien);
+   		location.href = "#image-grand-format";
+   		if ($("#image-grand-format").css("display")=="none"){
+   			$("#image-grand-format").slideDown();
+   			}
+   		})
+   	});
+ });	
+	
+// function afficher_image(url) {
+//  location.href = "#image-grand-format";
+//}
+</script>
+<ul class="listageconteneur">
+<li id="image-grand-format">
+<BOUCLE_grand_format(DOCUMENTS){id_document=#ENV{document}}{extension==gif|png|jpg}{mode=document}>
+<img src="[(#FICHIER||image_reduire{[(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1)],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2)],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS)],''})],0}|extraire_attribut{src})]" target="_blank" alt="[(#TITRE|texte_script)]" title="[(#TITRE|texte_script)][ - (#DESCRIPTIF|texte_script)]" />
+<p class="listagetitre">[(#TITRE|supprimer_numero)]</p>
+<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>
+</BOUCLE_grand_format>
+<BOUCLE_premiere_image(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}{0,1}>
+<img src="[(#FICHIER||image_reduire{[(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1)],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2)],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS)],''})],0}|extraire_attribut{src})]" target="_blank"  alt="[(#TITRE|texte_script)]"  title="[(#TITRE|texte_script)][ - (#DESCRIPTIF|texte_script)]" />
+<p class="listagetitre">[(#TITRE|supprimer_numero)]</p>
+<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>
+</BOUCLE_premiere_image>
+<//B_grand_format>
+</li>
+<li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<a href="#SELF&document=#ID_DOCUMENT#galerie_image" 
+rel="[(#FICHIER||image_reduire{[(#ENV{conteneur}|=={1}|?{[(#LARGEUR_CONTEXTE1)],''})][(#ENV{conteneur}|=={2}|?{[(#LARGEUR_CONTEXTE2)],''})][(#ENV{conteneur}|=={3}|?{[(#LARGEUR_CORPS)],''})],0}|extraire_attribut{src})]" id="image-galerie-#ID_DOCUMENT" alt="[(#TITRE|texte_script)]" title="[(#TITRE|texte_script)]" longdesc="[(#DESCRIPTIF|texte_script)]" class="image-galerie">[(#INCLURE{fond=formatage_vignette}{id_document}{conteneur=#ENV{conteneur}})]</a>
+</BOUCLE_doc>
+</li></ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-swf.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-swf.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-swf.html	(revision 198)
@@ -0,0 +1,32 @@
+<B_lesfiles><div id="galerie-swf" class="listagebloc">
+<a name="Lecteur"></a>
+<h2><:galerie_swf:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{videovars}|trouveintheme{''})]";
+<BOUCLE_voissiplus(DOCUMENTS){id_article}{extension==swf}{1,1}>$listheight=(int) "[(#REM|sinon{videolistheight}|trouveintheme{'80'})]";</BOUCLE_voissiplus>
+
+if ( "#ENV{largeur}" == "320") {
+$largeur="320";
+$hauteur=240;
+} else if("#ENV{largeur}" == "totale_16"){
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=round(($largeur/16)*9);
+} else {
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=round(($largeur/4)*3);
+}
+
+?>
+<BOUCLE_lesfiles(DOCUMENTS){id_article}{mode=document}{extension==swf}{0,1}>
+<li id="video-viewer flv">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/mediaplayer.swf}" style="" id="rotator" name="rotator" quality="high" flashvars="file=spip.php%3Fpage%3Dxml_swf%26id_article%3D#ID_ARTICLE&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $listheight + 20; if ($parametre) { echo "&". $parametre; } ?>" 
+height="<?php echo $hauteur + $listheight + 20; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+</BOUCLE_lesfiles>
+</ul>
+</div>
+</B_lesfiles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-thickbox.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-thickbox.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-thickbox.html	(revision 198)
@@ -0,0 +1,33 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc>
+<div id="galerieimg" class="listagebloc">
+<h2><:galerie_image:></h2>
+<script type="text/javascript">
+var tb_pathToImage = "[(#CHEMIN{themes/#THEME/loadingAnimation.gif}|sinon{#CHEMIN{images/loadingAnimation.gif}})]";
+
+// les traductions ne fonctionnent plus avec la 3.1
+
+var traduc_next="<:suivante:>";
+var traduc_close="<:fermer:>";
+var traduc_esckey="<:ou_touche_ESC:>";
+var traduc_prec="<:precedente:>";
+var traduc_suiv="<:suivante:>";
+var traduc_image="<:image:>";
+var traduc_de="<:de:>";
+</script>
+<ul class="listageconteneur"><li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT" target="_blank" alt="[(#TITRE|supprimer_numero|texte_script)]" title="[(#TITRE|supprimer_numero|texte_script)][ - (#DESCRIPTIF|supprimer_numero|texte_script)]" class="thickbox" rel="images-galerie">[(#INCLURE{fond=formatage_vignette}{id_document}{conteneur=#ENV{conteneur}})]</a>
+</BOUCLE_doc>
+</li></ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-flash.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-flash.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-flash.html	(revision 198)
@@ -0,0 +1,44 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp4|flv}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article%3D#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp4|flv}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique%3D#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_lesfiles><div id="galerie-video" class="listagebloc">
+<a name="video"></a>
+<h2><:galerie_video:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{videovars}|trouveintheme{''})]";
+<BOUCLE_voissiplus(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}{1,1}>$listheight=(int) "[(#REM|sinon{videolistheight}|trouveintheme{'0'})]";</BOUCLE_voissiplus>
+
+if ( "#ENV{largeur}" == "320") {
+$largeur="320";
+$hauteur=240;
+} else if("#ENV{largeur}" == "totale_16"){
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=round(($largeur/16)*9);
+} else {
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=round(($largeur/4)*3);
+}
+
+?>
+<BOUCLE_lesfiles(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}{0,1}>
+<li id="video-viewer flv">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/flvplayer.swf}" style="" id="rotator" name="rotator" quality="high" flashvars="file=spip.php%3Fpage%3Dxml_videoflash%26#GET{vers}&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $listheight + 20; if ($parametre) { echo "&". $parametre; } ?>" 
+height="<?php echo $hauteur + $listheight + 20; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+</BOUCLE_lesfiles>
+</ul>
+</div>
+</B_lesfiles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-liste.html	(revision 198)
@@ -0,0 +1,46 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==avi|mpg|mov|flv|mp4|wmv}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==avi|mpg|mov|flv|mp4|wmv}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc><div id="galerie-video" class="listagebloc">
+<a name="video"></a>
+<h2><:galerie_video:></h2>
+<ul class="listageconteneur">
+<li id="video-viewer">
+<img src="#CHEMIN{dist/images/searching.gif}" style="display:none;" alt="<:chargement:>" title="<:chargement:>" id="chargement-video" />
+<BOUCLE_lecture_doc(DOCUMENTS){id_document=#ENV{document}}>
+<INCLURE{fond=embed_video}{id_document}>
+</BOUCLE_lecture_doc>
+</li>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+<a class="liens_videos listagelogo video #EDIT{logo}" rel="video#ID_DOCUMENT" href="#SELF&document=#ID_DOCUMENT#video">[(#INCLURE{fond=formatage_logo_liste_doc}{id_document}{conteneur=#ENV{conteneur}})]</a>
+<p class="listagetitre #EDIT{titre}"><a class="liens_videos" rel="video#ID_DOCUMENT" href="#SELF&document=#ID_DOCUMENT#video">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</a></p>
+[<p class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|ptobr)</p>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+<script type="text/javascript" language="javascript">
+jQuery(document).ready(function(){
+  jQuery(".liens_videos").click(function(event){
+    var id = jQuery(this).attr("rel");
+    var id_document = id.replace("video", "");
+    jQuery('#chargement-video').css({display: "block"});
+    jQuery.get('#URL_SITE_SPIP', {page: "embed_video", mode:"ajax", id_document:id_document,largeur:[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]}, function(reponse){
+      jQuery('#chargement-video').css({display: "none"});
+      jQuery("#video-viewer").empty().html(reponse);
+    });
+    return false;
+  });
+});
+
+</script>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal-video-popup.html	(revision 198)
@@ -0,0 +1,39 @@
+#CACHE{24*3600}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article=#ENV{id_article}}{extension==avi|mpg|mov|flv|mp4|wmv}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article%3D#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==avi|mpg|mov|flv|mp4|wmv}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique%3D#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc><div id="galerie-video" class="listagebloc">
+<h2><:galerie_video:></h2>
+<ul class="listageconteneur">
+<script type="text/javascript">
+function ouvrirPopupvideo(vers, id_doc,titre) 
+{
+  left = (screen.width) ? (screen.width-400)/2 : 0;
+  top = (screen.height) ? (screen.height-300)/2 : 0;
+  params = 'height='+500+',width='+400+',top='+top+',left='+left+',scrollbars=no,resizable=yes,menubar=no,toolbar=no,status=no';
+  video=window.open('#URL_SITE_SPIP/spip.php?page=popup-galerie-video&' + vers + '&id_document='+id_doc, titre, params);
+}
+</script>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+
+<div class="listagelogo #EDIT{logo}">
+<a href="javascript:ouvrirPopupvideo('#GET{vers}','#ID_DOCUMENT','popup video');" >[(#INCLURE{fond=formatage_logo_liste_doc}{id_document}{conteneur=#ENV{conteneur}})]</a></div>
+<div class="listagetitre #EDIT{titre}">
+<a class="liens_videos" href="javascript:ouvrirPopupvideo('#GET{vers}','#ID_DOCUMENT','popup video');">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</a></div>
+[<div class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|ptobr)</div>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+
+</li>
+</BOUCLE_doc>
+</ul>
+</div></B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal_flv_liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal_flv_liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/incgal_flv_liste.html	(revision 198)
@@ -0,0 +1,36 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==flv|mp4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==flv|mp4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<B_doc><div id="galerie-video" class="listagebloc">
+<a name="video"></a>
+<h2><:galerie_video:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{videovars}|trouveintheme{''})]";
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$largeur=$largeur/2.5;
+$hauteur=round(($largeur/4)*3);
+$listheight=0;
+?>
+<BOUCLE_doc(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li>
+<embed class="listagelogo video"
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/flvplayer.swf}" name="flv#ID_DOCUMENT" quality="high" flashvars="file=#URL_SITE_SPIP/#URL_DOCUMENT&image=#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{"src"})]&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $listheight + 20; if ($parametre) { echo "&". $parametre; } ?>" 
+height="<?php echo $hauteur + $listheight + 20; ?>" 
+width="<?php echo $largeur; ?>">
+<p class="listagetitre">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</p>
+[<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/pieces_jointes.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/pieces_jointes.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/pieces_jointes.html	(revision 198)
@@ -0,0 +1,24 @@
+#SET{laliste,#ENV{parametre}|tableau2array{"|"}}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension !IN #GET{laliste}}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension !IN #GET{laliste}}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+
+<B_piecesjointes><div id="piecesjointes" class="listagebloc">
+<h2><:piecesjointes:></h2>
+<ul class="listageconteneur">
+<BOUCLE_piecesjointes(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre}>
+<li>
+[<a href="#URL_DOCUMENT" target="_blank" class="listagelogo #EDIT{logo}">(#INCLURE{fond=formatage_logo_doc}{id_document}{conteneur=#ENV{conteneur}})</a>]
+[<h4 class="listagetitre #EDIT{titre}"><a href="#URL_DOCUMENT" target="_blank">(#TITRE|supprimer_numero|sinon{<:sans_titre:>})</a></h4>]
+[<p class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|ptobr)</p>]
+<div class="listageinfo">#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)]</div>
+</li>
+</BOUCLE_piecesjointes>
+</ul></div></B_piecesjointes>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-audio-flash-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-audio-flash-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-audio-flash-popup.html	(revision 198)
@@ -0,0 +1,65 @@
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP <:lecteur_standalone:> <BOUCLE_titre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_titre></title>
+<link href='#CHEMIN{themes/#THEME/addfiles/lecteur-standalone.css}' rel='stylesheet' type='text/css' />
+</head>
+<body id="lecteur-audio-standalone">
+<script src="#CHEMIN{javascript/ufo.js}" type="text/javascript"></script>
+<B_galerieaudio>
+<div id="audio standalone">
+<h2><:lecteur_standalone:> <BOUCLE_titre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_titre></h2>
+
+<script src="#CHEMIN{javascript/ufo.js}" type="text/javascript"></script>
+
+
+<!-- Construction du fichier xml contenant liste des mp3 associÂs Â
+ l'article -->
+<?php $chemin1 = "#CHEMIN{playlist.xml}";
+$fp = fopen ($chemin1, "w+");
+$fp2="<playlist version=\"1\" xmlns=\"http://xspf.org/ns/0/\">\n<trackList>\n"; ?>
+
+<BOUCLE_galerieaudio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}{doublons}>
+<?php 
+$urlDocPlayer='[#URL_SITE_SPIP/(#URL_DOCUMENT|texte_script)]';
+$titreDocPlayer='[(#TITRE|supprimer_numero|no_accent|texte_script)]';
+$DescriptifDocPlayer='[(#DESCRIPTIF|no_accent|texte_script)]';
+$ImageDescriptif='[IMG/(#LOGO_DOCUMENT|fichier)]';
+
+$fp2.=" <track>\n";
+$fp2.=" <title>$titreDocPlayer</title>\n";
+$fp2.=" <creator>$DescriptifDocPlayer</creator>\n";
+$fp2.=" <image>$ImageDescriptif</image>\n";
+$fp2.=" <location>$urlDocPlayer</location> </track>\n";
+?>
+</BOUCLE_galerieaudio>
+<?php 
+$fp2.="</trackList>\n</playlist>";
+$fp3 = fwrite ($fp, $fp2);
+$p3 = fclose ($fp); 
+
+?>
+<!-- Fin construction xml liste mp3 -->
+<p id="player-standalone"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</p>
+
+<script type="text/javascript">
+var FU = { 	movie:"#CHEMIN{mp3player.swf}",width:"[(#LARGEUR_CORPS)]",height:"200",majorversion:"7",build:"0",bgcolor:"#333",flashvars:"file=#CHEMIN{playlist.xml}&#MP3_AUDIOVARS" };
+	UFO.create(	FU, "player-standalone");
+	
+	
+	
+</script>
+</li>
+
+<BOUCLE_parametres_telechargement_audio(SPIP_ARTY_PARAMETRES){parametre=liens_telecharger_audio}{valeur=true}>
+<li>
+<p><:avis_telechargement_audio:></p>
+<BOUCLE_liste_doc_audio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT">[(#FICHIER|nomfichier)]</a> ([(#TAILLE|taille_en_octets)]) <br />
+</BOUCLE_liste_doc_audio>
+</BOUCLE_parametres_telechargement_audio>
+
+</BOUCLE_galerieaudio>
+</div></B_galerieaudio></body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-audio.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-audio.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-audio.html	(revision 198)
@@ -0,0 +1,50 @@
+<!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=utf-8"/>
+<title><BOUCLE_letitre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_letitre></title>
+#INSERT_HEAD
+</head>
+<body style="text-align:center;">
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp3}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_article%3D#ID_ARTICLE}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp3}{0,2}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+#SET{vers,id_rubrique%3D#ID_RUBRIQUE}
+</BOUCLE_docrub>
+<//B_recup>
+<B_lesfiles><div id="galerie-audio" class="listagebloc">
+<a name="audio"></a>
+<h2><:galerie_audio:></h2>
+<ul class="listageconteneur">
+<?php
+$parametre="[(#REM|sinon{audiovars}|trouveintheme{''})]";
+<BOUCLE_voissiplus(DOCUMENTS){id_document IN #GET{critere_in}}{1,1}>$listheight=(int) "[(#REM|sinon{audiolistheight}|trouveintheme{'100'})]";</BOUCLE_voissiplus>
+$largeur=360;
+$hauteur=160;
+?>
+<BOUCLE_lesfiles(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}{0,1}>
+<li id="audio-viewer">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/mediaplayer.swf}" style="" id="mp3player" name="rmp3player" quality="high" 
+flashvars="file=spip.php%3Fpage%3Dxml_audioflash%26#GET{vers}&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + $listheight + 20; if ($parametre) { echo "&". $parametre; } ?>"
+height="<?php echo $hauteur + $listheight + 20; ?>" 
+width="<?php echo $largeur; ?>">
+</li>
+</BOUCLE_lesfiles>
+ 
+</ul>
+</div>
+</B_lesfiles>
+</body>
+</html>
+
+
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-image.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-image.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-image.html	(revision 198)
@@ -0,0 +1,134 @@
+#CACHE{24*3600}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_recup(ARTICLES){id_article}>
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+</BOUCLE_recup>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==gif|png|jpg}{mode=document}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+<//B_recup>
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+#INSERT_HEAD
+<INCLURE{fond=metas}{id_article?}{id_rubrique?}>
+<link href='[(#CHEMIN{themes/#THEME/addfiles/popup-images.css}|sinon{#CHEMIN{css/popup-images.css}})]' rel='stylesheet' type='text/css' media='screen' />
+#SET{actuelle,#ENV{id_document}}
+<!-- document actuel = #GET{actuelle} -->
+<script type="text/javascript">
+
+jQuery(document).ready(function(){
+	$("#vignettes li a").not("#start").not("#end").removeAttr("href")
+	$("#vignettes li").not("#start").not("#end").click(function(){
+		
+		$("#vignettes li").not("#start").not("#end").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+	});
+		updatevignette();
+	
+	$("#start").click(function(){
+		$("#vignettes .actuelle").prev("li").not("#start").each(function(){
+		$("#vignettes .actuelle").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+		});
+	});
+	
+	$("#end").click(function(){
+		$("#vignettes .actuelle").next("li").not("#end").each(function(){
+		$("#vignettes .actuelle").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+		});
+	});
+	
+});
+
+function updatevignette() {
+	$("#vignettes li").not("#start").not("#end").css("display","none");
+	$("#vignettes .actuelle").css("display","inline");
+	var actuelle=parseInt($("#vignettes .actuelle").attr("rel"));
+	var total=$("#vignettes li").length - 2;
+	var first=actuelle-2;
+	var last=actuelle+2;
+	if (first <=0) { 
+		last=last +1 +Math.abs(first);
+	}
+	
+	if(last > total) {
+		first=first -Math.abs(last-total);
+	}
+	
+	if (first<=1) { first=1; }
+	if (last > total) { last=total; } 
+	
+	for (i=first; i<=last; i++) {
+	$("#vignettes li").eq(i).css("display","inline");
+	}
+	
+	var neosrc=$("#vignettes .actuelle").find("a").attr("rel");
+		var titre=$("#vignettes .actuelle").find("a").attr("alt");
+		var descriptif=$("#vignettes .actuelle").find("a").attr("longdesc");
+		
+		$("#grand-format #image").html("").html(neosrc);
+		$("#grand-format #titre").html("").html(titre);
+		$("#grand-format #descriptif").html("").html(descriptif);
+		var hauteurimage=$("#grand-format").height();
+		var hauteurvignettes=$("#vignettes").height();
+		var hauteurpage=$("html").height();
+		
+		myHeight = 0;
+  		if( typeof( window.innerWidth ) == 'number' ) {
+    		//Non-IE
+    		myHeight = window.innerHeight;
+  		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
+    		//IE 6+ in 'standards compliant mode'
+    		myHeight = document.documentElement.clientHeight;
+  		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
+   		 //IE 4 compatible
+    		myHeight = document.body.clientHeight;
+  		}
+		
+		var espace=(myHeight-(hauteurimage + hauteurvignettes))/2;
+		$("#grand-format #image").css("margin-top",Math.abs(espace)+"px");
+	}
+
+function changerImage(id) 
+{
+  
+  
+}
+</script>
+</head>
+<body id="popup-image">
+<div id="general-popup">
+<BOUCLE_document(DOCUMENTS){id_document}>
+<ul id="grand-format">
+<li id="image">
+[(#FICHIER|image_reduire{600, 450})]
+</li>
+<li id="titre" class="listagetitre">[(#TITRE|supprimer_numero)]</li>
+<li id="descriptif" class="listagetexte">[(#DESCRIPTIF|ptobr)]</li>
+</ul>
+</BOUCLE_document>
+
+<B_documents>
+<ul id="vignettes">
+<li id="start">[<img src="(#CHEMIN{themes/#THEME/addfiles/prevslide.jpg}|sinon{#CHEMIN{images/prevslide.jpg}})" />]</li>
+<BOUCLE_documents(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li rel="#COMPTEUR_BOUCLE" style="display:none;" [(#ENV{id_document}|=={#ID_DOCUMENT}|?{' ',''})class="actuelle"]>
+  <a href="#URL_SITE_SPIP/#URL_DOCUMENT" rel="[(#FICHIER|image_reduire{600, 450})]" alt="[(#TITRE|texte_script)]" longdesc="[(#DESCRIPTIF|texte_script)]">[(#INCLURE{fond=formatage_vignette}{id_document}{conteneur=2})]</a>
+</li>
+</BOUCLE_documents>
+<li id="end">[<img src="(#CHEMIN{themes/#THEME/addfiles/nextslide.jpg}|sinon{#CHEMIN{images/nextslide.jpg}})" />]</li>
+</ul>
+</B_documents>
+
+</div>
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-video.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-video.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-galerie-video.html	(revision 198)
@@ -0,0 +1,127 @@
+#CACHE{24*3600}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_docart(DOCUMENTS){id_article=#ENV{id_article}}{extension==avi|mpg|mov|flv|mp4|wmv}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==avi|mpg|mov|flv|mp4|wmv}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+#INSERT_HEAD
+<INCLURE{fond=metas}{id_article?}{id_rubrique?}>
+<link href='[(#CHEMIN{themes/#THEME/addfiles/popup-images.css}|sinon{#CHEMIN{css/popup-images.css}})]' rel='stylesheet' type='text/css' media='screen' />
+#SET{actuelle,#ENV{id_document}}
+<!-- document actuel = #GET{actuelle} -->
+<script type="text/javascript">
+
+jQuery(document).ready(function(){
+	$("#vignettes li a").not("#start").not("#end").removeAttr("href")
+	$("#vignettes li").not("#start").not("#end").click(function(){
+		$("#vignettes li").not("#start").not("#end").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+	});
+		updatevignette();
+	
+	$("#start").click(function(){
+		$("#vignettes .actuelle").prev("li").not("#start").each(function(){
+		$("#vignettes .actuelle").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+		});
+	});
+	
+	$("#end").click(function(){
+		$("#vignettes .actuelle").next("li").not("#end").each(function(){
+		$("#vignettes .actuelle").removeClass("actuelle");
+		$(this).addClass("actuelle");
+		updatevignette();
+		});
+	});
+	
+});
+
+function updatevignette() {
+	$("#vignettes li").not("#start").not("#end").css("display","none");
+	$("#vignettes .actuelle").css("display","inline");
+	actuelle=parseInt($("#vignettes .actuelle").attr("rel"));
+	total=$("#vignettes li").length - 2;
+	first=actuelle-2;
+	last=actuelle+2;
+	if (first <=0) { 
+		last=last +1 +Math.abs(first);
+	}
+	
+	if(last > total) {
+		first=first -Math.abs(last-total);
+	}
+	
+	if (first<=1) { first=1; }
+	if (last > total) { last=total; } 
+	
+	//alert ("actuelle " + actuelle + " et first " + first + " et last " + last + " et total " + total);
+	for (i=first; i<=last; i++) {
+	$("#vignettes li").eq(i).css("display","inline");
+	}
+	
+	neosrc=$("#vignettes .actuelle").find("a").attr("rel");
+		titre=$("#vignettes .actuelle").find("a").attr("alt");
+		descriptif=$("#vignettes .actuelle").find("a").attr("longdesc");
+		
+		$.ajax({
+   type: "GET",
+   url: "spip.php",
+   data: "page=embed_video&" + neosrc,
+   success: function(msg){
+     $("#grand-format #image").html("").html(msg);
+   }
+ });
+		
+		$("#grand-format #titre").html("").html(titre);
+		$("#grand-format #descriptif").html("").html(descriptif);
+				
+		//espace=(myHeight-(hauteurimage + hauteurvignettes))/2;
+		
+		//$("#grand-format #image").css("margin-top",Math.abs(espace)+"px");
+		window.setTimeout("resizemoi()",500);
+	}
+
+function resizemoi() {
+  
+  hauteurimage=$("#grand-format").height();
+		hauteurvignettes=$("#vignettes").height();
+		hauteurpage=$("html").height();
+  		window.resizeTo($("#grand-format object").width() + 40,hauteurimage + hauteurvignettes + 40);
+
+}
+</script>
+</head>
+<body id="popup-image">
+<div id="general-popup">
+<ul id="grand-format">
+<li id="image">
+</li>
+<li id="titre" class="listagetitre"></li>
+<li id="descriptif" class="listagetexte"></li>
+</ul>
+
+<B_documents>
+<ul id="vignettes">
+<li id="start">[<img src="(#CHEMIN{themes/#THEME/addfiles/prevslide.jpg}|sinon{#CHEMIN{images/prevslide.jpg}})" />]</li>
+<BOUCLE_documents(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+<li rel="#COMPTEUR_BOUCLE" style="display:none;" [(#ENV{id_document}|=={#ID_DOCUMENT}|?{' ',''})class="actuelle"]>
+  <a href="#URL_SITE_SPIP/#URL_DOCUMENT" rel="id_document=#ID_DOCUMENT&largeur=[(#LARGEUR|sinon{320})]" alt="[(#TITRE|texte_script)]" longdesc="[(#DESCRIPTIF|texte_script)]">[(#INCLURE{fond=formatage_logo_liste_doc}{id_document}{conteneur=2})]</a>
+</li>
+</BOUCLE_documents>
+<li id="end">[<img src="(#CHEMIN{themes/#THEME/addfiles/nextslide.jpg}|sinon{#CHEMIN{images/nextslide.jpg}})" />]</li>
+</ul>
+</B_documents>
+
+</div>
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-webmaton.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-webmaton.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/popup-webmaton.html	(revision 198)
@@ -0,0 +1,35 @@
+<!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=utf-8"/>
+<title><BOUCLE_letitre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_letitre></title>
+#INSERT_HEAD
+</head>
+<body style="text-align:center;">
+<BOUCLE_lecture_doc(DOCUMENTS){id_document}>
+<div id="centrer" style="margin: auto; padding-top: <?php echo abs(470-[(#HAUTEUR)])/2; ?>px;">
+[(#EMBED_DOCUMENT)]
+</div>
+</BOUCLE_lecture_doc>
+
+<script type="text/javascript">
+tx = $("embed").attr("width");
+ty = $("embed").attr("height");
+if (tx=="0") {
+$("embed").attr("width","320px")
+$("object").attr("width","320px");
+}
+if (ty=="0") {
+$("embed").attr("height","256px")
+$("object").attr("height","256px");
+$("#centrer").css("padding-top","95px");
+}
+
+</script>
+
+</body>
+</html>
+
+
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/slideshow_xml.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/slideshow_xml.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/slideshow_xml.html	(revision 198)
@@ -0,0 +1,20 @@
+#HTTP_HEADER{Content-Type: text/xml}<slideshow>
+#SET{laliste,#ARRAY{0,0}}
+[(#ENV{image1}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{1,#ENV{image1}}}},''})]
+[(#ENV{image2}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{2,#ENV{image2}}}},''})]
+[(#ENV{image3}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{3,#ENV{image3}}}},''})]
+[(#ENV{image4}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{4,#ENV{image4}}}},''})]
+[(#ENV{image5}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{5,#ENV{image5}}}},''})]
+[(#ENV{image6}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{6,#ENV{image6}}}},''})]
+[(#ENV{image7}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{7,#ENV{image7}}}},''})]
+[(#ENV{image8}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{8,#ENV{image8}}}},''})]
+[(#ENV{image9}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{9,#ENV{image9}}}},''})]
+[(#ENV{image10}|?{#SET{laliste,#GET{laliste}|array_merge{#ARRAY{10,#ENV{image10}}}},''})]
+<BOUCLE_galerieima(DOCUMENTS){id_document IN #GET{laliste}}>
+<slide>
+      <image url='#URL_SITE_SPIP/#URL_DOCUMENT' duration='[(#ENV{duree}|sinon{5})]' fill='trim' background_alpha="0" background='[(#ENV{couleurfond}|sinon{ffffff})]' />
+      <transition type="[(#ENV{transition}|sinon{dissolve})]" duration="1" />
+</slide>
+</BOUCLE_galerieima>
+<control bar_visible='[(#ENV{boutons}|sinon{auto})]' />
+</slideshow>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash.html	(revision 198)
@@ -0,0 +1,22 @@
+#HTTP_HEADER{Content-Type: text/xml}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==mp3}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==mp3}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+
+<B_galerieaudio><playlist version="1" xmlns="http://xspf.org/ns/0/">
+	<trackList><BOUCLE_galerieaudio(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+	<track>
+	<title>[(#DESCRIPTIF|texte_backend|sinon{<:pas_de_descriptif:>})]</title>
+	<creator>[(#TITRE|supprimer_numero|texte_backend|sinon{<:sans_titre:>})]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[#URL_SITE_SPIP/(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+
+</BOUCLE_galerieaudio></trackList>
+</playlist>
+</B_galerieaudio>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash_hasard_branche.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash_hasard_branche.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_audioflash_hasard_branche.html	(revision 198)
@@ -0,0 +1,57 @@
+#CACHE{0}#HTTP_HEADER{Content-Type: text/xml}
+
+#SET{laliste,#ARRAY{0,0}}
+<BOUCLE_rotatorrub(RUBRIQUES){id_rubrique=#ENV{id_rubrique}}>
+<!-- liste de tous les mp3 de la rub #ID_RUBRIQUE : #TITRE -->
+	<BOUCLE_galerieaudiorub(DOCUMENTS){id_rubrique}{mode=document}{extension==mp3}{par num titre}{par titre}{doublons}>
+	#SET{laliste,#GET{laliste}|array_merge{#ARRAY{#ID_DOCUMENT,#ID_DOCUMENT}}}
+	</BOUCLE_galerieaudiorub>
+	<BOUCLE_listesousrubs(RUBRIQUES){branche}>
+	<BOUCLE_galerieaudiosousrub(DOCUMENTS){id_rubrique}{mode=document}{extension==mp3}{par num titre}{par titre}{doublons}>
+	#SET{laliste,#GET{laliste}|array_merge{#ARRAY{#ID_DOCUMENT,#ID_DOCUMENT}}}
+	</BOUCLE_galerieaudiosousrub>
+	</BOUCLE_listesousrubs>
+	
+	<BOUCLE_galerieart(ARTICLES){branche}>
+	<BOUCLE_galerieaudioart(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}{doublons}>
+	#SET{laliste,#GET{laliste}|array_merge{#ARRAY{#ID_DOCUMENT,#ID_DOCUMENT}}}
+	</BOUCLE_galerieaudioart>
+	</BOUCLE_galerieart>
+	
+</BOUCLE_rotatorrub>
+
+<playlist version="1" xmlns="http://xspf.org/ns/0/" param="#ENV{parametre}">
+	<trackList>
+	<BOUCLE_listemes(DOCUMENTS){mode=document}{id_document IN #GET{laliste}}{extension==mp3}{par hasard}{0,#ENV{parametre}|sinon{5}}>
+	<track>
+	<title>[(#DESCRIPTIF)]</title>
+	<creator>[(#TITRE|supprimer_numero)]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+	</BOUCLE_listemes>
+
+<!-- rien dans la liste classique, cherche dans tous le site -->
+<BOUCLE_galerieaudioall(DOCUMENTS){mode=document}{extension==mp3}{par hasard}{0,#ENV{parametre}|sinon{5}}>
+	<track>
+	<title>[(#DESCRIPTIF)]</title>
+	<creator>[(#TITRE|supprimer_numero)]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+</BOUCLE_galerieaudioall>
+<!-- rien n'y fait, trouve rien -->
+	<track>
+	<title><:liste_vide:></title>
+	<creator><:rien:></creator>
+	<image></image>
+	<location></location>
+	<identifier>0</identifier>
+	</track>
+	<//B_galerieaudioall>
+<//B_listemes>
+
+	</trackList>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama.html	(revision 198)
@@ -0,0 +1,16 @@
+#HTTP_HEADER{content-type:text/xml;charset=utf-8}
+<playlist xmlns="http://xspf.org/ns/0/" version="1">
+#SET{laliste,#ENV{images}|tableau2array{","}}
+	<trackList>
+	<BOUCLE_galerieima(DOCUMENTS){id_document IN #GET{laliste}}>
+		<track>
+			<title>[(#TITRE|supprimer_numero)]</title>
+		<BOUCLE_infos(ARTICLES){id_document}>
+			<creator><BOUCLE_aut(AUTEURS){id_article}{","}>#NOM</BOUCLE_aut></creator>
+			<info>#URL_ARTICLE</info>
+		</BOUCLE_infos>
+			<location>#URL_SITE_SPIP/#URL_DOCUMENT</location>
+		</track>
+	</BOUCLE_galerieima>
+	</trackList>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama_article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama_article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_diaporama_article.html	(revision 198)
@@ -0,0 +1,15 @@
+#HTTP_HEADER{content-type:text/xml;charset=utf-8}
+<playlist xmlns="http://xspf.org/ns/0/" version="1">
+	<trackList>
+	<BOUCLE_galerieima(DOCUMENTS){id_article}{mode=image}>
+		<track>
+			<title>[(#TITRE|supprimer_numero)]</title>
+		<BOUCLE_infos(ARTICLES){id_document}>
+			<creator><BOUCLE_aut(AUTEURS){id_article}{","}>#NOM</BOUCLE_aut></creator>
+			<info>#URL_ARTICLE</info>
+		</BOUCLE_infos>
+			<location>#URL_SITE_SPIP/#URL_DOCUMENT</location>
+		</track>
+	</BOUCLE_galerieima>
+	</trackList>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_swf.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_swf.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_swf.html	(revision 198)
@@ -0,0 +1,33 @@
+#HTTP_HEADER{Content-Type: text/xml}<BOUCLE_rotator(ARTICLES){id_article}><B_galerieaudio><playlist version="1" xmlns="http://xspf.org/ns/0/">
+	<trackList>
+<BOUCLE_galerieaudio(DOCUMENTS){id_article}{mode=document}{extension==swf}{par num titre}{par titre}{doublons}>
+	<track>
+	<title>[(#DESCRIPTIF|no_accent|texte_script|sinon{<:pas_de_descriptif:>})]</title>
+	<creator>[(#TITRE|supprimer_numero|texte_backend|sinon{<:sans_titre:>})]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[#URL_SITE_SPIP/(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+
+</BOUCLE_galerieaudio>
+	</trackList>
+</playlist>
+</B_galerieaudio>
+</BOUCLE_rotator>
+<BOUCLE_flvrub(RUBRIQUES){id_rubrique}><B_galerieaudiorub><playlist version="1" xmlns="http://xspf.org/ns/0/">
+	<trackList>
+<BOUCLE_galerieaudiorub(DOCUMENTS){id_rubrique}{mode=document}{extension==swf}{par num titre}{par titre}{doublons}>
+	<track>
+	<title>[(#DESCRIPTIF|no_accent|texte_script|sinon{<:pas_de_descriptif:>})]</title>
+	<creator>[(#TITRE|supprimer_numero|texte_backend|sinon{<:sans_titre:>})]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[#URL_SITE_SPIP/(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+
+</BOUCLE_galerieaudiorub>
+	</trackList>
+</playlist>
+
+</B_galerieaudiorub>
+</BOUCLE_flvrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_videoflash.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_videoflash.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/galeries/xml_videoflash.html	(revision 198)
@@ -0,0 +1,23 @@
+#HTTP_HEADER{Content-Type: text/xml}
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_docart(DOCUMENTS){id_article}{extension==flv|mp4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docart>
+<BOUCLE_docrub(DOCUMENTS){id_rubrique}{extension==flv|mp4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_docrub>
+
+<B_galerieaudio><playlist version="1" xmlns="http://xspf.org/ns/0/">
+	<trackList>
+<BOUCLE_galerieaudio(DOCUMENTS){id_document IN #GET{critere_in}}{par num titre,id_document}>
+	<track>
+	<title>[(#DESCRIPTIF|no_accent|texte_script|sinon{<:pas_de_descriptif:>})]</title>
+	<creator>[(#TITRE|supprimer_numero|texte_backend|sinon{<:sans_titre:>})]</creator>
+	<image>#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{src})]</image>
+	<location>[#URL_SITE_SPIP/(#URL_DOCUMENT)]</location>
+	<identifier>#ID_DOCUMENT</identifier>
+	</track>
+</BOUCLE_galerieaudio>
+	</trackList>
+</playlist>
+</B_galerieaudio>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/ghost.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/ghost.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/ghost.html	(revision 198)
@@ -0,0 +1,84 @@
+<BOUCLE_ghost(ARTICLES){id_article}>
+<div id="header" class="header-forum">
+<div class="logo"><?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}}|abs_url)]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}}|abs_url)]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}}|abs_url)]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?></div>
+<div class="texteheader">
+[<p class="sursoustitre surtitre">(#SURTITRE)</p>]
+[<h1>(#TITRE|supprimer_numero)</h1>]
+[<p class="sursoustitre soustitre">(#SOUSTITRE)</p>]
+
+</div>
+<p class="clearer_header"></p>
+</div>
+
+<div id="texteconteneur">
+[<div class="chapeau">(#CHAPO)</div>]
+<div class="texte">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+[<p class="listagesite"><strong><:voir_en_ligne:></strong> <a href="#URL_SITE" target="_blank">(#NOM_SITE)</a></p>]
+[<div class="ps"><strong><:ps:>:</strong> (#PS)</div>]
+[<div class="ps notes"><strong><:notes:>:</strong> (#NOTES)</div>]
+[<p class="listagerepondre"><a id="lien_forum" href="#URL_SITE_SPIP/spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_article:></a></p>]
+
+</div>
+
+<!-- forum -->
+<B_forums><div id="salons_forum" class="listagebloc">
+<h2>Le dÃ©bat</h2>
+<ul class="listageconteneur">
+
+<li class="resume"><strong>Ouvert </strong>depuis le [(#DATE|affdate_jourcourt)], [modÃ©rÃ© par (#LESAUTEURS|{", "}), ]
+<BOUCLE_nbrrep2(FORUMS){id_article}{plat}></BOUCLE_nbrrep2>
+[contient </strong>(#TOTAL_BOUCLE) intervention(s)]<//B_nbrrep2><br />
+<BOUCLE_lastinter(FORUMS){id_article}{plat}{par date}{inverse}{0,1}><strong>Derniere intervention :</strong> <a href="##ID_FORUM">le [(#DATE|affdate)] Ã  [(#DATE|heures)]h[(#DATE|minutes)] [par (#AUTEUR)]</a></BOUCLE_lastinter>
+</li>
+<BOUCLE_forums(FORUMS){id_article}{par date}>
+<li><a name="#ID_FORUM"></a>
+<h4 class="listagetitre">[(#TITRE|supprimer_numero)]</h4>
+<div class="listageinfo">[Par <a href="mailto:#EMAIL">(#NOM)</a> ]le [(#DATE|affdate)] Ã  [(#DATE|heures)]h[(#DATE|minutes)]</div>
+[<p class="listagetexte">(#TEXTE|ptobr)</p>]
+[<div class="listagesite"><:voir_en_ligne:> : <a href="(#URL_SITE)" target="_blank"> [(#NOM_SITE|sinon{#URL_SITE})]</a></div>]
+[<div class="listagerepondre"><a href="forum.php3?(#PARAMETRES_FORUM)">Ajouter <br />votre opinion</a></div>]
+
+<B_forums_fils>
+<ul>
+	<BOUCLE_forums_fils(FORUMS){id_parent}{par date}>
+	<li><a name="#ID_FORUM"></a>
+	<h4 class="listagetitre">[(#TITRE|supprimer_numero)]</h4>
+	<div class="listageinfo">[Par <a href="mailto:#EMAIL">(#NOM)</a> ]le [(#DATE|affdate)] Ã  [(#DATE|heures)]h[(#DATE|minutes)]</div>
+	[<p class="listagetexte">(#TEXTE|ptobr)</p>]
+	[<div class="listagesite"><:voir_en_ligne:> : <a href="#URL_SITE_SPIP/forum.php3?(#PARAMETRES_FORUM)" target="_blank"> [(#NOM_SITE|sinon{#URL_SITE})]</a></div>]
+	<BOUCLE_recurs(boucle_forums_fils)></BOUCLE_recurs>
+</li>
+	</BOUCLE_forums_fils>
+</ul>	
+</B_forums_fils>
+</li>
+</BOUCLE_forums></ul></div></B_forums>
+
+</div>
+<!-- fin du bloc corps -->
+</BOUCLE_ghost>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-autres-groupes.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-autres-groupes.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-autres-groupes.html	(revision 198)
@@ -0,0 +1,11 @@
+<BOUCLE_cegroupe(GROUPES_MOTS){id_groupe}><B_groupe><div id="derniers-forums" class="listagebloc">
+<h2><:autre_groupe_mots:></h2>
+<ul class="listageconteneur">
+<BOUCLE_groupe(GROUPES_MOTS){par num titre}{par titre}{exclus}>
+<li>
+<h4 class="listagetitre"><a href="spip.php?page=groupe&amp;id_groupe=#ID_GROUPE">#TITRE</a></h4>
+<p class="listagetexte">[(#TEXTE|couper{120})]</p>
+</li>
+</BOUCLE_groupe>
+</ul>
+</div></B_groupe></BOUCLE_cegroupe>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-dernieres-entrees.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-dernieres-entrees.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-dernieres-entrees.html	(revision 198)
@@ -0,0 +1,13 @@
+<div id="liste-articles-mot" class="listagebloc">
+<h2><:derniere_entree_groupe:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listemot(MOTS){id_groupe}{par num titre}{par titre}>
+<BOUCLE_lastforums(ARTICLES){id_mot}{par num titre}{par titre}{0,1}>
+<li>
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<div class="listageinfo">[(#DATE|affdate)][, <:par_auteur:> <a href="mailto:#EMAIL">(#NOM)</a>]</div>
+<p class="listagetexte">[(#TEXTE|couper{120})]</p>
+</li>
+</BOUCLE_lastforums></BOUCLE_listemot>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-head.html	(revision 198)
@@ -0,0 +1,9 @@
+<BOUCLE_texte_groupe(GROUPES_MOTS){id_groupe}>
+<div id="header">
+[(#INCLURE{fond=formatage_groupemots}{id_groupe}{conteneur=#ENV{conteneur}})]
+<div class="texteheader">
+[<h1>(#TITRE|supprimer_numero)</h1>]
+</div>
+<div class="clearer_header"></div>
+</div>
+</BOUCLE_texte_groupe>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-liste-mots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-liste-mots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-liste-mots.html	(revision 198)
@@ -0,0 +1,32 @@
+<div id="liste-mots" class="listagebloc">
+<h2><:liste_mots:></h2>
+<ul class="listageconteneur">
+<BOUCLE_lastforums(MOTS){id_groupe}{par num titre}{par titre}>
+<li>
+[(#LOGO_MOT|!={}|?{' ',''})[(#INCLURE{fond=formatage_logo_liste}{id_mot}{conteneur=#ENV{conteneur}})]]
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte">[(#TEXTE)]</p>
+<p class="listageinfo">
+<BOUCLE_countrub(RUBRIQUES){id_mot}></BOUCLE_countrub>
+[(#TOTAL_BOUCLE|>{0}|?{" ",""})
+#TOTAL_BOUCLE 
+[(#TOTAL_BOUCLE|=={1}|?{" ",""})<:rubrique:>]
+[(#TOTAL_BOUCLE|>{1}|?{" ",""})<:rubriques:>]
+<br />]<//B_countrub>
+<BOUCLE_countart(ARTICLES){id_mot}></BOUCLE_countart>
+[(#TOTAL_BOUCLE|>{0}|?{" ",""})
+#TOTAL_BOUCLE 
+[(#TOTAL_BOUCLE|=={1}|?{" ",""})<:article:>]
+[(#TOTAL_BOUCLE|>{1}|?{" ",""})<:articles:>]
+<br />]<//B_countart>
+<BOUCLE_countlink(SITES){id_mot}></BOUCLE_countlink>
+[(#TOTAL_BOUCLE|>{0}|?{" ",""})
+#TOTAL_BOUCLE 
+[(#TOTAL_BOUCLE|=={1}|?{" ",""})<:site:>]
+[(#TOTAL_BOUCLE|>{1}|?{" ",""})<:sites:>]
+<br />]<//B_countlink>
+</p>
+</li>
+</BOUCLE_lastforums>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/groupe-texte.html	(revision 198)
@@ -0,0 +1,5 @@
+<BOUCLE_texte_groupe(GROUPES_MOTS){id_groupe}>
+<div id="texteconteneur">
+<div class="texte">[(#TEXTE)]</div>
+</div>
+</BOUCLE_texte_groupe>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/liste-categories.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/liste-categories.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/groupe/liste-categories.html	(revision 198)
@@ -0,0 +1,17 @@
+<BOUCLE_catprimaire(GROUPES_MOTS){descriptif==primaire}>
+<div id="listecategorie">
+<B_motcats>
+<ul>
+<BOUCLE_motcats(MOTS){id_groupe}{par num titre}{par titre}>
+<li>
+[(#LOGO_MOT)]
+<h2><a href="#URL_MOT">#TITRE</a></h2>
+<p class="listagedescriptif">#DESCRIPTIF</p>
+<p class="listageinfo"><BOUCLE_nbarts(ARTICLES){id_mot}></BOUCLE_nbarts>[ #TOTAL_BOUCLE (#TOTAL_BOUCLE|>{0}|?{' ',''}) [(#TOTAL_BOUCLE|>{1}|?{'travaux','travail'})] ]<//B_nbarts></p>
+<p class="listageinfo">Dernier travail : <BOUCLE_lastrav(ARTICLES){id_mot}{!par date}{0,1}>[<a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a>] ([(#DATE|affdate)])</BOUCLE_lastrav></p>
+</li>
+</BOUCLE_motcats>
+</ul>
+</B_motcats>
+</div>
+</BOUCLE_catprimaire>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/identification-visiteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/identification-visiteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/identification-visiteur.html	(revision 198)
@@ -0,0 +1,16 @@
+<div id="identification-visiteur" class="listagebloc">
+<h2><:identification_visiteur:></h2>
+<ul class="listageconteneur"><li>
+<?php if ($auteur_session) { ?>
+<h4 class="listagetitre"><:vous_etes_connecte:></h4>
+<p class="listagetexte">
+<a href='#URL_LOGOUT'><:logout:></a>
+</p>
+<?php } else { ?>
+<h4 class="listagetitre"><:identifiez_vous:></h4>
+<p class="listagetexte">
+#LOGIN_PUBLIC
+</p>
+<?php } ?>
+</li></ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-dropdown.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-dropdown.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-dropdown.html	(revision 198)
@@ -0,0 +1,20 @@
+<BOUCLE_recup(BREVES){id_breve}>
+<B_autresarticles>
+<div id="autres-articles" class="listagebloc">
+<h2><:autres_breves:></h2>
+<ul class="listageconteneur">
+
+<form action="spip.php?" method="get" class="forml">
+<select name="article" onchange="document.location.href='spip.php?breve'+this.options[this.selectedIndex].value">
+<option value="#ID_BREVE"> --- </option>
+<BOUCLE_autresarticles(BREVES){id_rubrique}{exclus}>
+<option value="#ID_BREVE">[(#TITRE|supprimer_numero)] ([(#DATE|affdate)])</option>
+</BOUCLE_autresarticles>
+</select>
+<noscript>
+<div><input type='submit' class='fondo' value='Changer' /></div>
+</noscript>
+</form>
+</ul>
+</div>
+</B_autresarticles></BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecomplete.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecomplete.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecomplete.html	(revision 198)
@@ -0,0 +1,20 @@
+<B_listebreves>
+<div id="autres-articles" class="listagebloc">
+<h2><:autres_breves:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listebreves(BREVES){id_rubrique}{par num titre}{par titre}{par num titre}{exclus}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_BREVE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listebreves>
+</ul>
+</div>
+</B_listebreves>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecourte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecourte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/include-autresbreves-listecourte.html	(revision 198)
@@ -0,0 +1,11 @@
+<B_autresarticles>
+<div id="autres-articles" class="listagebloc">
+<h2><:autres_breves:></h2>
+<ul class="listageconteneur">
+<BOUCLE_autresarticles(BREVES){id_rubrique}{exclus}>
+<li><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a> ([(#DATE|affdate)])</li>
+</BOUCLE_autresarticles>
+</BOUCLE_autresarts>
+</ul>
+</div>
+</B_autresarticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/intervention-forum.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/intervention-forum.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/intervention-forum.html	(revision 198)
@@ -0,0 +1,10 @@
+<BOUCLE_leforum(ARTICLES){id_article}>
+[<!-- intervenir dans le forum -->
+<div id="intervention-forum" class="listagebloc">
+<h2><:forum:></h2>
+<ul class="listageconteneur">
+<li>
+(#FORMULAIRE_FORUM)
+</li>
+</ul></div>]
+</BOUCLE_leforum>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-articles-auteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-articles-auteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-articles-auteur.html	(revision 198)
@@ -0,0 +1,22 @@
+<B_listearticles>
+<BOUCLE_cachearts(ARTICLES){id_auteur}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="artinrub" class="listagebloc">
+<h2><:articles_auteur:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_auteur}{!par date}{doublons cacher}{0,#ENV{parametre}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<div class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</div>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-mots-cles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-mots-cles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/liste-mots-cles.html	(revision 198)
@@ -0,0 +1,17 @@
+<B_groupes><div id="liste-mots" class="listagebloc">
+<h2><:liste_mots_cles:></h2>
+<ul class="listageconteneur">
+<BOUCLE_groupes(GROUPES_MOTS){par num titre}{par titre}>
+<li>
+<h4 class="listagetitre #EDIT{titre}"><a href="spip.php?page=groupe&id_groupe=#ID_GROUPE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte #EDIT{descriptif}">[(#DESCRIPTIF)]</p>
+<p class="listageinfo">
+<BOUCLE_mots(MOTS){id_groupe}{par num titre}{par titre}>
+[<a href="#URL_MOT #EDIT{titre}">(#TITRE|supprimer_numero)</a><br />]
+</BOUCLE_mots>
+</p>
+</li>
+</BOUCLE_groupes>
+</ul>
+</div>
+</B_groupes>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/bloc-login.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/bloc-login.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/bloc-login.html	(revision 198)
@@ -0,0 +1,16 @@
+<div id="form-login">
+<h1><:enregistrement:></h1>
+<p class="texte">
+#LOGIN_PRIVE
+</p>
+
+<p class="listageinfo">
+[&#91;<a href="#URL_PAGE{spip_inscription,focus=nom_inscription}&amp;mode=(#URL_SITE_SPIP|tester_config{mode_inscription})" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=400'); return false;"><:login_sinscrire:></a>&#93;]
+
+&#91;<a href="#URL_PAGE{spip_pass}" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;"><:login_motpasseoublie:></a>&#93;
+
+&#91;<a href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
+			
+</p>
+
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/menu-langues-login.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/menu-langues-login.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/login/menu-langues-login.html	(revision 198)
@@ -0,0 +1,6 @@
+<div id="menu-langues">
+<h2><:choisir_langue:></h2>
+<ul class="listageconteneur"><li>
+#MENU_LANG_ECRIRE
+</li></ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_bloclibre.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_bloclibre.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_bloclibre.html	(revision 198)
@@ -0,0 +1,24 @@
+<BOUCLE_formatbloclibre(SPIP_ARTY_BLOCLIBRE){id_bloc_libre}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#ID_BLOC_LIBRE|logo_bloc||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formatbloclibre>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_groupemots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_groupemots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_groupemots.html	(revision 198)
@@ -0,0 +1,24 @@
+<BOUCLE_formatbloclibre(GROUPES_MOTS){id_groupe}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})</div>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_reduire{#LARGEUR_CONTEXTE1,0})</div>]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})</div>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_reduire{#LARGEUR_CONTEXTE2,0})</div>]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})</div>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[<div class="logo">(#ID_GROUPE|logo_groupe||image_reduire{#LARGEUR_CORPS,0})</div>]
+	]
+<?php } ?>
+</BOUCLE_formatbloclibre>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo.html	(revision 198)
@@ -0,0 +1,99 @@
+<BOUCLE_formateart(ARTICLES){id_article}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_ARTICLE||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formateart>
+
+<BOUCLE_formaterub(RUBRIQUES){id_rubrique}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formaterub>
+
+<BOUCLE_formatemot(MOTS){id_mot}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_MOT||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_MOT||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_MOT||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formatemot>
+
+<BOUCLE_formatebreve(BREVES){id_breve}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formatebreve>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_auteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_auteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_auteur.html	(revision 198)
@@ -0,0 +1,24 @@
+<BOUCLE_formateauteur(AUTEURS){id_auteur}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formateauteur>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_doc.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_doc.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_doc.html	(revision 198)
@@ -0,0 +1,24 @@
+<BOUCLE_formatedoc(DOCUMENTS){id_document}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-logos-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-logos-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formatedoc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste.html	(revision 198)
@@ -0,0 +1,174 @@
+<BOUCLE_formateart(ARTICLES){id_article}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE1,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_reduire{#LARGEUR_CONTEXTE2,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_ARTICLE">(#LOGO_ARTICLE||image_reduire{#LARGEUR_CORPS,0})</a>]
+	]
+<?php } ?>
+</BOUCLE_formateart>
+
+<BOUCLE_formaterub(RUBRIQUES){id_rubrique}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CONTEXTE1,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CONTEXTE2,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_RUBRIQUE">(#LOGO_RUBRIQUE||image_reduire{#LARGEUR_CORPS,0})</a>]
+	]
+<?php } ?>
+</BOUCLE_formaterub>
+
+<BOUCLE_formatemot(MOTS){id_mot}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_reduire{#LARGEUR_CONTEXTE1,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_reduire{#LARGEUR_CONTEXTE2,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_MOT">(#LOGO_MOT||image_reduire{#LARGEUR_CORPS,0})</a>]
+	]
+<?php } ?>
+</BOUCLE_formatemot>
+
+<BOUCLE_formatebreve(BREVES){id_breve}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_BREVE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_BREVE||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formatebreve>
+
+<BOUCLE_formatesite(SITES){id_syndic}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_reduire{#LARGEUR_CONTEXTE1,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_reduire{#LARGEUR_CONTEXTE2,0})</a>]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})</a>]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[<a class="listagelogo" href="#URL_SITE">(#LOGO_SITE||image_reduire{#LARGEUR_CORPS,0})</a>]
+	]
+<?php } ?>
+</BOUCLE_formatesite>
+
+<BOUCLE_formateauteur(AUTEURS){id_auteur}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_masque{#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-logos-liste-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_AUTEUR||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formateauteur>
+
+<BOUCLE_formadocument(DOCUMENTS){id_document}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formadocument>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste_doc.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste_doc.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_logo_liste_doc.html	(revision 198)
@@ -0,0 +1,24 @@
+<BOUCLE_formadocument(DOCUMENTS){id_document}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|!={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-corps.png}})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formadocument>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette.html	(revision 198)
@@ -0,0 +1,13 @@
+<BOUCLE_vignette(DOCUMENTS){id_document}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|!={''}|?{' ',''})[(#FICHIER||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}})]]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|=={''}|?{' ',''})[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE1,0})]]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|!={''}|?{' ',''})[(#FICHIER||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}})]]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|=={''}|?{' ',''})[(#FICHIER||image_reduire{#LARGEUR_CONTEXTE2,0})]]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|!={''}|?{' ',''})[(#FICHIER||image_masque{#CHEMIN{themes/#THEME/masque-vignette-corps.png}})]]
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|=={''}|?{' ',''})[(#FICHIER||image_reduire{#LARGEUR_CORPS,0})]]
+<?php } ?>
+</BOUCLE_vignette>
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette_webmaton.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette_webmaton.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/logos/formatage_vignette_webmaton.html	(revision 198)
@@ -0,0 +1,22 @@
+<BOUCLE_formadocument(DOCUMENTS){id_document}>
+<?php if ('#ENV{conteneur}'=='1') { ?>
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|!={''}|?{' ',''})
+[(#FICHIER|vignettewebmaton||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}}|sinon{[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}})]})]	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte1.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE1,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='2') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|!={''}|?{' ',''})
+[(#FICHIER|vignettewebmaton||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}}|sinon{[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}})]})]	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-contexte2.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CONTEXTE2,0})]
+	]
+<?php } if ('#ENV{conteneur}'=='3') { ?>	
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|!={''}|?{' ',''})
+	[(#FICHIER|vignettewebmaton||image_masque{#CHEMIN{themes/#THEME/masque-vignette-corps.png}}|sinon{[(#LOGO_DOCUMENT||image_masque{#CHEMIN{themes/#THEME/masque-vignette-corps.png}})]})]
+	]
+	[(#CHEMIN{themes/#THEME/masque-vignette-corps.png}|=={''}|?{' ',''})
+	[(#LOGO_DOCUMENT||image_reduire{#LARGEUR_CORPS,0})]
+	]
+<?php } ?>
+</BOUCLE_formadocument>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/metas.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/metas.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/metas.html	(revision 198)
@@ -0,0 +1,4 @@
+<!-- Magusine est un plugin crÃ©Ã© par les corsaires asbl : http://www.magusine.net -->
+<BOUCLE_metas(SPIP_ARTY_PARAMETRES){parametre==metas$}>
+<meta name="[(#VALEUR|=={robot}|?{'keywords',#VALEUR})]" [(#VALEUR|=={robot}|?{'robot','content'})]="#VALEUR2" />
+</BOUCLE_metas>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-articles-mot.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-articles-mot.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-articles-mot.html	(revision 198)
@@ -0,0 +1,24 @@
+<B_listearticles>
+<BOUCLE_cachearts(ARTICLES){titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="mot-articles" class="listagebloc">
+<h2><:mot_articles:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_mot}{!par date}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-breves-mot.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-breves-mot.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-breves-mot.html	(revision 198)
@@ -0,0 +1,24 @@
+<B_listebreves>
+<BOUCLE_cachearts(BREVES){titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="mot-breves" class="listagebloc">
+<h2><:mot_breves:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listebreves(BREVES){id_breve}{!par date}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#TEXTE|couper{200})]}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_BREVE"><:suite:></a></p>
+</li>
+</BOUCLE_listebreves>
+</ul>
+</div>
+</B_listebreves>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-rubriques-mot.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-rubriques-mot.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-rubriques-mot.html	(revision 198)
@@ -0,0 +1,13 @@
+<B_listesousrub>
+<div id="mot-rubriques" class="listagebloc">
+<h2><:resultat_recherche_rubriques:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesousrub(RUBRIQUES){id_mot}{!par date}{par titre}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_rubrique}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{#INTRODUCTION}|supprimer_tags)</p>]
+</li>
+</BOUCLE_listesousrub></ul>
+</div>
+</B_listesousrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-sites-mot.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-sites-mot.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/liste-sites-mot.html	(revision 198)
@@ -0,0 +1,16 @@
+<B_listesites>
+<div id="mot-sites" class="listagebloc">
+<h2><:mot_sites:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesites(SITES){id_mot}{par nom_site}>
+<li>
+<a name="[(#NOM_SITE|nospace|entites_html)]"></a>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_SITE">[(#NOM_SITE|supprimer_numero)]</a></h4>
+<B_autresmots><div class="listageinfo"><BOUCLE_autresmots(MOTS){id_syndic}{" - "}{exclus}><a href="#URL_MOT">#TITRE</a></BOUCLE_autresmots></div></B_autresmots>
+[<p class="listagetexte">(#DESCRIPTIF)</p>]
+</li>
+</BOUCLE_listesites>
+</ul>
+</div>
+</B_listesites>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-autres-mots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-autres-mots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-autres-mots.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_texte(MOTS){id_mot}>
+<B_autres_mots>
+<div id="autres-mots" class="listagebloc">
+<h2><:autres_mots:></h2>
+<ul class="listageconteneur">
+<BOUCLE_autres_mots(MOTS){id_groupe}{par num titre}{par titre}{exclus}>
+<li><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_autres_mots>
+</ul>
+</div>
+</B_autres_mots>
+</BOUCLE_texte>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-head.html	(revision 198)
@@ -0,0 +1,9 @@
+<BOUCLE_head_mot(MOTS){id_mot}>
+<div id="header">
+[(#LOGO_MOT|!={}|?{' ',''})<div class="logo">[(#INCLURE{fond=formatage_logo}{id_mot}{conteneur=#ENV{conteneur}})]</div>]
+<div class="texteheader">
+[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_head_mot>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-texte.html	(revision 198)
@@ -0,0 +1,5 @@
+<BOUCLE_texte_mot(MOTS){id_mot}>
+<div id="texteconteneur">
+<div class="texte #EDIT{texte}">[(#TEXTE)]</div>
+</div>
+</BOUCLE_texte_mot>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-tous-mots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-tous-mots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mot/mot-tous-mots.html	(revision 198)
@@ -0,0 +1,15 @@
+<BOUCLE_cemot(MOTS){id_mot}><B_groupe><div id="tous-mots" class="listagebloc">
+<h2><:tous_mots:></h2>
+<ul class="listageconteneur">
+<BOUCLE_groupe(GROUPES_MOTS){par num titre}{par titre}>
+<li>
+<h4 class="listagetitre"><a href="spip.php?page=groupe&id_groupe=#ID_GROUPE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte">
+<BOUCLE_lesmots(MOTS){id_groupe}{par num titre}{par titre}{"<br />"}>
+[<a href="#URL_MOT">(#TITRE|supprimer_numero)</a>]
+</BOUCLE_lesmots>
+</p>
+</li>
+</BOUCLE_groupe>
+</ul>
+</div></B_groupe></BOUCLE_cemot>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mots-cles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mots-cles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/mots-cles.html	(revision 198)
@@ -0,0 +1,11 @@
+<B_motscleart>
+<div id="motscle" class="listagebloc">
+<h2><:mots_clefs:></h2>
+<ul class="listageconteneur"><BOUCLE_motscleart(MOTS){id_article}{par num titre,titre}>
+<li>
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+</li>
+</BOUCLE_motscleart>
+</ul>
+</div>
+</B_motscleart>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation.html	(revision 198)
@@ -0,0 +1,11 @@
+#CACHE{24*3600}<ul id="navigation">
+[(#REM|sinon{titrenavigation}|trouveintheme{'non'}|=={'oui'}|?{' ',''})<li id="titre-navigation" class="niveau1" ><h2><:navigation:></h2></li>]
+<BOUCLE_parametre_niveau(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur2=#LANG}>
+[(#VALEUR|=={manuel}|?{' ',''})<INCLURE{fond=navigation/manuelle}>]
+[(#VALEUR|=={1}|?{' ',''})<INCLURE{fond=navigation/unniveau}>]
+[(#VALEUR|=={2}|?{' ',''})<INCLURE{fond=navigation/deuxniveaux}>]
+[(#VALEUR|=={n}|?{' ',''})<INCLURE{fond=navigation/nniveaux}>]
+</BOUCLE_parametre_niveau>
+<INCLURE{fond=navigation/deuxniveaux}>
+<//B_parametre_niveau>
+</ul>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/defaut.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/defaut.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/defaut.html	(revision 198)
@@ -0,0 +1,49 @@
+<?php
+// rÃ©cupÃ©ration de la hiÃ©rarchie courante
+$hierarchie = array();
+<BOUCLE_principale(RUBRIQUES){id_rubrique}{tout}>
+	<BOUCLE_hierarchie(HIERARCHIE){id_rubrique}>
+		$hierarchie[] = "rubrique#ID_RUBRIQUE";
+	</BOUCLE_hierarchie>
+	$hierarchie[] = "rubrique#ID_RUBRIQUE";
+</BOUCLE_principale>
+<BOUCLE_mot(MOTS){id_mot}>
+$hierarchie[] ="groupe#ID_GROUPE";
+$hierarchie[] ="mot#ID_MOT";
+</BOUCLE_mot>
+$hierarchie[]="article#ENV{id_article}";
+?><BOUCLE_cacher_edito(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}>[(#VALEUR|=={true}|?{' ',''})]</BOUCLE_cacher_edito>
+<BOUCLE_param_rubrique_edito(SPIP_ARTY_PARAMASSOC){param=edito}>
+<BOUCLE_edito_rub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{doublons cacher}>
+</BOUCLE_edito_rub>
+</BOUCLE_param_rubrique_edito>
+</B_cacher_edito><!-- menu alternatif, deux niveaux -->
+<?php if(!is_array($hierarchie)){ $hierarchie=array(); } ?>
+<BOUCLE_menu_alternatif(RUBRIQUES){id_parent=0}{lang}{doublons cacher}{par num titre}>
+  <li class="niveau1 item#COMPTEUR_BOUCLE<?php if(in_array("rubrique#ID_RUBRIQUE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_RUBRIQUE" accesskey="[(#COMPTEUR_BOUCLE)]">[(#TITRE|supprimer_numero)]</a> 
+  #SET{ulaffiche,0} 
+  <BOUCLE_parametre_niveau(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur2=#LANG}{valeur!=1}>
+    <B_sous_menu_alternatif>
+    <ul class="ulniveau2">
+    <BOUCLE_sous_menu_alternatif(RUBRIQUES){id_parent}{lang}{doublons cacher}{par num titre}>
+    <li class="niveau2<?php if(in_array("rubrique#ID_RUBRIQUE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></li>
+    </BOUCLE_sous_menu_alternatif>
+    #SET{ulaffiche,1}
+  </B_sous_menu_alternatif>
+  </BOUCLE_parametre_niveau>
+  
+  		<BOUCLE_parametre_niveaux_articles(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur!=1}{valeur2=#LANG}{valeur3=on}>
+			<B_navigation2>
+			[(#GET{ulaffiche}|=={1}|?{'',' '})<ul class='ulniveau2'>]
+			<BOUCLE_navigation2(ARTICLES){id_rubrique=#ID_RUBRIQUE}{par num titre}>
+				<li class="niveau2<?php if(in_array("article#ID_ARTICLE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_ARTICLE" class="menu-article">[(#TITRE|supprimer_numero)]</a></li>
+			</BOUCLE_navigation2>
+			#SET{ulaffiche,1}
+			</B_navigation2>
+			
+		</BOUCLE_parametre_niveaux_articles>
+				
+  	[(#GET{ulaffiche}|=={1}|?{' ',''})</ul>]
+  
+  </li>
+</BOUCLE_menu_alternatif>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/deuxniveaux.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/deuxniveaux.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/deuxniveaux.html	(revision 198)
@@ -0,0 +1,65 @@
+<?php
+// rÃ©cupÃ©ration de la hiÃ©rarchie courante
+$hierarchie = array();
+<BOUCLE_principale(RUBRIQUES){id_rubrique}{tout}>
+	<BOUCLE_hierarchie(HIERARCHIE){id_rubrique}>
+		$hierarchie[] = "rubrique#ID_RUBRIQUE";
+	</BOUCLE_hierarchie>
+	$hierarchie[] = "rubrique#ID_RUBRIQUE";
+</BOUCLE_principale>
+<BOUCLE_mot(MOTS){id_mot}>
+$hierarchie[] ="groupe#ID_GROUPE";
+$hierarchie[] ="mot#ID_MOT";
+</BOUCLE_mot>
+$hierarchie[]="article#ENV{id_article}";
+?><BOUCLE_cacher_edito(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}>[(#VALEUR|=={true}|?{' ',''})]</BOUCLE_cacher_edito>
+<BOUCLE_param_rubrique_edito(SPIP_ARTY_PARAMASSOC){param=edito}>
+<BOUCLE_edito_rub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{doublons cacher}>
+</BOUCLE_edito_rub></BOUCLE_param_rubrique_edito></B_cacher_edito>
+<BOUCLE_menu2niv(SPIP_ARTY_MENU){par ordre}{id_parent=0}{langue==#LANG}>
+[(#TYPE|=={"lien"}|?{' ',''})<li class="niveau1 item#COMPTEUR_BOUCLE"><a class="menu-lien" href="#URL" accesskey="#COMPTEUR_BOUCLE">#NOM</a></li>]
+<BOUCLE_type_rubrique(ARTICLES){0,1}>[(#TYPE|=={rubrique}|?{' ',''})]</BOUCLE_type_rubrique>
+<BOUCLE_info_titre_rubrique(RUBRIQUES){id_rubrique=#ID}>
+[<li class="niveau1 item#_menu2niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo " courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menu2niv:COMPTEUR_BOUCLE">(#TITRE|supprimer_numero)</a>]
+		<?php $affiche="non"; ?><B_sous_menu>
+    	<ul class="ulniveau2"><?php $affiche="oui"; ?> 		
+    	<BOUCLE_sous_menu(RUBRIQUES){id_parent}{lang}{doublons cacher}{par num titre}{par titre}>
+    		<li class="niveau2<?php if(in_array("rubrique#ID_RUBRIQUE",$hierarchie)) { echo " courante"; } ?>"><a href="#URL_RUBRIQUE" class="menu-rubrique">[(#TITRE|supprimer_numero)]</a></li>
+    	</BOUCLE_sous_menu>
+ 		
+		<BOUCLE_parametre_niveaux_articles(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur2=#LANG}{valeur3=on}>
+			<B_navigation2>
+			<?php if ($affiche=="non") { echo "<ul class='ulniveau2'>"; $affiche="oui"; } ?>
+			<BOUCLE_navigation2(ARTICLES){id_rubrique=#ID_RUBRIQUE}{par num titre,id_article}>
+				<li class="niveau2<?php if(in_array("article#ID_ARTICLE",$hierarchie)) { echo " courante"; } ?>"><a href="#URL_ARTICLE" class="menu-article">[(#TITRE|supprimer_numero)]</a></li>
+			</BOUCLE_navigation2>
+		</BOUCLE_parametre_niveaux_articles>
+		<?php if ($affiche=="oui") { echo "</ul>"; } ?>		
+
+</li></BOUCLE_info_titre_rubrique>
+</B_type_rubrique>
+<BOUCLE_type_article(ARTICLES){0,1}>[(#TYPE|=={article}|?{' ',''})]</BOUCLE_type_article>
+<BOUCLE_info_titre_article(ARTICLES){id_article=#ID}>
+[<li class="niveau1 item#_menu2niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo " courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menu2niv:COMPTEUR_BOUCLE">(#TITRE|supprimer_numero)</a></li>]
+</BOUCLE_info_titre_article>
+</B_type_article>
+<BOUCLE_type_mot(ARTICLES){0,1}>[(#TYPE|=={mot}|?{' ',''})]</BOUCLE_type_mot>
+<BOUCLE_info_titre_mot(MOTS){id_mot=#ID}>
+[<li class="niveau1 item#_menu2niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo " courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menu2niv:COMPTEUR_BOUCLE">(#TITRE|supprimer_numero)</a></li>]
+</BOUCLE_info_titre_mot>
+</B_type_mot>
+<BOUCLE_type_groupe(ARTICLES){0,1}>[(#TYPE|=={groupe}|?{' ',''})]</BOUCLE_type_groupe>
+<BOUCLE_info_titre_groupe(GROUPES_MOTS){id_groupe=#ID}{par num titre}{par titre}>
+[<li class="niveau1 item#_menu2niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo " courante"; } ?>"><a class="menu-#TYPE" href="spip.php?page=#TYPE&id_groupe=#ID" accesskey="#_menu2niv:COMPTEUR_BOUCLE">(#TITRE|supprimer_numero)]</a>
+<BOUCLE_parametre_niveaux_menu_groupe(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur2=#LANG}{valeur3=on}>
+  <B_sous_menu_mot>
+    <ul class="ulniveau2"><BOUCLE_sous_menu_mot(MOTS){id_groupe}{par num titre}{par titre}>
+    <li class="niveau2<?php if(in_array("mot#ID_MOT",$hierarchie)) { echo " courante"; } ?>"><a href="#URL_MOT" class="menu-mot">[(#TITRE|supprimer_numero)</a>]</li>
+    </BOUCLE_sous_menu_mot></ul></li>
+  </B_sous_menu_mot>
+  </BOUCLE_parametre_niveaux_menu_groupe>
+
+</BOUCLE_info_titre_groupe></B_type_groupe>
+
+</BOUCLE_menu2niv>
+<INCLURE{fond=navigation/defaut}><//B_menu2niv>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/manuelle.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/manuelle.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/manuelle.html	(revision 198)
@@ -0,0 +1,75 @@
+<?php
+// rÃ©cupÃ©ration de la hiÃ©rarchie courante
+$hierarchie = array();
+<BOUCLE_principale(RUBRIQUES){id_rubrique}{tout}>
+	<BOUCLE_hierarchie(HIERARCHIE){id_rubrique}>
+		$hierarchie[] = "rubrique#ID_RUBRIQUE";
+	</BOUCLE_hierarchie>
+	$hierarchie[] = "rubrique#ID_RUBRIQUE";
+</BOUCLE_principale>
+<BOUCLE_mot(MOTS){id_mot}>
+$hierarchie[] ="groupe#ID_GROUPE";
+$hierarchie[] ="mot#ID_MOT";
+</BOUCLE_mot>
+$hierarchie[]="article#ENV{id_article}";
+?><!-- menu manuel -->
+<BOUCLE_menumanu(SPIP_ARTY_MENU){par ordre}{id_parent=0}{langue==#LANG}>
+[(#TYPE|=={"lien"}|?{' ',''})<li class="niveau1 item#COMPTEUR_BOUCLE"><a class="menu-lien" href="#URL" accesskey="#COMPTEUR_BOUCLE">#NOM</a>]
+<BOUCLE_type_rubrique(ARTICLES){0,1}>[(#TYPE|=={rubrique}|?{' ',''})]</BOUCLE_type_rubrique>
+<BOUCLE_info_titre_rubrique(RUBRIQUES){id_rubrique=#ID}>
+<li class="niveau1 item#_menumanu:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menumanu:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_rubrique>
+</B_type_rubrique>
+<BOUCLE_type_article(ARTICLES){0,1}>[(#TYPE|=={article}|?{' ',''})]</BOUCLE_type_article>
+<BOUCLE_info_titre_article(ARTICLES){id_article=#ID}>
+<li class="niveau1 item#_menumanu:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menumanu:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_article>
+</B_type_article>
+<BOUCLE_type_mot(ARTICLES){0,1}>[(#TYPE|=={mot}|?{' ',''})]</BOUCLE_type_mot>
+<BOUCLE_info_titre_mot(MOTS){id_mot=#ID}>
+<li class="niveau1 item#_menumanu:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menumanu:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_mot>
+</B_type_mot>
+<BOUCLE_type_groupe(ARTICLES){0,1}>[(#TYPE|=={groupe}|?{' ',''})]</BOUCLE_type_groupe>
+<BOUCLE_info_titre_groupe(GROUPES_MOTS){id_groupe=#ID}>
+<li class="niveau1 item#_menumanu:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?spip.php&page=#TYPE&id_groupe=#ID" accesskey="#_menumanu:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_groupe>
+</B_type_groupe>
+
+
+<?php $compteur_recu = 1; ?>
+<B_secondniv>
+<?php $compteur_recu++; ?>
+<ul class="ulniveau<?=$compteur_recu?>">
+<BOUCLE_secondniv(SPIP_ARTY_MENU){par ordre}{id_parent=#ID}{type_parent=#TYPE}{langue==#LANG}>
+<li class="niveau<?php echo $compteur_recu; if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>">
+[(#TYPE|=={"lien"}|?{' ',''})<a class="menu-lien" href="#URL">#NOM</a>]
+
+<BOUCLE_type_rubrique2(ARTICLES){0,1}>[(#TYPE|=={rubrique}|?{' ',''})]</BOUCLE_type_rubrique2>
+<BOUCLE_info_titre_rubrique2(RUBRIQUES){id_rubrique=#ID}>
+<a class="menu-#TYPE" href="spip.php?#TYPE#ID">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_rubrique2>
+</B_type_rubrique2>
+<BOUCLE_type_article2(ARTICLES){0,1}>[(#TYPE|=={article}|?{' ',''})]</BOUCLE_type_article2>
+<BOUCLE_info_titre_article2(ARTICLES){id_article=#ID}>
+<a class="menu-#TYPE" href="spip.php?#TYPE#ID">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_article2>
+</B_type_article2>
+<BOUCLE_type_mot2(ARTICLES){0,1}>[(#TYPE|=={mot}|?{' ',''})]</BOUCLE_type_mot2>
+<BOUCLE_info_titre_mot2(MOTS){id_mot=#ID}>
+<a class="menu-#TYPE" href="spip.php?#TYPE#ID">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_mot2>
+</B_type_mot2>
+<BOUCLE_type_groupe2(ARTICLES){0,1}>[(#TYPE|=={groupe}|?{' ',''})]</BOUCLE_type_groupe2>
+<BOUCLE_info_titre_groupe2(GROUPES_MOTS){id_groupe=#ID}>
+<a class="menu-#TYPE" href="spip.php?spip.php&page=#TYPE&id_groupe=#ID">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_info_titre_groupe2>
+</B_type_groupe2>
+
+<BOUCLE_niv_recursive(BOUCLE_secondniv)></BOUCLE_niv_recursive>
+</li>
+</BOUCLE_secondniv>
+</ul>
+</B_secondniv><?php $compteur_recu = 2; ?><//B_secondniv>
+</li>
+</BOUCLE_menumanu><INCLURE{fond=navigation/defaut}><//B_menumanu>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/nniveaux.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/nniveaux.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/nniveaux.html	(revision 198)
@@ -0,0 +1,79 @@
+<?php
+// rÃ©cupÃ©ration de la hiÃ©rarchie courante
+$hierarchie = array();
+<BOUCLE_principale(RUBRIQUES){id_rubrique}{tout}>
+	<BOUCLE_hierarchie(HIERARCHIE){id_rubrique}>
+		$hierarchie[] = "rubrique#ID_RUBRIQUE";
+	</BOUCLE_hierarchie>
+	$hierarchie[] = "rubrique#ID_RUBRIQUE";
+</BOUCLE_principale>
+<BOUCLE_mot(MOTS){id_mot}>
+$hierarchie[] ="groupe#ID_GROUPE";
+$hierarchie[] ="mot#ID_MOT";
+</BOUCLE_mot>
+$hierarchie[]="article#ENV{id_article}";
+?><BOUCLE_menunniv(SPIP_ARTY_MENU){par ordre}{id_parent=0}{langue==#LANG}>
+[(#TYPE|=={"lien"}|?{' ',''})<li class="niveau1 item#COMPTEUR_BOUCLE"><a class="menu-lien" href="#URL" accesskey="#COMPTEUR_BOUCLE">#NOM</a></li>]
+<BOUCLE_type_rubrique(ARTICLES){0,1}>[(#TYPE|=={rubrique}|?{' ',''})]</BOUCLE_type_rubrique>
+<BOUCLE_info_titre_rubrique(RUBRIQUES){id_rubrique=#ID}>
+[<li class="niveau1 item#_menunniv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menunniv:COMPTEUR_BOUCLE">(#TITRE|supprimer_numero)</a>]
+
+<?php $compteur_recu=2; ?>
+<B_rubriques>
+<ul class="ulniveau<?=$compteur_recu?>">
+<BOUCLE_rubriques(RUBRIQUES){id_parent}{par titre}>
+	<li class="niveau<?php echo $compteur_recu; if(in_array("rubrique#ID_RUBRIQUE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_RUBRIQUE" class="menu-rubrique">[(#TITRE|supprimer_numero)]</a>
+	<?php $backup_compteur=$compteur_recu; $compteur_recu++; ?>
+	<BOUCLE_sous_rubriques(BOUCLE_rubriques)></BOUCLE_sous_rubriques>
+	<?php $compteur_recu=$backup_compteur; ?>
+	</li>
+	<BOUCLE_monte1niv(RUBRIQUES){id_enfant}>
+	
+	<BOUCLE_articles(ARTICLES){id_rubrique}{par titre}{doublons menu}>
+	<li class="niveau<?php echo ($compteur_recu); if(in_array("article#ID_ARTICLE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_ARTICLE" class="menu-article">[(#TITRE|supprimer_numero)]</a></li>
+	</BOUCLE_articles>
+	</BOUCLE_monte1niv>
+							
+</BOUCLE_rubriques>
+</ul>
+</B_rubriques>
+<B_articles2>
+<ul class="ulniveau<?=$compteur_recu?>">
+<BOUCLE_articles2(ARTICLES){id_rubrique}{par titre}{doublons menu}>
+<li class="niveau<?php echo $compteur_recu; if(in_array("article#ID_ARTICLE",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_ARTICLE" class="menu-article">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_articles2>
+</ul>
+</B_articles2>
+<?php $compteur_recu=2; ?>
+<//B_articles2>
+<//B_rubriques>
+
+</li>
+</BOUCLE_info_titre_rubrique>
+</B_type_rubrique>
+<BOUCLE_type_article(ARTICLES){0,1}>[(#TYPE|=={article}|?{' ',''})]</BOUCLE_type_article>
+<BOUCLE_info_titre_article(ARTICLES){id_article=#ID}>
+<li class="niveau1 item#_menunniv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menunniv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_article>
+</B_type_article>
+<BOUCLE_type_mot(ARTICLES){0,1}>[(#TYPE|=={mot}|?{' ',''})]</BOUCLE_type_mot>
+<BOUCLE_info_titre_mot(MOTS){id_mot=#ID}>
+<li class="niveau1 item#_menunniv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?#TYPE#ID" accesskey="#_menunniv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_mot>
+</B_type_mot>
+<BOUCLE_type_groupe(ARTICLES){0,1}>[(#TYPE|=={groupe}|?{' ',''})]</BOUCLE_type_groupe>
+<BOUCLE_info_titre_groupe(GROUPES_MOTS){id_groupe=#ID}{par num titre}{par titre}>
+<li class="niveau1 item#_menunniv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-#TYPE" href="spip.php?spip.php&page=#TYPE&id_groupe=#ID" accesskey="#_menunniv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a>
+
+<BOUCLE_parametre_niveaux_menu_groupe(SPIP_ARTY_PARAMETRES){parametre==config_niveaux_menu$}{valeur2=#LANG}{valeur3=on}>
+<B_sous_menu_mot>
+    <ul class="ulniveau2"><BOUCLE_sous_menu_mot(MOTS){id_groupe}{par num titre}{par titre}>
+    <li class="niveau2<?php if(in_array("mot#ID_MOT",$hierarchie)) { echo" courante"; } ?>"><a href="#URL_MOT" class="menu-mot">[(#TITRE|supprimer_numero)]</a></li>
+    </BOUCLE_sous_menu_mot></ul>
+  </B_sous_menu_mot>
+  </BOUCLE_parametre_niveaux_menu_groupe>
+</li>
+</BOUCLE_info_titre_groupe>
+</B_type_groupe>
+</li>
+</BOUCLE_menunniv><INCLURE{fond=navigation/defaut}><//B_menunniv>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/unniveau.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/unniveau.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/navigation/unniveau.html	(revision 198)
@@ -0,0 +1,38 @@
+<?php
+// rÃ©cupÃ©ration de la hiÃ©rarchie courante
+$hierarchie = array();
+<BOUCLE_principale(RUBRIQUES){id_rubrique}{tout}>
+	<BOUCLE_hierarchie(HIERARCHIE){id_rubrique}>
+		$hierarchie[] = "rubrique#ID_RUBRIQUE";
+	</BOUCLE_hierarchie>
+	$hierarchie[] = "rubrique#ID_RUBRIQUE";
+</BOUCLE_principale>
+<BOUCLE_mot(MOTS){id_mot}>
+$hierarchie[] ="groupe#ID_GROUPE";
+$hierarchie[] ="mot#ID_MOT";
+</BOUCLE_mot>
+$hierarchie[]="article#ENV{id_article}";
+?><BOUCLE_menu1niv(SPIP_ARTY_MENU){par ordre}{id_parent=0}{langue==#LANG}>
+[(#TYPE|=={"lien"}|?{' ',''})<li class="niveau1 item#COMPTEUR_BOUCLE"><a class="menu-lien" href="#URL" accesskey="#COMPTEUR_BOUCLE">#NOM</a></li>]
+<BOUCLE_type_rubrique(ARTICLES){0,1}>[(#TYPE|=={rubrique}|?{' ',''})]</BOUCLE_type_rubrique>
+<BOUCLE_info_titre_rubrique(RUBRIQUES){id_rubrique=#ID}>
+<li class="niveau1 item#_menu1niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-rubrique" href="spip.php?#TYPE#ID" accesskey="#_menu1niv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_rubrique>
+</B_type_rubrique>
+<BOUCLE_type_article(ARTICLES){0,1}>[(#TYPE|=={article}|?{' ',''})]</BOUCLE_type_article>
+<BOUCLE_info_titre_article(ARTICLES){id_article=#ID}>
+<li class="niveau1 item#_menu1niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-article" href="spip.php?#TYPE#ID" accesskey="#_menu1niv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_article>
+</B_type_article>
+<BOUCLE_type_mot(ARTICLES){0,1}>[(#TYPE|=={mot}|?{' ',''})]</BOUCLE_type_mot>
+<BOUCLE_info_titre_mot(MOTS){id_mot=#ID}>
+<li class="niveau1 item#_menu1niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-mot" href="spip.php?#TYPE#ID" accesskey="#_menu1niv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_mot>
+</B_type_mot>
+<BOUCLE_type_groupe(ARTICLES){0,1}>[(#TYPE|=={groupe}|?{' ',''})]</BOUCLE_type_groupe>
+<BOUCLE_info_titre_groupe(GROUPES_MOTS){id_groupe=#ID}>
+<li class="niveau1 item#_menu1niv:COMPTEUR_BOUCLE<?php if(in_array("#TYPE#ID",$hierarchie)) { echo" courante"; } ?>"><a class="menu-groupe" href="spip.php?page=#TYPE&id_groupe=#ID" accesskey="#_menu1niv:COMPTEUR_BOUCLE">[(#TITRE|supprimer_numero)]</a></li>
+</BOUCLE_info_titre_groupe>
+</B_type_groupe>
+
+</BOUCLE_menu1niv><INCLURE{fond=navigation/defaut}><//B_menu1niv>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan-head.html	(revision 198)
@@ -0,0 +1,9 @@
+<div id="header">
+<div class="texteheader">
+<h1><:plan_site:></h1>
+</div>
+<div class="clearer_header"></div>
+</div>
+<div id="texteconteneur">
+<div class="texte"></div>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan.html	(revision 198)
@@ -0,0 +1,49 @@
+#CACHE{4*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP : <:plan_site:></title>
+[(#INCLURE{fond=metas}{id_rubrique=0})]
+#INSERT_HEAD
+</head>
+<body id="page-sommaire">#SET{parametres,#REM|sinon{"rien"}|parametres}
+<div id="general">
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{afficher=rien})]]
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+<div id="contextes">
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=plan}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0>
+<div id="fin-contexte1"></div>
+</div>
+<div id="contexte2">
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=plan}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1>
+<div id="fin-contexte2"></div>
+</div>
+</div><!-- fin des contextes -->
+
+<div id="corps">
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{afficher=rien})]]
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=plan}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_corps>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan_total.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan_total.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/plan_total.html	(revision 198)
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+<BOUCLE_cachearts(ARTICLES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+
+
+
+
+
+<div id="artinrub" class="listagebloc">
+<h2><:plan_site:></h2>
+<ul class="listageconteneur">
+<BOUCLE_niv1(RUBRIQUES){racine}{par num titre, titre}{doublons cacher}>
+<li>
+<h4 class="listagetitre"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4>
+
+
+
+<ul class="listageconteneur">
+<li>
+</ul>
+</li>
+</BOUCLE_niv1>
+</ul>
+</div>
+
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/raccourci-forum.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/raccourci-forum.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/raccourci-forum.html	(revision 198)
@@ -0,0 +1,16 @@
+[(#ENV{parametre}|=={vers page forum}|?{' ',''})
+[<p class="listagerepondre"><a href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_article:></a></p>]
+]
+
+[(#ENV{parametre}|=={self}|?{' ',''})
+[<!-- intervenir dans le forum -->
+<div id="intervention-forum" class="listagebloc">
+<h2><:forum:></h2>
+<ul class="listageconteneur">
+<li>
+(#FORMULAIRE_FORUM)
+</li>
+</ul></div>]
+]
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-flash-popup.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-flash-popup.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-flash-popup.html	(revision 198)
@@ -0,0 +1,65 @@
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP <:lecteur_standalone:> <BOUCLE_titre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_titre></title>
+<link href='#CHEMIN{themes/#THEME/addfiles/lecteur-standalone.css}' rel='stylesheet' type='text/css' />
+</head>
+<body id="lecteur-audio-standalone">
+<script src="#CHEMIN{javascript/ufo.js}" type="text/javascript"></script>
+<B_galerieaudio>
+<div id="audio standalone">
+<h2><:lecteur_standalone:> <BOUCLE_titre(ARTICLES){id_article}>[(#TITRE|supprimer_numero)]</BOUCLE_titre></h2>
+
+<script src="#CHEMIN{javascript/ufo.js}" type="text/javascript"></script>
+
+
+<!-- Construction du fichier xml contenant liste des mp3 associÂs Â
+ l'article -->
+<?php $chemin1 = "#CHEMIN{playlist.xml}";
+$fp = fopen ($chemin1, "w+");
+$fp2="<playlist version=\"1\" xmlns=\"http://xspf.org/ns/0/\">\n<trackList>\n"; ?>
+
+<BOUCLE_galerieaudio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}{doublons}>
+<?php 
+$urlDocPlayer='[#URL_SITE_SPIP/(#URL_DOCUMENT|texte_script)]';
+$titreDocPlayer='[(#TITRE|supprimer_numero|no_accent|texte_script)]';
+$DescriptifDocPlayer='[(#DESCRIPTIF|no_accent|texte_script)]';
+$ImageDescriptif='[IMG/(#LOGO_DOCUMENT|fichier)]';
+
+$fp2.=" <track>\n";
+$fp2.=" <title>$titreDocPlayer</title>\n";
+$fp2.=" <creator>$DescriptifDocPlayer</creator>\n";
+$fp2.=" <image>$ImageDescriptif</image>\n";
+$fp2.=" <location>$urlDocPlayer</location> </track>\n";
+?>
+</BOUCLE_galerieaudio>
+<?php 
+$fp2.="</trackList>\n</playlist>";
+$fp3 = fwrite ($fp, $fp2);
+$p3 = fclose ($fp); 
+
+?>
+<!-- Fin construction xml liste mp3 -->
+<p id="player-standalone"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</p>
+
+<script type="text/javascript">
+var FU = { 	movie:"#CHEMIN{mp3player.swf}",width:"[(#LARGEUR_CORPS)]",height:"200",majorversion:"7",build:"0",bgcolor:"#333",flashvars:"file=#CHEMIN{playlist.xml}&#MP3_AUDIOVARS" };
+	UFO.create(	FU, "player-standalone");
+	
+	
+	
+</script>
+</li>
+
+<BOUCLE_parametres_telechargement_audio(SPIP_ARTY_PARAMETRES){parametre=liens_telecharger_audio}{valeur=true}>
+<li>
+<p><:avis_telechargement_audio:></p>
+<BOUCLE_liste_doc_audio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT">[(#FICHIER|nomfichier)]</a> ([(#TAILLE|taille_en_octets)]) <br />
+</BOUCLE_liste_doc_audio>
+</BOUCLE_parametres_telechargement_audio>
+
+</BOUCLE_galerieaudio>
+</div></B_galerieaudio></body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-standalone.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-standalone.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/galerie-audio-standalone.html	(revision 198)
@@ -0,0 +1,20 @@
+<B_galerieaudio><div id="audio">
+<h2><:docsaudio:></h2>
+<ul class="listageconteneur">
+<BOUCLE_galerieaudio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{0,1}{doublons}>
+<li>
+<:pour_ecouter_cliquez:>
+<a href="javascript:popup_page('spip.php?page=galerie-audio-flash-popup&amp;id_article=#ID_ARTICLE&amp;id_document=#ID_DOCUMENT&amp;id_compteur=[(#COMPTEUR_BOUCLE|moins{1})]',[(#LARGEUR_CORPS|plus{20})], 300);" class="lien_popup"><:lien_lecteur_standalone:></a>
+</li>
+
+<BOUCLE_parametres_telechargement_audio(SPIP_ARTY_PARAMETRES){parametre=liens_telecharger_audio}{valeur=true}>
+<li>
+<p><:avis_telechargement_audio:></p>
+<BOUCLE_liste_doc_audio(DOCUMENTS){id_article}{mode=document}{extension==mp3}{par num titre}{par titre}>
+<a href="#URL_SITE_SPIP/#URL_DOCUMENT">[(#FICHIER|nomfichier)]</a> ([(#TAILLE|taille_en_octets)]) <br />
+</BOUCLE_liste_doc_audio>
+</li>
+</BOUCLE_parametres_telechargement_audio>
+
+</BOUCLE_galerieaudio>
+</ul></div></B_galerieaudio>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-articles.html	(revision 198)
@@ -0,0 +1,24 @@
+#CACHE{0}
+<B_listearticles>
+<div id="recherche-articles" class="listagebloc">
+<h2><:resultat_recherche_articles:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){recherche}{par points}{inverse}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-breves.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-breves.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-breves.html	(revision 198)
@@ -0,0 +1,24 @@
+#CACHE{0}
+<B_listebreve>
+<div id="recherche-breve" class="listagebloc">
+<h2><:resultat_recherche_breves:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listebreve(BREVES){recherche}{par points}{inverse}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_BREVE"><:suite:></a></p>
+</li>
+</BOUCLE_listebreve>
+</ul>
+</div>
+</B_listebreve>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-documents.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-documents.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-documents.html	(revision 198)
@@ -0,0 +1,26 @@
+<B_doc><div id="galerie-audio" class="listagebloc">
+<a name="audio"></a>
+<h2>MP3</h2>
+<ul class="listageconteneur">
+<BOUCLE_doc(DOCUMENTS){id_mot=#ENV{id_mot}}{extension==mp3}{par num titre}{par id_document}>
+<li>
+<?php 
+$largeur=[(#ENV{conteneur}|=={1}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={2}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={3}|?{' ',''})#LARGEUR_CORPS];
+if ($largeur > 290) { $largeur=290; }
+?>
+<h4 class="listagetitre">[(#TITRE|supprimer_numero|sinon{<:pas_de_titre:>})]</h4>
+<object type="application/x-shockwave-flash" data="#CHEMIN{swf/pixplayer.swf}" id="audioplayer#ID_DOCUMENT" height="24" width="<?php echo $largeur; ?>">
+<param name="wmode" value="opaque">
+<param name="movie" value="#CHEMIN{swf/pixplayer.swf}">
+<param name="FlashVars" value="playerID=#ID_DOCUMENT&amp;bg=0xf8f8f8&amp;leftbg=0xeeeeee&amp;lefticon=0x666666&amp;rightbg=0xcccccc&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=[(#URL_DOCUMENT)]">
+<param name="quality" value="high">
+<param name="menu" value="false">
+<param name="bgcolor" value="#FFFFFF">
+</object>
+[<p class="listagetexte">(#DESCRIPTIF|ptobr)</p>]
+<p class="listageinfo"><a href="#URL_SITE_SPIP/[(#URL_DOCUMENT)]"><:telecharger_le_son:></a></p>
+</li>
+</BOUCLE_doc>
+</ul>
+</div>
+</B_doc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-forums.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-forums.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-forums.html	(revision 198)
@@ -0,0 +1,16 @@
+#CACHE{0}
+<B_listeforums>
+<!-- il manque la boucle d'exclusion -->
+<div id="recherche-forums" class="listagebloc">
+<h2><:resultat_recherche_forums:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listeforums(FORUMS){recherche}{par points}{inverse}>
+<li>
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#TEXTE|couper{200}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p>
+</li>
+</BOUCLE_listeforums>
+</ul>
+</div>
+</B_listeforums>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-head.html	(revision 198)
@@ -0,0 +1,9 @@
+#CACHE{0}<div id="header">
+<div class="texteheader">
+<h1><:recherche:></h1>
+</div>
+<p class="clearer_header"></p>
+</div>
+<div id="texteconteneur">
+<p class="texte"><:resultat_pour:> &#171;&nbsp;#RECHERCHE&nbsp;&#187;</p>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-liens.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-liens.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-liens.html	(revision 198)
@@ -0,0 +1,16 @@
+#CACHE{0}
+<B_listeliens>
+<div id="recherche-liens" class="listagebloc">
+<h2><:resultat_recherche_liens:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listeliens(SITES){recherche}{par points}{inverse}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_SITE">[(#NOM_SITE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|couper{200}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_MOT"><:suite:></a></p>
+</li>
+</BOUCLE_listeliens>
+</ul>
+</div>
+</B_listeliens>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-mots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-mots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-mots.html	(revision 198)
@@ -0,0 +1,17 @@
+#CACHE{0}
+<B_listemots>
+<div id="recherche-mots" class="listagebloc">
+<h2><:resultat_recherche_mots:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listemots(MOTS){recherche}{par points}{inverse}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_mot}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+
+[<p class="listagetexte">(#DESCRIPTIF|couper{200}|supprimer_tags)</p>]
+<p class="listagesuite"><a href="#URL_MOT"><:suite:></a></p>
+</li>
+</BOUCLE_listemots>
+</ul>
+</div>
+</B_listemots>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-rubriques.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-rubriques.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/recherche/recherche-rubriques.html	(revision 198)
@@ -0,0 +1,14 @@
+#CACHE{0}
+<B_listesousrub>
+<div id="recherche-rubriques" class="listagebloc">
+<h2><:resultat_recherche_rubriques:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesousrub(RUBRIQUES){recherche}{par points}{inverse}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_rubrique}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{#INTRODUCTION}|supprimer_tags)</p>]
+</li>
+</BOUCLE_listesousrub></ul>
+</div>
+</B_listesousrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rechercher.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rechercher.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rechercher.html	(revision 198)
@@ -0,0 +1,6 @@
+[<div id="bloc-recherche" class="listagebloc">
+<h2><:recherche:></h2>
+<ul class="listageconteneur">
+<li>(#FORMULAIRE_RECHERCHE)</li>
+</ul>
+</div>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/reseau.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/reseau.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/reseau.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_increseau(SPIP_ARTY_PARAMETRES){parametre=bloc_reseau}{valeur==true}>
+<!--Bloc reseau-->
+<div id="reseau-magusine" class="listagebloc">
+    <h2><:le_reseau_magusine:></h2>
+    <ul class="listageconteneur">
+	<li>
+	<a href="spip.php?page=reseau"><img src="http://www.magunews.net/magusine-inc/reseau.png" alt="reseau magusine" title="une page sur le reseau magusine"/></a><br />
+	<span><:consulter_page_partenaires:></span>
+  </li>
+  </ul>
+</li>
+</BOUCLE_increseau>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/agenda-par-mois.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/agenda-par-mois.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/agenda-par-mois.html	(revision 198)
@@ -0,0 +1,35 @@
+<B_article>
+<BOUCLE_cachearts(ARTICLES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="agenda" class="listagebloc">
+<BOUCLE_article(ARTICLES){id_rubrique}{par date}>
+
+<BOUCLE_premierdumois(ARTICLES){id_article}{doublons}{doublons cacher}>
+<h2> [(#DATE|nom_mois|majuscules)] [(#DATE|annee)] </h2>
+<ul class="listageconteneur">
+
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 [class="(#EDIT{titre})"]>[(#TITRE|supprimer_numero)]</h4>
+<p class="listageinfo">[(#DATE|jour)]/[(#DATE|mois)]</p>
+<p class="listagetexte #EDIT{texte}">[(#CHAPO)<br />][(#TEXTE|couper{300})]</p>
+
+[(#TEXTE|strlen|>={300}|?{' ',''})
+<p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p>]
+
+</li>
+</BOUCLE_premierdumois>
+
+<BOUCLE_MOIS(ARTICLES){id_rubrique}{mois_relatif=0}{doublons}{par date}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 [class="(#EDIT{titre})"]>[(#TITRE|supprimer_numero)]</h4>
+<p class="listageinfo">[(#DATE|jour)]/[(#DATE|mois)]</p>
+<p class="listagetexte #EDIT{titre}">[(#CHAPO)<br />][(#TEXTE|couper{300})]</p>
+[(#TEXTE|strlen|>={300}|?{' ',''})
+<p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p>]</li>
+</BOUCLE_MOIS>
+
+</ul>
+</BOUCLE_article>
+</div>
+</B_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/aide_admin_rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/aide_admin_rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/aide_admin_rubrique.html	(revision 198)
@@ -0,0 +1,15 @@
+<?php if ($auteur_session) { ?>
+<div id="bloc-aide-redaction" class="listagebloc">
+<h2><:aide_redaction:></h2>
+<ul class="listageconteneur">
+<li><h4 class="listagetitre"><:ecrire:acces_admin:></h4>
+<div class="listagetexte"><a href="ecrire/?exec=rubriques_edit&id_rubrique=#ID_RUBRIQUE"><:spip:admin_modifier_rubrique:></a></div>
+<div class="listagetexte"><a href="ecrire/?exec=articles_edit&id_rubrique=#ID_RUBRIQUE&new=oui"><:spip:icone_ecrire_article:></a></div>
+<div class="listagetexte"><a href="ecrire/?exec=breves_edit&id_rubrique=#ID_RUBRIQUE&new=oui"><:spip:icone_ecrire_breve:></a></div>
+<div class="listagetexte"><a href="?exec=sites_edit&id_rubrique=#ID_RUBRIQUE"><:sites_web:></a></div>
+</li>
+<li><h4 class="listagetitre"><:spip:info_documents:></h4>
+<div class="listagetexte">[(#ID_RUBRIQUE|afficher_documents_colonne)]</div>
+</li>
+</ul>
+</div><?php } ?>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/bloc_proposer_lien.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/bloc_proposer_lien.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/bloc_proposer_lien.html	(revision 198)
@@ -0,0 +1,8 @@
+[<div id="proposer-site" class="listagebloc">
+<h2><:proposer_un_site:></h2>
+<ul class="listageconteneur">
+<li>
+(#FORMULAIRE_SITE)
+</li>
+</ul>
+</div>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_head.html	(revision 198)
@@ -0,0 +1,29 @@
+<BOUCLE_head_article(ARTICLES){id_rubrique}{par num titre, titre}{0,1}>
+<div id="header">
+[(#LOGO_ARTICLE|!={}|?{' ',''})<div class="logo #EDIT{logo}">[(#INCLURE{fond=formatage_logo}{id_article}{conteneur=#ENV{conteneur}})]</div>]
+
+<div class="texteheader">
+[<p class="sursoustitre surtitre #EDIT{surtitre}">(#SURTITRE)</p>]
+[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+[<p class="sursoustitre soustitre #EDIT{soustitre}">(#SOUSTITRE)</p>]
+
+<!-- traduction de l'article -->
+<B_traductions><p class="dateauteurs traductions"><BOUCLE_traductions(ARTICLES){traduction}{exclus}>
+[<:voir_traduction:> <a href="#URL_ARTICLE&lang=#LANG" dir="#LANG_DIR">(#LANG|traduire_nom_langue)</a>]
+</BOUCLE_traductions></p></B_traductions>
+
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '<p class="dateauteurs">'; } ?></BOUCLE_montrediv>
+
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" or "#VALEUR2") { echo '</p>'; } ?></BOUCLE_montrediv2>
+
+</div>
+<p class="clearer_header"></p>
+</div>
+</BOUCLE_head_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/dernier_article_texte.html	(revision 198)
@@ -0,0 +1,50 @@
+<BOUCLE_texte_article(ARTICLES){id_rubrique}{par num titre, titre}{0,1}>
+<div id="texteconteneur">
+[<div class="chapeau #EDIT{chapo}">(#CHAPO)</div>]
+<div class="#EDIT{texte} texte">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+[<p class="listagesite" #EDIT{nom_site}><strong><:voir_en_ligne:></strong> <a href="#URL_SITE" target="_blank">(#NOM_SITE)</a></p>]
+[<div class="ps #EDIT{ps}"><strong><:ps:>:</strong> (#PS)</div>]
+[<div class="ps notes #EDIT{notes}"><strong><:notes:>:</strong> (#NOTES)</div>]
+[<p class="listagerepondre"><a id="lien_forum" href="spip.php?page=forum&amp;(#PARAMETRES_FORUM)"><:repondre_article:></a></p>]
+</div>
+<BOUCLE_siself(SPIP_ARTY_PARAMETRES){parametre=config_forum}{valeur=true}>
+
+<script type="text/javascript">
+$(document).ready(function(){
+		$("#intervention_forum").hide();
+		$("#lien_forum").attr("href","javascript:montrele('#intervention_forum')");
+		
+		// cache tous les forums de la page
+		<BOUCLE_forumsliste(FORUMS){id_article}{plat}>
+		$("#intervention_forum#ID_FORUM").hide();
+		$("#lien_forum#ID_FORUM").attr("href","javascript:montrele('#intervention_forum#ID_FORUM')");
+		</BOUCLE_forumsliste>
+		
+		
+		$(".previsu").each(function(){
+		$("#intervention_forum<?php echo $_POST['id_forum']; ?>").show();
+		});
+		
+		$(".formulaire_forum .cachable").hide();
+		$(".formulaire_forum legend").css("cursor","pointer");
+
+		
+		$(".formulaire_forum legend").click( function() { 
+			$(this).siblings(".cachable").each(function(){
+				$(this).toggle();
+			});
+			});
+		
+});
+</script>
+
+<!-- intervenir dans le forum -->
+[<div id="intervention_forum">
+(#FORMULAIRE_FORUM)
+</div>]
+</BOUCLE_siself>
+</BOUCLE_texte_article>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_articles_rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_articles_rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_articles_rubrique.html	(revision 198)
@@ -0,0 +1,29 @@
+<BOUCLE_cacher_edito(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}>[(#VALEUR|=={true}|?{' ',''})]</BOUCLE_cacher_edito>
+<BOUCLE_param_rubrique_edito(SPIP_ARTY_PARAMASSOC){param=edito}>
+<BOUCLE_edito_rub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{doublons cacher}>
+<BOUCLE_articles_edito_rub(ARTICLES){id_rubrique}{doublons cacher}> </BOUCLE_articles_edito_rub>
+</BOUCLE_edito_rub>
+<BOUCLE_edito_art(ARTICLES){id_article=#ID_ARTICLE}{lang}{doublons cacher}> </BOUCLE_edito_art>
+</BOUCLE_param_rubrique_edito>
+</B_cacher_edito>
+<BOUCLE_recuprub(RUBRIQUES){id_rubrique}>
+<B_lastarts>
+<div id="dernarticles" class="listagebloc">
+<h2><:derniers_articles_rubrique:></h2>    
+<ul class="listageconteneur">
+<BOUCLE_lastarts(ARTICLES){branche}{par date}{inverse}{0,#ENV{parametre}}{doublons cacher}{lang}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+[<h4 class="listagetitre"><a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a></h4>]
+<p class="listageinfo"><strong><:rubrique:> <BOUCLE_laruborig(RUBRIQUES){id_rubrique}><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></BOUCLE_laruborig></strong>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+</p>
+[<p class="listagetexte">(#INTRODUCTION|couper{220})</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li></BOUCLE_lastarts>
+</ul>
+</div>
+</B_lastarts>
+</BOUCLE_recuprub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_liens_branche.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_liens_branche.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/derniers_liens_branche.html	(revision 198)
@@ -0,0 +1,29 @@
+#SET{liens, #ARRAY{0,0}}
+<BOUCLE_lesliens(RUBRIQUES){id_rubrique}>
+<BOUCLE_liens(SITES){id_rubrique}>#SET{liens,#GET{liens}|array_merge{#ARRAY{#ID_SYNDIC,#ID_SYNDIC}}}</BOUCLE_liens>
+<BOUCLE_srub(RUBRIQUES){id_parent}>
+<BOUCLE_liens2(SITES){id_rubrique}>#SET{liens,#GET{liens}|array_merge{#ARRAY{#ID_SYNDIC,#ID_SYNDIC}}}</BOUCLE_liens2>
+<BOUCLE_ssrb(boucle_srub)></BOUCLE_ssrb>
+</BOUCLE_srub>
+
+</BOUCLE_lesliens>
+<B_lastarts>
+<div id="dernliens" class="listagebloc dernliens-branche">
+<h2><:derniers_liens:></h2>    
+<ul class="listageconteneur">
+<BOUCLE_lastarts(SITES){!par date}{0,#ENV{parametre}}{id_syndic IN #GET{liens}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+
+[<h4 class="listagetitre #EDIT{nom_site}"><a href="#URL_SITE">(#NOM_SITE|supprimer_numero)</a></h4>]
+
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<p class="listageinfo"><:rubrique:> <BOUCLE_larub(RUBRIQUES){id_rubrique}>[(#TITRE|supprimer_numero)]</BOUCLE_larub>, <:Propose_le:> [(#DATE|affdate)]</p>
+</BOUCLE_date>
+
+[<p class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|couper{120})</p>]
+</li>
+
+</BOUCLE_lastarts></ul>
+</div>
+</B_lastarts>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/edito_rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/edito_rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/edito_rubrique.html	(revision 198)
@@ -0,0 +1,25 @@
+<BOUCLE_selectrub(RUBRIQUES){id_rubrique}>
+<B_edito>
+<!-- edito -->
+<BOUCLE_edito(RUBRIQUES){id_parent}{titre=#ENV{parametre}}{0,1}>
+	<BOUCLE_lastedito(ARTICLES){id_rubrique}{par date}{inverse}{0,1}>
+	<div id="rubrique-une" class="listagebloc">
+    <h2>[(#_edito:TITRE|supprimer_numero)]</h2>	
+	[(#LOGO_ARTICLE|!={}|?{' ',''})<div class="logo"><INCLURE{fond=formatage_logo}{id_article}{conteneur=#ENV{conteneur}}></div>]
+	<div class="texteheader">
+	[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+	[<div class="chapeau">(#CHAPO)</div>]
+	<div class="texte #EDIT{texte}">
+	[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+	[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+	[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+	</div>
+	[<div class="ps">(#PS)</div>]
+	<div class="listagesuite"><a href="#URL_RUBRIQUE"><:voir_les_autres_unes:></a></div>
+	</div>
+	</div>
+     </BOUCLE_lastedito>
+</BOUCLE_edito>
+<!-- fin de l'edito --> 
+</B_edito>
+</BOUCLE_selectrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-agenda.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-agenda.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-agenda.html	(revision 198)
@@ -0,0 +1,9 @@
+[(#ENV{parametre}|=={par_mois}|?{' ',''})
+<INCLURE{fond=agenda-par-mois}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={par_semaine}|?{' ',''})
+<INCLURE{fond=agenda-par-semaine}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={par_jour}|?{' ',''})
+<INCLURE{fond=agenda-par-jour}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardate.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardate.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardate.html	(revision 198)
@@ -0,0 +1,25 @@
+<BOUCLE_cachearts(ARTICLES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<B_listearticles>
+<div id="artinrub" class="listagebloc">
+<h2><:articles_rubrique:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par num titre}{par date}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<div class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</div>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardateinverse.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardateinverse.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-pardateinverse.html	(revision 198)
@@ -0,0 +1,24 @@
+<B_listearticles>
+<BOUCLE_cachearts(ARTICLES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="artinrub" class="listagebloc">
+<h2><:articles_rubrique:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par num titre}{!par date}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_ARTICLE" title="[(#SOUSTITRE|sinon{[(#DATE|affdate)]})]">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-partitre.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-partitre.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles-partitre.html	(revision 198)
@@ -0,0 +1,24 @@
+<B_listearticles>
+<BOUCLE_cachearts(ARTICLES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="artinrub" class="listagebloc">
+<h2><:articles_rubrique:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par num titre}{par titre}{par num titre}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-articles.html	(revision 198)
@@ -0,0 +1,9 @@
+[(#ENV{parametre}|=={par titre}|?{' ',''})
+<INCLURE{fond=liste-articles-partitre}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={par date}|?{' ',''})
+<INCLURE{fond=liste-articles-pardate}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={par date inverse}|?{' ',''})
+<INCLURE{fond=liste-articles-pardateinverse}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-newstickers.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-newstickers.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-newstickers.html	(revision 198)
@@ -0,0 +1,20 @@
+<script type="text/javascript" src="#CHEMIN{javascript/news-sticker.js}"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+$("#news").newsticker();
+});
+</script>
+<ul class="listageconteneur" id="news">
+<BOUCLE_lesnews(BREVES){!par date}{0,15}{lang}{id_rubrique}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{mise_en_page=#ENV{mise_en_page}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<p class="listagetexte #EDIT{texte}">[(#TEXTE|couper{200})]</p>
+[<p class="listagelien #EDIT{nom_site}"><a href="#URL_SITE">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+<li><:pas_de_news:></li>
+<//B_lesnews>
+
+</ul>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-standard.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-standard.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves-standard.html	(revision 198)
@@ -0,0 +1,11 @@
+<ul class="listageconteneur">
+<BOUCLE_lesnews(BREVES){!par date}{id_rubrique}{0,#ENV{parametre}}{lang}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<p class="listagetexte #EDIT{texte}">[(#TEXTE|couper{200})]</p>
+[<p class="listagelien"><a href="#URL_SITE #EDIT{nom_site}">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+</ul>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-breves.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_isnews(BREVES){id_rubrique}{0,1}>
+<div id="liste-news" class="listagebloc">
+<h2><:breves:></h2>
+[(#ENV{parametre}|=={news-sticker}|?{' ',''})
+<INCLURE{fond=liste-breves-newstickers}{parametre=#ENV{parametre}}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|!={news-sticker}|?{' ',''})
+<INCLURE{fond=liste-breves-standard}{parametre=#ENV{parametre}}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+</div>
+</B_lesnews>
+</BOUCLE_isnews>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-index.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-index.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-index.html	(revision 198)
@@ -0,0 +1,10 @@
+<B_listesites>
+<div id="index-sites" class="listagebloc">
+<h2><:index_rubriques:></h2>
+<ul class="listageconteneur">
+<li><div class="listagetitre"><BOUCLE_listesites(RUBRIQUES){id_parent=#ID_RUBRIQUE}{par num titre}{par titre}{"<br />"}>
+<a href="#rub#ID_RUBRIQUE">[(#TITRE|supprimer_numero)]</a>
+</BOUCLE_listesites></div></li>
+</ul>
+</div>
+</B_listesites>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-parrubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-parrubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-parrubrique.html	(revision 198)
@@ -0,0 +1,38 @@
+<B_listesitesr>
+<div id="sites0" class="sites listagebloc">
+<h2><BOUCLE_letitre(RUBRIQUES){id_rubrique}>[(#TITRE|supprimer_numero)]</BOUCLE_letitre> <span><BOUCLE_compte1(SITES){id_rubrique}></BOUCLE_compte1>(#TOTAL_BOUCLE <:liens:>)<//B_compte1></span></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesitesr(SITES){id_rubrique}{par num nom_site,nom_site}{par #ENV{parametre}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{nom_site}"><a href="#URL_SITE">[(#NOM_SITE|supprimer_numero)]</a></h4>
+[<div class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF)</div>]
+<B_autresmots><div class="listageinfo"><BOUCLE_autresmots(MOTS){id_syndic}{" - "}><a href="#URL_MOT">#TITRE</a></BOUCLE_autresmots></div></B_autresmots>
+[<p class="listageinfo"><a href="(#URL_SYNDIC)"><:backend_site:></a></p>]
+</li>
+</BOUCLE_listesitesr>
+</ul>
+</div>
+</B_listesitesr>
+
+<BOUCLE_scannerub(RUBRIQUES){id_parent=#ID_RUBRIQUE}{par num titre}{par titre}>
+<B_listesites>
+<div id="sites#COMPTEUR_BOUCLE" class="sites listagebloc">
+<a name="rub#ID_RUBRIQUE"></a>
+<h2>[(#TITRE|supprimer_numero)] <span><BOUCLE_compte(SITES){id_rubrique}></BOUCLE_compte>(#TOTAL_BOUCLE <:liens:>)<//B_compte></span></h2>
+<ul class="listageconteneur">
+[<li><div class="listageinfo titrerubrique">(#TEXTE)</div></li>]
+<BOUCLE_listesites(SITES){id_rubrique}{par num nom_site,nom_site}{par #ENV{parametre}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{nom_site}"><a href="#URL_SITE">[(#NOM_SITE|supprimer_numero)]</a></h4>
+[<div class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF)</div>]
+<B_autresmots2><div class="listageinfo"><BOUCLE_autresmots2(MOTS){id_syndic}{" - "}><a href="#URL_MOT">#TITRE</a></BOUCLE_autresmots2></div></B_autresmots2>
+[<p class="listageinfo"><a href="(#URL_SYNDIC)"><:backend_site:></a></p>]
+</li>
+</BOUCLE_listesites>
+</ul>
+</div>
+</B_listesites>
+
+</BOUCLE_scannerub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-partitredate.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-partitredate.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens-partitredate.html	(revision 198)
@@ -0,0 +1,16 @@
+<B_listesites>
+<BOUCLE_cachearts(SITES){id_rubrique}{titre_mot=cacher}{doublons cacher}></BOUCLE_cachearts>
+<div id="sites0" class="sites listagebloc">
+<h2><:liste_sites:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesites(SITES){id_rubrique}{par num nom_site}{par #ENV{parametre}}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{nom_site}"><a href="#URL_SITE">[(#NOM_SITE|supprimer_numero)]</a></h4>
+[<div class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF)</div>]
+[<p class="listageinfo"><a href="(#URL_SYNDIC)"><:backend_site:></a></p>]
+</li>
+</BOUCLE_listesites>
+</ul>
+</div>
+</B_listesites>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-liens.html	(revision 198)
@@ -0,0 +1,9 @@
+[(#ENV{parametre}|=={par_titre}|?{' ',''})
+<INCLURE{fond=liste-liens-partitredate}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=nom_site}>
+]
+[(#ENV{parametre}|=={par_date}|?{' ',''})
+<INCLURE{fond=liste-liens-partitredate}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=date}>
+]
+[(#ENV{parametre}|=={par_rubrique}|?{' ',''})
+<INCLURE{fond=liste-liens-parrubrique}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-pardate.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-pardate.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-pardate.html	(revision 198)
@@ -0,0 +1,13 @@
+<B_listesousrub>
+<div id="rubinrub" class="listagebloc">
+<h2><:rubriques_rubrique:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesousrub(RUBRIQUES){id_parent}{!par date}{doublons cacher}>
+<li><a name="rub#ID_RUBRIQUE"></a>
+[(#INCLURE{fond=formatage_logo_liste}{id_rubrique}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{#INTRODUCTION}|supprimer_tags)</p>]
+</li>
+</BOUCLE_listesousrub></ul>
+</div>
+</B_listesousrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-partitre.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-partitre.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques-partitre.html	(revision 198)
@@ -0,0 +1,14 @@
+<BOUCLE_rubacacher(RUBRIQUES){titre_mot=cacher}{doublons cacher}></BOUCLE_rubacacher>
+<B_listesousrub>
+<div id="rubinrub" class="listagebloc">
+<h2><:rubriques_rubrique:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listesousrub(RUBRIQUES){id_parent}{par num titre}{par titre}{doublons cacher}>
+<li><a name="rub#ID_RUBRIQUE"></a>
+[(#INCLURE{fond=formatage_logo_liste}{id_rubrique}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{#INTRODUCTION}|supprimer_tags)</p>]
+</li>
+</BOUCLE_listesousrub></ul>
+</div>
+</B_listesousrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste-rubriques.html	(revision 198)
@@ -0,0 +1,5 @@
+[(#ENV{parametre}|=={par titre}|?{' ',''})
+<INCLURE{fond=liste-rubriques-partitre}{id_rubrique}{conteneur=#ENV{conteneur}}>
+][(#ENV{parametre}|=={par date}|?{' ',''})
+<INCLURE{fond=liste-rubriques-partitre}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_article_sousrubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_article_sousrubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_article_sousrubrique.html	(revision 198)
@@ -0,0 +1,27 @@
+<BOUCLE_selectrub(RUBRIQUES){id_rubrique}>
+<BOUCLE_trouvefocus(RUBRIQUES){id_parent}{titre=#ENV{parametre}}{0,1}>
+<B_listearticles>
+<div id="articles-sousrubriques" class="listagebloc">
+<h2>[(#TITRE|supprimer_numero)]</h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par num titre}{par date}{doublons cacher}>
+<li>
+<INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}}>
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<div class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</div>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
+</B_listearticles>
+</BOUCLE_trouvefocus>
+</BOUCLE_selectrub>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_articles_faq.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_articles_faq.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/liste_articles_faq.html	(revision 198)
@@ -0,0 +1,39 @@
+<BOUCLE_cachearts(ARTICLES){id_rubrique}></BOUCLE_cachearts>
+<B_listearticles>
+<div id="artinrub" class="listagebloc faq">
+<h2><:questions:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par num titre}{par titre}{doublons cacher}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre">[(#TITRE|supprimer_numero)]</h4>
+<div class="listagetexte">
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]
+</div>
+</li>
+</BOUCLE_listearticles>
+</ul>
+
+
+<script type="text/javascript">
+$(document).ready(function(){
+$(".faq .listagetexte").hide();
+	$(".faq .listagetitre").each(function(){
+	$(this).css("cursor","pointer");
+		$(this).click(function(){
+			if ($(this).next(".listagetexte").css("display")=="block") {
+			$(this).next(".listagetexte").slideUp("slow");
+			} else {
+				$(".faq .listagetexte:visible").slideUp("slow");
+				$(this).next(".listagetexte").slideDown("slow");
+			}
+		
+			
+		});
+	});
+});
+</script>
+</div>
+</B_listearticles>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-head.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-head.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-head.html	(revision 198)
@@ -0,0 +1,9 @@
+<BOUCLE_texte_rubrique(RUBRIQUES){id_rubrique}>
+<div id="header">
+[(#LOGO_RUBRIQUE|!={}|?{' ',''})<div class="logo #EDIT{logo}">[(#INCLURE{fond=formatage_logo}{id_rubrique}{conteneur=#ENV{conteneur}})]</div>]
+<div class="texteheader">
+[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+</div>
+<div class="clearer_header"></div>
+</div>
+</BOUCLE_texte_rubrique>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-articles.html	(revision 198)
@@ -0,0 +1,27 @@
+<!-- liste des articles contenus -->
+<div id="artinrub" class="listagebloc">
+<BOUCLE_premier_article(ARTICLES){id_rubrique}{par titre}{0,1}{doublons lexique}>
+[<a name="[(#TITRE|premiere_lettre)]"></a>
+<h2>(#TITRE|premiere_lettre|unique)</h2>]
+<ul class="listageconteneur">
+<li>
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+
+</li>
+</BOUCLE_premier_article>
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par titre}{doublons lexique}>
+[</ul>
+<a name="[(#TITRE|premiere_lettre)]"></a>
+<h2>(#TITRE|premiere_lettre|unique)</h2>
+<ul class="listageconteneur">]
+<li>
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE)]</a></h4>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite2>
+
+</li>
+</BOUCLE_listearticles>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-index.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-index.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-lexique-index.html	(revision 198)
@@ -0,0 +1,20 @@
+<div id="indexlexique" class="listagebloc">
+<h2><:lexique:></h2>
+<ul class="listageconteneur">
+<li>
+<?php
+$lettres = array();
+?>
+<BOUCLE_listearticles(ARTICLES){id_rubrique}{par titre}>
+<?php
+if (!in_array("[(#TITRE|premiere_lettre)]", $lettres)) {
+?>
+[<a style="font-size:140%; font-weight:bold;" href="#[(#TITRE|premiere_lettre)]">(#TITRE|premiere_lettre)</a>]
+<?php
+}
+$lettres[] = "[(#TITRE|premiere_lettre)]";
+?>
+</BOUCLE_listearticles>
+</li>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-texte.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-texte.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique-texte.html	(revision 198)
@@ -0,0 +1,5 @@
+<BOUCLE_texte_rubrique(RUBRIQUES){id_rubrique}>
+<div id="texteconteneur">
+<div class="texte #EDIT{texte}">[(#TEXTE)]</div>
+</div>
+</BOUCLE_texte_rubrique>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique_podcast.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique_podcast.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/rubrique/rubrique_podcast.html	(revision 198)
@@ -0,0 +1,12 @@
+<BOUCLE_podcast(DOCUMENTS){id_rubrique}{extension==mp3}{0,1}><div id="podcasting" class="listagebloc">
+<h2><:podacsting:></h2>
+<ul class="listageconteneur">
+<li>
+<div class="listagetexte"><:rubrique_contient_podcast:></div></li>
+<li><div class="listageinfo"><a href="#URL_SITE_SPIP/?page=spiptunes&id_rubrique=#ID_RUBRIQUE">
+<img src="#CHEMIN{images/rsspodcast.gif}"></a></div></li>
+<li><div class="listageinfo"><a href="[(#URL_SITE_SPIP|lienitunes)]/?page=spiptunes&id_rubrique=#ID_RUBRIQUE">
+<img src="#CHEMIN{images/itunespodcast.gif}"></a></div></li>	
+</li>
+</ul>
+</div></BOUCLE_podcast>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/articles-une.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/articles-une.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/articles-une.html	(revision 198)
@@ -0,0 +1,23 @@
+<BOUCLE_param_article_une(SPIP_ARTY_PARAMASSOC){param=rubart_une}>
+<BOUCLE_article(ARTICLES){id_article=#ID_ARTICLE}{lang}{0,1}>
+<div class="article-une listagebloc">
+<h2><BOUCLE_dou(RUBRIQUES){id_rubrique}><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></BOUCLE_dou></h2>
+<ul class="listageconteneur">
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</ul>
+</div>
+</BOUCLE_article>
+</BOUCLE_param_article_une>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-articles.html	(revision 198)
@@ -0,0 +1,30 @@
+<BOUCLE_cacher_edito(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}>[(#VALEUR|=={true}|?{' ',''})]</BOUCLE_cacher_edito>
+<BOUCLE_param_rubrique_edito(SPIP_ARTY_PARAMASSOC){param=edito}>
+<BOUCLE_edito_rub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{doublons cacher}>
+<BOUCLE_articles_edito_rub(ARTICLES){id_rubrique}{doublons cacher}> </BOUCLE_articles_edito_rub>
+</BOUCLE_edito_rub>
+<BOUCLE_edito_art(ARTICLES){id_article=#ID_ARTICLE}{lang}{doublons cacher}> </BOUCLE_edito_art>
+</BOUCLE_param_rubrique_edito>
+</B_cacher_edito>
+
+<B_lastarts>
+<div id="dernarticles" class="listagebloc">
+<h2><:derniers_articles:></h2>    
+<ul class="listageconteneur">
+<BOUCLE_lastarts(ARTICLES){par date}{inverse}{0,#ENV{parametre}}{doublons cacher}{lang}>
+
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+[<h4 class="listagetitre"><a href="#URL_ARTICLE">(#TITRE|supprimer_numero)</a></h4>]
+<p class="listageinfo"><strong><:rubrique:> <BOUCLE_laruborig(RUBRIQUES){id_rubrique}><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></BOUCLE_laruborig></strong>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<strong>[<:le_date:> (#DATE|affdate)]</strong> 
+</BOUCLE_date>
+</p>
+[<p class="listagetexte">(#INTRODUCTION|couper{220})</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+
+</BOUCLE_lastarts></ul>
+</div>
+</B_lastarts>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-forums.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-forums.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-forums.html	(revision 198)
@@ -0,0 +1,12 @@
+<B_lastforums><div id="derniers-forums" class="listagebloc">
+<h2><:derniers_forums:></h2>
+<ul class="listageconteneur">
+<BOUCLE_lastforums(FORUMS){!par date}{0,#ENV{parametre}}{plat}>
+<li>
+<h4 class="listagetitre"><a href="#URL_ARTICLE#forums">#TITRE</a></h4>
+<div class="listageinfo">[(#DATE|affdate)][, <:par_auteur:> <a href="mailto:#EMAIL">(#NOM)</a>]</div>
+<p class="listagetexte">[(#TEXTE|couper{220})]</p>
+</li>
+</BOUCLE_lastforums>
+</ul>
+</div></B_lastforums>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-liens.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-liens.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/derniers-liens.html	(revision 198)
@@ -0,0 +1,16 @@
+<B_lastarts>
+<div id="dernliens" class="listagebloc">
+<h2><:derniers_liens:></h2>    
+<ul class="listageconteneur">
+<BOUCLE_lastarts(SITES){par date}{inverse}{0,#ENV{parametre}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_syndic}{conteneur=#ENV{conteneur}})]
+[<h4 class="listagetitre #EDIT{nom_site}"><a href="#URL_SITE">(#NOM_SITE|supprimer_numero)</a></h4>]
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+<p class="listageinfo"><:Propose_le:> [(#DATE|affdate)] :</p>
+</BOUCLE_date>
+[<p class="listagetexte #EDIT{descriptif}">(#DESCRIPTIF|couper{120})</p>]
+</li>
+</BOUCLE_lastarts></ul>
+</div>
+</B_lastarts>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/editorial.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/editorial.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/editorial.html	(revision 198)
@@ -0,0 +1,51 @@
+<!-- texte lui-meme -->
+[(#REM) Boucle qui va chercher dans la db les rubriques associees a l'edito ]
+<BOUCLE_param_rubrique_edito(SPIP_ARTY_PARAMASSOC){param=edito}>
+<B_edito>
+<!-- edito -->
+<BOUCLE_edito(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{0,1}>
+	<BOUCLE_lastedito(ARTICLES){id_rubrique}{par date}{inverse}{0,1}>
+
+	<div id="edito" class="listagebloc">
+    <h2>[(#_edito:TITRE|supprimer_numero)]</h2>
+	
+	[(#LOGO_ARTICLE|!={}|?{' ',''})<div class="logo">[(#INCLURE{fond=formatage_logo}{id_article}{conteneur=#ENV{conteneur}})]</div>]
+
+	<div class="texteheader">
+	[<h1 class="#EDIT{titre}">(#TITRE|supprimer_numero)</h1>]
+	[<div class="chapeau #EDIT{chapo}">(#CHAPO)</div>]
+	<div class="texte #EDIT{texte}">[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]</div>
+	[<div class="ps">(#PS)</div>]
+	<BOUCLE_autres(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}{valeur2=true}><div class="listagesuite"><a href="#URL_RUBRIQUE"><:voir_autres_editos:></a></div></BOUCLE_autres>
+	</div>
+	</div>
+     </BOUCLE_lastedito>
+</BOUCLE_edito>
+<!-- fin de l'edito --> 
+</B_edito>
+<BOUCLE_editoart(ARTICLES){id_article=#ID_ARTICLE}{lang}{0,1}>
+
+	<div id="edito" class="listagebloc">
+    <h2>[(#_edito:TITRE|supprimer_numero)]</h2>
+	
+[(#LOGO_ARTICLE|!={}|?{' ',''})<div class="logo">[(#INCLURE{fond=formatage_logo}{id_article}{conteneur=#ENV{conteneur}})]</div>]
+
+	<div class="texteheader">
+	[<h1>(#TITRE|supprimer_numero)</h1>]
+	[<div class="chapeau">(#CHAPO)</div>]
+	<div class="texte">[(#ENV{conteneur}|=={1}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#TEXTE|image_reduire{#LARGEUR_CORPS,0})]]</div>
+	[<div class="ps">(#PS)</div>]
+	<BOUCLE_autres2(SPIP_ARTY_PARAMETRES){parametre=cacher_edito}{valeur2=true}><div class="listagesuite"><a href="#URL_RUBRIQUE"><:voir_autres_editos:></a></div></BOUCLE_autres2>
+<?php
+$doublons[] = "#ID_ARTICLE";
+?>
+
+	</div>
+	</div>
+</BOUCLE_editoart>
+<//B_edito>
+</BOUCLE_param_rubrique_edito>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/image-hasard.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/image-hasard.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/image-hasard.html	(revision 198)
@@ -0,0 +1,41 @@
+#SET{bonidrub,0}
+#SET{bonidrubart, 0}
+#SET{bonidart, 0}
+<BOUCLE_chequeparam(SPIP_ARTY_PARAMASSOC){param=image-hasard}>
+<BOUCLE_selectrub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>
+<BOUCLE_listimage(DOCUMENTS){mode=document}{id_rubrique}{extension==jpg|gif|png}{par hasard}{0,1}>
+#SET{bonidrub, #ID_DOCUMENT}
+</BOUCLE_listimage>
+<BOUCLE_selectartrub(ARTICLES){branche}{par hasard}>
+<BOUCLE_listimage2(DOCUMENTS){id_article}{mode=document}{extension==jpg|gif|png}{par hasard}{0,1}>
+#SET{bonidrubart, #ID_DOCUMENT} 
+</BOUCLE_listimage2>
+</BOUCLE_selectartrub>
+</BOUCLE_selectrub>
+<BOUCLE_selectart(ARTICLES){id_article=#ID_ARTICLE}>
+<BOUCLE_listimage3(DOCUMENTS){id_article}{mode=document}{extension==jpg|gif|png}{par hasard}{0,1}>
+#SET{bonidart, #ID_DOCUMENT}
+</BOUCLE_listimage3>
+</BOUCLE_selectart>
+</BOUCLE_chequeparam>
+<B_listeca>
+<div id="image-hasard" class="listagebloc">
+<h2><:image_hasard:></h2>
+<ul class="listageconteneur">
+<li>
+<BOUCLE_listeca(DOCUMENTS){id_document IN #GET{bonidrub},#GET{bonidrubart},#GET{bonidart}}{par hasard}{0,1}>
+[(#ENV{conteneur}|=={1}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CONTEXTE1,0})]]
+[(#ENV{conteneur}|=={2}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CONTEXTE2,0})]]
+[(#ENV{conteneur}|=={3}|?{' ',''})[(#FICHIER|image_reduire{#LARGEUR_CORPS,0})]]
+<h4>[(#TITRE|supprimer_numero|sinon{<:sans_titre:>})]</h4>
+[<p class="listageinfo">(#DESCRIPTIF)</p>]
+<BOUCLE_articlefrom(ARTICLES){id_document}>
+<p class="listageinfo"><:article_origine:> <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefrom>
+<BOUCLE_articlefromrub(RUBRIQUES){id_document}>
+<p class="listageinfo"><:rubrique_origine:> <a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefromrub>
+</BOUCLE_listeca>
+</li>
+</ul>
+</div></B_listeca>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-newsticker.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-newsticker.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-newsticker.html	(revision 198)
@@ -0,0 +1,21 @@
+<B_lesnews><div id="breves" class="listagebloc">
+<h2><:breves:></h2>
+<script type="text/javascript" src="#CHEMIN{javascript/news-sticker.js}"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+$("#liste-breves").newsticker(10000);
+});
+</script>
+<ul class="listageconteneur" id="liste-breves">
+<BOUCLE_lesnews(BREVES){!par date}{0,15}{lang}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{mise_en_page=#ENV{mise_en_page}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<p class="listagetexte">[(#TEXTE|couper{200})]</p>
+[<p class="listagelien"><a href="#URL_SITE">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+</ul>
+</div>
+</B_lesnews>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-standard.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-standard.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-breves-standard.html	(revision 198)
@@ -0,0 +1,15 @@
+<B_lesnews><div id="breves" class="listagebloc">
+<h2><:breves:></h2>
+<ul class="listageconteneur">
+<BOUCLE_lesnews(BREVES){!par date}{0,#ENV{parametre}}{lang}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<p class="listagetexte">[(#TEXTE|couper{200})]</p>
+[<p class="listagelien"><a href="#URL_SITE">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+</ul>
+</div>
+</B_lesnews>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-standard.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-standard.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-standard.html	(revision 198)
@@ -0,0 +1,20 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_quellerub(SPIP_ARTY_PARAMASSOC){param=rubrique-news}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_RUBRIQUE}}}
+</BOUCLE_quellerub>
+<B_lesnews><div id="liste-news" class="listagebloc">
+<h2><:news:></h2>
+<ul class="listageconteneur">
+
+<BOUCLE_lesnews(BREVES){!par date}{id_rubrique IN #GET{critere_in}}{0,#ENV{parametre}}{lang}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre #EDIT{titre}"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<div class="listagetexte #EDIT{texte}">[(#TEXTE|couper{200})]</div>
+[<p class="listagelien"><a href="#URL_SITE">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+</ul>
+</div>
+</B_lesnews>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-sticker.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-sticker.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-news-sticker.html	(revision 198)
@@ -0,0 +1,25 @@
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_quellerub(SPIP_ARTY_PARAMASSOC){param=rubrique-news}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_RUBRIQUE}}}
+</BOUCLE_quellerub>
+<B_lesnews><div id="liste-news" class="listagebloc">
+<h2><:news:></h2>
+<script type="text/javascript" src="#CHEMIN{javascript/news-sticker.js}"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+$("#news").newsticker();
+});
+</script>
+<ul class="listageconteneur" id="news">
+<BOUCLE_lesnews(BREVES){!par date}{0,15}{lang}{id_rubrique IN #GET{critere_in}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_breve}{mise_en_page=#ENV{mise_en_page}})]
+<h4 class="listagetitre"><a href="#URL_BREVE">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listageinfo">[(#DATE|affdate)]</p>
+<p class="listagetexte">[(#TEXTE|couper{200})]</p>
+[<p class="listagelien"><a href="#URL_SITE">(#NOM_SITE)</a></p>]
+</li>
+</BOUCLE_lesnews>
+</ul>
+</div>
+</B_lesnews>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-flv.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-flv.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-flv.html	(revision 198)
@@ -0,0 +1,47 @@
+<BOUCLE_chequeparam(SPIP_ARTY_PARAMASSOC){param=video-hasard}>
+<BOUCLE_selectrub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>
+<BOUCLE_listimage(DOCUMENTS){id_rubrique}{extension==flv}{par hasard}{0,1}>
+#SET{bonidrub, #ID_DOCUMENT}
+</BOUCLE_listimage>
+<BOUCLE_selectartrub(ARTICLES){id_rubrique}{par hasard}>
+<BOUCLE_listimage2(DOCUMENTS){id_article}{extension==flv}{par hasard}{0,1}>
+#SET{bonidrubart, #ID_DOCUMENT}
+</BOUCLE_listimage2>
+</BOUCLE_selectartrub>
+</BOUCLE_selectrub>
+<BOUCLE_selectart(ARTICLES){id_article=#ID_ARTICLE}>
+<BOUCLE_listimage3(DOCUMENTS){id_article}{extension==flv}{par hasard}{0,1}>
+#SET{bonidart, #ID_DOCUMENT}
+</BOUCLE_listimage3>
+</BOUCLE_selectart>
+</BOUCLE_chequeparam>
+<?php
+$parametre="[(#REM|sinon{videovars}|trouveintheme{''})]";
+
+$largeur=trim("[(#ENV{conteneur}|=={'1'}|?{' ',''})#LARGEUR_CONTEXTE1][(#ENV{conteneur}|=={'2'}|?{' ',''})#LARGEUR_CONTEXTE2][(#ENV{conteneur}|=={'3'}|?{' ',''})#LARGEUR_CORPS]");
+$hauteur=round(($largeur/4)*3);
+?>
+<B_listeca>
+<div id="video-hasard" class="listagebloc">
+<h2><:video_hasard:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listeca(DOCUMENTS){id_document IN #GET{bonidrub},#GET{bonidrubart},#GET{bonidart}}{par hasard}{0,1}>
+<li id="video-viewer flv">
+<embed 
+type="application/x-shockwave-flash" allowfullscreen="true"
+src="#CHEMIN{swf/flvplayer.swf}" style="" id="rotator" name="rotator" quality="high" flashvars="file=#URL_SITE_SPIP/#URL_DOCUMENT&image=#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{"src"})]&displayheight=<?php echo $hauteur; ?>&width=<?php echo $largeur; ?>&height=<?php echo $hauteur + 20; if ($parametre) { echo "&". $parametre; } ?>" 
+height="<?php echo $hauteur + 20; ?>" 
+width="<?php echo $largeur; ?>">
+[<h4><a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-galerie-video&amp;id_article=#ID_ARTICLE&amp;id_document=#ID_DOCUMENT&amp;id_compteur=(#COMPTEUR_BOUCLE|moins{1})]',740, 600);">[(#TITRE|supprimer_numero)</a></h4>]
+[<p class="listageinfo">(#DESCRIPTIF)</p>]
+<BOUCLE_articlefrom(ARTICLES){id_document}>
+<p class="listageinfo"><:article_origine:> <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefrom>
+<BOUCLE_articlefromrub(RUBRIQUES){id_document}>
+<p class="listageinfo"><:rubrique_origine:> <a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefromrub>
+</li>
+</BOUCLE_listeca>
+</ul>
+</div>
+</B_listeca>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-tous.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-tous.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/inc-video-hasard-tous.html	(revision 198)
@@ -0,0 +1,37 @@
+<BOUCLE_chequeparam(SPIP_ARTY_PARAMASSOC){param=video-hasard}>
+<BOUCLE_selectrub(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}>
+<BOUCLE_listimage(DOCUMENTS){id_rubrique}{extension==avi|mpg|mov|flv|mp4}{par hasard}{0,1}>
+#SET{bonidrub, #ID_DOCUMENT}
+</BOUCLE_listimage>
+<BOUCLE_selectartrub(ARTICLES){id_rubrique}{par hasard}>
+<BOUCLE_listimage2(DOCUMENTS){id_article}{extension==avi|mpg|mov|flv|mp4}{par hasard}{0,1}>
+#SET{bonidrubart, #ID_DOCUMENT}
+</BOUCLE_listimage2>
+</BOUCLE_selectartrub>
+</BOUCLE_selectrub>
+<BOUCLE_selectart(ARTICLES){id_article=#ID_ARTICLE}>
+<BOUCLE_listimage3(DOCUMENTS){id_article}{extension==avi|mpg|mov|flv|mp4}{par hasard}{0,1}>
+#SET{bonidart, #ID_DOCUMENT}
+</BOUCLE_listimage3>
+</BOUCLE_selectart>
+</BOUCLE_chequeparam>
+<B_listeca>
+<div id="video-hasard" class="listagebloc">
+<h2><:video_hasard:></h2>
+<ul class="listageconteneur">
+<BOUCLE_listeca(DOCUMENTS){id_document IN #GET{bonidrub},#GET{bonidrubart},#GET{bonidart}}{par hasard}{0,1}>
+<li><a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-galerie-video&amp;id_article=#ID_ARTICLE&amp;id_document=#ID_DOCUMENT&amp;id_compteur=[(#COMPTEUR_BOUCLE|moins{1})]',740, 600);" class="listagelogo">
+[(#INCLURE{fond=formatage_logo_doc}{id_document}{conteneur=#ENV{conteneur}})]</a>
+[<h4><a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-galerie-video&amp;id_article=#ID_ARTICLE&amp;id_document=#ID_DOCUMENT&amp;id_compteur=(#COMPTEUR_BOUCLE|moins{1})]',740, 600);">[(#TITRE|supprimer_numero)</a></h4>]
+[<p class="listageinfo">(#DESCRIPTIF)</p>]
+<BOUCLE_articlefrom(ARTICLES){id_document}>
+<p class="listageinfo"><:article_origine:> <a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefrom>
+<BOUCLE_articlefromrub(RUBRIQUES){id_document}>
+<p class="listageinfo"><:rubrique_origine:> <a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></p>
+</BOUCLE_articlefromrub>
+</li>
+</BOUCLE_listeca>
+</ul>
+</div>
+</B_listeca>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/liste-breves-sommaire.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/liste-breves-sommaire.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/liste-breves-sommaire.html	(revision 198)
@@ -0,0 +1,6 @@
+[(#ENV{parametre}|=={news-sticker}|?{' ',''})
+<INCLURE{fond=inc-breves-newsticker}{parametre=#ENV{parametre}}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|!={news-sticker}|?{' ',''})
+<INCLURE{fond=inc-breves-standard}{parametre=#ENV{parametre}}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-groupe.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-groupe.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-groupe.html	(revision 198)
@@ -0,0 +1,17 @@
+<BOUCLE_legroupe(GROUPES_MOTS){id_groupe=#ENV{parametre}}>
+<div id="menu-groupe" class="listagebloc">
+<h2>#TITRE</h2>
+<ul class="listageconteneur">
+<BOUCLE_lesmots(MOTS){id_groupe}{par num titre}{par titre}>
+<li>
+[(#LOGO_MOT|!={}|?{' ',''})[(#INCLURE{fond=formatage_logo_liste}{id_mot}{conteneur=#ENV{conteneur}})]]
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte">[(#TEXTE|couper{200})]</p>
+<p class="listageinfo">
+<BOUCLE_countart(ARTICLES){id_mot}></BOUCLE_countart>#TOTAL_BOUCLE <:items:><//B_countart>
+</p>
+</li>
+</BOUCLE_lesmots>
+</ul>
+</div>
+</BOUCLE_legroupe>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-langues.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-langues.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/menu-langues.html	(revision 198)
@@ -0,0 +1,3 @@
+<div id="menu-langues" class="listagebloc">
+#MENU_LANG
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/news.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/news.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/news.html	(revision 198)
@@ -0,0 +1,6 @@
+[(#ENV{parametre}|=={news-sticker}|?{' ',''})
+<INCLURE{fond=inc-news-sticker}{parametre=#ENV{parametre}}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|!={news-sticker}|?{' ',''})
+<INCLURE{fond=inc-news-standard}{parametre=#ENV{parametre}}{conteneur=#ENV{conteneur}}>
+]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-dernierart.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-dernierart.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-dernierart.html	(revision 198)
@@ -0,0 +1,26 @@
+<!-- une simple : titre + liste du dernier article -->
+<BOUCLE_param_rubrique_une(SPIP_ARTY_PARAMASSOC){param=rubart_une}>
+<BOUCLE_rubrique(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{0,1}>
+<div class="rubrique-une listagebloc">
+<h2><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h2>
+<ul class="listageconteneur">
+<BOUCLE_lesarts(ARTICLES){branche}{!par date}{0,1}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_lesarts>
+</ul>
+</div>
+</BOUCLE_rubrique>
+</BOUCLE_param_rubrique_une>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles-complet.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles-complet.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles-complet.html	(revision 198)
@@ -0,0 +1,26 @@
+<!-- une simple : titre + liste du dernier article -->
+<BOUCLE_param_rubrique_une(SPIP_ARTY_PARAMASSOC){param=rubart_une}>
+<BOUCLE_rubrique(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{0,1}>
+<div class="rubrique-une listagebloc">
+<h2><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h2>
+<ul class="listageconteneur">
+<BOUCLE_lesarts(ARTICLES){branche}{!par date}{0,#ENV{parametre}}>
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_article}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_ARTICLE">[(#TITRE|supprimer_numero)]</a></h4>
+<BOUCLE_montrediv(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '<div class="listageinfo">'; } ?></BOUCLE_montrediv>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+<BOUCLE_montrediv2(SPIP_ARTY_PARAMETRES){parametre=date_auteur}><?php if("#VALEUR" == "true" or "#VALEUR2" == "true") { echo '</div>'; } ?></BOUCLE_montrediv2>
+[<p class="listagetexte">(#DESCRIPTIF|sinon{[(#INTRODUCTION|couper{200})]}|supprimer_tags)</p>]
+<BOUCLE_suite(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur3=true}><p class="listagesuite"><a href="#URL_ARTICLE"><:suite:></a></p></BOUCLE_suite>
+</li>
+</BOUCLE_lesarts>
+</ul>
+</div>
+</BOUCLE_rubrique>
+</BOUCLE_param_rubrique_une>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une-n-articles.html	(revision 198)
@@ -0,0 +1,28 @@
+<!-- une simple : titre + liste du dernier article -->
+<BOUCLE_param_rubrique_une(SPIP_ARTY_PARAMASSOC){param=rubart_une}>
+<BOUCLE_rubrique(RUBRIQUES){id_rubrique=#ID_RUBRIQUE}{lang}{0,1}>
+<div class="rubrique-une listagebloc">
+<h2><a href="#URL_RUBRIQUE">[(#TITRE|supprimer_numero)]</a></h2>
+[<li><div class="listagetexte">(#DESCRIPTIF|sinon{#INTRODUCTION})</div></li>]
+<ul class="listageconteneur">
+<li>
+[(#INCLURE{fond=formatage_logo_liste}{id_rubrique}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_RUBRIQUE"><:derniers_articles:></a></h4>
+
+<BOUCLE_lesarts(ARTICLES){branche}{!par date}{0,#ENV{parametre}}>
+<p class="listageinfo">
+<a href="#URL_ARTICLE" class="titre-art-une">[(#TITRE|SUPPRIMER_NUMERO)]</a>
+<BOUCLE_date(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur=true}>
+[<span class='listagedate'><:le_date:> (#DATE|affdate)</span>]
+</BOUCLE_date>
+<BOUCLE_auteur(SPIP_ARTY_PARAMETRES){parametre=date_auteur}{valeur2=true}>
+<B_aut><:par:> <BOUCLE_aut(AUTEURS){id_article}{par nom}{", "}><a href="#URL_AUTEUR">#NOM</a></BOUCLE_aut>
+</BOUCLE_auteur>
+</p>
+
+</BOUCLE_lesarts>
+</li>
+</ul>
+</div>
+</BOUCLE_rubrique>
+</BOUCLE_param_rubrique_une>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/rubriques-une.html	(revision 198)
@@ -0,0 +1,22 @@
+[(#ENV{parametre}|=={simple_3}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=3}>
+]
+[(#ENV{parametre}|=={simple_5}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=5}>
+]
+[(#ENV{parametre}|=={simple_10}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=5}>
+]
+[(#ENV{parametre}|=={1}|?{' ',''})
+<INCLURE{fond=rubriques-une-dernierart}{id_rubrique}{conteneur=#ENV{conteneur}}>
+]
+[(#ENV{parametre}|=={3}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles-complet}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=3}>
+]
+[(#ENV{parametre}|=={5}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles-complet}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=5}>
+]
+[(#ENV{parametre}|=={10}|?{' ',''})
+<INCLURE{fond=rubriques-une-n-articles-complet}{id_rubrique}{conteneur=#ENV{conteneur}}{parametre=5}>
+]
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/video-hasard.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/video-hasard.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/sommaire/video-hasard.html	(revision 198)
@@ -0,0 +1,2 @@
+[(#ENV{parametre}|=={flv_lecteur_flash}|?{' ',''})<INCLURE{fond=inc-video-hasard-flv}{conteneur=#ENV{conteneur}}>]
+[(#ENV{parametre}|=={tous_popup}|?{' ',''})<INCLURE{fond=inc-video-hasard-tous}{conteneur=#ENV{conteneur}}>]
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/spiptunes.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/spiptunes.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/spiptunes.html	(revision 198)
@@ -0,0 +1,91 @@
+#HTTP_HEADER{Content-Type: text/xml; charset=#CHARSET}
+<?php
+        echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n";
+?>
+<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"> 
+  <channel> 
+  <BOUCLE_un_article(ARTICLES){id_article}>
+    <title>[(#TITRE|textebrut|entites_html|entites_unicode)]</title> 
+    <itunes:author>[(#EMAIL_WEBMASTER|liens_absolus|texte_backend)]</itunes:author> 
+    <link>#URL_SITE_SPIP</link> 
+    <description>[(#DESCRIPTIF|liens_absolus|texte_backend)]</description> 
+    <itunes:subtitle>[(#SOUSTITRE|liens_absolus|texte_backend)]</itunes:subtitle> 
+    <itunes:summary>[(#DESCRIPTIF|liens_absolus|texte_backend)]</itunes:summary> 
+    <language>#LANG</language> 
+    <copyright>[(#NOM_SITE_SPIP|texte_backend)] 2005</copyright> 
+    <itunes:owner> 
+      <itunes:name> <BOUCLE_webmaster(AUTEURS) {id_auteur=1}>[(#NOM|texte_backend)]</BOUCLE_webmaster></itunes:name> 
+      <itunes:email>#EMAIL_WEBMASTER</itunes:email> 
+    </itunes:owner>
+    <itunes:category text="International">
+    <itunes:category text="Belgian" />
+    </itunes:category> 
+    <itunes:explicit>no</itunes:explicit>
+    [<image> 
+      <url>(#LOGO_SITE_SPIP||extraire_attribut{src}|url_absolue|texte_backend)</url> 
+      [<title>(#NOM_SITE_SPIP|texte_backend)</title>] 
+      <link>#URL_SITE_SPIP</link> 
+    </image>]
+        <!-- the max size for rss image is 144x400 --> 
+        <!-- iTunes allows images larger than that --> 
+    [<itunes:link rel="image" type="video/jpeg" href="(#LOGO_SITE_SPIP||extraire_attribut{src}|url_absolue|texte_backend)">[(#NOM_SITE_SPIP|texte_backend)]</itunes:link>] 
+
+<BOUCLE_podcast(DOCUMENTS){id_article}{mode=document}{extension==mp3|m4a|m4b|aac|wav|mp4|mov|mpg|ogg}>
+   <item> 
+      <title>[(#TITRE|texte_backend)]</title> 
+      <itunes:author><BOUCLE_auteursb(AUTEURS){id_article}{", "}>[(#NOM|texte_backend)]</BOUCLE_auteursb></itunes:author>
+      <description>[(#DESCRIPTIF|liens_absolus|texte_backend)]</description>  
+		  <itunes:summary>[(#DESCRIPTIF|liens_absolus|texte_backend)]</itunes:summary>
+      <enclosure url="[(#URL_DOCUMENT|url_absolue|unique)]" length="[(#TAILLE)]" type="#MIME_TYPE" />
+      <guid isPermaLink="false">#TAILLE.#ID_DOCUMENT</guid> 
+      <pubDate>[(#DATE|affdate{'r'})]</pubDate>  
+      <itunes:explicit>no</itunes:explicit> 
+      <itunes:keywords><BOUCLE_articles_mots(ARTICLES) {id_mot} {par hasard} {0,4}>#TITRE</BOUCLE_articles_mots></itunes:keywords>
+    </item>
+    </BOUCLE_podcast>
+  </BOUCLE_un_article>
+  
+  <BOUCLE_une_rubrique(RUBRIQUES){id_rubrique}>
+    <title>[(#TITRE|textebrut|entites_html|entites_unicode)]</title> 
+    <itunes:author>[(#EMAIL_WEBMASTER|liens_absolus|texte_backend)]</itunes:author> 
+    <link>#URL_SITE_SPIP</link> 
+    <description>[(#DESCRIPTIF|liens_absolus|texte_backend)]</description> 
+    <itunes:subtitle>[(#SOUSTITRE|liens_absolus|texte_backend)]</itunes:subtitle> 
+    <itunes:summary>[(#DESCRIPTIF|liens_absolus|texte_backend)]</itunes:summary> 
+    <language>#LANG</language> 
+    <copyright>[(#NOM_SITE_SPIP|texte_backend)] 2005</copyright> 
+    <itunes:owner> 
+      <itunes:name> <BOUCLE_webmaster(AUTEURS) {id_auteur=1}>[(#NOM|texte_backend)]</BOUCLE_webmaster></itunes:name> 
+      <itunes:email>#EMAIL_WEBMASTER</itunes:email> 
+    </itunes:owner> 
+    <itunes:explicit>no</itunes:explicit>
+    <itunes:category text="International">
+    <itunes:category text="Belgian" />
+    </itunes:category> 
+    [<image> 
+      <url>(#LOGO_RUBRIQUE||extraire_attribut{src}|url_absolue|texte_backend)</url> 
+      <title>(#TITRE|texte_backend)</title> 
+      <link>#URL_RUBRIQUE</link> 
+    </image>] 
+        <!-- the max size for rss image is 144x400 --> 
+        <!-- iTunes allows images larger than that --> 
+    [<itunes:link rel="image" type="video/jpeg" href="(#LOGO_SITE_SPIP||extraire_attribut{src}|url_absolue|texte_backend)">[(#NOM_SITE_SPIP|texte_backend)]</itunes:link>] 
+
+  <BOUCLE_articles(ARTICLES){id_rubrique}>
+  <BOUCLE_podcast2(DOCUMENTS){id_article}{mode=document}{extension==mp3|m4a|m4b|aac|wav|mp4|mov|mpg|ogg}>
+   <item> 
+      <title>[(#TITRE|texte_backend)]</title> 
+      <itunes:author><BOUCLE_auteursb2(AUTEURS){id_article}{", "}>[(#NOM|texte_backend)]</BOUCLE_auteursb2></itunes:author>
+      <description>[(#DESCRIPTIF|liens_absolus|texte_backend)]</description>  
+		  <itunes:summary>[(#DESCRIPTIF|liens_absolus|texte_backend)]</itunes:summary>
+      <enclosure url="[(#URL_DOCUMENT|url_absolue|unique)]" length="[(#TAILLE)]" type="#MIME_TYPE" />
+      <guid isPermaLink="false">#TAILLE.#ID_DOCUMENT</guid> 
+      <pubDate>[(#DATE|affdate{'r'})]</pubDate>  
+      <itunes:explicit>no</itunes:explicit> 
+      <itunes:keywords><BOUCLE_articles_mots2(ARTICLES) {id_mot} {par hasard} {0,4}>#TITRE</BOUCLE_articles_mots2></itunes:keywords>
+    </item>
+    </BOUCLE_podcast2>
+  </BOUCLE_articles>
+  </BOUCLE_une_rubrique>		
+  </channel> 
+</rss>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/thesaurus_mots.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/thesaurus_mots.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/thesaurus_mots.html	(revision 198)
@@ -0,0 +1,17 @@
+<div id="menu-groupe" class="listagebloc">
+<h2><:thesaurus:></h2>
+#SET{thesaurus,#ENV{parametre}|tableau2in}
+<ul class="listageconteneur"><li>
+<BOUCLE_legroupe(GROUPES_MOTS){id_groupe IN #GET{thesaurus}}>
+[(#INCLURE{fond=formatage_groupemots}{id_groupe}{conteneur=#ENV{conteneur}})]
+<h4 class="listagetitre"><a href="#URL_MOT">[(#TITRE|supprimer_numero)]</a></h4>
+<p class="listagetexte">[(#TEXTE|couper{200})]</p>
+<p class="listageinfo">
+<BOUCLE_lesmots(MOTS){id_groupe}{par num titre}{par titre}>
+<a href="#URL_MOT">#TITRE</a><br />
+</BOUCLE_lesmots>
+</p>
+</li>
+</BOUCLE_legroupe>
+</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_mosaique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_mosaique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_mosaique.html	(revision 198)
@@ -0,0 +1,78 @@
+<!-- liste des questions -->
+<BOUCLE_questions_webmaton(DOCUMENTS){id_rubrique=#ENV{id_rubrique}}{fichier==^.*questions(-[0-9]*)?\.xml$}{0,1}>
+<?php
+
+$questions = array();
+
+if (file_exists('#FICHIER')) {
+ $p =& new xmlParser();
+ $p->parse('#FICHIER');
+  /* dÃ©commenter ceci pour vÃ©rifier si le fichier est correctement lu */
+  // echo "<!--";
+  // print_r($p->output);
+  // echo "-->";
+
+  foreach($p->output[0]['child'] as $groupe) {
+    foreach($groupe["child"] as $prop){
+      if ($prop["name"] == "QUESTIONS") {
+        foreach($prop["child"] as $question) {
+          $questions[strtolower($groupe["attrs"]["PREFIX"])][$question["attrs"]["ID"]] = $question["content"];
+        }
+      }
+    }
+  }
+}
+?>
+</BOUCLE_questions_webmaton>
+
+<BOUCLE_recup(RUBRIQUES){id_rubrique}>
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_sesarts(ARTICLES){branche}{!par date}>
+<BOUCLE_galerievideo(DOCUMENTS){id_article}{extension==avi|mov|qt|mpg|rm|mp4}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_galerievideo></BOUCLE_sesarts>
+</BOUCLE_recup>
+
+<B_choosedocs>
+<div id="galerieimg" class="listagebloc">
+<h2><:mosaique:></h2>
+<ul class="listageconteneur"><li>
+<BOUCLE_choosedocs(DOCUMENTS){id_document IN #GET{critere_in}}{!par date}>
+<div class="webmaton" style="float:left;position:relative;">
+<a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);">
+[(#INCLURE{fond=formatage_vignette_webmaton}{id_document}{conteneur=#ENV{conteneur}})]
+</a><div class="question" style="position:absolute;bottom:0;z-index:100;display:none;margin:0px;padding:2px;font-size:9px;background-color:#fff;"><a href="#" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);"><?php
+$morceaux = split("/", "#FICHIER");
+$fichier = end($morceaux);
+$resultats = array();
+eregi("([^\-]+)-q([0-9]+)-", $fichier, $resultats);
+if (count($resultats) > 2) {
+  $groupe = $resultats[1];
+  $question = $resultats[2];
+  echo $questions[strtolower($groupe)][$question];
+}
+?></a></div></div>
+
+</BOUCLE_choosedocs>
+<li style="clear:left"></li>
+</li></ul>
+<!-- effet de survol -->
+<script language="javascript">
+
+$("#galerieimg .webmaton").each(function(){
+	$(this).mouseover(function(){
+	largeur=$(this).find("img").width() -4;
+	hauteur=$(this).find("img").height();
+	$(this).height(hauteur);
+	$(this).children(".question").css("width",largeur + "px").css("display","block");
+	});
+	
+	$(this).mouseout(function(){
+		$(this).children(".question").css("display","none");
+	});
+});
+
+</script>
+
+</div>
+</B_choosedocs>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_questions.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_questions.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_bloc_questions.html	(revision 198)
@@ -0,0 +1,70 @@
+<?php
+#SET{lalangue,#SELF|chercheid{prefix}};
+?>
+<!-- dernieres video -->
+<div id="galerie" class="listagecloc">
+
+<BOUCLE_articles_rubrique(ARTICLES){id_rubrique=#ENV{id_rubrique}}>
+<BOUCLE_galerievideo(DOCUMENTS){id_article}{par date}{inverse}{extension==avi|mov|qt|mpg|rm|mp4}>
+<?php
+$fichiers["#FICHIER"] = <<<END
+
+<a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);">
+[(#INCLURE{fond=formatage_vignette_webmaton}{id_document}{conteneur=#ENV{conteneur}})]
+</a>
+
+END;
+
+?>
+</BOUCLE_galerievideo>
+</BOUCLE_articles_rubrique>
+
+<BOUCLE_questions_webmaton(DOCUMENTS){id_rubrique=#ENV{id_rubrique}}{fichier==^.*questions(-[0-9]*)?\.xml$}{0,1}>
+<?php
+
+//print_r($fichiers);
+
+if (file_exists('#FICHIER')) {
+
+include_spip('inc/xml-parser');
+
+ $p =& new xmlParser();
+ $p->parse('#FICHIER');
+ //echo "<!--";
+ //print_r($p->output);
+ //echo "-->";
+ foreach($p->output[0]['child'] as $groupe) {
+  if (strtolower($groupe["attrs"]["PREFIX"]) == '#GET{lalangue}') {
+    foreach($groupe["child"] as $prop){
+      if ($prop["name"] == "TITRE"){
+      } else if ($prop["name"] == "QUESTIONS") {
+        foreach($prop["child"] as $question) {
+        
+          $totalvideo="";
+          foreach($fichiers as $nom => $video) {
+            if (eregi($groupe["attrs"]["PREFIX"]."-q".$question["attrs"]["ID"],$nom)){
+              $totalvideo .= $video;
+            }
+          }
+          
+          if ($totalvideo) {
+          echo "<h2>".$question["content"]."</h2>\n";
+          echo "<ul class=\"listageconteneur\"><li>\n";
+          echo $totalvideo;
+          echo "</li>\n";
+          echo "<li class=\"clearer\"></li>\n";
+          echo "</ul>\n";
+          }
+          
+        }
+      }
+    }
+  }
+ }
+}
+
+?>
+</BOUCLE_questions_webmaton>
+
+
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_dernieres_videos.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_dernieres_videos.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_dernieres_videos.html	(revision 198)
@@ -0,0 +1,77 @@
+<BOUCLE_recup(RUBRIQUES){id_rubrique}>
+#SET{critere_in,#ARRAY{0,0}}
+<BOUCLE_sesarts(ARTICLES){branche}{!par date}>
+<BOUCLE_galerievideo(DOCUMENTS){id_article}{extension==avi|mov|qt|mpg|rm|mp4}{doublons}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_galerievideo></BOUCLE_sesarts>
+<BOUCLE_questions_webmaton(DOCUMENTS){id_rubrique=#ENV{id_rubrique}}{fichier==^.*questions(-[0-9]*)?\.xml$}{0,1}>
+<?php
+include_spip('inc/xml-parser');
+
+$questions = array();
+
+if (file_exists('#FICHIER')) {
+ $p =& new xmlParser();
+ $p->parse('#FICHIER');
+  /* dÃ©commenter ceci pour vÃ©rifier si le fichier est correctement lu */
+   //print_r($p->output);
+
+  foreach($p->output[0]['child'] as $groupe) {
+    foreach($groupe["child"] as $prop){
+      if ($prop["name"] == "QUESTIONS") {
+        foreach($prop["child"] as $question) {
+          $questions[strtolower($groupe["attrs"]["PREFIX"])][$question["attrs"]["ID"]] = $question["content"];
+        }
+      }
+    }
+  }
+}
+
+//print_r($questions);
+?>
+</BOUCLE_questions_webmaton>
+<B_choosedocs>
+<div id="galerieimg" class="listagebloc">
+<h2><:derniers_webmaton:></h2>
+<ul class="listageconteneur"><li>
+<BOUCLE_choosedocs(DOCUMENTS){id_document IN #GET{critere_in}}{!par date}>
+<div class="webmaton" style="float:left;position:relative;">
+<a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);">
+[(#INCLURE{fond=formatage_vignette_webmaton}{id_document}{conteneur=#ENV{conteneur}})]
+</a><div class="question" style="position:absolute;bottom:0;z-index:100;display:none;margin:0px;padding:2px;font-size:9px;background-color:#fff;"><a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);"><?php
+$morceaux = split("/", "#FICHIER");
+$fichier = end($morceaux);
+$resultats = array();
+eregi("([^\-]+)-q([0-9]+)-", $fichier, $resultats);
+if (count($resultats) > 2) {
+  $groupe = $resultats[1];
+  $question = $resultats[2];
+  echo $questions[strtolower($groupe)][$question];
+}
+?></a></div></div>
+
+</BOUCLE_choosedocs>
+<li style="clear:left"></li>
+</li></ul>
+<!-- effet de survol -->
+<script language="javascript">
+
+$("#galerieimg .webmaton").each(function(){
+	$(this).mouseover(function(){
+	largeur=$(this).find("img").width() -4;
+	hauteur=$(this).find("img").height();
+	$(this).height(hauteur);
+	$(this).children(".question").css("width",largeur + "px").css("display","block");
+	});
+	
+	$(this).mouseout(function(){
+		$(this).children(".question").css("display","none");
+	});
+});
+
+</script>
+
+</div>
+</B_choosedocs>
+
+</BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_liste_videos.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_liste_videos.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_liste_videos.html	(revision 198)
@@ -0,0 +1,11 @@
+<B_galerievideo><div id="video">
+<h4><:docsvideo:></h4>
+<ul class="listageconteneur">
+<BOUCLE_galerievideo(DOCUMENTS){id_rubrique}{extension==avi|mov|qt|mpg|rm|mp4}{doublons}>
+
+<li class="vignette"><a href="javascript:void(0);" onclick="popup('id_rubrique=#ID_RUBRIQUE', #ID_DOCUMENT, [(#LARGEUR|controlelargeur)], [(#HAUTEUR|controlehauteur)]);">
+[(#FICHIER|vignettewebmaton||reduire_image{120,280}|inserer_attribut{'alt','vignette'}|sinon{[(#LOGO_DOCUMENT||reduire_image{120,280}|inserer_attribut{'alt','vignette'})]})]
+</BOUCLE_galerievideo>
+<li class="clearer"></li>
+</ul></div>
+</B_galerievideo>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_navigation.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_navigation.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_navigation.html	(revision 198)
@@ -0,0 +1,37 @@
+<div id="menu-webmaton" class="listagebloc">
+	<h2><:voir_aussi:></h2>
+	<ul class="listageconteneur">
+	<li><a href="spip.php?page=webmaton-mosaique&id_rubrique=#ID_RUBRIQUE"><:mosaique:></a></li>
+	
+<BOUCLE_questions_webmaton(DOCUMENTS){id_rubrique=#ENV{id_rubrique}}{fichier==^.*questions(-[0-9]*)?\.xml$}{0,1}>
+<?php
+include_spip('inc/xml-parser');
+
+$questions = array();
+
+if (file_exists('#FICHIER')) {
+ $p =& new xmlParser();
+ $p->parse('#FICHIER');
+  /* dÃ©commenter ceci pour vÃ©rifier si le fichier est correctement lu */
+   //print_r($p->output);
+
+  foreach($p->output[0]['child'] as $groupe) {
+    foreach($groupe["child"] as $prop){
+      if ($prop["name"] == "QUESTIONS") {
+        foreach($prop["child"] as $question) {
+          $questions[strtolower($groupe["attrs"]["PREFIX"])][$question["attrs"]["ID"]] = $question["content"];
+        }
+      }
+    }
+  }
+}
+
+foreach($questions as $langue => $larray){
+	echo "<li><a href='spip.php?page=webmaton-questions&id_rubrique=#ID_RUBRIQUE&prefix=".$langue."'><:questions_en:>  ".traduire_nom_langue($langue)."</a></li>";
+}
+
+?>
+</BOUCLE_questions_webmaton>
+	
+	</ul>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_video_article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_video_article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/blocs/webmaton_video_article.html	(revision 198)
@@ -0,0 +1,78 @@
+<BOUCLE_recup(ARTICLES){id_article}>
+#SET{critere_in,#ARRAY{0,0}}
+
+<BOUCLE_galerievideo(DOCUMENTS){id_article}{extension==avi|mov|qt|mpg|rm|mp4}{doublons}>
+#SET{critere_in,#GET{critere_in}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}}
+</BOUCLE_galerievideo>
+
+<BOUCLE_questions_webmaton(DOCUMENTS){id_rubrique}{fichier==^.*questions(-[0-9]*)?\.xml$}{0,1}>
+<?php
+include_spip('inc/xml-parser');
+
+$questions = array();
+
+if (file_exists('#FICHIER')) {
+ $p =& new xmlParser();
+ $p->parse('#FICHIER');
+  /* dÃ©commenter ceci pour vÃ©rifier si le fichier est correctement lu */
+   //print_r($p->output);
+
+  foreach($p->output[0]['child'] as $groupe) {
+    foreach($groupe["child"] as $prop){
+      if ($prop["name"] == "QUESTIONS") {
+        foreach($prop["child"] as $question) {
+          $questions[strtolower($groupe["attrs"]["PREFIX"])][$question["attrs"]["ID"]] = $question["content"];
+        }
+      }
+    }
+  }
+}
+
+//print_r($questions);
+?>
+</BOUCLE_questions_webmaton>
+<B_choosedocs>
+<div id="galerieimg" class="listagebloc">
+<h2><:les_webmatons:></h2>
+<ul class="listageconteneur"><li>
+<BOUCLE_choosedocs(DOCUMENTS){id_document IN #GET{critere_in}}{!par date}>
+<div class="webmaton" style="float:left;position:relative;">
+<a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);">
+[(#INCLURE{fond=formatage_vignette_webmaton}{id_document}{conteneur=#ENV{conteneur}})]
+</a><div class="question" style="position:absolute;bottom:0;z-index:100;display:none;margin:0px;padding:2px;font-size:9px;background-color:#fff;"><a href="javascript:void(0);" onclick="popup_page('spip.php?page=popup-webmaton&id_rubrique=#ID_RUBRIQUE&id_document=#ID_DOCUMENT',500,400);"><?php
+$morceaux = split("/", "#FICHIER");
+$fichier = end($morceaux);
+$resultats = array();
+eregi("([^\-]+)-q([0-9]+)-", $fichier, $resultats);
+if (count($resultats) > 2) {
+  $groupe = $resultats[1];
+  $question = $resultats[2];
+  echo $questions[strtolower($groupe)][$question];
+}
+?></a></div></div>
+
+</BOUCLE_choosedocs>
+<li style="clear:left"></li>
+</li></ul>
+<!-- effet de survol -->
+<script language="javascript">
+
+$("#galerieimg .webmaton").each(function(){
+	$(this).mouseover(function(){
+	largeur=$(this).find("img").width() -4;
+	hauteur=$(this).find("img").height();
+	$(this).height(hauteur);
+	$(this).children(".question").css("width",largeur + "px").css("display","block");
+	});
+	
+	$(this).mouseout(function(){
+		$(this).children(".question").css("display","none");
+	});
+});
+
+</script>
+
+</div>
+</B_choosedocs>
+
+</BOUCLE_recup>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/breve.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/breve.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/breve.html	(revision 198)
@@ -0,0 +1,94 @@
+#CACHE{24*3600}<BOUCLE_generale(BREVES){id_breve}>
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_breve})]
+</head>
+<body id="page-breve">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_breve})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_breve}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_breve})]]
+
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_breve}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_breve}{id_rubrique}>]
+<BOUCLE_archetype_article(SPIP_ARTY_GABARITASSOC){type=breve}{id=#ENV{id_breve}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_article>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=breve}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_article>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_article2(SPIP_ARTY_GABARITASSOC){type=breve}{id=#ENV{id_breve}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_article2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=breve}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_article2>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'corps'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_breve})]]
+
+<BOUCLE_archetype_article3(SPIP_ARTY_GABARITASSOC){type=breve}{id=#ENV{id_breve}}>
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_corps>
+
+</BOUCLE_archetype_article3>
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=breve}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_breve=#ENV{id_breve}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_article3>
+
+<div id="fin-corps"></div><!-- fin du corps -->
+</div>
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_breve})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_breve})]]</body>
+</html>
+</BOUCLE_generale>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/forum.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/forum.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/forum.html	(revision 198)
@@ -0,0 +1,66 @@
+#CACHE{0}<BOUCLE_generale(ARTICLES){id_article}>
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_article})]
+</head>
+<body id="page-forum">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_article})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_article})]]
+
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=forum}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0_defaut>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=forum}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1_defaut>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'corps'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_article})]]
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=forum}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_article=#ENV{id_article}}{id_rubrique=#_generale:ID_RUBRIQUE}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_article})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_article})]]
+</body>
+</html>
+</BOUCLE_generale>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/groupe.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/groupe.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/groupe.html	(revision 198)
@@ -0,0 +1,88 @@
+#CACHE{24*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_groupe})]
+
+</head>
+<body id="page-groupe" class="groupe#ID_GROUPE">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_groupe}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_groupe}{cettepage=<:groupe_mots:>})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'contexte'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_groupe}>]
+
+<div id="contexte1">
+<BOUCLE_archetype_rubrique(SPIP_ARTY_GABARITASSOC){type=groupe}{id=#ENV{id_groupe}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_rubrique>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=groupe}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_rubrique>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_rubrique2(SPIP_ARTY_GABARITASSOC){type=groupe}{id=#ENV{id_groupe}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_rubrique2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=groupe}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_rubrique2>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corpsl}|?{' ',''})[(#INCLURE{fond=chemin}{id_groupe}{cettepage=<:groupe_mots:>})]]
+
+<BOUCLE_archetype_rubrique3(SPIP_ARTY_GABARITASSOC){type=groupe}{id=#ENV{id_groupe}}>
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_corps>
+</BOUCLE_archetype_rubrique3>
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=groupe}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_groupe=#ENV{id_groupe}}{id_groupe=#_generale:ID_GROUPE}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_rubrique3>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_groupe})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_groupe})]]
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/login.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/login.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/login.html	(revision 198)
@@ -0,0 +1,62 @@
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+</head>
+<body id="page-login">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=login})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=login}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=login}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1>
+<div id="fin-contexte2"></div>
+</div>
+
+</div><!-- fin des contextes -->
+
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corpsl}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=login})]]
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=login}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_corps>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama.html	(revision 198)
@@ -0,0 +1,17 @@
+<!-- 
+exemple d'utilisation du diaporama
+<diaporama|images=34,35,36|hauteur=200|transition=fade|boutons=true|couleurfond=ffffff|duree=8|shuffle=true>
+images #ENV{images}
+-->
+<div class="slideshow">
+<embed 
+src="#CHEMIN{swf/imagerotator.swf}" 
+width="[(#ENV{largeur}|sinon{300})]"
+height="[(#ENV{hauteur}|sinon{200})]"
+allowscriptaccess="always" 
+allowfullscreen="true" 
+flashvars="height=[(#ENV{hauteur}|sinon{200})]&width=[(#ENV{largeur}|sinon{300})]&file=spip.php%3Fpage%3Dxml_diaporama[%26images%3D(#ENV{images})]&screencolor=0x[(#ENV{couleurecran}|sinon{ffffff})]&backcolor=0x[(#ENV{couleurfond}|sinon{ffffff})]&frontcolor=0x[(#ENV{couleuravant}|sinon{000000})]&transition=[(#ENV{transition}|sinon{flash})]&overstretch=[(#ENV{overstretch}|sinon{true})]&rotatetime=[(#ENV{duree}|sinon{8})]&shownavigation=[(#ENV{boutons}|sinon{true})]&shuffle=[(#ENV{shuffle}|sinon{false})]" 
+/>
+
+</div>
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama_article.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama_article.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/diaporama_article.html	(revision 198)
@@ -0,0 +1,16 @@
+<!-- 
+exemple d'utilisation du diaporama
+<diaporama_article|hauteur=200|transition=fade|boutons=true|couleurfond=ffffff|couleurecran=ffffff|couleuravant=000000|duree=8|shuffle=true>
+-->
+<div class="slideshow">
+<embed 
+src="#CHEMIN{swf/imagerotator.swf}" 
+width="[(#ENV{largeur}|sinon{300})]"
+height="[(#ENV{hauteur}|sinon{200})]"
+allowscriptaccess="always" 
+allowfullscreen="true" 
+flashvars="height=[(#ENV{hauteur}|sinon{200})]&width=[(#ENV{largeur}|sinon{300})]&file=spip.php%3Fpage%3Dxml_diaporama_article[%26id_article%3D(#ENV{article})]&screencolor=0x[(#ENV{couleurecran}|sinon{ffffff})]&backcolor=0x[(#ENV{couleurfond}|sinon{ffffff})]&frontcolor=0x[(#ENV{couleuravant}|sinon{000000})]&transition=[(#ENV{transition}|sinon{flash})]&overstretch=[(#ENV{overstretch}|sinon{true})]&rotatetime=[(#ENV{duree}|sinon{8})]&shownavigation=[(#ENV{boutons}|sinon{true})]&shuffle=[(#ENV{shuffle}|sinon{false})]" 
+/>
+
+</div>
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/ecrire_auteur.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/ecrire_auteur.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/ecrire_auteur.html	(revision 198)
@@ -0,0 +1,4 @@
+<BOUCLE_lauteur(AUTEURS){id_auteur=#ENV{auteur}}>
+Ecrire
+#FORMULAIRE_ECRIRE_AUTEUR
+</BOUCLE_lauteur>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmap.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmap.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmap.html	(revision 198)
@@ -0,0 +1,37 @@
+<!--
+Exemple d'utilisation:
+<gmap
+|apikey=ABQIAAAANa0Lb49sP2IatQ_6ejDWvxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxQHBQNGrNz3kU10-BfeEGcigjzhhg
+|hauteur=300|largeur=500>
+-->
+
+
+<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=#ENV{apikey}" type="text/javascript"></script>
+<script type="text/javascript">
+//<![CDATA[
+var map;
+jQuery(document).ready(function(){
+  if (GBrowserIsCompatible()) {
+  map = new GMap2(document.getElementById("googlemap"));
+  map.setCenter(new GLatLng( #ENV{centre_latitude} , #ENV{centre_longitude} ), 13);
+}
+window.onunload = GUnload;
+});
+
+function createMarker(point, html) {
+  var marker = new GMarker(point);
+  GEvent.addListener(marker, "click", function() {
+    marker.openInfoWindowHtml(html);
+  });
+  return marker;
+}
+
+//]]>
+</script>
+<style type="text/css">
+#googlemap {
+width: #ENV{largeur}px;
+height: #ENV{hauteur}px;
+}
+</style>
+<div id="googlemap"></div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmarker.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmarker.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/gmarker.html	(revision 198)
@@ -0,0 +1,15 @@
+<script language="javascript">
+jQuery(document).ready(function(){
+  /*for (var i = 0; i < 10; i++) {
+    var point = new GLatLng(50.805935 + 0.01*Math.random(),
+                            4.432983 + 0.01*Math.random());
+    map.addOverlay(new GMarker(point));
+  }
+  */
+  
+    var point = new GLatLng(#ENV{latitude}, #ENV{longitude});
+    map.addOverlay(new GMarker(point));
+    map.addOverlay(createMarker(point, '[(#ENV*{message}|texte_script)]'));
+  
+});
+</script>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/imgpop.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/imgpop.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/imgpop.html	(revision 198)
@@ -0,0 +1,46 @@
+<script type="text/javascript">
+$(document).ready(function(){
+var tb_pathToImage = "[(#CHEMIN{themes/#THEME/loadingAnimation.gif}|sinon{#CHEMIN{images/loadingAnimation.gif}})]";
+var traduc_next="Suiv";
+var traduc_close="Fermer";
+var traduc_esckey="ou touche esc";
+var traduc_prec="Prec";
+var traduc_suiv="Suiv";
+var traduc_image="Image";
+var traduc_de="de";
+});
+</script>
+
+<BOUCLE_document (DOCUMENTS) {id_document=#ENV{id_imgpop}}>
+[(#REM)
+
+	Modele pour <imgpop>
+
+	Si on est en mode "vignette" ou appele avec embed=oui,
+	on affiche l'image complete ; sinon le logo
+
+	Si un lien est passe #ENV{lien} on ajoute le a href
+	ou on truque le #URL_DOCUMENT
+
+]
+[(#SET{
+	image,
+		#MODE|=={vignette}
+		|sinon{#ENV{embed}}
+		|?{' '}
+})][
+
+	(#REM) image complete ?
+
+][(#GET{image})
+<span class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok'[ style='float:(#ENV{align}|match{left|right})']>
+<a href="[(#ENV{lien}|sinon{#URL_DOCUMENT})]" class="thickbox[ (#ENV{lien_class})]"title="[<strong>(#TITRE|texte_backend)</strong>] [(#DESCRIPTIF)] ">
+[(#FICHIER|image_reduire{200}|inserer_attribut{alt,#TITRE|strlen|?{#TITRE {#TYPE_DOCUMENT},#TYPE_DOCUMENT}}|inserer_attribut{title,[(#TITRE|texte_backend)]})]
+</a></span>
+][
+
+	(#REM) sinon logo document + lien + alt + title etc
+
+][(#GET{image}|?{'',' '})
+<span class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})][ (#ENV{class})] spip_lien_ok'[ style='float:(#ENV{align}|match{left|right});[ width:(#LOGO_DOCUMENT||largeur)px;]']><a href="[(#ENV{lien}|sinon{#URL_DOCUMENT})]"[ (#ENV{lien}|?{'',type="#MIME_TYPE"})][ title="(#TITRE|texte_backend)"] class="thickbox[ (#ENV{lien_class})]">[(#LOGO_DOCUMENT||inserer_attribut{alt,#TITRE|strlen|?{#TITRE {#TYPE_DOCUMENT},#TYPE_DOCUMENT}})]</a></span>
+]</BOUCLE_document>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurflv.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurflv.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurflv.html	(revision 198)
@@ -0,0 +1,23 @@
+<!-- 
+exemple d'utilisation du lecteur son seul
+<lecteurflv12|largeur=320|hauteur=240>
+-->
+#SET{lalargeur, #ENV{largeur}|sinon{320}}
+#SET{lahauteur, #ENV{hauteur}|sinon{240}}
+
+<BOUCLE_ledoc(DOCUMENTS){id_document=#ENV{id_lecteurflv}}>
+<div class="lecteurflv spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})]">
+<object type="application/x-shockwave-flash" data="#CHEMIN{swf/mediaplayer.swf}" id="playerflv#ID_DOCUMENT" height="#GET{lahauteur}" width="#GET{lalargeur}">
+<param name="wmode" value="opaque">
+<param name="movie" value="#CHEMIN{swf/mediaplayer.swf}">
+<param name="FlashVars" value="file=#URL_SITE_SPIP/#URL_DOCUMENT&image=#URL_SITE_SPIP/[(#LOGO_DOCUMENT||extraire_attribut{"src"})]&width=#GET{lalargeur}&height=#GET{lahauteur}">
+<param name="quality" value="high">
+<param name="menu" value="false">
+<param name="allowfullscreen" value="true">
+<param name="bgcolor" value="#FFFFFF">
+</object>
+<div class="listagetitre">[(#TITRE|supprimer_numero)][ - (#DESCRIPTIF|ptobr)] (#TYPE_DOCUMENT, [(#TAILLE|taille_en_octets)])</div>
+</div>
+</BOUCLE_ledoc>
+
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurson.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurson.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/lecteurson.html	(revision 198)
@@ -0,0 +1,16 @@
+<!-- 
+exemple d'utilisation du lecteur son seul
+<lecteurson12|largeur=200>
+-->
+<BOUCLE_ledoc(DOCUMENTS){id_document=#ENV{id_lecteurson}}>
+<div class="lecteurson">
+<object type="application/x-shockwave-flash" data="#CHEMIN{swf/pixplayer.swf}" id="audioplayer#ID_DOCUMENT" height="24" width="[(#ENV{largeur}|sinon{200})]">
+<param name="wmode" value="opaque">
+<param name="movie" value="#CHEMIN{swf/pixplayer.swf}">
+<param name="FlashVars" value="playerID=#ID_DOCUMENT&amp;bg=0xf8f8f8&amp;leftbg=0xeeeeee&amp;lefticon=0x666666&amp;rightbg=0xcccccc&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=[(#URL_DOCUMENT)]">
+<param name="quality" value="high">
+<param name="menu" value="false">
+<param name="bgcolor" value="#FFFFFF">
+</object>
+</div>
+</BOUCLE_ledoc>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/minidiaporama.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/minidiaporama.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/modeles/minidiaporama.html	(revision 198)
@@ -0,0 +1,27 @@
+<!-- 
+exemple d'utilisation du diaporama
+<diaporama|image1=34|image2=35|image3=36|hauteur=200|transition=fade|shownavigation=true|boutons=true|couleurfond=ffffff|duree=8>
+-->
+<div class="slideshow">
+<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+	codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" 
+	width="[(#ENV{largeur}|sinon{300})]" 
+	height="[(#ENV{hauteur}|sinon{200})]" 
+	align="">
+<param name="movie" value="#CHEMIN{swf/slideshow.swf}?xml_source=spip.php%3Fpage%3Dslideshow_xml[%26image1%3D(#ENV{image1})][%26image2%3D(#ENV{image2})][%26image3%3D(#ENV{image3})][%26image4%3D(#ENV{image4})][%26image5%3D(#ENV{image5})][%26image6%3D(#ENV{image6})][%26image7%3D(#ENV{image7})][%26image8%3D(#ENV{image8})][%26image9%3D(#ENV{image9})][%26image10%3D(#ENV{image10})][%26transition%3D(#ENV{transition})][%26boutons%3D(#ENV{boutons})][%26couleurfond%3D(#ENV{couleurfond})][%26duree%3D(#ENV{duree}|sinon{5})"]>
+<param name="quality" value="high">
+<param name="bgcolor" VALUE="#ffffff">
+<param name="wmode" VALUE="transparent"> 
+<embed src="#CHEMIN{swf/slideshow.swf}?xml_source=spip.php%3Fpage%3Dslideshow_xml[%26image1%3D(#ENV{image1})][%26image2%3D(#ENV{image2})][%26image3%3D(#ENV{image3})][%26image4%3D(#ENV{image4})][%26image5%3D(#ENV{image5})][%26image6%3D(#ENV{image6})][%26image7%3D(#ENV{image7})][%26image8%3D(#ENV{image8})][%26image9%3D(#ENV{image9})][%26image10%3D(#ENV{image10})][%26transition%3D(#ENV{transition})][%26boutons%3D(#ENV{boutons})][%26couleurfond%3D(#ENV{couleurfond})][%26duree%3D(#ENV{duree}|sinon{5})"] 
+	quality="high" 
+	bgcolor="#ffffff"  
+	width=["(#ENV{largeur}|sinon{300})"] 
+	height=["(#ENV{hauteur}|sinon{200})"]
+	wmode="transparent" 
+	name="slideshow" 
+	align="" 
+	type="application/x-shockwave-flash" 
+	pluginspage="http://www.macromedia.com/go/getflashplayer">
+</embed>
+</object>
+</div>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/mot.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/mot.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/mot.html	(revision 198)
@@ -0,0 +1,92 @@
+#CACHE{24*3600}<BOUCLE_generale(MOTS){id_mot}><!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=utf-8"/>
+<title>#NOM_SITE_SPIP</title>
+#INSERT_HEAD
+[(#INCLURE{fond=metas}{id_mot})]
+</head>
+<body id="page-mot" class="mot#ID_MOT">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_mot}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_mot})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_mot}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_mot}>]
+<BOUCLE_archetype_mot(SPIP_ARTY_GABARITASSOC){type=mot}{id=#ENV{id_mot}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_mot>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=mot}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_mot>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_mot2(SPIP_ARTY_GABARITASSOC){type=mot}{id=#ENV{id_mot}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_mot2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=mot}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_mot2>
+<div id="fin-contexte2"></div>
+</div>
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_mot})]]
+
+<BOUCLE_archetype_mot3(SPIP_ARTY_GABARITASSOC){type=mot}{id=#ENV{id_mot}}>
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_corps>
+
+</BOUCLE_archetype_mot3>
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=mot}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_mot=#ENV{id_mot}}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}{document=#ENV{document}}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_mot3>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_mot})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_mot})]]
+
+</body>
+</html></BOUCLE_generale>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/recherche.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/recherche.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/recherche.html	(revision 198)
@@ -0,0 +1,60 @@
+#CACHE{0}
+<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+#INSERT_HEAD
+</head>
+<body id="page-recherche">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=<:recherche:>})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=recherche}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{recherche=#RECHERCHE}{lang}>
+</BOUCLE_blocs_contexte0>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=recherche}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{recherche=#RECHERCHE}{lang}>
+</BOUCLE_blocs_contexte1>
+<div id="fin-contexte2"></div>
+</div>
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+[(#GET{parametres}|element{'corps'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{cettepage=<:recherche:>})]]
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=recherche}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{recherche=#RECHERCHE}{lang}>
+</BOUCLE_blocs_corps>
+
+<!-- fin du corps -->
+<div id="fin-corps"></div>
+</div>
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/rubrique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/rubrique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/rubrique.html	(revision 198)
@@ -0,0 +1,92 @@
+#CACHE{24*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP : <BOUCLE_titre(RUBRIQUES){id_rubrique}>[(#TITRE|supprimer_numero)]</BOUCLE_titre></title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_rubrique})]
+
+</head>
+<body id="page-rubrique" class="rubrique#ID_RUBRIQUE">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+<BOUCLE_archetype_rubrique(SPIP_ARTY_GABARITASSOC){type=rubrique}{id=#ENV{id_rubrique}}>
+
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0>
+
+</BOUCLE_archetype_rubrique>
+<!-- blocs contexte 1 par defaut -->
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=rubrique}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0_defaut>
+
+<//B_archetype_rubrique>
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+<BOUCLE_archetype_rubrique2(SPIP_ARTY_GABARITASSOC){type=rubrique}{id=#ENV{id_rubrique}}>
+
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1>
+
+</BOUCLE_archetype_rubrique2>
+<!-- blocs contexte 2 par defaut -->
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=rubrique}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<//B_archetype_rubrique2>
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+<BOUCLE_archetype_rubrique3(SPIP_ARTY_GABARITASSOC){type=rubrique}{id=#ENV{id_rubrique}}>
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=#GABARIT}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_corps>
+
+</BOUCLE_archetype_rubrique3>
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=rubrique}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte2_defaut>
+
+<//B_archetype_rubrique3>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/sommaire.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/sommaire.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/sommaire.html	(revision 198)
@@ -0,0 +1,49 @@
+#CACHE{4*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INCLURE{fond=metas}{id_rubrique=0})]
+[(#INSERT_HEAD)]
+</head>
+<body id="page-sommaire">#SET{parametres,#REM|sinon{"rien"}|parametres}
+<div id="general">
+[(#INCLURE{fond=bandeau}{id_rubrique=0})]
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{afficher=rien})]]
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+<div id="contextes">
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_rubrique=0}>]
+<BOUCLE_blocs_contexte0(SPIP_ARTY_GABARIT_ORDRE){gabarit=sommaire}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0>
+<div id="fin-contexte1"></div>
+</div>
+<div id="contexte2">
+<BOUCLE_blocs_contexte1(SPIP_ARTY_GABARIT_ORDRE){gabarit=sommaire}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1>
+<div id="fin-contexte2"></div>
+</div>
+</div><!-- fin des contextes -->
+
+<div id="corps">
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique=0}{afficher=rien})]]
+
+<BOUCLE_blocs_corps(SPIP_ARTY_GABARIT_ORDRE){gabarit=sommaire}{conteneur=3}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=0}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_corps>
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique=0})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-mosaique.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-mosaique.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-mosaique.html	(revision 198)
@@ -0,0 +1,69 @@
+#CACHE{24*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_rubrique})]
+
+</head>
+<body id="page-rubrique">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-mosaique}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0_defaut>
+
+
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-mosaique}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-mosaique}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte2_defaut>
+
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-questions.html
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-questions.html	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/squelettes/webmaton-questions.html	(revision 198)
@@ -0,0 +1,68 @@
+#CACHE{24*3600}<!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=#CHARSET"/>
+<title>#NOM_SITE_SPIP</title>
+[(#INSERT_HEAD)]
+[(#INCLURE{fond=metas}{id_rubrique})]
+
+</head>
+<body id="page-rubrique">#SET{parametres,#REM|sinon{"rien"}|parametres}
+
+<div id="general">
+
+[(#INCLURE{fond=bandeau}{id_rubrique})]
+
+[(#GET{parametres}|element{'navigation'}|=={'general'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+[(#GET{parametres}|element{'chemin'}|=={general}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'<div id="contenus">',''})<!-- balise optionnelle contenus -->]
+
+<div id="contextes">
+
+[(#GET{parametres}|element{'navigation'}|=={'contexte'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+
+<div id="contexte1">
+[(#GET{parametres}|element{'navigation'}|=={'contexte1'}|?{' ',''})<INCLURE{fond=navigation}{id_article}{id_rubrique}>]
+<BOUCLE_blocs_contexte0_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-questions}{conteneur=1}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=1}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte0_defaut>
+
+
+<div id="fin-contexte1"></div>
+</div>
+
+<div id="contexte2">
+
+<BOUCLE_blocs_contexte1_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-questions}{conteneur=2}{par ordre}>
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=2}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte1_defaut>
+
+<div id="fin-contexte2"></div>
+</div> 
+
+</div><!-- fin des contextes -->
+
+<div id="corps">
+
+[(#GET{parametres}|element{'chemin'}|=={corps}|?{' ',''})[(#INCLURE{fond=chemin}{id_rubrique})]]
+
+
+<BOUCLE_blocs_contexte2_defaut(SPIP_ARTY_GABARIT_ORDRE){gabarit=webmaton-questions}{conteneur=3}{par ordre}>
+<!-- blocs corps par defaut -->
+<INCLURE{fond=#NOM}{id_rubrique=#ENV{id_rubrique}}{id_rubrique=#_generale:ID_RUBRIQUE}{id_mot}{conteneur=3}{parametre=#PARAM}{lang}>
+</BOUCLE_blocs_contexte2_defaut>
+
+
+<div id="fin-corps"></div>
+</div><!-- fin du corps -->
+
+[(#GET{parametres}|element{'contenus'}|=={oui}|?{'</div>',''})<!-- fin de balise optionnelle contenus -->]
+[(#GET{parametres}|element{'footer'}|=={general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+<div id="fin-page"></div>
+</div><!-- fin du general -->
+[(#GET{parametres}|element{'footer'}|=={hors_general}|?{' ',''})[(#INCLURE{fond=footer}{id_rubrique})]]
+
+</body>
+</html>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlist.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlist.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlist.xml	(revision 198)
@@ -0,0 +1,25 @@
+<playlist version="1" xmlns="http://xspf.org/ns/0/">
+<trackList>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>Homeland</creator>
+ <image>http://localhost:8888/-arty/dist/vignettes/mp3.png</image>
+ <location>http://localhost:8888/-arty/IMG/mp3/homeland.mp3</location>
+ <identifier>119</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>Jazzalude</creator>
+ <image>http://localhost:8888/-arty/dist/vignettes/mp3.png</image>
+ <location>http://localhost:8888/-arty/IMG/mp3/jazzalude.mp3</location>
+ <identifier>79</identifier>
+</track>
+ <track>
+ <title>Un morceau de Bjork </title>
+ <creator>Vn©nus as a boy</creator>
+ <image>http://localhost:8888/-arty/dist/vignettes/mp3.png</image>
+ <location>http://localhost:8888/-arty/IMG/mp3/Venus_As_A_Boy.mp3.mp3</location>
+ <identifier>42</identifier>
+</track>
+</trackList>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlistima.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlistima.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/swf/playlistima.xml	(revision 198)
@@ -0,0 +1,53 @@
+<playlist version="1" xmlns="http://xspf.org/ns/0/">
+<trackList>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06665-2-3.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06665-2-3-cca9d.jpg</location>
+ <identifier>124</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06666-2.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06666-2-b0d71.jpg</location>
+ <identifier>126</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06666.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06666-cf52f.jpg</location>
+ <identifier>127</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06667-2.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06667-2-153cb.jpg</location>
+ <identifier>128</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06669-2.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06669-2-960f4.jpg</location>
+ <identifier>130</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06670-2.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06670-2-224b7.jpg</location>
+ <identifier>132</identifier>
+</track>
+ <track>
+ <title>pas de descriptif </title>
+ <creator>sans titre</creator>
+ <info>http://localhost:8888/-arty/IMG/jpg/DSC06671-2.jpg</info>
+ <location>http://localhost:8888/-arty/local/cache-vignettes/L155xH117/DSC06671-2-13644.jpg</location>
+ <identifier>134</identifier>
+</track>
+</trackList>
+</playlist>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/diaporama.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/diaporama.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/diaporama.css	(revision 198)
@@ -0,0 +1,32 @@
+#bloc-diaporama {
+width: 606px;
+margin: 10px auto;
+border: 1px solid #f30;
+padding: 2px;
+background-color: #fff;	
+}
+
+.uneimage{
+border: 1px solid #666;
+padding: 1px;
+background-color: #fff;
+margin: 0 auto;
+}
+
+#diaporama {
+margin: 0 auto;
+width: 604px;
+text-align: center;
+}
+
+#comment {
+font-size: 10px;
+color: #333;
+text-align: center;	
+padding: 10px;
+}
+
+.img-diaporama-page {
+margin: 0 auto;
+border: 1px solid #333;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/lecteur-standalone.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/lecteur-standalone.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/lecteur-standalone.css	(revision 198)
@@ -0,0 +1,8 @@
+#lecteur-audio-standalone {
+margin: 10px 0 0 10px;	
+}
+
+#lecteur-audio-standalone h2 {
+font-size: 10px;
+font-size: georgia, times, serif;	
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/newsletter.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/newsletter.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/addfiles/newsletter.css	(revision 198)
@@ -0,0 +1,25 @@
+/* css de positionnement hors declinaison */
+
+body {
+margin: 23px 0 15px 0;
+background: url('../images/fond.jpg') repeat-x top left #f90;
+font-size: 12px;
+color: #333;
+font-family: geneva, arial, verdana, sans-serif;
+}
+
+#general {
+width: 90%;
+margin: 0 auto;
+padding: 18px;
+background: url('../images/commune-pgv-logos.gif') no-repeat bottom left #fff;
+}
+
+#bandeau {
+height: 130px;
+background: url('bandeau-surcouche.png') no-repeat bottom left #fff;
+}
+
+#corps {
+margin: 0;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/blocs-speciaux.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/blocs-speciaux.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/blocs-speciaux.css	(revision 198)
@@ -0,0 +1,25 @@
+/* carte sociale */
+#contexte1 #cartesociale, #contexte2 #cartesociale {
+background-color:#91A12B;
+padding: 8px 5px 20px 5px;
+}
+
+#cartesociale p.listagetexte {
+color: #fff;
+margin: 4px 0 16px 0;	
+}
+
+#cartesociale img {
+display: block;
+margin-bottom: 10px;
+}
+
+/* projet politique */
+
+#contextes .listagebloc.Projetpolitique, #contextes .listagebloc.Projetpolitique {
+	background-color: #005e96;
+}
+
+#contextes .listagebloc.Projetpolitique h2, #contextes .listagebloc.Projetpolitique h2 {
+	color: #8EC8FF;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/disposition.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/disposition.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/disposition.css	(revision 198)
@@ -0,0 +1,190 @@
+/* css de positionnement hors declinaison */
+
+body {
+margin: 23px 0 15px 0;
+background: url('images/fond.jpg') repeat-x top left #f90;
+}
+
+#general {
+width: 750px;
+margin: 0 auto;
+padding: 15px;
+background-color:#fff;
+
+}
+
+#bandeau {
+height: 77px;
+}
+
+#bandeau img {
+display: block;
+position: relative;
+top: -8px;	
+}
+
+#onglets {
+height: 20px;
+padding: 0 10px 20px 10px;
+}
+
+#onglets li {
+float: left;
+background: url('images/onglet.gif') no-repeat bottom center;
+width: 136px;
+padding: 2px;
+margin-right: 2px;
+font-size: 12px;
+font-family: arial, verdana, sans-serif;
+color: #fff;
+text-align: center;
+}
+
+#onglets li a {
+color: #fff;	
+}
+
+#onglets li:hover {
+background: url('images/onglet-hover.gif') no-repeat bottom center;
+}
+
+#switcherlangue {
+float: right;	
+}
+
+
+#switcherlangue li {
+display: inline;
+font-family: arial, verdana, sans-serif;
+font-size: 10px;
+color: #5c3705;
+}
+
+#switcherlangue li a {
+color: #5c3705;
+text-decoration: none;
+}
+
+#switcherlangue li a:hover {
+	color: #f60;
+text-decoration: underline;
+}
+
+
+/* navigation */
+
+#navigation ul, #navigation li {
+list-style-type: none;
+padding:0;
+margin: 0;
+}
+
+#navigation {
+width: 130px;
+}
+
+#navigation li {
+font-size: 12px;
+text-align: left;
+line-height: 140%;
+}
+
+#navigation li a {
+color: #3d1f04;
+text-decoration: none;	
+}
+#navigation li a:hover {
+color: #f90;	
+}
+#navigation .niveau1 {
+margin-left: 4px;
+border-bottom:1px solid #ccc;
+}
+#navigation .niveau2 {
+margin-left: 8px;
+}
+
+/* ajout du bloc rechercher pa jquery */
+#bloccherche .forml {
+margin-top: 4px;
+font-size: 9px;
+border: 1px solid #333;
+padding: 2px;
+}
+
+/* contextes */
+
+#contexte1 {
+float: left;
+width: 140px;
+}
+#contexte2 {
+float: right;
+width: 140px;
+}
+
+/* chemin */
+
+#chemin {
+font-size: 9px;
+color: #aaa;
+margin: 0 0 18px 0;
+padding: 0 0 4px 0;
+border-bottom: 1px solid #aaa;	
+}
+
+#chemin a {
+color: #aaa;	
+}
+
+#chemin a:hover {
+color: #777;
+text-decoration: underline;	
+}
+
+#corps {
+margin:0 150px 0 150px;
+min-height: 400px;
+_height: 400px;
+}
+
+#footer {
+border-top: 1px solid #666;
+padding: 5px;
+clear: both;
+margin-top: 18px;
+
+font-size: 10px;
+color: #444;
+
+text-align: center
+}
+
+#footer a {
+color: #444;
+text-decoration: none;
+border-bottom: 1px dashed #333;	
+}
+
+#footer a:hover {
+color: #f60;
+text-decoration: none;
+border-bottom: 1px dashed #f60;	
+}
+
+#arty-footer {
+font-size: 9px;
+color: #ccc;
+margin: 8px 0 0 0;
+height: 0px;	
+}
+
+#arty-footer a {
+color: #ccc;
+border-bottom: 1px dotted #ccc;	
+}
+
+#arty-footer a:hover {
+color: #999;
+border-bottom: 1px dotted #999;	
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/laune.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/laune.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/laune.css	(revision 198)
@@ -0,0 +1,67 @@
+/* rubrique a la une */
+
+#corps div.rubrique-une, #corps div.article-une {
+	color: #955B0B;	
+	margin: 5px 0 0 0;
+}
+
+#corps .rubrique-une h2, #corps .article-une h2 {
+	font-family: arial, geneva, sans-serif;
+	font-size: 11px;
+	color: #955B0B;
+	margin-left: 10px;
+	margin-bottom: 2px;
+	border-bottom: 0;
+	text-transform: none;
+}
+
+
+#corps .rubrique-une h2 a, #corps .article-une h2 a {
+		color: #955B0B;	
+		
+}
+
+#corps .rubrique-une h2 a:hover, #corps .article-une h2 a:hover {
+		color: #5B3300;	
+}
+
+#corps .rubrique-une h4, #corps .article-une h4 {
+	font-family: georgia, times, serif;
+	font-size: 14px;
+	color: #553507;
+letter-spacing: 0.05em;	
+}
+
+#corps .rubrique-une h4 a, #corps .article-une h4 a {
+		color: #553507;	
+}
+
+#corps .rubrique-une h4 a:hover, #corps .article-une h4 a:hover {
+	color: #000;
+	}
+
+#corps .rubrique-une .listagelogo, #corps .article-une .listagelogo {
+	display: block;
+	float: left;
+	margin-right: 10px;
+}
+
+#corps .rubrique-une .listageinfo, #corps .article-une .listageinfo {
+font-size: 9px;
+color: #333;
+font-weight: normal;
+}
+
+#corps .rubrique-une .listagetexte, #corps .article-une .listagetexte {
+		font-size: 10px;	
+margin-top: 1em;
+}
+
+
+#corps .rubrique-une ul, #corps .article-une ul {
+	border:1px solid #333;
+	padding:  5px;
+	background: url('images/cartouche.png') top left repeat-y;
+}
+
+/*  */
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/listes.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/listes.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/listes.css	(revision 198)
@@ -0,0 +1,183 @@
+/* comportement des listes */
+
+#corps h2, #corps h2 a {
+font-family: arial, helvetica, serif;
+font-size: 12px;
+padding-bottom: 0.2em;
+margin: 1.5em 0 1em 0;
+color: #553507;
+border-bottom: 1px solid #553507;
+text-transform: uppercase;
+
+}
+
+#corps .listageconteneur {
+padding-bottom: 5px;
+}
+
+#corps .listageconteneur li {
+margin-bottom: 5px;
+
+}
+
+#corps h4 {
+font-size: 16px;
+font-family: georgia, times, serif;
+margin-bottom: 6px;
+color: #f30;	
+}
+
+#corps #piecesjointes h4 {
+font-size: 14px;
+}
+
+#corps h4 a {
+color: #f60;	
+}
+
+#corps h4 a:hover{
+color: #f90;	
+}
+
+#corps .listagelogo {
+float: left;
+margin: 0 10px 4px 0;	
+}
+
+
+#corps .listageinfo {
+font-size: 9px;	
+}
+
+#corps .listagetexte {
+font-size: 10px;	
+}
+
+.listagesuite {
+font-size: 9px;	
+text-align: right;
+margin-right: 18px;	
+}
+
+.listagesuite a {
+color: #f60;	
+}
+
+.listagesuite a:hover {
+	color: #000;
+}
+
+/* cas specifiques */
+
+#corps #edito h2 {
+	display: none;
+}
+
+#corps #edito h1 {
+font-size: 18px;
+}
+
+/* blocs Ã  la une */
+
+.rubrique-une .listagetexte {
+display:none;
+} 
+
+/* l'agenda */
+
+#agenda .listageconteneur h4 {
+font-size: 14px;
+font-weight: bold;	
+}
+
+/* forum */
+
+.formulaire_forum {
+margin: 12px 0;
+background-color: #eee;
+padding: 8px;
+}
+
+.formulaire_forum legend {
+font-size: 14px;
+display: block;
+
+
+}
+
+.formulaire_forum fieldset {
+margin-bottom: 20px;
+}
+
+.formulaire_forum label {
+display: block;
+font-size: 11px;
+margin: 6px 0 0 0;
+}
+
+.formulaire_forum p {
+font-size: 9px;
+margin: 2px 0 6px 0;
+}
+
+.formulaire_forum .forml {
+font-size: 10px;
+width: 90%;
+}
+
+.formulaire_forum .spip_bouton {
+text-align: right;
+padding: 2px 0 0 0;
+}
+
+.formulaire_forum .spip_bouton input {
+
+font-size: 10px;
+padding: 2px;
+border: 2px outset green;
+background-color: #00CC00;
+color: #fff;
+}
+
+.formulaire_forum .spip_bouton input:hover {
+background-color: green;
+}
+
+.barre {
+display: none;
+}
+
+.formulaire_forum .previsu {
+background-color: #ddd;
+padding: 6px;
+font-size: 14px;
+}
+
+.formulaire_forum .previsu p {
+
+font-size: 12px;
+}
+
+.formulaire_forum small {
+
+font-size: 9px;
+}
+
+#newsletter legend {
+display: none;
+}
+
+/* liste de liens */
+#corps #sites .listageconteneur li {spip.php (line 18)
+clear:left;
+margin-bottom:8px;
+
+}
+
+#corps #sites h4 {
+font-size:11px;
+}
+
+#corps #sites .listageconteneur {
+padding-bottom:0px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-java.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-java.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-java.js	(revision 198)
@@ -0,0 +1,13 @@
+function switchecarte(quel) {
+$("#PlanAnderlecht").attr({ src: quel});
+}
+
+function apparaitcherche() {
+	$("#bloccherche").slideToggle("normal");	
+}
+
+$(document).ready(function(){
+   $("#navigation").each(function(){
+    $(this).append("<li><a href='javascript:apparaitcherche();' class='titre-recherche'>Rechercher</a></li><li id='bloccherche' style='display:none'><form action='spip.php?page=recherche' method='get'><input name='page' value='recherche' type='hidden' /><input type='text' class='forml' name='recherche' id='rechercher' value='--->' onfocus='this.value=&#34;&#34;;' /></form></li>");
+ 	});
+ });
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-specific.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-specific.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/particip-specific.css	(revision 198)
@@ -0,0 +1,9 @@
+/* specifique a particip cafe */
+
+#agenda .listageinfo {
+display: none;
+}
+
+#artinrub h2, #rubinrub h2 {
+display: none;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/polices.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/polices.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/polices.css	(revision 198)
@@ -0,0 +1,235 @@
+/* feuille de style principale de police pour le theme particip cafe */
+
+/* css de positionnement hors declinaison */
+
+body {
+font-size: 12px;
+color: #333;
+font-family: geneva, arial, verdana, sans-serif;
+}
+
+/* comportements par defaut */
+
+a {
+color: #666;
+text-decoration: none;
+}
+
+a:hover {
+color: #f60;	
+}
+
+#contextes a {
+color:#3F1C03;
+}
+
+#contextes a:hover {
+color:#ff0;
+}
+	
+ul, li {
+list-style-type: none;
+padding: 0;
+margin: 0;	
+}
+
+h1, h2, h3, h4, h5, h6 {
+margin: 0;
+font-weight: normal;	
+}
+
+p {
+margin: 2px 0;	
+}
+
+.forml {
+width: 100%;
+}
+
+a img {
+border: 0;	
+}
+
+img {
+behavior: url("win_png.htc");	
+}
+
+/* contextes et corps */
+
+#contextes img {
+display: block;
+margin: 2px auto;
+}
+
+#contextes .listagebloc {
+background-color: #FE6A00;
+padding: 8px;
+margin-bottom: 18px;	
+}
+
+#contextes h1 {
+font-size: 18px;
+}
+
+#contextes h2 {
+font-size: 14px;
+letter-spacing: 0.1em;
+color: #fff;
+margin: 4px 0 10px 0;
+}
+#contextes h3 {
+font-size: 12px;
+}
+#contextes h4 {
+font-size: 10px;
+}
+
+#contextes .listageinfo {
+font-size: 9px;
+}
+
+#contextes .listagetexte {
+font-size: 10px;
+color: #fff;
+margin: 10px 0 4px 0;
+}
+
+#contextes .listagetexte a:hover {
+color: #ff0;
+}
+
+#contextes .listagetexte a {
+color: #fff;
+}
+
+/* corps */
+#corps .logo {
+	margin-bottom: 10px;
+}
+
+#texteconteneur {
+margin-bottom: 2em;
+}
+
+#corps h1 {
+font-size: 28px;
+font-family: georgia, times, serif;
+margin-bottom: 6px;
+color: #f30;
+}
+
+.sursoustitre {
+font-size: 10px;
+color: #666;
+letter-spacing: 0.1em;
+}
+
+.surtitre {
+	
+}
+
+.soustitre {
+	
+}
+
+.dateauteurs {
+	font-size: 11px;
+	margin: 28px 0 0 0;
+}
+
+.chapeau {
+font-family: georgia, times, serif;
+margin-top: 18px;
+font-size: 13px;
+color: #333;
+line-height: 140%;
+margin-right: 30px;
+font-weight:bold;
+font-style: italic;
+}
+
+.texte {
+	font-size: 11px;
+	line-height: 140%;
+	margin-top: 18px;
+	text-align: justify;
+}
+
+#corps .ps, #corps .notes {
+font-size: 10px;
+margin: 20px 0 0 0;
+}
+
+.listagerepondre {
+text-align: right;	
+margin-top: 18px;
+}
+
+.listagerepondre a {
+color: #f90;	
+}
+.listagerepondre a:hover {
+color: #f30;	
+}
+
+#corps h3 {
+font-size: 18px;
+margin: 1.5em 0 0.5em 0
+}
+
+/* forum */
+
+#forum ul {
+margin-top: 20px;
+}
+
+#forum ul ul {
+padding-left: 10px;
+margin-left: 10px;
+border-left: 1px solid #ccc;
+}
+
+/* comportement des css generee par spip */
+
+p.spip {
+margin: 2em 0 0 0;
+}
+
+fieldset {
+border: none;
+padding:0;
+}
+
+legend {
+font-size: 18px;
+font-family: georgia, times, serif;
+margin-bottom: 10px;
+}
+
+fieldset p {
+margin: 6px 0 18px 0;
+}
+
+label {
+font-weight: bold;
+font-size: 12px;
+}
+
+/* cacher la traduction car prise en charge par le bandeau */
+.traductions {
+display: none;
+}
+
+#contextes .forml {
+width:94%;
+border:0;
+font-size:10px;
+color:#333;
+padding:2px;
+}
+
+/* formulaire proposer site */
+
+#proposer-site legend {
+display:none;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/theme.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/theme.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/theme.xml	(revision 198)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<theme>
+  <titre>redCTA</titre>
+  <description><![CDATA[
+  El tema redCTA.<br />
+  Dominantes en naranja y marron, ancho del cuerpo principal XXX pixels, ancho de los contextos 140 pixels. <br />Bandeau de 750px por 102px.
+  ]]></description>
+  <auteur><![CDATA[redCTA]]></auteur>
+  <separateur> : </separateur>
+  <chemin_page>corps</chemin_page>
+  <navigation>contexte1</navigation>
+
+  <audiovars><![CDATA[displayheight=88&repeat=true&shuffle=false&lightcolor=0xaf8a1e&backcolor=0x999967&frontcolor=0xe1b226]]></audiovars>
+  <audiowidth>365</audiowidth>
+  <audioheight>200</audioheight>  
+  <largeurcorps>455</largeurcorps>
+  <largeurcontexte1>130</largeurcontexte1>
+  <largeurcontexte2>124</largeurcontexte2>
+
+</theme>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/thickbox.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/thickbox.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/redCTA/thickbox.css	(revision 198)
@@ -0,0 +1,158 @@
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_window {
+	font: 12px Arial, Helvetica, sans-serif;
+	color: #333333;
+}
+
+#TB_secondLine {
+	font: 10px Arial, Helvetica, sans-serif;
+	color:#666666;
+}
+
+#TB_window a:link {color: #666666;}
+#TB_window a:visited {color: #666666;}
+#TB_window a:hover {color: #000;}
+#TB_window a:active {color: #666666;}
+#TB_window a:focus{color: #666666;}
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_overlay {
+	position: fixed;
+	z-index:100;
+	top: 0px;
+	left: 0px;
+	background-color:#f90;
+	filter:alpha(opacity=75);
+	-moz-opacity: 0.75;
+	opacity: 0.75;
+	height:100%;
+	width:100%;
+}
+
+* html #TB_overlay { /* ie6 hack */
+     position: absolute;
+     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_window {
+	position: fixed;
+	background: #ffffff;
+	z-index: 102;
+	color:#000000;
+	display:none;
+	border: 4px solid #525252;
+	text-align:left;
+	top:50%;
+	left:50%;
+}
+
+* html #TB_window { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_window img#TB_Image {
+	display:block;
+	margin: 15px 0 0 15px;
+	border-right: 1px solid #ccc;
+	border-bottom: 1px solid #ccc;
+	border-top: 1px solid #666;
+	border-left: 1px solid #666;
+}
+
+#TB_caption{
+	height:25px;
+	padding:7px 30px 10px 25px;
+	float:left;
+}
+
+#TB_closeWindow{
+	height:25px;
+	padding:11px 25px 10px 0;
+	float:right;
+}
+
+#TB_closeAjaxWindow{
+	padding:7px 10px 5px 0;
+	margin-bottom:1px;
+	text-align:right;
+	float:right;
+}
+
+#TB_ajaxWindowTitle{
+	float:left;
+	padding:7px 0 5px 10px;
+	margin-bottom:1px;
+}
+
+#TB_title{
+	background-color:#e8e8e8;
+	height:27px;
+}
+
+#TB_ajaxContent{
+	clear:both;
+	padding:2px 15px 15px 15px;
+	overflow:auto;
+	text-align:left;
+	line-height:1.4em;
+}
+
+#TB_ajaxContent.TB_modal{
+	padding:15px;
+}
+
+#TB_ajaxContent p{
+	padding:5px 0px 5px 0px;
+}
+
+#TB_load{
+	position: fixed;
+	display:none;
+	height:13px;
+	width:208px;
+	z-index:103;
+	top: 50%;
+	left: 50%;
+	margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
+}
+
+* html #TB_load { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_HideSelect{
+	z-index:99;
+	position:fixed;
+	top: 0;
+	left: 0;
+	background-color:#fff;
+	border:none;
+	filter:alpha(opacity=0);
+	-moz-opacity: 0;
+	opacity: 0;
+	height:100%;
+	width:100%;
+}
+
+* html #TB_HideSelect { /* ie6 hack */
+     position: absolute;
+     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_iframeContent{
+	clear:both;
+	border:none;
+	margin-bottom:-1px;
+	margin-top:1px;
+	_margin-bottom:1px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/diaporama.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/diaporama.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/diaporama.css	(revision 198)
@@ -0,0 +1,87 @@
+#corps #cadre-slideshow {
+padding: 5px 0 0 1px;
+clear: left;
+}
+
+#cadre-slideshow a {
+border: 0;
+}
+
+#contextes #cadre-slideshow {
+padding: 0;
+clear: left;
+}
+
+#slideShow {
+	width: 250px;
+	background-color: #fff;
+border-left: 5px solid #fff;
+border-right: 15px solid #fff;
+border-bottom: 10px solid #fff;
+}
+
+.pagelinks {
+padding: 0 10px;
+}
+
+#corps .pagelinks a, #contextes .pagelinks a {
+  color:#333;
+	font-weight: normal;
+	font-size:10px;
+	border-bottom:none;
+	text-decoration:none;
+}
+
+.pagelinks a:hover {
+background-color:#ddd;
+}
+.slideCaption
+{
+	/*background-color: #FFFFCC;*/
+	padding: 4px;
+	text-align: center;
+	font-weight: bold;
+}
+.pagelinks a.activeSlide
+{
+	color: #fff;
+background-color: #666;
+}
+/* this is for IE so the prev/next links can be hovered*/
+.nextSlide,.prevSlide
+{
+  background-color:transparent;
+	background-image: url(images/spacer.gif);
+	text-decoration:none;
+}
+.nextSlide:hover
+{
+  background-color:transparent;
+	background-image: url(images/nextslide.jpg);
+	background-repeat: no-repeat;
+	background-position: right bottom;
+}
+.prevSlide:hover
+{
+	background-color:transparent;
+  background-image: url(images/prevslide.jpg);
+	background-repeat: no-repeat;
+	background-position: left bottom;
+}
+
+.inputsTooltip
+{
+	border: 1px solid #ccc;
+	background-color: #eee;
+	padding: 4px;
+	color: #333;
+	font-family: Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	filter:alpha(opacity=70);
+	-moz-opacity:.70;
+	opacity:.70;
+}
+#tooltipURL
+{
+	display: none;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/lecteur-standalone.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/lecteur-standalone.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/lecteur-standalone.css	(revision 198)
@@ -0,0 +1,8 @@
+#lecteur-audio-standalone {
+margin: 10px 0 0 10px;	
+}
+
+#lecteur-audio-standalone h2 {
+font-size: 10px;
+font-size: georgia, times, serif;	
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/newsletter.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/newsletter.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/addfiles/newsletter.css	(revision 198)
@@ -0,0 +1,18 @@
+h1 {
+ margin:10px 0px 4px;
+}
+#conteneur-texte {
+ margin:0px;
+}
+#general {
+ background-color:#fff;
+ background-image:none;
+ margin-top:0px;
+}
+#bandeau {
+ position: static;
+}
+#footer {
+ background-color:#fff;
+ left:0px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/bloc-video.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/bloc-video.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/bloc-video.css	(revision 198)
@@ -0,0 +1,15 @@
+/* bloc video */
+
+#video-viewer {
+margin: 20px 0;
+text-align: center;
+}
+
+#video-viewer .spip_documents {
+display:inline;
+}
+
+#chargement-video {
+display: block;
+margin: 20px auto;	
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/ceessee.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/ceessee.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/ceessee.css	(revision 198)
@@ -0,0 +1,152 @@
+/* declinaison trendyred */
+
+body {
+background-image: none;
+background-color: #e7e7e7;
+}
+
+#general {
+width: 769px;
+background-color: transparent;
+margin:0 auto;
+}
+
+#bandeau {
+height:100px;
+position:relative;
+width:100%;
+}
+
+#navigation {
+width: auto;
+position:relative;
+top:0;
+}
+
+a:hover {
+color: #f60;
+}
+
+#general {
+background-image: none;
+background-color: #fff;
+}
+
+#chemin, #chemin-vide {
+background-image: none;
+}
+#navigation {
+background: url('ceesee/fond-menu.jpg') repeat-x top left;
+}
+
+#navigation .niveau1 {
+background: url(ceesee/fond-niv1.jpg) no-repeat;
+margin-right:2px;
+padding-top:4px;
+text-transform:uppercase;
+font-size:12px;	
+}
+
+#navigation .niveau1:hover  {
+background: url(ceesee/fond-niv1-over.jpg) no-repeat;
+}
+
+#navigation .niveau1 a:hover  {
+color:#333;
+}
+
+.niveau1 a {
+padding-bottom:4px;	
+}
+
+.ulniveau2 {
+background-color:#999;
+font-size:11px;
+top:1.7em;
+}
+
+.niveau2 a:hover {
+background-color:#ccc;
+}
+
+#footer {
+background-image: none;
+background-color: #e71f01;
+}
+
+#footer a:hover {
+	color: #e71f01;
+	border-bottom: 1px dotted #f40;
+}
+
+#chemin, #chemin-vide {
+top:0;	
+padding:0 0 2em 0;
+}
+
+#chemin-vide{
+height:0;	
+}
+
+#chemin, #chemin a {
+	color: #666;	
+}
+
+#chemin a:hover {
+color:#A71D01;
+}
+
+h1 {
+	color: #e71f01;
+}
+
+#corps h2 {
+background-image: none;
+background-color:#7e7d81;
+}
+
+#contextes h2 {
+background-image: none;
+background-color:#e71f01;	
+}
+
+#corps .listageconteneur {
+background-color:#fafafa;
+border-left:1px solid #ccc;	
+}
+
+#corps .listagetitre a, #corps .listagetitre {
+color:#e71f01;
+}
+
+#corps .listagetitre a:hover {
+color: #B71900;
+}
+
+#corps .chapeau, #contextes .chapeau {
+color:#9B1A00;
+font-size:14px;
+}
+
+#contextes .listageconteneur {
+border:1px solid #ddd;
+background:url(ceesee/fond-contexte.jpg) repeat-x top left;	
+}
+
+.listagerepondre a {
+	color: #e71f01; // a la place de f60
+}
+
+.listagerepondre a:hover {
+	color: #f00;
+}
+
+#menuhasard .spip_logos  {
+	border: 1px solid #3176AF;
+}
+
+/**/
+
+.spip_documents_center a, .spip_documents_right a, .spip_documents_left a {
+border: 1px solid #9B1A00;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendycelsobar.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendycelsobar.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendycelsobar.css	(revision 198)
@@ -0,0 +1,99 @@
+/* declinaison trendyred */
+
+body {
+background-image: url('celsobar/fond-body.png');
+background-color: #B2CEE2;
+}
+
+#general {
+width: 769px;
+margin: 146px auto 0 auto;
+background-color: transparent;
+}
+
+#bandeau {
+width: 761px;
+margin: 0 4px;	
+}
+
+#navigation {
+width: 749px;	
+}
+
+a:hover {
+	color: #f60;
+}
+
+#general {
+background-image: url('celsobar/fond-general.png');
+}
+
+#chemin, #chemin-vide {
+background-image: url('celsobar/fond-chemin.png');
+}
+#navigation {
+background-image: url('celsobar/fond-navigation.png');
+}
+
+#footer {
+background-image: url('celsobar/fond-footer.png');
+}
+
+#footer a:hover {
+	color: #f60;
+	border-bottom: 1px dotted #f60;
+}
+
+#chemin, #chemin a {
+	color: #fff;	
+}
+
+#chemin a:hover {
+color: #B34700;}
+
+h1 {
+	color: #f60;
+}
+
+#corps h2 {
+background-image: url('celsobar/fond-listage.png');
+}
+
+#contextes h2 {
+background-image: url('celsobar/fond-h6.png');	
+}
+
+#corps .listageconteneur {
+background-color:#F4FFDD;
+border-left: 1px solid #690;
+}
+
+#corps .listagetitre a, #corps .listagetitre {
+	color: #669900;
+	}
+
+#corps .listagetitre a:hover {
+color: #f60;
+}
+
+#corps .chapeau, #contextes .chapeau {
+color:#333;
+}
+
+.listagerepondre a {
+	color: #f60;
+}
+
+.listagerepondre a:hover {
+	color: #f00;
+}
+
+#menuhasard .spip_logos  {
+	border: 1px solid #690;
+}
+
+/**/
+
+.spip_documents_center a, .spip_documents_right a, .spip_documents_left a {
+border: 1px solid #690;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendyred.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendyred.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/declinaisons/trendyred.css	(revision 198)
@@ -0,0 +1,99 @@
+/* declinaison trendyred */
+
+body {
+background-image: url('red/fond-body.png');
+background-color: #566;
+}
+
+#general {
+width: 769px;
+background-color: transparent;
+}
+
+#bandeau {
+width: 761px;
+margin: 0 4px;	
+}
+
+#navigation {
+width: 749px;	
+}
+
+a:hover {
+	color: #f60;
+}
+
+#general {
+background-image: url('red/fond-general.png');
+}
+
+#chemin, #chemin-vide {
+background-image: url('red/fond-chemin.png');
+}
+#navigation {
+background-image: url('red/fond-navigation.png');
+}
+
+#footer {
+background-image: url('red/fond-footer.png');
+}
+
+#footer a:hover {
+	color: #f40;
+	border-bottom: 1px dotted #f40;
+}
+
+#chemin, #chemin a {
+	color: #666;	
+}
+
+#chemin a:hover {
+color:#A71D01;
+}
+
+h1 {
+	color: #f40;
+}
+
+#corps h2 {
+background-image: url('red/fond-listage.png');
+}
+
+#contextes h2 {
+background-image: url('red/fond-h6.png');	
+}
+
+#corps .listageconteneur {
+background-color:#E8F3F6;
+border-left:1px solid #D0E6EC;	
+}
+
+#corps .listagetitre a, #corps .listagetitre {
+color:#3176AF;
+}
+
+#corps .listagetitre a:hover {
+color: #f40;
+}
+
+#corps .chapeau, #contextes .chapeau {
+color:#f40;
+}
+
+.listagerepondre a {
+	color: #f40; // a la place de f60
+}
+
+.listagerepondre a:hover {
+	color: #f00;
+}
+
+#menuhasard .spip_logos  {
+	border: 1px solid #3176AF;
+}
+
+/**/
+
+.spip_documents_center a, .spip_documents_right a, .spip_documents_left a {
+border: 1px solid #3176AF;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/defaut-spip.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/defaut-spip.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/defaut-spip.css	(revision 198)
@@ -0,0 +1,95 @@
+/* redefinition de tgs de spip */
+
+spip_logos {
+	border: 1px solid #ccc;
+	margin: 0;
+	padding: 0;
+	background-color: #FFF;
+}
+
+.spip_documents_left img, .spip_documents_right img, .spip_documents_center img {
+border: 1px solid #ccc;
+background-color: #efefef;
+padding: 4px;
+}
+
+.spip_documents_left {
+float: left;	
+
+margin: 0 2em 1em 0;
+}
+
+.spip_documents_right {
+float: right;
+margin: 0 0 1em 1em;
+}
+
+.spip_documents_center {
+display: block;
+text-align: center;
+margin: 1em auto;
+}
+
+.spip_doc_titre {
+margin: 3px;
+font-size: 10px;
+text-align: center;
+}
+
+.spip_doc_descriptif {
+font-size: 9px;
+text-align: center;
+line-height: 120%;
+}
+
+
+div.spip_code {
+font-family: courier, monospace;
+font-size: 100%;
+padding: 10px 10px 10px 10px;
+margin: 10px 5px 10px 5px;
+border: 1px solid #ccc;
+background-color: #efefef;
+}
+
+span.spip_code {
+font-family: courier, sans-serif;
+font-size: 100%;
+} 
+
+.spip_surligne {
+background-color: yellow;
+}
+/* comportement des css generee par spip */
+
+p.spip {
+margin: 1em 0 2em 0;
+}
+
+fieldset {
+border: none;
+margin-top: 1em;
+}
+
+legend {
+font-size: 12px;
+font-weight: bold;
+}
+
+fieldset p {
+margin: 6px 0 18px 0;
+}
+
+label {
+
+font-size: 10px;
+}
+
+#contextes .forml {
+width: 98%;
+font-size: 10px;
+}
+
+#contextes .spip_bouton input {
+font-size: 10px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/disposition.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/disposition.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/disposition.css	(revision 198)
@@ -0,0 +1,75 @@
+/* disposition */
+/* cette feuille de style definit l'affichage des blocs */
+/* theme : magunews-2 - stephane noel - dec 2005 */
+/* D?clin? par Benjamin Minet */
+
+body {
+margin: 0;
+}
+
+#general {
+margin: 138px auto 0 auto;
+width: 761px;
+}
+
+#bandeau {
+height: 94px;
+width: 761px;
+position: absolute;
+top: 0;
+}
+
+#navigation {
+position: absolute;
+top: 94px;
+width: 741px;
+height: 26px;
+padding: 6px 10px 1px 10px;
+}
+
+#navigation h2 {
+display:none;
+}
+
+#conteneur-navigation {
+
+}
+
+#contextes {
+float: right;
+width: 240px;
+padding: 10px 27px 10px 10px;
+}
+#newsletter legend 
+{
+display: none;
+}
+#chemin, #chemin-vide {
+position: relative;
+top: -10px;
+z-index:10;
+}
+
+#chemin {
+	padding: 14px 10px 6px 10px;
+}
+
+#chemin-vide {
+	height: 32px;
+}
+
+#corps {
+margin-right: 280px;
+padding: 10px 14px 30px 20px;
+}
+
+#footer {
+position: relative;
+top: 10px;
+padding: 20px;
+clear: both;
+}
+
+#fin {
+clear: both;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/form-forum.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/form-forum.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/form-forum.css	(revision 198)
@@ -0,0 +1,69 @@
+/* forum : formulaire*/
+
+.formulaire_forum {
+margin: 12px 0;
+background-color: #eee;
+padding: 8px;
+}
+
+.formulaire_forum legend {
+font-size: 14px;
+display: block;
+}
+
+.formulaire_forum fieldset {
+margin-bottom: 20px;
+}
+
+.formulaire_forum label {
+display: block;
+font-size: 11px;
+margin: 6px 0 0 0;
+}
+
+.formulaire_forum p {
+font-size: 9px;
+margin: 2px 0 6px 0;
+}
+
+.formulaire_forum .forml {
+font-size: 10px;
+width: 90%;
+}
+
+.formulaire_forum .spip_bouton {
+text-align: right;
+padding: 2px 0 0 0;
+}
+
+.formulaire_forum .spip_bouton input {
+
+font-size: 10px;
+padding: 2px;
+border: 2px outset green;
+background-color: #00CC00;
+color: #fff;
+}
+
+.formulaire_forum .spip_bouton input:hover {
+background-color: green;
+}
+
+.barre {
+display: none;
+}
+
+.formulaire_forum .previsu {
+background-color: #ddd;
+padding: 6px;
+font-size: 14px;
+}
+
+.formulaire_forum .previsu p {
+font-size: 12px;
+}
+
+.formulaire_forum small {
+
+font-size: 9px;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/galerie.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/galerie.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/galerie.css	(revision 198)
@@ -0,0 +1,51 @@
+body.bodygalerie {
+background-image: none;
+background-color: #fff;
+}
+
+.bodygalerie a img {
+border: 1px #333 solid;
+margin: 0 2px;
+}
+
+.bodygalerie a .precedent, .bodygalerie a .suivant {
+border: none;
+}
+
+
+#popup {
+	border: 1px solid #ccc;
+	text-align: center;
+	font-size: 11px;
+	background-color: #fff;
+	
+}
+
+.barre {
+padding: 4px 0 6px 0;
+}
+
+.bodygalerie #corps {
+}
+
+#innercorps {
+}
+.info {
+ padding: 2px;
+}
+
+
+.imgitself {
+padding: 1px;
+border: 1px solid #ccc;
+}
+
+.bodygalerie ul {
+margin: 10px auto;
+text-align: center;
+}
+
+.bodygalerie li {
+display: inline;
+
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/javascript.js
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/javascript.js	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/javascript.js	(revision 198)
@@ -0,0 +1,15 @@
+ $(document).ready(function(){
+   // fait marcher le menu a deux niveaux
+   $('#navigation').children('.niveau1').each(function(){
+   	$(this).mouseover(function() {
+   	$(this).children('.ulniveau2').show();  	
+   	})
+   	
+   	$(this).mouseout(function() {
+   	$(this).children('.ulniveau2').hide();   	
+   	})
+   	});
+   	
+   	$('#contextes a img').parent().css("padding","0").css("background-image","none");
+   	
+ });
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/listes.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/listes.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/listes.css	(revision 198)
@@ -0,0 +1,139 @@
+/* listes */
+
+/* liste pour le corps */
+h2 {
+background-position: top left;
+background-repeat: no-repeat;
+font-size: 9px;	
+padding: 4px 6px 4px 4px;
+display: inline;
+color: #fff;
+}
+
+#corps h2 {
+background-image: url(fond-listage.png);
+}
+
+#contextes h2 {
+background-image: url(fond-h6.png);	
+}
+
+.listagebloc {
+clear: left;
+}
+
+#corps .listagebloc {
+margin-top: 24px;	
+}
+
+#contextes .listagebloc {
+margin-top: 12px;	
+}
+
+#corps .listageconteneur {
+	background-color:#F4FFDD;
+	padding: 16px 12px;
+	border-left: 1px solid #669900;
+	margin-bottom: 26px;
+}
+
+#contextes .listageconteneur {
+	background-color: #fff;
+	margin-bottom: 20px;
+	padding: 6px;
+}
+
+
+#corps .listageconteneur li {
+	margin: 0 0 16px 0;
+	clear: left;
+}
+
+#contextes .listageconteneur li {
+	font-size: 9px;
+	padding: 3px 0;
+}
+
+#corps .listagelogo {
+	border: 1px solid #556666;
+	margin: 0 10px 6px 0;
+	clear: left;
+	float: left;
+}
+
+#corps .listagetitre {
+	font-size: 20px;
+	margin: 0;
+	font-weight: normal;
+}
+
+#corps .dernierart .listagetitre {
+	font-size: 12px;
+}
+
+#corps .listagetitre a {
+	color: #669900;
+	text-decoration: none;
+}
+
+#corps .listagetitre a:hover {
+	color: #FF6600;
+	text-decoration: underline;
+}
+
+#corps .listageinfo {
+	font-size: 10px;
+	font-weight: bold;
+	margin: 2px 0;
+	color: #666;
+}
+
+#corps .listagetexte {
+	line-height: 16px;
+	font-size: 11px;
+	text-align: justify;
+	margin: 4px 0 4px 0;
+}
+
+#corps .listagesite {
+	font-size: 13px;
+}
+
+#corps .listagesuite {
+font-size: 10px;
+text-align: right;
+}
+
+#contextes li a {
+	background-image: url(fleche-lien.png);
+	background-position: 0px 3px;
+	background-repeat: no-repeat;
+	font-size: 11px;
+	color: #333;
+	text-decoration: none;
+	padding-left: 12px;
+}
+
+#contextes li a:hover {
+	background-image: url(fleche-anim.gif);
+}
+
+#contextes span a {
+	padding-left: 0;
+	background-image: none;
+	font-size: 9px
+}
+
+#contextes span a:hover {
+	color: #FF6600;
+	background-image: none;
+}
+
+#contextes .listageinfo a {
+background-image: none;
+padding-left: 0;
+}
+
+#contextes .listageinfo a:hover {
+background-image: none;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/menu.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/menu.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/menu.css	(revision 198)
@@ -0,0 +1,80 @@
+.ulniveau3, .ulniveau4, .ulniveau5, .ulniveau6 {
+display: none;
+}
+
+#navigation {
+z-index: 100;
+}
+
+.item0 {
+display:none;
+}
+
+#navigation li {
+float: left;
+position: relative;
+
+}
+
+.niveau1 {
+font-size: 13px;
+}
+
+.niveau1 a {
+margin-left: 6px;
+margin-right: 8px;
+text-decoration: none;
+color: #fff;
+padding-bottom: 6px;
+display: block;
+}
+
+.niveau1 a:hover {
+color: #ff0000;
+}
+
+.ulniveau2 {
+display: none;
+width: 12em;
+position: absolute;
+top: 1.6em;
+left: 0;
+background-color: #2f608e;
+z-index: 10000;
+font-size: 12px;
+}
+
+.niveau2 {
+
+}
+
+.niveau2 {
+width: 100%;
+}
+
+.niveau2 a{
+text-decoration: none;
+padding: 6px 6px;
+margin: 0;
+display: block;
+border-top: 1px solid #fff;
+}
+
+.niveau2 a:hover {
+background-color: #1C3955;
+color: #fff;
+}
+
+/*#navigation li>ul { 
+ to override top and left in browsers other than IE, 
+which will position to the top right of the containing li, 
+rather than bottom left 
+top: auto;
+left: auto;
+}*/
+
+#navigation li:hover ul, li.over ul { 
+/* lists nested under hovered list items */
+display: block;
+}
+
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/polices.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/polices.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/polices.css	(revision 198)
@@ -0,0 +1,236 @@
+/*
+vert clair : #669900
+vert foncÃÂ© : #365100
+bleu clair : #336799
+bleu foncÃÂ© : #162D43
+orange : #FF6600
+*/
+
+/* polices */
+/* cette feuille de style definit l'affichage des polices */
+/* theme : magunews - stephane noel - dec 2005 */
+/* DÃÂ©clinÃÂ© par Benjamin Minet */
+
+body {
+font-family: Helvetica Neue, arial, verdana, sans-serif;
+background-image: url(fond-body.png);
+background-position: top left;
+background-repeat: repeat-x;
+background-color: #89B0D8;
+color: #333;
+}
+
+ul, li {
+	padding: 0;
+	margin: 0;
+	list-style-type: none;
+}
+
+a {
+	color: #222;
+}
+
+a:hover {
+	color: #FF6600;
+}
+
+a img {
+border: 0;	
+}
+
+#general {
+background-image: url(fond-general.png);
+background-position: top left;
+background-repeat: repeat-y;
+background-color: #fff;
+}
+
+#bandeau {
+background-repeat: no-repeat;
+background-color: #fff;
+}
+
+#chemin, #chemin-vide {
+background-image: url(fond-chemin.png);
+background-position: top left;
+background-repeat: no-repeat;
+}
+
+#navigation {
+background-image: url(fond-navigation.png);
+background-position: bottom left;
+background-repeat: no-repeat;
+}
+
+#corps {
+
+}
+
+#contexte {
+
+}
+
+#footer {
+background-image: url(fond-footer.png);
+background-position: bottom center;
+background-repeat: no-repeat;
+text-align: center;
+font-size: 9px;
+color: #fff;
+}
+
+#footer a {
+	text-decoration: none;
+	color: #fff;
+}
+
+#footer a:hover {
+	color: #FF6600;
+	border-bottom: 1px dotted #FF6600;
+}
+
+#footer img {
+border: 0;
+padding: 3px;
+}
+
+
+/* chemin */
+
+#chemin {
+	font-size: 11px;
+	color: #FFDFCA;	
+}
+
+#chemin a {
+	color: #FFDFCA;
+	text-decoration: none;
+}
+
+#chemin a:hover {
+	color: #B34700;
+	
+}
+
+/* conteneur-texte */
+
+h1 {
+	color: #FF6600;
+	font-weight: normal;
+	margin: 4px 0 4px 0;
+}
+
+.logo {
+	border: none;
+	float: left;
+	margin: 0 10px 10px 0;
+}
+
+.sursoustitre {
+	color: #777;
+	font-size: 10px;
+	letter-spacing:0.1em;
+}
+
+.dateauteurs {
+	color: #666;
+	font-size: 11px;
+	margin: 10px 0 4px 0;
+}
+
+.chapeau {
+	clear: left;
+	font-size: 12px;
+	font-weight: bold;
+	color: #333;
+	padding: 10px 0 0 0;
+	line-height: 17px;
+}
+
+.texte {
+	clear: left;
+	font-size: 12px;
+	line-height: 17px;
+	padding: 10px 0 20px 0;
+	text-align: justify;
+}
+
+.ps {
+	font-size: 10px;
+	font-weight: bold;
+	margin-top: 10px;
+	margin-bottom: 20px;
+	border-top: 1px solid #ccc;
+	padding-top: 10px;
+}
+
+.ps strong {
+display: none;
+}
+
+.listagerepondre {
+	font-size: 10px;
+	text-align: right;
+	margin-right: 30px;
+	
+}
+
+.listagerepondre a {
+	color: #FF6600;
+}
+
+.listagerepondre a:hover {
+	color: #f00;
+}
+
+
+/* galerie */
+
+#galerie {
+	margin-top: 20px;
+}
+
+.clearer {
+	clear: left;
+}
+
+#video li, #piecesjointes li {
+	clear: left;
+}
+
+/* le forum */
+
+#forum ul ul {
+margin-left: 10px;
+padding-left: 6px;
+}
+
+/* specifique a la page rubrique */
+
+#artinrub, #rubinrub {
+	margin: 10px 0px 0px 0px;
+}
+
+#rubinrub li, #artinrub li {
+clear: left;
+	margin-bottom: 20px;
+}
+
+/* page sommaire */
+
+#edito h1 {
+	font-size: 22px;
+	margin: 10px 0 0 0;
+}
+
+#edito .texteheader {
+	margin-bottom: 20px;
+}
+
+#menuhasard ul li  {
+text-align: center;  
+}
+
+#menuhasard .spip_logos  {
+	border: 1px solid #3176AF;
+}
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/theme.xml
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/theme.xml	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/theme.xml	(revision 198)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<theme>
+  <titre>Trendy</titre>
+  <description><![CDATA[
+  Un des premiers themes pour Magusine.<br />Developpe en octobre 2005.<br />
+  Dominante grise et bleue, taille du corps 397 pixels, taille des contextes 260 pixels. <br />Bandeau de 390px sur 170px.
+  ]]></description>
+  <auteur><![CDATA[Stephane Noel - Les corsaires]]></auteur>
+  <separateur> - </separateur>
+  <navigation>general</navigation>
+  <chemin_page>general</chemin_page>
+  
+  <audiovars><![CDATA[displayheight=88&repeat=true&shuffle=false&lightcolor=0xBC2300&backcolor=0x5d5f47&frontcolor=0xc8d19e]]></audiovars>
+  <audiolistheight>80</audiolistheight>
+  <videolistheight>80</videolistheight>
+  <videovars>frontcolor=0xCC0000</videovars>
+  
+  <largeurcorps>440</largeurcorps>
+  <largeurcontexte1>220</largeurcontexte1>
+  <largeurcontexte2>220</largeurcontexte2>
+  
+    <declinaison chemin="trendyred.css" titre="Trendy Red">
+  <audiovars><![CDATA[displayheight=88&repeat=true&shuffle=false&lightcolor=0x9aa618&backcolor=0x515151&frontcolor=0xffffff]]></audiovars>
+
+  </declinaison>
+  
+      <declinaison chemin="trendycelsobar.css" titre="Trendy Celsobar">
+  <audiovars><![CDATA[displayheight=88&repeat=true&shuffle=false&lightcolor=0x9aa618&backcolor=0x515151&frontcolor=0xffffff]]></audiovars>
+  </declinaison>
+  <declinaison chemin="ceessee.css" titre="CÃ©essÃ©e">
+   <chemin_page>corps</chemin_page>
+  <audiovars><![CDATA[displayheight=88&repeat=true&shuffle=false&lightcolor=0x9aa618&backcolor=0x515151&frontcolor=0xffffff]]></audiovars>
+  </declinaison>
+  
+</theme>
Index: /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/thickbox.css
===================================================================
--- /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/thickbox.css	(revision 198)
+++ /trunk/spip/esqueleto-redcta/plugins/magusine-portage2/themes/trendy/thickbox.css	(revision 198)
@@ -0,0 +1,159 @@
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+*{padding: 0; margin: 0;}
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_window {
+	font: 12px Arial, Helvetica, sans-serif;
+	color: #333333;
+}
+
+#TB_secondLine {
+	font: 10px Arial, Helvetica, sans-serif;
+	color:#666666;
+}
+
+#TB_window a:link {color: #666666;}
+#TB_window a:visited {color: #666666;}
+#TB_window a:hover {color: #000;}
+#TB_window a:active {color: #666666;}
+#TB_window a:focus{color: #666666;}
+
+/* ----------------------------------------------------------------------------------------------------------------*/
+/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
+/* ----------------------------------------------------------------------------------------------------------------*/
+#TB_overlay {
+	position: fixed;
+	z-index:100;
+	top: 0px;
+	left: 0px;
+	background-color:#333;
+	filter:alpha(opacity=75);
+	-moz-opacity: 0.75;
+	opacity: 0.75;
+	height:100%;
+	width:100%;
+}
+
+* html #TB_overlay { /* ie6 hack */
+     position: absolute;
+     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_window {
+	position: fixed;
+	background: #ffffff;
+	z-index: 302;
+	color:#000000;
+	display:none;
+	border: 4px solid #525252;
+	text-align:left;
+	top:50%;
+	left:50%;
+}
+
+* html #TB_window { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_window img#TB_Image {
+	display:block;
+	margin: 15px 0 0 15px;
+	border-right: 1px solid #ccc;
+	border-bottom: 1px solid #ccc;
+	border-top: 1px solid #666;
+	border-left: 1px solid #666;
+}
+
+#TB_caption{
+	height:25px;
+	padding:7px 30px 10px 25px;
+	float:left;
+}
+
+#TB_closeWindow{
+	height:25px;
+	padding:11px 25px 10px 0;
+	float:right;
+}
+
+#TB_closeAjaxWindow{
+	padding:7px 10px 5px 0;
+	margin-bottom:1px;
+	text-align:right;
+	float:right;
+}
+
+#TB_ajaxWindowTitle{
+	float:left;
+	padding:7px 0 5px 10px;
+	margin-bottom:1px;
+}
+
+#TB_title{
+	background-color:#e8e8e8;
+	height:27px;
+}
+
+#TB_ajaxContent{
+	clear:both;
+	padding:2px 15px 15px 15px;
+	overflow:auto;
+	text-align:left;
+	line-height:1.4em;
+}
+
+#TB_ajaxContent.TB_modal{
+	padding:15px;
+}
+
+#TB_ajaxContent p{
+	padding:5px 0px 5px 0px;
+}
+
+#TB_load{
+	position: fixed;
+	display:none;
+	height:13px;
+	width:208px;
+	z-index:103;
+	top: 50%;
+	left: 50%;
+	margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
+}
+
+* html #TB_load { /* ie6 hack */
+position: absolute;
+margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
+}
+
+#TB_HideSelect{
+	z-index:99;
+	position:fixed;
+	top: 0;
+	left: 0;
+	background-color:#fff;
+	border:none;
+	filter:alpha(opacity=0);
+	-moz-opacity: 0;
+	opacity: 0;
+	height:100%;
+	width:100%;
+}
+
+* html #TB_HideSelect { /* ie6 hack */
+     position: absolute;
+     height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
+}
+
+#TB_iframeContent{
+	clear:both;
+	border:none;
+	margin-bottom:-1px;
+	margin-top:1px;
+	_margin-bottom:1px;
+}
