/trunk/wikini/maj_wikini/actions/galerie.php |
---|
90,7 → 90,9 |
if (!isset($options['img_qualite'])) { |
$options['img_qualite'] = 70; |
} |
if (!isset($options['squelette'])) { |
$options['squelette'] = GAL_SQUELETTE_LISTE; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
116,14 → 118,14 |
if($noimage) { |
$GLOBALS['_GALERIE_']['css']['chemin'] = GAL_CHEMIN_STYLES_RELATIF; |
$GLOBALS['_GALERIE_']['css']['largeur'] = $options['largeur']+10; |
$GLOBALS['_GALERIE_']['css']['largeur'] = $options['largeur']; |
$GLOBALS['_GALERIE_']['script']['chemin'] = GAL_CHEMIN_SCRIPTS_RELATIF; |
$GLOBALS['_GALERIE_']['images'] = array(); |
foreach($images as $image) { |
if ($image['filename'] != '') { |
$aso_img['fichier_nom'] = $image['filename']; |
$aso_img['url_img'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['img_largeur'].'&height='.$options['img_hauteur'].'&quality='.$options['img_qualite']; |
$aso_img['url_img_mini'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['largeur'].'&height='.$options['hauteur'].'&quality='.$options['qualite']; |
$aso_img['url_img'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['img_largeur'].'&height='.$options['img_hauteur'].'&quality='.$options['img_qualite'].'&centrage=0'; |
$aso_img['url_img_mini'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['largeur'].'&height='.$options['hauteur'].'&quality='.$options['qualite'].'&centrage=1'; |
$GLOBALS['_GALERIE_']['images'][] = $aso_img; |
} |
} |
136,7 → 138,7 |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include GAL_CHEMIN_SQUELETTE.GAL_SQUELETTE_LISTE; |
include GAL_CHEMIN_SQUELETTE.$options['squelette']; |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
/trunk/wikini/maj_wikini/actions/galerie/galerie.php |
---|
New file |
0,0 → 1,155 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of wikini. | |
// | | |
// | wikini 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. | |
// | | |
// | wikini 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 Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id$ |
/** |
* wikini - galerie.php |
* |
* Description : |
* |
*@package wikini |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2007 |
*@version $Revision$ $Date$ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
// Définition de constantes |
define('DS', DIRECTORY_SEPARATOR); |
/** Constante "dynamique" stockant le chemin absolue de base de l'application recherche de plante.*/ |
define('GAL_CHEMIN_APPLI', dirname(realpath(__FILE__)).DS); |
/** Constante "dynamique" stockant le chemin relatif de base de l'application recherche de plante.*/ |
define('GAL_CHEMIN_APPLI_RELATIF', str_replace($_SERVER['DOCUMENT_ROOT'], '', GAL_CHEMIN_APPLI)); |
// Initialisation des variables |
$sortie = ''; |
$GLOBALS['_GALLERIE_']['erreur'] = ''; |
// Inclusion du fichier de config de l'action |
require_once GAL_CHEMIN_APPLI.'configuration'.DS.'gal_config.inc.php'; |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des paramêtres et gestion des erreurs de paramètrage |
if (!$this->GetParameter('dossier')) { |
$options['dossier'] = null; |
$GLOBALS['_GALERIE_']['erreur'] = "Applette GALERIE : le paramètre 'dossier' est obligatoire !"; |
} else { |
$options['dossier'] = $this->GetParameter('dossier'); |
} |
if (!$this->GetParameter('id')) { |
$options['id'] = microtime(); |
//$GLOBALS['_GALERIE_']['erreur'] = "Applette GALERIE : le paramètre 'id' est obligatoire !"; |
} else { |
$options['id'] = $this->GetParameter('id'); |
} |
if (!$this->GetParameter('largeur')) { |
$options['largeur'] = 160; |
} else { |
$options['largeur'] = $this->GetParameter('largeur'); |
} |
if (!$this->GetParameter('hauteur')) { |
$options['hauteur'] = 160; |
} else { |
$options['hauteur'] = $this->GetParameter('hauteur'); |
} |
if (!isset($options['qualite'])) { |
$options['qualite'] = 70; |
} |
if (!isset($options['img_largeur'])) { |
$options['img_largeur'] = 800; |
} |
if (!isset($options['img_hauteur'])) { |
$options['img_hauteur'] = 600; |
} |
if (!isset($options['img_qualite'])) { |
$options['img_qualite'] = 70; |
} |
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Récupération des données |
$noimage = 0; |
$GLOBALS['_GALERIE_']['id'] = $options['id']; |
$GLOBALS['_GALERIE_']['dossier'] = GAL_CHEMIN_RACINE.$options['dossier']; |
if (is_dir($GLOBALS['_GALERIE_']['dossier'])) { |
if ($dh = opendir($GLOBALS['_GALERIE_']['dossier'])) { |
while (($f = readdir($dh)) !== false) { |
if((substr(strtolower($f),-3) == 'jpg') || (substr(strtolower($f),-3) == 'gif') || (substr(strtolower($f),-3) == 'png')) { |
$noimage++; |
$images[] = array('filename' => $f, 'hauteur' => $h, 'largeur' => $w); |
array_multisort($images, SORT_ASC, SORT_REGULAR); |
} |
} |
closedir($dh); |
} |
} else { |
$GLOBALS['_GALERIE_']['erreur'] = "Applette GALERIE : le dossier d'images est introuvable à : ".$GLOBALS['_GALERIE_']['dossier']; |
} |
if($noimage) { |
$GLOBALS['_GALERIE_']['css']['chemin'] = GAL_CHEMIN_STYLES_RELATIF; |
$GLOBALS['_GALERIE_']['css']['largeur'] = $options['largeur']; |
$GLOBALS['_GALERIE_']['script']['chemin'] = GAL_CHEMIN_SCRIPTS_RELATIF; |
$GLOBALS['_GALERIE_']['images'] = array(); |
foreach($images as $image) { |
if ($image['filename'] != '') { |
$aso_img['fichier_nom'] = $image['filename']; |
$aso_img['url_img'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['img_largeur'].'&height='.$options['img_hauteur'].'&quality='.$options['img_qualite']; |
$aso_img['url_img_mini'] = 'http://'.$_SERVER['HTTP_HOST'].GAL_CHEMIN_SCRIPTS_RELATIF.'showthumb.php?img='.urlencode(GAL_CHEMIN_RACINE.$options['dossier'].DS.$image['filename']).'&width='.$options['img_largeur'].'&height='.$options['img_hauteur'].'&quality='.$options['qualite']; |
$GLOBALS['_GALERIE_']['images'][] = $aso_img; |
} |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Gestion des squelettes |
// Extrait les variables et les ajoutes à l'espace de noms local |
extract($GLOBALS['_GALERIE_']); |
// Démarre le buffer |
ob_start(); |
// Inclusion du fichier |
include GAL_CHEMIN_SQUELETTE.GAL_SQUELETTE_LISTE; |
// Récupérer le contenu du buffer |
$sortie = ob_get_contents(); |
// Arrête et détruit le buffer |
ob_end_clean(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// Sortie |
echo $sortie; |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log$ |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |
/trunk/wikini/maj_wikini/actions/galerie/index.htm |
---|
New file |
0,0 → 1,78 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
<title>jQuery lightBox plugin</title> |
<link rel="stylesheet" type="text/css" href="../style-projects-jquery.css" /> |
<!-- Arquivos utilizados pelo jQuery lightBox plugin --> |
<script type="text/javascript" src="js/jquery.js"></script> |
<script type="text/javascript" src="js/jquery.lightbox-0.4.pack.js"></script> |
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.4.css" media="screen" /> |
<!-- / fim dos arquivos utilizados pelo jQuery lightBox plugin --> |
<!-- Ativando o jQuery lightBox plugin --> |
<script type="text/javascript"> |
$(function() { |
$('#gallery a').lightBox(); |
}); |
</script> |
<style type="text/css"> |
/* jQuery lightBox plugin - Gallery style */ |
#gallery { |
background-color: #444; |
padding: 10px; |
width: 520px; |
} |
#gallery ul { list-style: none; } |
#gallery ul li { display: inline; } |
#gallery ul img { |
border: 5px solid #3e3e3e; |
border-width: 5px 5px 20px; |
} |
#gallery ul a:hover img { |
border: 5px solid #fff; |
border-width: 5px 5px 20px; |
color: #fff; |
} |
#gallery ul a:hover { color: #fff; } |
</style> |
</head> |
<body> |
<h2 id="example">Example</h2> |
<p>Click in the image and see the <strong>jQuery lightBox plugin</strong> in action.</p> |
<div id="gallery"> |
<ul> |
<li> |
<a href="photos/image1.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery').lightBox();"> |
<img src="photos/thumb_image1.jpg" width="72" height="72" alt="" /> |
</a> |
</li> |
<li> |
<a href="photos/image2.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
<img src="photos/thumb_image2.jpg" width="72" height="72" alt="" /> |
</a> |
</li> |
<li> |
<a href="photos/image3.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
<img src="photos/thumb_image3.jpg" width="72" height="72" alt="" /> |
</a> |
</li> |
<li> |
<a href="photos/image4.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
<img src="photos/thumb_image4.jpg" width="72" height="72" alt="" /> |
</a> |
</li> |
<li> |
<a href="photos/image5.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
<img src="photos/thumb_image5.jpg" width="72" height="72" alt="" /> |
</a> |
</li> |
</ul> |
</div> |
</body> |
</html> |
/trunk/wikini/maj_wikini/actions/galerie/configuration/gal_config.inc.php |
---|
77,7 → 77,7 |
// Configuration du rendu |
/** Nom du fichier de squelette à utiliser pour la liste des pages.*/ |
define('GAL_SQUELETTE_LISTE', 'gal_liste.tpl.html'); |
define('GAL_SQUELETTE_LISTE', 'gal_liste_ss_inclusion.tpl.html'); |
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
/trunk/wikini/maj_wikini/actions/galerie/presentation/styles/jquery.lightbox-0.4.css |
---|
New file |
0,0 → 1,101 |
/** |
* jQuery lightBox plugin |
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) |
* and adapted to me for use like a plugin from jQuery. |
* @name jquery-lightbox-0.4.css |
* @author Leandro Vieira Pinho - http://leandrovieira.com |
* @version 0.4 |
* @date November 17, 2007 |
* @category jQuery plugin |
* @copyright (c) 2007 Leandro Vieira Pinho (leandrovieira.com) |
* @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US |
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin |
*/ |
#jquery-overlay { |
position: absolute; |
top: 0; |
left: 0; |
z-index: 90; |
width: 100%; |
height: 500px; |
} |
#jquery-lightbox { |
position: absolute; |
top: 0; |
left: 0; |
width: 100%; |
z-index: 100; |
text-align: center; |
line-height: 0; |
} |
#jquery-lightbox a img { border: none; } |
#lightbox-container-image-box { |
position: relative; |
background-color: #fff; |
width: 250px; |
height: 250px; |
margin: 0 auto; |
} |
#lightbox-container-image { padding: 10px; } |
#lightbox-loading { |
position: absolute; |
top: 40%; |
left: 0%; |
height: 25%; |
width: 100%; |
text-align: center; |
line-height: 0; |
} |
#lightbox-nav { |
position: absolute; |
top: 0; |
left: 0; |
height: 100%; |
width: 100%; |
z-index: 10; |
} |
#lightbox-container-image-box > #lightbox-nav { left: 0; } |
#lightbox-nav a { outline: none;} |
#lightbox-nav-btnPrev, #lightbox-nav-btnNext { |
width: 49%; |
height: 100%; |
zoom: 1; |
display: block; |
} |
#lightbox-nav-btnPrev { |
left: 0; |
float: left; |
} |
#lightbox-nav-btnNext { |
right: 0; |
float: right; |
} |
#lightbox-container-image-data-box { |
font: 10px Verdana, Helvetica, sans-serif; |
background-color: #fff; |
margin: 0 auto; |
line-height: 1.4em; |
overflow: auto; |
width: 100%; |
padding: 0 10px 0; |
} |
#lightbox-container-image-data { |
padding: 0 10px; |
color: #666; |
} |
#lightbox-container-image-data #lightbox-image-details { |
width: 70%; |
float: left; |
text-align: left; |
} |
#lightbox-image-details-caption { font-weight: bold; } |
#lightbox-image-details-currentNumber { |
display: block; |
clear: left; |
padding-bottom: 1.0em; |
} |
#lightbox-secNav-btnClose { |
width: 66px; |
float: right; |
padding-bottom: 0.7em; |
} |
/trunk/wikini/maj_wikini/actions/galerie/presentation/styles/jquery.galerie-0.1.css |
---|
24,9 → 24,15 |
.stripViewer { |
position: relative; |
overflow: hidden; |
border: 5px solid #444; |
margin: 0 0 1px 0;} |
.stripViewer li a img {border:none;} |
border-style: solid; |
border-bottom-color: #333333; |
border-right-color: #555555; |
border-left-color: #BBBBBB; |
border-top-color: #DDDDDD; |
margin: 5px 10px;} |
.stripViewer li a img { |
border:none; |
margin:0 auto;} |
.stripViewer ul { /* this is your UL of images */ |
margin: 0; |
padding: 0; |
48,6 → 54,7 |
.stripTransmitter ul li{ |
width: 20px; |
float:left; |
padding:0; |
margin: 0 1px 1px 0;} |
.stripTransmitter a{ |
font: bold 10px Verdana, Arial; |
56,9 → 63,10 |
background: #444; |
color: #fff; |
text-decoration: none; |
display: block;} |
display: block; |
border:none;} |
.stripTransmitter a:hover, a.current{ |
background: #fff; |
background: #fff; |
color: #444;} |
/*tooltips formatting*/ |
#tooltip { |
101,7 → 109,9 |
text-align: center; |
line-height: 0; |
} |
#jquery-lightbox a img { border: none; } |
#jquery-lightbox a img { |
margin:0 auto; |
border: none; } |
#lightbox-container-image-box { |
position: relative; |
background-color: #fff; |
109,7 → 119,8 |
height: 250px; |
margin: 0 auto; |
} |
#lightbox-container-image { padding: 10px; } |
#lightbox-container-image { |
padding:0;} |
#lightbox-loading { |
position: absolute; |
top: 40%; |
/trunk/wikini/maj_wikini/actions/galerie/presentation/styles/jquery.sliderviewer.css |
---|
New file |
0,0 → 1,71 |
/*Gallerie CSS en cas d'abscence de JS*/ |
.galerie { |
background-color: #444; |
padding: 10px; |
width:190px; |
height:190px; |
overflow: auto; |
white-space:nowrap;} |
.galerie ul { |
list-style: none; |
padding:0; |
margin:0;} |
.galerie ul li {display: inline;} |
.galerie ul img { |
border: 5px solid #3e3e3e;} |
.galerie ul a:hover img { |
border: 5px solid #fff; |
color: #fff;} |
/* jQuery SlideViewer plugin*/ |
/*core classes*/ |
.stripViewer { |
position: relative; |
overflow: hidden; |
border: 5px solid #ff0000; |
margin: 0 0 1px 0;} |
.stripViewer li a img {border:none;} |
.stripViewer ul { /* this is your UL of images */ |
margin: 0; |
padding: 0; |
position: relative; |
left: 0; |
top: 0; |
width: 1%; |
list-style-type: none;} |
.stripViewer ul li { |
float:left;} |
.stripTransmitter { |
overflow: auto; |
width: 1%;} |
.stripTransmitter ul { |
margin: 0; |
padding: 0; |
position: relative; |
list-style-type: none;} |
.stripTransmitter ul li{ |
width: 20px; |
float:left; |
margin: 0 1px 1px 0;} |
.stripTransmitter a{ |
font: bold 10px Verdana, Arial; |
text-align: center; |
line-height: 22px; |
background: #ff0000; |
color: #fff; |
text-decoration: none; |
display: block;} |
.stripTransmitter a:hover, a.current{ |
background: #fff; |
color: #ff0000;} |
/*tooltips formatting*/ |
#tooltip { |
background: #fff; |
color: #000; |
opacity: 0.85; |
border: 5px solid #dedede;} |
#tooltip h3 { |
font: normal 10px Verdana; |
margin: 0; |
padding: 6px 2px; |
border: 0;} |
/trunk/wikini/maj_wikini/actions/galerie/presentation/scripts/jquery.galerie-0.1.js |
---|
400,7 → 400,8 |
var pictHeight = container.find("li").find("img").height(); |
var pictEls = container.find("li").size(); |
var stripViewerWidth = pictWidth*pictEls; |
container.find("ul").css("width" , stripViewerWidth); //assegnamo la larghezza alla lista UL |
container.find("ul").css("width" , stripViewerWidth); //assegnamo la larghezza alla lista UL |
//container.find("li").css("width" , pictWidth); |
container.css("width" , pictWidth); |
container.css("height" , pictHeight); |
container.each(function(i) { |
/trunk/wikini/maj_wikini/actions/galerie/presentation/scripts/showthumb.php |
---|
1,52 → 1,99 |
<?php |
if($_GET['img'] == "") |
exit; |
$_image_ = urldecode( $_GET['img'] ); |
$_width_min_ = intval($_GET['width']); |
$_height_min_ = intval($_GET['height']); |
$_quality_ = intval($_GET['quality']); |
$new_w = $_width_min_; |
$imagedata = getimagesize($_image_); |
if(!$imagedata[0]) |
exit(); |
$new_h = (int)($imagedata[1]*($new_w/$imagedata[0])); |
if(($_height_min_) AND ($new_h > $_height_min_)) { |
$new_h = $_height_min_; |
$new_w = (int)($imagedata[0]*($new_h/$imagedata[1])); |
} |
if(strtolower(substr($_image_,-3)) == "jpg") { |
header("Content-type: image/jpg"); |
$dst_img=ImageCreate($new_w,$new_h); |
$src_img=ImageCreateFromJpeg($_image_); |
$dst_img = imagecreatetruecolor($new_w, $new_h); |
imagecopyresampled($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img = Imagejpeg($dst_img, '', $_quality_); |
} |
if(substr($_GET['img'],-3) == "gif") { |
header("Content-type: image/gif"); |
$dst_img=ImageCreate($new_w,$new_h); |
$src_img=ImageCreateFromGif($_image_); |
ImagePaletteCopy($dst_img,$src_img); |
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img = Imagegif($dst_img,'', $_quality_); |
} |
if(substr($_GET['img'],-3) == "png") { |
header("Content-type: image/png"); |
$dst_img=ImageCreate($new_w,$new_h); |
$src_img=ImageCreateFromPng($_image_); |
ImagePaletteCopy($dst_img,$src_img); |
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img = Imagepng($dst_img,'', $_quality_); |
} |
?> |
<?php |
// Vérification de la présence d'un chemin vers l'image |
if($_GET['img'] == '') { |
exit; |
} |
// Récupération de paramêtres |
$_image_ = urldecode( $_GET['img'] ); |
$_dossier = dirname($_image_).'/cache/'; |
$_fichier = pathinfo($_image_); |
$_fichier['filename'] = trim(basename($_image_, $_fichier['extension']), '.'); |
$_width_min_ = intval($_GET['width']); |
$_height_min_ = intval($_GET['height']); |
$_quality_ = intval($_GET['quality']); |
$_centrage = false; |
if (isset($_GET['centrage'])) { |
$_centrage = (bool)$_GET['centrage']; |
} |
// Création du dossier de cache |
if (!is_dir($_dossier)) { |
mkdir($_dossier); |
} |
// Création du nom du fichier de cache |
$fichier_cache = $_dossier.$_fichier['filename'].'_w'.$_width_min_.'_q'.$_quality_.'.'.$_fichier['extension']; |
// Recherche de la présence d'une image en cache ou création de celle-ci |
if (file_exists($fichier_cache)) { |
switch (strtolower($_fichier['extension'])) { |
case 'jpg' : |
header('Content-type: image/jpg'); |
Imagejpeg(ImageCreateFromJpeg($fichier_cache)); |
break; |
case 'gif' : |
header('Content-type: image/gif'); |
Imagegif(ImageCreateFromGif($fichier_cache)); |
break; |
case 'png' : |
header('Content-type: image/png'); |
Imagepng(ImageCreateFromPng($fichier_cache)); |
break; |
} |
} else { |
// Calcul de la hauteur et de la largeur |
$info = getimagesize($_image_); |
if ($info[0] == '') { |
exit(); |
} |
$new_w = $_width_min_; |
$new_h = (int)($info[1]*($new_w/$info[0])); |
if(($_height_min_) AND ($new_h > $_height_min_)) { |
$new_h = $_height_min_; |
$new_w = (int)($info[0]*($new_h/$info[1])); |
} |
// Définition des points d'origine de destination |
$dst_x = 0; |
$dst_y = 0; |
$dst_l = $new_w; |
$dst_h = $new_h; |
if ($_centrage != false) { |
$dst_x = (int)(($_width_min_ - $new_w) / 2); |
$dst_y = (int)(($_height_min_ - $new_h) / 2); |
$dst_l = $_width_min_; |
$dst_h = $_height_min_; |
} |
// Création de l'image |
switch (strtolower($_fichier['extension'])) { |
case 'jpg' : |
header("Content-type: image/jpg"); |
$dst_img = imagecreatetruecolor($dst_l, $dst_h); |
$c_fond = imagecolorallocate($dst_img, 255, 255, 255); |
imagefill($dst_img, 0, 0, $c_fond); |
$src_img = ImageCreateFromJpeg($_image_); |
imagecopyresampled($dst_img,$src_img,$dst_x,$dst_y,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img_cache = Imagejpeg($dst_img, $fichier_cache, $_quality_); |
$img = Imagejpeg($dst_img, '', $_quality_); |
break; |
case 'gif' : |
header("Content-type: image/gif"); |
$dst_img=ImageCreate($new_w,$new_h); |
$src_img=ImageCreateFromGif($_image_); |
ImagePaletteCopy($dst_img,$src_img); |
ImageCopyResized($dst_img,$src_img,$dst_x,$dst_y,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img_cache = Imagegif($dst_img, $fichier_cache, $_quality_); |
$img = Imagegif($dst_img,'', $_quality_); |
break; |
case 'png' : |
header("Content-type: image/png"); |
$dst_img=ImageCreate($new_w,$new_h); |
$src_img=ImageCreateFromPng($_image_); |
ImagePaletteCopy($dst_img,$src_img); |
ImageCopyResized($dst_img,$src_img,$dst_x,$dst_y,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); |
$img_cache = Imagepng($dst_img, $fichier_cache, $_quality_); |
$img = Imagepng($dst_img,'', $_quality_); |
break; |
} |
} |
?> |
/trunk/wikini/maj_wikini/actions/galerie/presentation/scripts/jquery.galerie-0.1.pack.js |
---|
New file |
0,0 → 1,1511 |
/** |
* jQuery lightBox plugin |
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) |
* and adapted to me for use like a plugin from jQuery. |
* @name jquery-lightbox-0.4.js |
* @author Leandro Vieira Pinho - http://leandrovieira.com |
* @version 0.4 |
* @date November 17, 2007 |
* @category jQuery plugin |
* @copyright (c) 2007 Leandro Vieira Pinho (leandrovieira.com) |
* @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US |
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin |
*/ |
// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias |
(function($) { |
/** |
* $ is an alias to jQuery object |
* |
*/ |
$.fn.lightBox = function(settings) { |
// Settings to configure the jQuery lightBox plugin how you like |
settings = jQuery.extend({ |
// Configuration related to overlay |
overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. |
overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 |
// Configuration related to images |
imageLoading: 'actions/galerie/presentation/images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon |
imageBtnPrev: 'actions/galerie/presentation/images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image |
imageBtnNext: 'actions/galerie/presentation/images/lightbox-btn-next.gif', // (string) Path and the name of the next button image |
imageBtnClose: 'actions/galerie/presentation/images/lightbox-btn-close.gif', // (string) Path and the name of the close btn |
imageBlank: 'actions/galerie/presentation/images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) |
// Configuration related to container image box |
containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value |
containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. |
// Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. |
txtImage: 'Image', // (string) Specify text "Image" |
txtOf: 'of', // (string) Specify text "of" |
// Configuration related to keyboard navigation |
keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. |
keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image |
keyToNext: 'n', // (string) (n = next) Letter to show the next image. |
// Don´t alter these variables in any way |
imageArray: [], |
activeImage: 0 |
},settings); |
// Caching the jQuery object with all elements matched |
var jQueryMatchedObj = this; // This, in this context, refer to jQuery object |
/** |
* Initializing the plugin calling the start function |
* |
* @return boolean false |
*/ |
function _initialize() { |
_start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked |
return false; // Avoid the browser following the link |
} |
/** |
* Start the jQuery lightBox plugin |
* |
* @param object objClicked The object (link) whick the user have clicked |
* @param object jQueryMatchedObj The jQuery object with all elements matched |
*/ |
function _start(objClicked,jQueryMatchedObj) { |
// Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. |
$('embed, object, select').css({ 'visibility' : 'hidden' }); |
// Call the function to create the markup structure; style some elements; assign events in some elements. |
_set_interface(); |
// Unset total images in imageArray |
settings.imageArray.length = 0; |
// Unset image active information |
settings.activeImage = 0; |
// We have an image set? Or just an image? Let´s see it. |
if ( jQueryMatchedObj.length == 1 ) { |
settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); |
} else { |
// Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references |
for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { |
settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); |
} |
} |
while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { |
settings.activeImage++; |
} |
// Call the function that prepares image exibition |
_set_image_to_view(); |
} |
/** |
* Create the jQuery lightBox plugin interface |
* |
* The HTML markup will be like that: |
<div id="jquery-overlay"></div> |
<div id="jquery-lightbox"> |
<div id="lightbox-container-image-box"> |
<div id="lightbox-container-image"> |
<img src="../fotos/XX.jpg" id="lightbox-image"> |
<div id="lightbox-nav"> |
<a href="#" id="lightbox-nav-btnPrev"></a> |
<a href="#" id="lightbox-nav-btnNext"></a> |
</div> |
<div id="lightbox-loading"> |
<a href="#" id="lightbox-loading-link"> |
<img src="../images/lightbox-ico-loading.gif"> |
</a> |
</div> |
</div> |
</div> |
<div id="lightbox-container-image-data-box"> |
<div id="lightbox-container-image-data"> |
<div id="lightbox-image-details"> |
<span id="lightbox-image-details-caption"></span> |
<span id="lightbox-image-details-currentNumber"></span> |
</div> |
<div id="lightbox-secNav"> |
<a href="#" id="lightbox-secNav-btnClose"> |
<img src="../images/lightbox-btn-close.gif"> |
</a> |
</div> |
</div> |
</div> |
</div> |
* |
*/ |
function _set_interface() { |
// Apply the HTML markup into body tag |
$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>'); |
// Get page sizes |
var arrPageSizes = ___getPageSize(); |
// Style overlay and show it |
$('#jquery-overlay').css({ |
backgroundColor: settings.overlayBgColor, |
opacity: settings.overlayOpacity, |
width: arrPageSizes[0], |
height: arrPageSizes[1] |
}).fadeIn(); |
// Get page scroll |
var arrPageScroll = ___getPageScroll(); |
// Calculate top and left offset for the jquery-lightbox div object and show it |
$('#jquery-lightbox').css({ |
top: arrPageScroll[1] + (arrPageSizes[3] / 10), |
left: arrPageScroll[0] |
}).show(); |
// Assigning click events in elements to close overlay |
$('#jquery-overlay,#jquery-lightbox').click(function() { |
_finish(); |
}); |
// Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects |
$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { |
_finish(); |
return false; |
}); |
// If window was resized, calculate the new overlay dimensions |
$(window).resize(function() { |
// Get page sizes |
var arrPageSizes = ___getPageSize(); |
// Style overlay and show it |
$('#jquery-overlay').css({ |
width: arrPageSizes[0], |
height: arrPageSizes[1] |
}); |
// Get page scroll |
var arrPageScroll = ___getPageScroll(); |
// Calculate top and left offset for the jquery-lightbox div object and show it |
$('#jquery-lightbox').css({ |
top: arrPageScroll[1] + (arrPageSizes[3] / 10), |
left: arrPageScroll[0] |
}); |
}); |
} |
/** |
* Prepares image exibition; doing a image´s preloader to calculate it´s size |
* |
*/ |
function _set_image_to_view() { // show the loading |
// Show the loading |
$('#lightbox-loading').show(); |
// Hide some elements |
$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); |
// Image preload process |
var objImagePreloader = new Image(); |
objImagePreloader.onload = function() { |
$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); |
// Perfomance an effect in the image container resizing it |
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height); |
// clear onLoad, IE behaves irratically with animated gifs otherwise |
objImagePreloader.onload=function(){}; |
} |
objImagePreloader.src = settings.imageArray[settings.activeImage][0]; |
}; |
/** |
* Perfomance an effect in the image container resizing it |
* |
* @param integer intImageWidth The image´s width that will be showed |
* @param integer intImageHeight The image´s height that will be showed |
*/ |
function _resize_container_image_box(intImageWidth,intImageHeight) { |
// Get current width and height |
var intCurrentWidth = $('#lightbox-container-image-box').width(); |
var intCurrentHeight = $('#lightbox-container-image-box').height(); |
// Get the width and height of the selected image plus the padding |
var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value |
var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value |
// Diferences |
var intDiffW = intCurrentWidth - intWidth; |
var intDiffH = intCurrentHeight - intHeight; |
// Perfomance the effect |
$('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); |
if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { |
if ( $.browser.msie ) { |
___pause(250); |
} else { |
___pause(100); |
} |
} |
$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); |
$('#lightbox-container-image-data-box').css({ width: intImageWidth }); |
}; |
/** |
* Show the prepared image |
* |
*/ |
function _show_image() { |
$('#lightbox-loading').hide(); |
$('#lightbox-image').fadeIn(function() { |
_show_image_data(); |
_set_navigation(); |
}); |
_preload_neighbor_images(); |
}; |
/** |
* Show the image information |
* |
*/ |
function _show_image_data() { |
$('#lightbox-container-image-data-box').slideDown('fast'); |
$('#lightbox-image-details-caption').hide(); |
if ( settings.imageArray[settings.activeImage][1] ) { |
$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); |
} |
// If we have a image set, display 'Image X of X' |
if ( settings.imageArray.length > 1 ) { |
$('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); |
} |
} |
/** |
* Display the button navigations |
* |
*/ |
function _set_navigation() { |
$('#lightbox-nav').show(); |
// Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. |
$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); |
// Show the prev button, if not the first image in set |
if ( settings.activeImage != 0 ) { |
// Show the images button for Next buttons |
$('#lightbox-nav-btnPrev').unbind().hover(function() { |
$(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); |
},function() { |
$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); |
}).show().bind('click',function() { |
settings.activeImage = settings.activeImage - 1; |
_set_image_to_view(); |
return false; |
}); |
} |
// Show the next button, if not the last image in set |
if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { |
// Show the images button for Next buttons |
$('#lightbox-nav-btnNext').unbind().hover(function() { |
$(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); |
},function() { |
$(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); |
}).show().bind('click',function() { |
settings.activeImage = settings.activeImage + 1; |
_set_image_to_view(); |
return false; |
}); |
} |
// Enable keyboard navigation |
_enable_keyboard_navigation(); |
} |
/** |
* Enable a support to keyboard navigation |
* |
*/ |
function _enable_keyboard_navigation() { |
$(document).keydown(function(objEvent) { |
_keyboard_action(objEvent); |
}); |
} |
/** |
* Disable the support to keyboard navigation |
* |
*/ |
function _disable_keyboard_navigation() { |
$(document).unbind(); |
} |
/** |
* Perform the keyboard actions |
* |
*/ |
function _keyboard_action(objEvent) { |
// To ie |
if ( objEvent == null ) { |
keycode = event.keyCode; |
escapeKey = 27; |
// To Mozilla |
} else { |
keycode = objEvent.keyCode; |
escapeKey = objEvent.DOM_VK_ESCAPE; |
} |
// Get the key in lower case form |
key = String.fromCharCode(keycode).toLowerCase(); |
// Verify the keys to close the ligthBox |
if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { |
_finish(); |
} |
// Verify the key to show the previous image |
if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { |
// If we´re not showing the first image, call the previous |
if ( settings.activeImage != 0 ) { |
settings.activeImage = settings.activeImage - 1; |
_set_image_to_view(); |
_disable_keyboard_navigation(); |
} |
} |
// Verify the key to show the next image |
if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { |
// If we´re not showing the last image, call the next |
if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { |
settings.activeImage = settings.activeImage + 1; |
_set_image_to_view(); |
_disable_keyboard_navigation(); |
} |
} |
} |
/** |
* Preload prev and next images being showed |
* |
*/ |
function _preload_neighbor_images() { |
if ( (settings.imageArray.length -1) > settings.activeImage ) { |
objNext = new Image(); |
objNext.src = settings.imageArray[settings.activeImage + 1][0]; |
} |
if ( settings.activeImage > 0 ) { |
objPrev = new Image(); |
objPrev.src = settings.imageArray[settings.activeImage -1][0]; |
} |
} |
/** |
* Remove jQuery lightBox plugin HTML markup |
* |
*/ |
function _finish() { |
$('#jquery-lightbox').remove(); |
$('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); |
// Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. |
$('embed, object, select').css({ 'visibility' : 'visible' }); |
} |
/** |
/ THIRD FUNCTION |
* getPageSize() by quirksmode.com |
* |
* @return Array Return an array with page width, height and window width, height |
*/ |
function ___getPageSize() { |
var xScroll, yScroll; |
if (window.innerHeight && window.scrollMaxY) { |
xScroll = window.innerWidth + window.scrollMaxX; |
yScroll = window.innerHeight + window.scrollMaxY; |
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac |
xScroll = document.body.scrollWidth; |
yScroll = document.body.scrollHeight; |
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari |
xScroll = document.body.offsetWidth; |
yScroll = document.body.offsetHeight; |
} |
var windowWidth, windowHeight; |
if (self.innerHeight) { // all except Explorer |
if(document.documentElement.clientWidth){ |
windowWidth = document.documentElement.clientWidth; |
} else { |
windowWidth = self.innerWidth; |
} |
windowHeight = self.innerHeight; |
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode |
windowWidth = document.documentElement.clientWidth; |
windowHeight = document.documentElement.clientHeight; |
} else if (document.body) { // other Explorers |
windowWidth = document.body.clientWidth; |
windowHeight = document.body.clientHeight; |
} |
// for small pages with total height less then height of the viewport |
if(yScroll < windowHeight){ |
pageHeight = windowHeight; |
} else { |
pageHeight = yScroll; |
} |
// for small pages with total width less then width of the viewport |
if(xScroll < windowWidth){ |
pageWidth = xScroll; |
} else { |
pageWidth = windowWidth; |
} |
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) |
return arrayPageSize; |
}; |
/** |
/ THIRD FUNCTION |
* getPageScroll() by quirksmode.com |
* |
* @return Array Return an array with x,y page scroll values. |
*/ |
function ___getPageScroll() { |
var xScroll, yScroll; |
if (self.pageYOffset) { |
yScroll = self.pageYOffset; |
xScroll = self.pageXOffset; |
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict |
yScroll = document.documentElement.scrollTop; |
xScroll = document.documentElement.scrollLeft; |
} else if (document.body) {// all other Explorers |
yScroll = document.body.scrollTop; |
xScroll = document.body.scrollLeft; |
} |
arrayPageScroll = new Array(xScroll,yScroll) |
return arrayPageScroll; |
}; |
/** |
* Stop the code execution from a escified time in milisecond |
* |
*/ |
function ___pause(ms) { |
var date = new Date(); |
curDate = null; |
do { var curDate = new Date(); } |
while ( curDate - date < ms); |
}; |
// Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once |
return this.unbind('click').click(_initialize); |
}; |
})(jQuery); // Call and execute the function immediately passing the jQuery object |
/** |
* jQuery SliderViewer Plugin |
* @name jquery.slideviewer.1.1.js |
* @author Gian Carlo Mingati - http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html |
* @version 1.1 |
* @date October 6, 2007 |
* @category jQuery plugin |
* @copyright (c) 2007 Gian Carlo Mingati (gcmingati.net) |
* @license ? |
* @example Visit http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html for more informations about this jQuery plugin |
*/ |
jQuery(function(){ |
// Nous cachons les images si le javascript est activé! |
jQuery("div.svw").removeClass("galerie"); |
jQuery("div.svw").css({ |
'width' : '50px', |
'height' : '20px', |
'background' : '#fff' |
}); |
jQuery("div.svw ul").css({ |
'position' : 'relative', |
'left' : '-999em' |
}); |
jQuery("div.svw").prepend("<img src='http://www.gcmingati.net/wordpress/wp-content/uploads/svwloader.gif' class='ldrgif' alt='loading...'/ >"); |
}); |
var j = 0; |
jQuery.fn.slideView = function(settings) { |
settings = jQuery.extend({ |
easeFunc: "easeInOutExpo", /* <-- easing function names changed in jquery.easing.1.2.js */ |
easeTime: 750, |
toolTip: false |
}, settings); |
return this.each(function(){ |
var container = jQuery(this); |
container.find("img.ldrgif").remove(); // removes the preloader gif |
container.removeClass("svw").addClass("stripViewer"); |
var pictWidth = container.find("li").find("img").width(); |
var pictHeight = container.find("li").find("img").height(); |
var pictEls = container.find("li").size(); |
var stripViewerWidth = pictWidth*pictEls; |
container.find("ul").css("width" , stripViewerWidth); //assegnamo la larghezza alla lista UL |
container.css("width" , pictWidth); |
container.css("height" , pictHeight); |
container.each(function(i) { |
jQuery(this).after("<div class='stripTransmitter' id='stripTransmitter" + j + "'><ul><\/ul><\/div>"); |
jQuery(this).find("li").each(function(n) { |
jQuery("div#stripTransmitter" + j + " ul").append("<li><a title='" + jQuery(this).find("img").attr("alt") + "' href='#'>"+(n+1)+"<\/a><\/li>"); |
}); |
jQuery("div#stripTransmitter" + j + " a").each(function(z) { |
jQuery(this).bind("click", function(){ |
jQuery(this).addClass("current").parent().parent().find("a").not(jQuery(this)).removeClass("current"); // wow! |
var cnt = - (pictWidth*z); |
jQuery(this).parent().parent().parent().prev().find("ul").animate({ left: cnt}, settings.easeTime, settings.easeFunc); |
return false; |
}); |
}); |
jQuery("div#stripTransmitter" + j).css("width" , pictWidth); |
jQuery("div#stripTransmitter" + j + " a:eq(0)").addClass("current"); |
if(settings.toolTip){ |
container.next(".stripTransmitter ul").find("a").Tooltip({ |
track: true, |
delay: 0, |
showURL: false, |
showBody: false |
}); |
} |
}); |
j++; |
}); |
}; |
/** |
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ |
* |
* Uses the built In easIng capabilities added In jQuery 1.1 |
* to offer multiple easIng options |
* |
* @copyright (c) 2007 George Smith |
* @license Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php |
*/ |
// t: current time, b: begInnIng value, c: change In value, d: duration |
jQuery.easing['jswing'] = jQuery.easing['swing']; |
jQuery.extend( jQuery.easing, |
{ |
def: 'easeOutQuad', |
swing: function (x, t, b, c, d) { |
//alert(jQuery.easing.default); |
return jQuery.easing[jQuery.easing.def](x, t, b, c, d); |
}, |
easeInQuad: function (x, t, b, c, d) { |
return c*(t/=d)*t + b; |
}, |
easeOutQuad: function (x, t, b, c, d) { |
return -c *(t/=d)*(t-2) + b; |
}, |
easeInOutQuad: function (x, t, b, c, d) { |
if ((t/=d/2) < 1) return c/2*t*t + b; |
return -c/2 * ((--t)*(t-2) - 1) + b; |
}, |
easeInCubic: function (x, t, b, c, d) { |
return c*(t/=d)*t*t + b; |
}, |
easeOutCubic: function (x, t, b, c, d) { |
return c*((t=t/d-1)*t*t + 1) + b; |
}, |
easeInOutCubic: function (x, 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; |
}, |
easeInQuart: function (x, t, b, c, d) { |
return c*(t/=d)*t*t*t + b; |
}, |
easeOutQuart: function (x, t, b, c, d) { |
return -c * ((t=t/d-1)*t*t*t - 1) + b; |
}, |
easeInOutQuart: function (x, 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; |
}, |
easeInQuint: function (x, t, b, c, d) { |
return c*(t/=d)*t*t*t*t + b; |
}, |
easeOutQuint: function (x, t, b, c, d) { |
return c*((t=t/d-1)*t*t*t*t + 1) + b; |
}, |
easeInOutQuint: function (x, 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; |
}, |
easeInSine: function (x, t, b, c, d) { |
return -c * Math.cos(t/d * (Math.PI/2)) + c + b; |
}, |
easeOutSine: function (x, t, b, c, d) { |
return c * Math.sin(t/d * (Math.PI/2)) + b; |
}, |
easeInOutSine: function (x, t, b, c, d) { |
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; |
}, |
easeInExpo: function (x, t, b, c, d) { |
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; |
}, |
easeOutExpo: function (x, t, b, c, d) { |
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; |
}, |
easeInOutExpo: function (x, 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; |
}, |
easeInCirc: function (x, t, b, c, d) { |
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; |
}, |
easeOutCirc: function (x, t, b, c, d) { |
return c * Math.sqrt(1 - (t=t/d-1)*t) + b; |
}, |
easeInOutCirc: function (x, 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; |
}, |
easeInElastic: function (x, t, b, c, d) { |
var s=1.70158;var p=0;var a=c; |
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; |
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; |
}, |
easeOutElastic: function (x, t, b, c, d) { |
var s=1.70158;var p=0;var a=c; |
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; |
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; |
}, |
easeInOutElastic: function (x, t, b, c, d) { |
var s=1.70158;var p=0;var a=c; |
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); |
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; |
}, |
easeInBack: function (x, t, b, c, d, s) { |
if (s == undefined) s = 1.70158; |
return c*(t/=d)*t*((s+1)*t - s) + b; |
}, |
easeOutBack: function (x, t, b, c, d, s) { |
if (s == undefined) s = 1.70158; |
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; |
}, |
easeInOutBack: function (x, t, b, c, d, s) { |
if (s == undefined) 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; |
}, |
easeInBounce: function (x, t, b, c, d) { |
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; |
}, |
easeOutBounce: function (x, 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; |
} |
}, |
easeInOutBounce: function (x, t, b, c, d) { |
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; |
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; |
} |
}); |
/* |
* jQuery Tooltip plugin 1.1 |
* |
* http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ |
* |
* Copyright (c) 2006 Jörn Zaefferer, Stefan Petre |
* |
* Dual licensed under the MIT and GPL licenses: |
* http://www.opensource.org/licenses/mit-license.php |
* http://www.gnu.org/licenses/gpl.html |
* |
* Revision: $Id: jquery.tooltip.js 2237 2007-07-04 19:11:15Z joern.zaefferer $ |
* |
*/ |
/** |
* Display a customized tooltip instead of the default one |
* for every selected element. The tooltip behaviour mimics |
* the default one, but lets you style the tooltip and |
* specify the delay before displaying it. In addition, it displays the |
* href value, if it is available. |
* |
* Requires dimensions plugin. |
* |
* When used on a page with select elements, include the bgiframe plugin. It is used if present. |
* |
* To style the tooltip, use these selectors in your stylesheet: |
* |
* #tooltip - The tooltip container |
* |
* #tooltip h3 - The tooltip title |
* |
* #tooltip div.body - The tooltip body, shown when using showBody |
* |
* #tooltip div.url - The tooltip url, shown when using showURL |
* |
* |
* @example $('a, input, img').Tooltip(); |
* @desc Shows tooltips for anchors, inputs and images, if they have a title |
* |
* @example $('label').Tooltip({ |
* delay: 0, |
* track: true, |
* event: "click" |
* }); |
* @desc Shows tooltips for labels with no delay, tracking mousemovement, displaying the tooltip when the label is clicked. |
* |
* @example // modify global settings |
* $.extend($.fn.Tooltip.defaults, { |
* track: true, |
* delay: 0, |
* showURL: false, |
* showBody: " - ", |
* fixPNG: true |
* }); |
* // setup fancy tooltips |
* $('a.pretty').Tooltip({ |
* extraClass: "fancy" |
* }); |
$('img.pretty').Tooltip({ |
* extraClass: "fancy-img", |
* }); |
* @desc This example starts with modifying the global settings, applying them to all following Tooltips; Afterwards, Tooltips for anchors with class pretty are created with an extra class for the Tooltip: "fancy" for anchors, "fancy-img" for images |
* |
* @param Object settings (optional) Customize your Tooltips |
* @option Number delay The number of milliseconds before a tooltip is display. Default: 250 |
* @option Boolean track If true, let the tooltip track the mousemovement. Default: false |
* @option Boolean showURL If true, shows the href or src attribute within p.url. Defaul: true |
* @option String showBody If specified, uses the String to split the title, displaying the first part in the h3 tag, all following in the p.body tag, separated with <br/>s. Default: null |
* @option String extraClass If specified, adds the class to the tooltip helper. Default: null |
* @option Boolean fixPNG If true, fixes transparent PNGs in IE. Default: false |
* @option Function bodyHandler If specified its called to format the tooltip-body, hiding the title-part. Default: none |
* @option Number top The top-offset for the tooltip position. Default: 15 |
* @option Number left The left-offset for the tooltip position. Default: 15 |
* |
* @name Tooltip |
* @type jQuery |
* @cat Plugins/Tooltip |
* @author Jörn Zaefferer (http://bassistance.de) |
*/ |
/** |
* A global flag to disable all tooltips. |
* |
* @example $("button.openModal").click(function() { |
* $.Tooltip.blocked = true; |
* // do some other stuff, eg. showing a modal dialog |
* $.Tooltip.blocked = false; |
* }); |
* |
* @property |
* @name $.Tooltip.blocked |
* @type Boolean |
* @cat Plugins/Tooltip |
*/ |
/** |
* Global defaults for tooltips. Apply to all calls to the Tooltip plugin after modifying the defaults. |
* |
* @example $.extend($.Tooltip.defaults, { |
* track: true, |
* delay: 0 |
* }); |
* |
* @property |
* @name $.Tooltip.defaults |
* @type Map |
* @cat Plugins/Tooltip |
*/ |
(function($) { |
// the tooltip element |
var helper = {}, |
// the current tooltipped element |
current, |
// the title of the current element, used for restoring |
title, |
// timeout id for delayed tooltips |
tID, |
// IE 5.5 or 6 |
IE = $.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent), |
// flag for mouse tracking |
track = false; |
$.Tooltip = { |
blocked: false, |
defaults: { |
delay: 200, |
showURL: true, |
extraClass: "", |
top: 15, |
left: 15 |
}, |
block: function() { |
$.Tooltip.blocked = !$.Tooltip.blocked; |
} |
}; |
$.fn.extend({ |
Tooltip: function(settings) { |
settings = $.extend({}, $.Tooltip.defaults, settings); |
createHelper(); |
return this.each(function() { |
this.tSettings = settings; |
// copy tooltip into its own expando and remove the title |
this.tooltipText = this.title; |
$(this).removeAttr("title"); |
// also remove alt attribute to prevent default tooltip in IE |
this.alt = ""; |
}) |
.hover(save, hide) |
.click(hide); |
}, |
fixPNG: IE ? function() { |
return this.each(function () { |
var image = $(this).css('backgroundImage'); |
if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) { |
image = RegExp.$1; |
$(this).css({ |
'backgroundImage': 'none', |
'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')" |
}).each(function () { |
var position = $(this).css('position'); |
if (position != 'absolute' && position != 'relative') |
$(this).css('position', 'relative'); |
}); |
} |
}); |
} : function() { return this; }, |
unfixPNG: IE ? function() { |
return this.each(function () { |
$(this).css({'filter': '', backgroundImage: ''}); |
}); |
} : function() { return this; }, |
hideWhenEmpty: function() { |
return this.each(function() { |
$(this)[ $(this).html() ? "show" : "hide" ](); |
}); |
}, |
url: function() { |
return this.attr('href') || this.attr('src'); |
} |
}); |
function createHelper() { |
// there can be only one tooltip helper |
if( helper.parent ) |
return; |
// create the helper, h3 for title, div for url |
helper.parent = $('<div id="tooltip"><h3></h3><div class="body"></div><div class="url"></div></div>') |
// hide it at first |
.hide() |
// add to document |
.appendTo('body'); |
// apply bgiframe if available |
if ( $.fn.bgiframe ) |
helper.parent.bgiframe(); |
// save references to title and url elements |
helper.title = $('h3', helper.parent); |
helper.body = $('div.body', helper.parent); |
helper.url = $('div.url', helper.parent); |
} |
// main event handler to start showing tooltips |
function handle(event) { |
// show helper, either with timeout or on instant |
if( this.tSettings.delay ) |
tID = setTimeout(show, this.tSettings.delay); |
else |
show(); |
// if selected, update the helper position when the mouse moves |
track = !!this.tSettings.track; |
$('body').bind('mousemove', update); |
// update at least once |
update(event); |
} |
// save elements title before the tooltip is displayed |
function save() { |
// if this is the current source, or it has no title (occurs with click event), stop |
if ( $.Tooltip.blocked || this == current || !this.tooltipText ) |
return; |
// save current |
current = this; |
title = this.tooltipText; |
if ( this.tSettings.bodyHandler ) { |
helper.title.hide(); |
helper.body.html( this.tSettings.bodyHandler.call(this) ).show(); |
} else if ( this.tSettings.showBody ) { |
var parts = title.split(this.tSettings.showBody); |
helper.title.html(parts.shift()).show(); |
helper.body.empty(); |
for(var i = 0, part; part = parts[i]; i++) { |
if(i > 0) |
helper.body.append("<br/>"); |
helper.body.append(part); |
} |
helper.body.hideWhenEmpty(); |
} else { |
helper.title.html(title).show(); |
helper.body.hide(); |
} |
// if element has href or src, add and show it, otherwise hide it |
if( this.tSettings.showURL && $(this).url() ) |
helper.url.html( $(this).url().replace('http://', '') ).show(); |
else |
helper.url.hide(); |
// add an optional class for this tip |
helper.parent.addClass(this.tSettings.extraClass); |
// fix PNG background for IE |
if (this.tSettings.fixPNG ) |
helper.parent.fixPNG(); |
handle.apply(this, arguments); |
} |
// delete timeout and show helper |
function show() { |
tID = null; |
helper.parent.show(); |
update(); |
} |
/** |
* callback for mousemove |
* updates the helper position |
* removes itself when no current element |
*/ |
function update(event) { |
if($.Tooltip.blocked) |
return; |
// stop updating when tracking is disabled and the tooltip is visible |
if ( !track && helper.parent.is(":visible")) { |
$('body').unbind('mousemove', update) |
} |
// if no current element is available, remove this listener |
if( current == null ) { |
$('body').unbind('mousemove', update); |
return; |
} |
var left = helper.parent[0].offsetLeft; |
var top = helper.parent[0].offsetTop; |
if(event) { |
// position the helper 15 pixel to bottom right, starting from mouse position |
left = event.pageX + current.tSettings.left; |
top = event.pageY + current.tSettings.top; |
helper.parent.css({ |
left: left + 'px', |
top: top + 'px' |
}); |
} |
var v = viewport(), |
h = helper.parent[0]; |
// check horizontal position |
if(v.x + v.cx < h.offsetLeft + h.offsetWidth) { |
left -= h.offsetWidth + 20 + current.tSettings.left; |
helper.parent.css({left: left + 'px'}); |
} |
// check vertical position |
if(v.y + v.cy < h.offsetTop + h.offsetHeight) { |
top -= h.offsetHeight + 20 + current.tSettings.top; |
helper.parent.css({top: top + 'px'}); |
} |
} |
function viewport() { |
return { |
x: $(window).scrollLeft(), |
y: $(window).scrollTop(), |
cx: $(window).width(), |
cy: $(window).height() |
}; |
} |
// hide helper and restore added classes and the title |
function hide(event) { |
if($.Tooltip.blocked) |
return; |
// clear timeout if possible |
if(tID) |
clearTimeout(tID); |
// no more current element |
current = null; |
helper.parent.hide().removeClass( this.tSettings.extraClass ); |
if( this.tSettings.fixPNG ) |
helper.parent.unfixPNG(); |
} |
})(jQuery); |
/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net) |
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) |
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. |
* |
* $LastChangedDate: 2007-06-22 04:38:37 +0200 (Fr, 22 Jun 2007) $ |
* $Rev: 2141 $ |
* |
* Version: 1.0b2 |
*/ |
(function($){ |
// store a copy of the core height and width methods |
var height = $.fn.height, |
width = $.fn.width; |
$.fn.extend({ |
/** |
* If used on document, returns the document's height (innerHeight) |
* If used on window, returns the viewport's (window) height |
* See core docs on height() to see what happens when used on an element. |
* |
* @example $("#testdiv").height() |
* @result 200 |
* |
* @example $(document).height() |
* @result 800 |
* |
* @example $(window).height() |
* @result 400 |
* |
* @name height |
* @type Object |
* @cat Plugins/Dimensions |
*/ |
height: function() { |
if ( this[0] == window ) |
return self.innerHeight || |
$.boxModel && document.documentElement.clientHeight || |
document.body.clientHeight; |
if ( this[0] == document ) |
return Math.max( document.body.scrollHeight, document.body.offsetHeight ); |
return height.apply(this, arguments); |
}, |
/** |
* If used on document, returns the document's width (innerWidth) |
* If used on window, returns the viewport's (window) width |
* See core docs on height() to see what happens when used on an element. |
* |
* @example $("#testdiv").width() |
* @result 200 |
* |
* @example $(document).width() |
* @result 800 |
* |
* @example $(window).width() |
* @result 400 |
* |
* @name width |
* @type Object |
* @cat Plugins/Dimensions |
*/ |
width: function() { |
if ( this[0] == window ) |
return self.innerWidth || |
$.boxModel && document.documentElement.clientWidth || |
document.body.clientWidth; |
if ( this[0] == document ) |
return Math.max( document.body.scrollWidth, document.body.offsetWidth ); |
return width.apply(this, arguments); |
}, |
/** |
* Returns the inner height value (without border) for the first matched element. |
* If used on document, returns the document's height (innerHeight) |
* If used on window, returns the viewport's (window) height |
* |
* @example $("#testdiv").innerHeight() |
* @result 800 |
* |
* @name innerHeight |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
innerHeight: function() { |
return this[0] == window || this[0] == document ? |
this.height() : |
this.is(':visible') ? |
this[0].offsetHeight - num(this, 'borderTopWidth') - num(this, 'borderBottomWidth') : |
this.height() + num(this, 'paddingTop') + num(this, 'paddingBottom'); |
}, |
/** |
* Returns the inner width value (without border) for the first matched element. |
* If used on document, returns the document's Width (innerWidth) |
* If used on window, returns the viewport's (window) width |
* |
* @example $("#testdiv").innerWidth() |
* @result 1000 |
* |
* @name innerWidth |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
innerWidth: function() { |
return this[0] == window || this[0] == document ? |
this.width() : |
this.is(':visible') ? |
this[0].offsetWidth - num(this, 'borderLeftWidth') - num(this, 'borderRightWidth') : |
this.width() + num(this, 'paddingLeft') + num(this, 'paddingRight'); |
}, |
/** |
* Returns the outer height value (including border) for the first matched element. |
* Cannot be used on document or window. |
* |
* @example $("#testdiv").outerHeight() |
* @result 1000 |
* |
* @name outerHeight |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
outerHeight: function() { |
return this[0] == window || this[0] == document ? |
this.height() : |
this.is(':visible') ? |
this[0].offsetHeight : |
this.height() + num(this,'borderTopWidth') + num(this, 'borderBottomWidth') + num(this, 'paddingTop') + num(this, 'paddingBottom'); |
}, |
/** |
* Returns the outer width value (including border) for the first matched element. |
* Cannot be used on document or window. |
* |
* @example $("#testdiv").outerHeight() |
* @result 1000 |
* |
* @name outerHeight |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
outerWidth: function() { |
return this[0] == window || this[0] == document ? |
this.width() : |
this.is(':visible') ? |
this[0].offsetWidth : |
this.width() + num(this, 'borderLeftWidth') + num(this, 'borderRightWidth') + num(this, 'paddingLeft') + num(this, 'paddingRight'); |
}, |
/** |
* Returns how many pixels the user has scrolled to the right (scrollLeft). |
* Works on containers with overflow: auto and window/document. |
* |
* @example $("#testdiv").scrollLeft() |
* @result 100 |
* |
* @name scrollLeft |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
/** |
* Sets the scrollLeft property and continues the chain. |
* Works on containers with overflow: auto and window/document. |
* |
* @example $("#testdiv").scrollLeft(10).scrollLeft() |
* @result 10 |
* |
* @name scrollLeft |
* @param Number value A positive number representing the desired scrollLeft. |
* @type jQuery |
* @cat Plugins/Dimensions |
*/ |
scrollLeft: function(val) { |
if ( val != undefined ) |
// set the scroll left |
return this.each(function() { |
if (this == window || this == document) |
window.scrollTo( val, $(window).scrollTop() ); |
else |
this.scrollLeft = val; |
}); |
// return the scroll left offest in pixels |
if ( this[0] == window || this[0] == document ) |
return self.pageXOffset || |
$.boxModel && document.documentElement.scrollLeft || |
document.body.scrollLeft; |
return this[0].scrollLeft; |
}, |
/** |
* Returns how many pixels the user has scrolled to the bottom (scrollTop). |
* Works on containers with overflow: auto and window/document. |
* |
* @example $("#testdiv").scrollTop() |
* @result 100 |
* |
* @name scrollTop |
* @type Number |
* @cat Plugins/Dimensions |
*/ |
/** |
* Sets the scrollTop property and continues the chain. |
* Works on containers with overflow: auto and window/document. |
* |
* @example $("#testdiv").scrollTop(10).scrollTop() |
* @result 10 |
* |
* @name scrollTop |
* @param Number value A positive number representing the desired scrollTop. |
* @type jQuery |
* @cat Plugins/Dimensions |
*/ |
scrollTop: function(val) { |
if ( val != undefined ) |
// set the scroll top |
return this.each(function() { |
if (this == window || this == document) |
window.scrollTo( $(window).scrollLeft(), val ); |
else |
this.scrollTop = val; |
}); |
// return the scroll top offset in pixels |
if ( this[0] == window || this[0] == document ) |
return self.pageYOffset || |
$.boxModel && document.documentElement.scrollTop || |
document.body.scrollTop; |
return this[0].scrollTop; |
}, |
/** |
* Returns the top and left positioned offset in pixels. |
* The positioned offset is the offset between a positioned |
* parent and the element itself. |
* |
* @example $("#testdiv").position() |
* @result { top: 100, left: 100 } |
* |
* @name position |
* @param Map options Optional settings to configure the way the offset is calculated. |
* @option Boolean margin Should the margin of the element be included in the calculations? False by default. |
* @option Boolean border Should the border of the element be included in the calculations? False by default. |
* @option Boolean padding Should the padding of the element be included in the calculations? False by default. |
* @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the |
* chain will not be broken and the result will be assigned to this object. |
* @type Object |
* @cat Plugins/Dimensions |
*/ |
position: function(options, returnObject) { |
var elem = this[0], parent = elem.parentNode, op = elem.offsetParent, |
options = $.extend({ margin: false, border: false, padding: false, scroll: false }, options || {}), |
x = elem.offsetLeft, |
y = elem.offsetTop, |
sl = elem.scrollLeft, |
st = elem.scrollTop; |
// Mozilla and IE do not add the border |
if ($.browser.mozilla || $.browser.msie) { |
// add borders to offset |
x += num(elem, 'borderLeftWidth'); |
y += num(elem, 'borderTopWidth'); |
} |
if ($.browser.mozilla) { |
do { |
// Mozilla does not add the border for a parent that has overflow set to anything but visible |
if ($.browser.mozilla && parent != elem && $.css(parent, 'overflow') != 'visible') { |
x += num(parent, 'borderLeftWidth'); |
y += num(parent, 'borderTopWidth'); |
} |
if (parent == op) break; // break if we are already at the offestParent |
} while ((parent = parent.parentNode) && (parent.tagName.toLowerCase() != 'body' || parent.tagName.toLowerCase() != 'html')); |
} |
var returnValue = handleOffsetReturn(elem, options, x, y, sl, st); |
if (returnObject) { $.extend(returnObject, returnValue); return this; } |
else { return returnValue; } |
}, |
/** |
* Returns the location of the element in pixels from the top left corner of the viewport. |
* |
* For accurate readings make sure to use pixel values for margins, borders and padding. |
* |
* Known issues: |
* - Issue: A div positioned relative or static without any content before it and its parent will report an offsetTop of 0 in Safari |
* Workaround: Place content before the relative div ... and set height and width to 0 and overflow to hidden |
* |
* @example $("#testdiv").offset() |
* @result { top: 100, left: 100, scrollTop: 10, scrollLeft: 10 } |
* |
* @example $("#testdiv").offset({ scroll: false }) |
* @result { top: 90, left: 90 } |
* |
* @example var offset = {} |
* $("#testdiv").offset({ scroll: false }, offset) |
* @result offset = { top: 90, left: 90 } |
* |
* @name offset |
* @param Map options Optional settings to configure the way the offset is calculated. |
* @option Boolean margin Should the margin of the element be included in the calculations? True by default. |
* @option Boolean border Should the border of the element be included in the calculations? False by default. |
* @option Boolean padding Should the padding of the element be included in the calculations? False by default. |
* @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default. |
* When true it adds the totla scroll offets of all parents to the total offset and also adds two properties |
* to the returned object, scrollTop and scrollLeft. |
* @options Boolean lite Will use offsetLite instead of offset when set to true. False by default. |
* @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the |
* chain will not be broken and the result will be assigned to this object. |
* @type Object |
* @cat Plugins/Dimensions |
*/ |
offset: function(options, returnObject) { |
var x = 0, y = 0, sl = 0, st = 0, |
elem = this[0], parent = this[0], op, parPos, elemPos = $.css(elem, 'position'), |
mo = $.browser.mozilla, ie = $.browser.msie, sf = $.browser.safari, oa = $.browser.opera, |
absparent = false, relparent = false, |
options = $.extend({ margin: true, border: false, padding: false, scroll: true, lite: false }, options || {}); |
// Use offsetLite if lite option is true |
if (options.lite) return this.offsetLite(options, returnObject); |
if (elem.tagName.toLowerCase() == 'body') { |
// Safari is the only one to get offsetLeft and offsetTop properties of the body "correct" |
// Except they all mess up when the body is positioned absolute or relative |
x = elem.offsetLeft; |
y = elem.offsetTop; |
// Mozilla ignores margin and subtracts border from body element |
if (mo) { |
x += num(elem, 'marginLeft') + (num(elem, 'borderLeftWidth')*2); |
y += num(elem, 'marginTop') + (num(elem, 'borderTopWidth') *2); |
} else |
// Opera ignores margin |
if (oa) { |
x += num(elem, 'marginLeft'); |
y += num(elem, 'marginTop'); |
} else |
// IE does not add the border in Standards Mode |
if (ie && jQuery.boxModel) { |
x += num(elem, 'borderLeftWidth'); |
y += num(elem, 'borderTopWidth'); |
} |
} else { |
do { |
parPos = $.css(parent, 'position'); |
x += parent.offsetLeft; |
y += parent.offsetTop; |
// Mozilla and IE do not add the border |
if (mo || ie) { |
// add borders to offset |
x += num(parent, 'borderLeftWidth'); |
y += num(parent, 'borderTopWidth'); |
// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent |
if (mo && parPos == 'absolute') absparent = true; |
// IE does not include the border on the body if an element is position static and without an absolute or relative parent |
if (ie && parPos == 'relative') relparent = true; |
} |
op = parent.offsetParent; |
if (options.scroll || mo) { |
do { |
if (options.scroll) { |
// get scroll offsets |
sl += parent.scrollLeft; |
st += parent.scrollTop; |
} |
// Mozilla does not add the border for a parent that has overflow set to anything but visible |
if (mo && parent != elem && $.css(parent, 'overflow') != 'visible') { |
x += num(parent, 'borderLeftWidth'); |
y += num(parent, 'borderTopWidth'); |
} |
parent = parent.parentNode; |
} while (parent != op); |
} |
parent = op; |
if (parent.tagName.toLowerCase() == 'body' || parent.tagName.toLowerCase() == 'html') { |
// Safari and IE Standards Mode doesn't add the body margin for elments positioned with static or relative |
if ((sf || (ie && $.boxModel)) && elemPos != 'absolute' && elemPos != 'fixed') { |
x += num(parent, 'marginLeft'); |
y += num(parent, 'marginTop'); |
} |
// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent |
// IE does not include the border on the body if an element is positioned static and without an absolute or relative parent |
if ( (mo && !absparent && elemPos != 'fixed') || |
(ie && elemPos == 'static' && !relparent) ) { |
x += num(parent, 'borderLeftWidth'); |
y += num(parent, 'borderTopWidth'); |
} |
break; // Exit the loop |
} |
} while (parent); |
} |
var returnValue = handleOffsetReturn(elem, options, x, y, sl, st); |
if (returnObject) { $.extend(returnObject, returnValue); return this; } |
else { return returnValue; } |
}, |
/** |
* Returns the location of the element in pixels from the top left corner of the viewport. |
* This method is much faster than offset but not as accurate. This method can be invoked |
* by setting the lite option to true in the offset method. |
* |
* @name offsetLite |
* @param Map options Optional settings to configure the way the offset is calculated. |
* @option Boolean margin Should the margin of the element be included in the calculations? True by default. |
* @option Boolean border Should the border of the element be included in the calculations? False by default. |
* @option Boolean padding Should the padding of the element be included in the calculations? False by default. |
* @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default. |
* When true it adds the totla scroll offets of all parents to the total offset and also adds two properties |
* to the returned object, scrollTop and scrollLeft. |
* @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the |
* chain will not be broken and the result will be assigned to this object. |
* @type Object |
* @cat Plugins/Dimensions |
*/ |
offsetLite: function(options, returnObject) { |
var x = 0, y = 0, sl = 0, st = 0, parent = this[0], op, |
options = $.extend({ margin: true, border: false, padding: false, scroll: true }, options || {}); |
do { |
x += parent.offsetLeft; |
y += parent.offsetTop; |
op = parent.offsetParent; |
if (options.scroll) { |
// get scroll offsets |
do { |
sl += parent.scrollLeft; |
st += parent.scrollTop; |
parent = parent.parentNode; |
} while(parent != op); |
} |
parent = op; |
} while (parent && parent.tagName.toLowerCase() != 'body' && parent.tagName.toLowerCase() != 'html'); |
var returnValue = handleOffsetReturn(this[0], options, x, y, sl, st); |
if (returnObject) { $.extend(returnObject, returnValue); return this; } |
else { return returnValue; } |
} |
}); |
/** |
* Handles converting a CSS Style into an Integer. |
* @private |
*/ |
var num = function(el, prop) { |
return parseInt($.css(el.jquery?el[0]:el,prop))||0; |
}; |
/** |
* Handles the return value of the offset and offsetLite methods. |
* @private |
*/ |
var handleOffsetReturn = function(elem, options, x, y, sl, st) { |
if ( !options.margin ) { |
x -= num(elem, 'marginLeft'); |
y -= num(elem, 'marginTop'); |
} |
// Safari and Opera do not add the border for the element |
if ( options.border && ($.browser.safari || $.browser.opera) ) { |
x += num(elem, 'borderLeftWidth'); |
y += num(elem, 'borderTopWidth'); |
} else if ( !options.border && !($.browser.safari || $.browser.opera) ) { |
x -= num(elem, 'borderLeftWidth'); |
y -= num(elem, 'borderTopWidth'); |
} |
if ( options.padding ) { |
x += num(elem, 'paddingLeft'); |
y += num(elem, 'paddingTop'); |
} |
// do not include scroll offset on the element |
if ( options.scroll ) { |
sl -= elem.scrollLeft; |
st -= elem.scrollTop; |
} |
return options.scroll ? { top: y - st, left: x - sl, scrollTop: st, scrollLeft: sl } |
: { top: y, left: x }; |
}; |
})(jQuery); |
/trunk/wikini/maj_wikini/actions/galerie/presentation/scripts/jquery.js |
---|
1,11 → 1,11 |
/* |
* jQuery 1.2.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-09-16 23:42:06 -0400 (Sun, 16 Sep 2007) $ |
* $Rev: 3353 $ |
*/ |
/* |
* jQuery 1.2.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-09-16 23:42:06 -0400 (Sun, 16 Sep 2007) $ |
* $Rev: 3353 $ |
*/ |
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}('(G(){9(1m E!="W")H w=E;H E=18.15=G(a,b){I 6 7u E?6.5N(a,b):1u E(a,b)};9(1m $!="W")H D=$;18.$=E;H u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;E.1b=E.3A={5N:G(c,a){c=c||U;9(1m c=="1M"){H m=u.2S(c);9(m&&(m[1]||!a)){9(m[1])c=E.4D([m[1]],a);J{H b=U.3S(m[3]);9(b)9(b.22!=m[3])I E().1Y(c);J{6[0]=b;6.K=1;I 6}J c=[]}}J I 1u E(a).1Y(c)}J 9(E.1n(c))I 1u E(U)[E.1b.2d?"2d":"39"](c);I 6.6v(c.1c==1B&&c||(c.4c||c.K&&c!=18&&!c.1y&&c[0]!=W&&c[0].1y)&&E.2h(c)||[c])},4c:"1.2.1",7Y:G(){I 6.K},K:0,21:G(a){I a==W?E.2h(6):6[a]},2o:G(a){H b=E(a);b.4Y=6;I b},6v:G(a){6.K=0;1B.3A.1a.16(6,a);I 6},N:G(a,b){I E.N(6,a,b)},4I:G(a){H b=-1;6.N(G(i){9(6==a)b=i});I b},1x:G(f,d,e){H c=f;9(f.1c==3X)9(d==W)I 6.K&&E[e||"1x"](6[0],f)||W;J{c={};c[f]=d}I 6.N(G(a){L(H b 1i c)E.1x(e?6.R:6,b,E.1e(6,c[b],e,a,b))})},17:G(b,a){I 6.1x(b,a,"3C")},2g:G(e){9(1m e!="5i"&&e!=S)I 6.4n().3g(U.6F(e));H t="";E.N(e||6,G(){E.N(6.3j,G(){9(6.1y!=8)t+=6.1y!=1?6.6x:E.1b.2g([6])})});I t},5m:G(b){9(6[0])E(b,6[0].3H).6u().3d(6[0]).1X(G(){H a=6;1W(a.1w)a=a.1w;I a}).3g(6);I 6},8m:G(a){I 6.N(G(){E(6).6q().5m(a)})},8d:G(a){I 6.N(G(){E(6).5m(a)})},3g:G(){I 6.3z(1q,Q,1,G(a){6.58(a)})},6j:G(){I 6.3z(1q,Q,-1,G(a){6.3d(a,6.1w)})},6g:G(){I 6.3z(1q,P,1,G(a){6.12.3d(a,6)})},50:G(){I 6.3z(1q,P,-1,G(a){6.12.3d(a,6.2q)})},2D:G(){I 6.4Y||E([])},1Y:G(t){H b=E.1X(6,G(a){I E.1Y(t,a)});I 6.2o(/[^+>] [^+>]/.14(t)||t.1g("..")>-1?E.4V(b):b)},6u:G(e){H f=6.1X(G(){I 6.67?E(6.67)[0]:6.4R(Q)});H d=f.1Y("*").4O().N(G(){9(6[F]!=W)6[F]=S});9(e===Q)6.1Y("*").4O().N(G(i){H c=E.M(6,"2P");L(H a 1i c)L(H b 1i c[a])E.1j.1f(d[i],a,c[a][b],c[a][b].M)});I f},1E:G(t){I 6.2o(E.1n(t)&&E.2W(6,G(b,a){I t.16(b,[a])})||E.3m(t,6))},5V:G(t){I 6.2o(t.1c==3X&&E.3m(t,6,Q)||E.2W(6,G(a){I(t.1c==1B||t.4c)?E.2A(a,t)<0:a!=t}))},1f:G(t){I 6.2o(E.1R(6.21(),t.1c==3X?E(t).21():t.K!=W&&(!t.11||E.11(t,"2Y"))?t:[t]))},3t:G(a){I a?E.3m(a,6).K>0:P},7c:G(a){I 6.3t("."+a)},3i:G(b){9(b==W){9(6.K){H c=6[0];9(E.11(c,"24")){H e=c.4Z,a=[],Y=c.Y,2G=c.O=="24-2G";9(e<0)I S;L(H i=2G?e:0,33=2G?e+1:Y.K;i<33;i++){H d=Y[i];9(d.26){H b=E.V.1h&&!d.9V["1Q"].9L?d.2g:d.1Q;9(2G)I b;a.1a(b)}}I a}J I 6[0].1Q.1p(/\\r/g,"")}}J I 6.N(G(){9(b.1c==1B&&/4k|5j/.14(6.O))6.2Q=(E.2A(6.1Q,b)>=0||E.2A(6.2H,b)>=0);J 9(E.11(6,"24")){H a=b.1c==1B?b:[b];E("9h",6).N(G(){6.26=(E.2A(6.1Q,a)>=0||E.2A(6.2g,a)>=0)});9(!a.K)6.4Z=-1}J 6.1Q=b})},4o:G(a){I a==W?(6.K?6[0].3O:S):6.4n().3g(a)},6H:G(a){I 6.50(a).28()},6E:G(i){I 6.2J(i,i+1)},2J:G(){I 6.2o(1B.3A.2J.16(6,1q))},1X:G(b){I 6.2o(E.1X(6,G(a,i){I b.2O(a,i,a)}))},4O:G(){I 6.1f(6.4Y)},3z:G(f,d,g,e){H c=6.K>1,a;I 6.N(G(){9(!a){a=E.4D(f,6.3H);9(g<0)a.8U()}H b=6;9(d&&E.11(6,"1I")&&E.11(a[0],"4m"))b=6.4l("1K")[0]||6.58(U.5B("1K"));E.N(a,G(){H a=c?6.4R(Q):6;9(!5A(0,a))e.2O(b,a)})})}};G 5A(i,b){H a=E.11(b,"1J");9(a){9(b.3k)E.3G({1d:b.3k,3e:P,1V:"1J"});J E.5f(b.2g||b.6s||b.3O||"");9(b.12)b.12.3b(b)}J 9(b.1y==1)E("1J",b).N(5A);I a}E.1k=E.1b.1k=G(){H c=1q[0]||{},a=1,2c=1q.K,5e=P;9(c.1c==8o){5e=c;c=1q[1]||{}}9(2c==1){c=6;a=0}H b;L(;a<2c;a++)9((b=1q[a])!=S)L(H i 1i b){9(c==b[i])6r;9(5e&&1m b[i]==\'5i\'&&c[i])E.1k(c[i],b[i]);J 9(b[i]!=W)c[i]=b[i]}I c};H F="15"+(1u 3D()).3B(),6p=0,5c={};E.1k({8a:G(a){18.$=D;9(a)18.15=w;I E},1n:G(a){I!!a&&1m a!="1M"&&!a.11&&a.1c!=1B&&/G/i.14(a+"")},4a:G(a){I a.2V&&!a.1G||a.37&&a.3H&&!a.3H.1G},5f:G(a){a=E.36(a);9(a){9(18.6l)18.6l(a);J 9(E.V.1N)18.56(a,0);J 3w.2O(18,a)}},11:G(b,a){I b.11&&b.11.27()==a.27()},1L:{},M:G(c,d,b){c=c==18?5c:c;H a=c[F];9(!a)a=c[F]=++6p;9(d&&!E.1L[a])E.1L[a]={};9(b!=W)E.1L[a][d]=b;I d?E.1L[a][d]:a},30:G(c,b){c=c==18?5c:c;H a=c[F];9(b){9(E.1L[a]){2E E.1L[a][b];b="";L(b 1i E.1L[a])1T;9(!b)E.30(c)}}J{2a{2E c[F]}29(e){9(c.53)c.53(F)}2E E.1L[a]}},N:G(a,b,c){9(c){9(a.K==W)L(H i 1i a)b.16(a[i],c);J L(H i=0,48=a.K;i<48;i++)9(b.16(a[i],c)===P)1T}J{9(a.K==W)L(H i 1i a)b.2O(a[i],i,a[i]);J L(H i=0,48=a.K,3i=a[0];i<48&&b.2O(3i,i,3i)!==P;3i=a[++i]){}}I a},1e:G(c,b,d,e,a){9(E.1n(b))b=b.2O(c,[e]);H f=/z-?4I|7T-?7Q|1r|69|7P-?1H/i;I b&&b.1c==4W&&d=="3C"&&!f.14(a)?b+"2T":b},1o:{1f:G(b,c){E.N((c||"").2l(/\\s+/),G(i,a){9(!E.1o.3K(b.1o,a))b.1o+=(b.1o?" ":"")+a})},28:G(b,c){b.1o=c!=W?E.2W(b.1o.2l(/\\s+/),G(a){I!E.1o.3K(c,a)}).66(" "):""},3K:G(t,c){I E.2A(c,(t.1o||t).3s().2l(/\\s+/))>-1}},2k:G(e,o,f){L(H i 1i o){e.R["3r"+i]=e.R[i];e.R[i]=o[i]}f.16(e,[]);L(H i 1i o)e.R[i]=e.R["3r"+i]},17:G(e,p){9(p=="1H"||p=="2N"){H b={},42,41,d=["7J","7I","7G","7F"];E.N(d,G(){b["7C"+6]=0;b["7B"+6+"5Z"]=0});E.2k(e,b,G(){9(E(e).3t(\':3R\')){42=e.7A;41=e.7w}J{e=E(e.4R(Q)).1Y(":4k").5W("2Q").2D().17({4C:"1P",2X:"4F",19:"2Z",7o:"0",1S:"0"}).5R(e.12)[0];H a=E.17(e.12,"2X")||"3V";9(a=="3V")e.12.R.2X="7g";42=e.7e;41=e.7b;9(a=="3V")e.12.R.2X="3V";e.12.3b(e)}});I p=="1H"?42:41}I E.3C(e,p)},3C:G(h,j,i){H g,2w=[],2k=[];G 3n(a){9(!E.V.1N)I P;H b=U.3o.3Z(a,S);I!b||b.4y("3n")==""}9(j=="1r"&&E.V.1h){g=E.1x(h.R,"1r");I g==""?"1":g}9(j.1t(/4u/i))j=y;9(!i&&h.R[j])g=h.R[j];J 9(U.3o&&U.3o.3Z){9(j.1t(/4u/i))j="4u";j=j.1p(/([A-Z])/g,"-$1").2p();H d=U.3o.3Z(h,S);9(d&&!3n(h))g=d.4y(j);J{L(H a=h;a&&3n(a);a=a.12)2w.4w(a);L(a=0;a<2w.K;a++)9(3n(2w[a])){2k[a]=2w[a].R.19;2w[a].R.19="2Z"}g=j=="19"&&2k[2w.K-1]!=S?"2s":U.3o.3Z(h,S).4y(j)||"";L(a=0;a<2k.K;a++)9(2k[a]!=S)2w[a].R.19=2k[a]}9(j=="1r"&&g=="")g="1"}J 9(h.3Q){H f=j.1p(/\\-(\\w)/g,G(m,c){I c.27()});g=h.3Q[j]||h.3Q[f];9(!/^\\d+(2T)?$/i.14(g)&&/^\\d/.14(g)){H k=h.R.1S;H e=h.4v.1S;h.4v.1S=h.3Q.1S;h.R.1S=g||0;g=h.R.71+"2T";h.R.1S=k;h.4v.1S=e}}I g},4D:G(a,e){H r=[];e=e||U;E.N(a,G(i,d){9(!d)I;9(d.1c==4W)d=d.3s();9(1m d=="1M"){d=d.1p(/(<(\\w+)[^>]*?)\\/>/g,G(m,a,b){I b.1t(/^(70|6Z|6Y|9Q|4t|9N|9K|3a|9G|9E)$/i)?m:a+"></"+b+">"});H s=E.36(d).2p(),1s=e.5B("1s"),2x=[];H c=!s.1g("<9y")&&[1,"<24>","</24>"]||!s.1g("<9w")&&[1,"<6T>","</6T>"]||s.1t(/^<(9u|1K|9t|9r|9p)/)&&[1,"<1I>","</1I>"]||!s.1g("<4m")&&[2,"<1I><1K>","</1K></1I>"]||(!s.1g("<9m")||!s.1g("<9k"))&&[3,"<1I><1K><4m>","</4m></1K></1I>"]||!s.1g("<6Y")&&[2,"<1I><1K></1K><6L>","</6L></1I>"]||E.V.1h&&[1,"1s<1s>","</1s>"]||[0,"",""];1s.3O=c[1]+d+c[2];1W(c[0]--)1s=1s.5p;9(E.V.1h){9(!s.1g("<1I")&&s.1g("<1K")<0)2x=1s.1w&&1s.1w.3j;J 9(c[1]=="<1I>"&&s.1g("<1K")<0)2x=1s.3j;L(H n=2x.K-1;n>=0;--n)9(E.11(2x[n],"1K")&&!2x[n].3j.K)2x[n].12.3b(2x[n]);9(/^\\s/.14(d))1s.3d(e.6F(d.1t(/^\\s*/)[0]),1s.1w)}d=E.2h(1s.3j)}9(0===d.K&&(!E.11(d,"2Y")&&!E.11(d,"24")))I;9(d[0]==W||E.11(d,"2Y")||d.Y)r.1a(d);J r=E.1R(r,d)});I r},1x:G(c,d,a){H e=E.4a(c)?{}:E.5o;9(d=="26"&&E.V.1N)c.12.4Z;9(e[d]){9(a!=W)c[e[d]]=a;I c[e[d]]}J 9(E.V.1h&&d=="R")I E.1x(c.R,"9e",a);J 9(a==W&&E.V.1h&&E.11(c,"2Y")&&(d=="9d"||d=="9a"))I c.97(d).6x;J 9(c.37){9(a!=W){9(d=="O"&&E.11(c,"4t")&&c.12)6G"O 94 93\'t 92 91";c.90(d,a)}9(E.V.1h&&/6C|3k/.14(d)&&!E.4a(c))I c.4p(d,2);I c.4p(d)}J{9(d=="1r"&&E.V.1h){9(a!=W){c.69=1;c.1E=(c.1E||"").1p(/6O\\([^)]*\\)/,"")+(3I(a).3s()=="8S"?"":"6O(1r="+a*6A+")")}I c.1E?(3I(c.1E.1t(/1r=([^)]*)/)[1])/6A).3s():""}d=d.1p(/-([a-z])/8Q,G(z,b){I b.27()});9(a!=W)c[d]=a;I c[d]}},36:G(t){I(t||"").1p(/^\\s+|\\s+$/g,"")},2h:G(a){H r=[];9(1m a!="8P")L(H i=0,2c=a.K;i<2c;i++)r.1a(a[i]);J r=a.2J(0);I r},2A:G(b,a){L(H i=0,2c=a.K;i<2c;i++)9(a[i]==b)I i;I-1},1R:G(a,b){9(E.V.1h){L(H i=0;b[i];i++)9(b[i].1y!=8)a.1a(b[i])}J L(H i=0;b[i];i++)a.1a(b[i]);I a},4V:G(b){H r=[],2f={};2a{L(H i=0,6y=b.K;i<6y;i++){H a=E.M(b[i]);9(!2f[a]){2f[a]=Q;r.1a(b[i])}}}29(e){r=b}I r},2W:G(b,a,c){9(1m a=="1M")a=3w("P||G(a,i){I "+a+"}");H d=[];L(H i=0,4g=b.K;i<4g;i++)9(!c&&a(b[i],i)||c&&!a(b[i],i))d.1a(b[i]);I d},1X:G(c,b){9(1m b=="1M")b=3w("P||G(a){I "+b+"}");H d=[];L(H i=0,4g=c.K;i<4g;i++){H a=b(c[i],i);9(a!==S&&a!=W){9(a.1c!=1B)a=[a];d=d.8M(a)}}I d}});H v=8K.8I.2p();E.V={4s:(v.1t(/.+(?:8F|8E|8C|8B)[\\/: ]([\\d.]+)/)||[])[1],1N:/6w/.14(v),34:/34/.14(v),1h:/1h/.14(v)&&!/34/.14(v),35:/35/.14(v)&&!/(8z|6w)/.14(v)};H y=E.V.1h?"4h":"5h";E.1k({5g:!E.V.1h||U.8y=="8x",4h:E.V.1h?"4h":"5h",5o:{"L":"8w","8v":"1o","4u":y,5h:y,4h:y,3O:"3O",1o:"1o",1Q:"1Q",3c:"3c",2Q:"2Q",8u:"8t",26:"26",8s:"8r"}});E.N({1D:"a.12",8q:"15.4e(a,\'12\')",8p:"15.2I(a,2,\'2q\')",8n:"15.2I(a,2,\'4d\')",8l:"15.4e(a,\'2q\')",8k:"15.4e(a,\'4d\')",8j:"15.5d(a.12.1w,a)",8i:"15.5d(a.1w)",6q:"15.11(a,\'8h\')?a.8f||a.8e.U:15.2h(a.3j)"},G(i,n){E.1b[i]=G(a){H b=E.1X(6,n);9(a&&1m a=="1M")b=E.3m(a,b);I 6.2o(E.4V(b))}});E.N({5R:"3g",8c:"6j",3d:"6g",8b:"50",89:"6H"},G(i,n){E.1b[i]=G(){H a=1q;I 6.N(G(){L(H j=0,2c=a.K;j<2c;j++)E(a[j])[n](6)})}});E.N({5W:G(a){E.1x(6,a,"");6.53(a)},88:G(c){E.1o.1f(6,c)},87:G(c){E.1o.28(6,c)},86:G(c){E.1o[E.1o.3K(6,c)?"28":"1f"](6,c)},28:G(a){9(!a||E.1E(a,[6]).r.K){E.30(6);6.12.3b(6)}},4n:G(){E("*",6).N(G(){E.30(6)});1W(6.1w)6.3b(6.1w)}},G(i,n){E.1b[i]=G(){I 6.N(n,1q)}});E.N(["85","5Z"],G(i,a){H n=a.2p();E.1b[n]=G(h){I 6[0]==18?E.V.1N&&3y["84"+a]||E.5g&&38.33(U.2V["5a"+a],U.1G["5a"+a])||U.1G["5a"+a]:6[0]==U?38.33(U.1G["6n"+a],U.1G["6m"+a]):h==W?(6.K?E.17(6[0],n):S):6.17(n,h.1c==3X?h:h+"2T")}});H C=E.V.1N&&3x(E.V.4s)<83?"(?:[\\\\w*57-]|\\\\\\\\.)":"(?:[\\\\w\\82-\\81*57-]|\\\\\\\\.)",6k=1u 47("^>\\\\s*("+C+"+)"),6i=1u 47("^("+C+"+)(#)("+C+"+)"),6h=1u 47("^([#.]?)("+C+"*)");E.1k({55:{"":"m[2]==\'*\'||15.11(a,m[2])","#":"a.4p(\'22\')==m[2]",":":{80:"i<m[3]-0",7Z:"i>m[3]-0",2I:"m[3]-0==i",6E:"m[3]-0==i",3v:"i==0",3u:"i==r.K-1",6f:"i%2==0",6e:"i%2","3v-46":"a.12.4l(\'*\')[0]==a","3u-46":"15.2I(a.12.5p,1,\'4d\')==a","7X-46":"!15.2I(a.12.5p,2,\'4d\')",1D:"a.1w",4n:"!a.1w",7W:"(a.6s||a.7V||15(a).2g()||\'\').1g(m[3])>=0",3R:\'"1P"!=a.O&&15.17(a,"19")!="2s"&&15.17(a,"4C")!="1P"\',1P:\'"1P"==a.O||15.17(a,"19")=="2s"||15.17(a,"4C")=="1P"\',7U:"!a.3c",3c:"a.3c",2Q:"a.2Q",26:"a.26||15.1x(a,\'26\')",2g:"\'2g\'==a.O",4k:"\'4k\'==a.O",5j:"\'5j\'==a.O",54:"\'54\'==a.O",52:"\'52\'==a.O",51:"\'51\'==a.O",6d:"\'6d\'==a.O",6c:"\'6c\'==a.O",2r:\'"2r"==a.O||15.11(a,"2r")\',4t:"/4t|24|6b|2r/i.14(a.11)",3K:"15.1Y(m[3],a).K",7S:"/h\\\\d/i.14(a.11)",7R:"15.2W(15.32,G(1b){I a==1b.T;}).K"}},6a:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1u 47("^([:.#]*)("+C+"+)")],3m:G(a,c,b){H d,2b=[];1W(a&&a!=d){d=a;H f=E.1E(a,c,b);a=f.t.1p(/^\\s*,\\s*/,"");2b=b?c=f.r:E.1R(2b,f.r)}I 2b},1Y:G(t,o){9(1m t!="1M")I[t];9(o&&!o.1y)o=S;o=o||U;H d=[o],2f=[],3u;1W(t&&3u!=t){H r=[];3u=t;t=E.36(t);H l=P;H g=6k;H m=g.2S(t);9(m){H p=m[1].27();L(H i=0;d[i];i++)L(H c=d[i].1w;c;c=c.2q)9(c.1y==1&&(p=="*"||c.11.27()==p.27()))r.1a(c);d=r;t=t.1p(g,"");9(t.1g(" ")==0)6r;l=Q}J{g=/^([>+~])\\s*(\\w*)/i;9((m=g.2S(t))!=S){r=[];H p=m[2],1R={};m=m[1];L(H j=0,31=d.K;j<31;j++){H n=m=="~"||m=="+"?d[j].2q:d[j].1w;L(;n;n=n.2q)9(n.1y==1){H h=E.M(n);9(m=="~"&&1R[h])1T;9(!p||n.11.27()==p.27()){9(m=="~")1R[h]=Q;r.1a(n)}9(m=="+")1T}}d=r;t=E.36(t.1p(g,""));l=Q}}9(t&&!l){9(!t.1g(",")){9(o==d[0])d.44();2f=E.1R(2f,d);r=d=[o];t=" "+t.68(1,t.K)}J{H k=6i;H m=k.2S(t);9(m){m=[0,m[2],m[3],m[1]]}J{k=6h;m=k.2S(t)}m[2]=m[2].1p(/\\\\/g,"");H f=d[d.K-1];9(m[1]=="#"&&f&&f.3S&&!E.4a(f)){H q=f.3S(m[2]);9((E.V.1h||E.V.34)&&q&&1m q.22=="1M"&&q.22!=m[2])q=E(\'[@22="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.11(q,m[3]))?[q]:[]}J{L(H i=0;d[i];i++){H a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];9(a=="*"&&d[i].11.2p()=="5i")a="3a";r=E.1R(r,d[i].4l(a))}9(m[1]==".")r=E.4X(r,m[2]);9(m[1]=="#"){H e=[];L(H i=0;r[i];i++)9(r[i].4p("22")==m[2]){e=[r[i]];1T}r=e}d=r}t=t.1p(k,"")}}9(t){H b=E.1E(t,r);d=r=b.r;t=E.36(b.t)}}9(t)d=[];9(d&&o==d[0])d.44();2f=E.1R(2f,d);I 2f},4X:G(r,m,a){m=" "+m+" ";H c=[];L(H i=0;r[i];i++){H b=(" "+r[i].1o+" ").1g(m)>=0;9(!a&&b||a&&!b)c.1a(r[i])}I c},1E:G(t,r,h){H d;1W(t&&t!=d){d=t;H p=E.6a,m;L(H i=0;p[i];i++){m=p[i].2S(t);9(m){t=t.7O(m[0].K);m[2]=m[2].1p(/\\\\/g,"");1T}}9(!m)1T;9(m[1]==":"&&m[2]=="5V")r=E.1E(m[3],r,Q).r;J 9(m[1]==".")r=E.4X(r,m[2],h);J 9(m[1]=="["){H g=[],O=m[3];L(H i=0,31=r.K;i<31;i++){H a=r[i],z=a[E.5o[m[2]]||m[2]];9(z==S||/6C|3k|26/.14(m[2]))z=E.1x(a,m[2])||\'\';9((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1g(m[5])||O=="$="&&z.68(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1g(m[5])>=0)^h)g.1a(a)}r=g}J 9(m[1]==":"&&m[2]=="2I-46"){H e={},g=[],14=/(\\d*)n\\+?(\\d*)/.2S(m[3]=="6f"&&"2n"||m[3]=="6e"&&"2n+1"||!/\\D/.14(m[3])&&"n+"+m[3]||m[3]),3v=(14[1]||1)-0,d=14[2]-0;L(H i=0,31=r.K;i<31;i++){H j=r[i],12=j.12,22=E.M(12);9(!e[22]){H c=1;L(H n=12.1w;n;n=n.2q)9(n.1y==1)n.4U=c++;e[22]=Q}H b=P;9(3v==1){9(d==0||j.4U==d)b=Q}J 9((j.4U+d)%3v==0)b=Q;9(b^h)g.1a(j)}r=g}J{H f=E.55[m[1]];9(1m f!="1M")f=E.55[m[1]][m[2]];f=3w("P||G(a,i){I "+f+"}");r=E.2W(r,f,h)}}I{r:r,t:t}},4e:G(b,c){H d=[];H a=b[c];1W(a&&a!=U){9(a.1y==1)d.1a(a);a=a[c]}I d},2I:G(a,e,c,b){e=e||1;H d=0;L(;a;a=a[c])9(a.1y==1&&++d==e)1T;I a},5d:G(n,a){H r=[];L(;n;n=n.2q){9(n.1y==1&&(!a||n!=a))r.1a(n)}I r}});E.1j={1f:G(g,e,c,h){9(E.V.1h&&g.4j!=W)g=18;9(!c.2u)c.2u=6.2u++;9(h!=W){H d=c;c=G(){I d.16(6,1q)};c.M=h;c.2u=d.2u}H i=e.2l(".");e=i[0];c.O=i[1];H b=E.M(g,"2P")||E.M(g,"2P",{});H f=E.M(g,"2t",G(){H a;9(1m E=="W"||E.1j.4T)I a;a=E.1j.2t.16(g,1q);I a});H j=b[e];9(!j){j=b[e]={};9(g.4S)g.4S(e,f,P);J g.7N("43"+e,f)}j[c.2u]=c;6.1Z[e]=Q},2u:1,1Z:{},28:G(d,c,b){H e=E.M(d,"2P"),2L,4I;9(1m c=="1M"){H a=c.2l(".");c=a[0]}9(e){9(c&&c.O){b=c.4Q;c=c.O}9(!c){L(c 1i e)6.28(d,c)}J 9(e[c]){9(b)2E e[c][b.2u];J L(b 1i e[c])9(!a[1]||e[c][b].O==a[1])2E e[c][b];L(2L 1i e[c])1T;9(!2L){9(d.4P)d.4P(c,E.M(d,"2t"),P);J d.7M("43"+c,E.M(d,"2t"));2L=S;2E e[c]}}L(2L 1i e)1T;9(!2L){E.30(d,"2P");E.30(d,"2t")}}},1F:G(d,b,e,c,f){b=E.2h(b||[]);9(!e){9(6.1Z[d])E("*").1f([18,U]).1F(d,b)}J{H a,2L,1b=E.1n(e[d]||S),4N=!b[0]||!b[0].2M;9(4N)b.4w(6.4M({O:d,2m:e}));b[0].O=d;9(E.1n(E.M(e,"2t")))a=E.M(e,"2t").16(e,b);9(!1b&&e["43"+d]&&e["43"+d].16(e,b)===P)a=P;9(4N)b.44();9(f&&f.16(e,b)===P)a=P;9(1b&&c!==P&&a!==P&&!(E.11(e,\'a\')&&d=="4L")){6.4T=Q;e[d]()}6.4T=P}I a},2t:G(d){H a;d=E.1j.4M(d||18.1j||{});H b=d.O.2l(".");d.O=b[0];H c=E.M(6,"2P")&&E.M(6,"2P")[d.O],3q=1B.3A.2J.2O(1q,1);3q.4w(d);L(H j 1i c){3q[0].4Q=c[j];3q[0].M=c[j].M;9(!b[1]||c[j].O==b[1]){H e=c[j].16(6,3q);9(a!==P)a=e;9(e===P){d.2M();d.3p()}}}9(E.V.1h)d.2m=d.2M=d.3p=d.4Q=d.M=S;I a},4M:G(c){H a=c;c=E.1k({},a);c.2M=G(){9(a.2M)a.2M();a.7L=P};c.3p=G(){9(a.3p)a.3p();a.7K=Q};9(!c.2m&&c.65)c.2m=c.65;9(E.V.1N&&c.2m.1y==3)c.2m=a.2m.12;9(!c.4K&&c.4J)c.4K=c.4J==c.2m?c.7H:c.4J;9(c.64==S&&c.63!=S){H e=U.2V,b=U.1G;c.64=c.63+(e&&e.2R||b.2R||0);c.7E=c.7D+(e&&e.2B||b.2B||0)}9(!c.3Y&&(c.61||c.60))c.3Y=c.61||c.60;9(!c.5F&&c.5D)c.5F=c.5D;9(!c.3Y&&c.2r)c.3Y=(c.2r&1?1:(c.2r&2?3:(c.2r&4?2:0)));I c}};E.1b.1k({3W:G(c,a,b){I c=="5Y"?6.2G(c,a,b):6.N(G(){E.1j.1f(6,c,b||a,b&&a)})},2G:G(d,b,c){I 6.N(G(){E.1j.1f(6,d,G(a){E(6).5X(a);I(c||b).16(6,1q)},c&&b)})},5X:G(a,b){I 6.N(G(){E.1j.28(6,a,b)})},1F:G(c,a,b){I 6.N(G(){E.1j.1F(c,a,6,Q,b)})},7x:G(c,a,b){9(6[0])I E.1j.1F(c,a,6[0],P,b)},25:G(){H a=1q;I 6.4L(G(e){6.4H=0==6.4H?1:0;e.2M();I a[6.4H].16(6,[e])||P})},7v:G(f,g){G 4G(e){H p=e.4K;1W(p&&p!=6)2a{p=p.12}29(e){p=6};9(p==6)I P;I(e.O=="4x"?f:g).16(6,[e])}I 6.4x(4G).5U(4G)},2d:G(f){5T();9(E.3T)f.16(U,[E]);J E.3l.1a(G(){I f.16(6,[E])});I 6}});E.1k({3T:P,3l:[],2d:G(){9(!E.3T){E.3T=Q;9(E.3l){E.N(E.3l,G(){6.16(U)});E.3l=S}9(E.V.35||E.V.34)U.4P("5S",E.2d,P);9(!18.7t.K)E(18).39(G(){E("#4E").28()})}}});E.N(("7s,7r,39,7q,6n,5Y,4L,7p,"+"7n,7m,7l,4x,5U,7k,24,"+"51,7j,7i,7h,3U").2l(","),G(i,o){E.1b[o]=G(f){I f?6.3W(o,f):6.1F(o)}});H x=P;G 5T(){9(x)I;x=Q;9(E.V.35||E.V.34)U.4S("5S",E.2d,P);J 9(E.V.1h){U.7f("<7d"+"7y 22=4E 7z=Q "+"3k=//:><\\/1J>");H a=U.3S("4E");9(a)a.62=G(){9(6.2C!="1l")I;E.2d()};a=S}J 9(E.V.1N)E.4B=4j(G(){9(U.2C=="5Q"||U.2C=="1l"){4A(E.4B);E.4B=S;E.2d()}},10);E.1j.1f(18,"39",E.2d)}E.1b.1k({39:G(g,d,c){9(E.1n(g))I 6.3W("39",g);H e=g.1g(" ");9(e>=0){H i=g.2J(e,g.K);g=g.2J(0,e)}c=c||G(){};H f="4z";9(d)9(E.1n(d)){c=d;d=S}J{d=E.3a(d);f="5P"}H h=6;E.3G({1d:g,O:f,M:d,1l:G(a,b){9(b=="1C"||b=="5O")h.4o(i?E("<1s/>").3g(a.40.1p(/<1J(.|\\s)*?\\/1J>/g,"")).1Y(i):a.40);56(G(){h.N(c,[a.40,b,a])},13)}});I 6},7a:G(){I E.3a(6.5M())},5M:G(){I 6.1X(G(){I E.11(6,"2Y")?E.2h(6.79):6}).1E(G(){I 6.2H&&!6.3c&&(6.2Q||/24|6b/i.14(6.11)||/2g|1P|52/i.14(6.O))}).1X(G(i,c){H b=E(6).3i();I b==S?S:b.1c==1B?E.1X(b,G(a,i){I{2H:c.2H,1Q:a}}):{2H:c.2H,1Q:b}}).21()}});E.N("5L,5K,6t,5J,5I,5H".2l(","),G(i,o){E.1b[o]=G(f){I 6.3W(o,f)}});H B=(1u 3D).3B();E.1k({21:G(d,b,a,c){9(E.1n(b)){a=b;b=S}I E.3G({O:"4z",1d:d,M:b,1C:a,1V:c})},78:G(b,a){I E.21(b,S,a,"1J")},77:G(c,b,a){I E.21(c,b,a,"45")},76:G(d,b,a,c){9(E.1n(b)){a=b;b={}}I E.3G({O:"5P",1d:d,M:b,1C:a,1V:c})},75:G(a){E.1k(E.59,a)},59:{1Z:Q,O:"4z",2z:0,5G:"74/x-73-2Y-72",6o:Q,3e:Q,M:S},49:{},3G:G(s){H f,2y=/=(\\?|%3F)/g,1v,M;s=E.1k(Q,s,E.1k(Q,{},E.59,s));9(s.M&&s.6o&&1m s.M!="1M")s.M=E.3a(s.M);9(s.1V=="4b"){9(s.O.2p()=="21"){9(!s.1d.1t(2y))s.1d+=(s.1d.1t(/\\?/)?"&":"?")+(s.4b||"5E")+"=?"}J 9(!s.M||!s.M.1t(2y))s.M=(s.M?s.M+"&":"")+(s.4b||"5E")+"=?";s.1V="45"}9(s.1V=="45"&&(s.M&&s.M.1t(2y)||s.1d.1t(2y))){f="4b"+B++;9(s.M)s.M=s.M.1p(2y,"="+f);s.1d=s.1d.1p(2y,"="+f);s.1V="1J";18[f]=G(a){M=a;1C();1l();18[f]=W;2a{2E 18[f]}29(e){}}}9(s.1V=="1J"&&s.1L==S)s.1L=P;9(s.1L===P&&s.O.2p()=="21")s.1d+=(s.1d.1t(/\\?/)?"&":"?")+"57="+(1u 3D()).3B();9(s.M&&s.O.2p()=="21"){s.1d+=(s.1d.1t(/\\?/)?"&":"?")+s.M;s.M=S}9(s.1Z&&!E.5b++)E.1j.1F("5L");9(!s.1d.1g("8g")&&s.1V=="1J"){H h=U.4l("9U")[0];H g=U.5B("1J");g.3k=s.1d;9(!f&&(s.1C||s.1l)){H j=P;g.9R=g.62=G(){9(!j&&(!6.2C||6.2C=="5Q"||6.2C=="1l")){j=Q;1C();1l();h.3b(g)}}}h.58(g);I}H k=P;H i=18.6X?1u 6X("9P.9O"):1u 6W();i.9M(s.O,s.1d,s.3e);9(s.M)i.5C("9J-9I",s.5G);9(s.5y)i.5C("9H-5x-9F",E.49[s.1d]||"9D, 9C 9B 9A 5v:5v:5v 9z");i.5C("X-9x-9v","6W");9(s.6U)s.6U(i);9(s.1Z)E.1j.1F("5H",[i,s]);H c=G(a){9(!k&&i&&(i.2C==4||a=="2z")){k=Q;9(d){4A(d);d=S}1v=a=="2z"&&"2z"||!E.6S(i)&&"3U"||s.5y&&E.6R(i,s.1d)&&"5O"||"1C";9(1v=="1C"){2a{M=E.6Q(i,s.1V)}29(e){1v="5k"}}9(1v=="1C"){H b;2a{b=i.5s("6P-5x")}29(e){}9(s.5y&&b)E.49[s.1d]=b;9(!f)1C()}J E.5r(s,i,1v);1l();9(s.3e)i=S}};9(s.3e){H d=4j(c,13);9(s.2z>0)56(G(){9(i){i.9q();9(!k)c("2z")}},s.2z)}2a{i.9o(s.M)}29(e){E.5r(s,i,S,e)}9(!s.3e)c();I i;G 1C(){9(s.1C)s.1C(M,1v);9(s.1Z)E.1j.1F("5I",[i,s])}G 1l(){9(s.1l)s.1l(i,1v);9(s.1Z)E.1j.1F("6t",[i,s]);9(s.1Z&&!--E.5b)E.1j.1F("5K")}},5r:G(s,a,b,e){9(s.3U)s.3U(a,b,e);9(s.1Z)E.1j.1F("5J",[a,s,e])},5b:0,6S:G(r){2a{I!r.1v&&9n.9l=="54:"||(r.1v>=6N&&r.1v<9j)||r.1v==6M||E.V.1N&&r.1v==W}29(e){}I P},6R:G(a,c){2a{H b=a.5s("6P-5x");I a.1v==6M||b==E.49[c]||E.V.1N&&a.1v==W}29(e){}I P},6Q:G(r,b){H c=r.5s("9i-O");H d=b=="6K"||!b&&c&&c.1g("6K")>=0;H a=d?r.9g:r.40;9(d&&a.2V.37=="5k")6G"5k";9(b=="1J")E.5f(a);9(b=="45")a=3w("("+a+")");I a},3a:G(a){H s=[];9(a.1c==1B||a.4c)E.N(a,G(){s.1a(3f(6.2H)+"="+3f(6.1Q))});J L(H j 1i a)9(a[j]&&a[j].1c==1B)E.N(a[j],G(){s.1a(3f(j)+"="+3f(6))});J s.1a(3f(j)+"="+3f(a[j]));I s.66("&").1p(/%20/g,"+")}});E.1b.1k({1A:G(b,a){I b?6.1U({1H:"1A",2N:"1A",1r:"1A"},b,a):6.1E(":1P").N(G(){6.R.19=6.3h?6.3h:"";9(E.17(6,"19")=="2s")6.R.19="2Z"}).2D()},1z:G(b,a){I b?6.1U({1H:"1z",2N:"1z",1r:"1z"},b,a):6.1E(":3R").N(G(){6.3h=6.3h||E.17(6,"19");9(6.3h=="2s")6.3h="2Z";6.R.19="2s"}).2D()},6J:E.1b.25,25:G(a,b){I E.1n(a)&&E.1n(b)?6.6J(a,b):a?6.1U({1H:"25",2N:"25",1r:"25"},a,b):6.N(G(){E(6)[E(6).3t(":1P")?"1A":"1z"]()})},9c:G(b,a){I 6.1U({1H:"1A"},b,a)},9b:G(b,a){I 6.1U({1H:"1z"},b,a)},99:G(b,a){I 6.1U({1H:"25"},b,a)},98:G(b,a){I 6.1U({1r:"1A"},b,a)},96:G(b,a){I 6.1U({1r:"1z"},b,a)},95:G(c,a,b){I 6.1U({1r:a},c,b)},1U:G(k,i,h,g){H j=E.6D(i,h,g);I 6[j.3L===P?"N":"3L"](G(){j=E.1k({},j);H f=E(6).3t(":1P"),3y=6;L(H p 1i k){9(k[p]=="1z"&&f||k[p]=="1A"&&!f)I E.1n(j.1l)&&j.1l.16(6);9(p=="1H"||p=="2N"){j.19=E.17(6,"19");j.2U=6.R.2U}}9(j.2U!=S)6.R.2U="1P";j.3M=E.1k({},k);E.N(k,G(c,a){H e=1u E.2j(3y,j,c);9(/25|1A|1z/.14(a))e[a=="25"?f?"1A":"1z":a](k);J{H b=a.3s().1t(/^([+-]=)?([\\d+-.]+)(.*)$/),1O=e.2b(Q)||0;9(b){H d=3I(b[2]),2i=b[3]||"2T";9(2i!="2T"){3y.R[c]=(d||1)+2i;1O=((d||1)/e.2b(Q))*1O;3y.R[c]=1O+2i}9(b[1])d=((b[1]=="-="?-1:1)*d)+1O;e.3N(1O,d,2i)}J e.3N(1O,a,"")}});I Q})},3L:G(a,b){9(E.1n(a)){b=a;a="2j"}9(!a||(1m a=="1M"&&!b))I A(6[0],a);I 6.N(G(){9(b.1c==1B)A(6,a,b);J{A(6,a).1a(b);9(A(6,a).K==1)b.16(6)}})},9f:G(){H a=E.32;I 6.N(G(){L(H i=0;i<a.K;i++)9(a[i].T==6)a.6I(i--,1)}).5n()}});H A=G(b,c,a){9(!b)I;H q=E.M(b,c+"3L");9(!q||a)q=E.M(b,c+"3L",a?E.2h(a):[]);I q};E.1b.5n=G(a){a=a||"2j";I 6.N(G(){H q=A(6,a);q.44();9(q.K)q[0].16(6)})};E.1k({6D:G(b,a,c){H d=b&&b.1c==8Z?b:{1l:c||!c&&a||E.1n(b)&&b,2e:b,3J:c&&a||a&&a.1c!=8Y&&a};d.2e=(d.2e&&d.2e.1c==4W?d.2e:{8X:8W,8V:6N}[d.2e])||8T;d.3r=d.1l;d.1l=G(){E(6).5n();9(E.1n(d.3r))d.3r.16(6)};I d},3J:{6B:G(p,n,b,a){I b+a*p},5q:G(p,n,b,a){I((-38.9s(p*38.8R)/2)+0.5)*a+b}},32:[],2j:G(b,c,a){6.Y=c;6.T=b;6.1e=a;9(!c.3P)c.3P={}}});E.2j.3A={4r:G(){9(6.Y.2F)6.Y.2F.16(6.T,[6.2v,6]);(E.2j.2F[6.1e]||E.2j.2F.6z)(6);9(6.1e=="1H"||6.1e=="2N")6.T.R.19="2Z"},2b:G(a){9(6.T[6.1e]!=S&&6.T.R[6.1e]==S)I 6.T[6.1e];H r=3I(E.3C(6.T,6.1e,a));I r&&r>-8O?r:3I(E.17(6.T,6.1e))||0},3N:G(c,b,e){6.5u=(1u 3D()).3B();6.1O=c;6.2D=b;6.2i=e||6.2i||"2T";6.2v=6.1O;6.4q=6.4i=0;6.4r();H f=6;G t(){I f.2F()}t.T=6.T;E.32.1a(t);9(E.32.K==1){H d=4j(G(){H a=E.32;L(H i=0;i<a.K;i++)9(!a[i]())a.6I(i--,1);9(!a.K)4A(d)},13)}},1A:G(){6.Y.3P[6.1e]=E.1x(6.T.R,6.1e);6.Y.1A=Q;6.3N(0,6.2b());9(6.1e=="2N"||6.1e=="1H")6.T.R[6.1e]="8N";E(6.T).1A()},1z:G(){6.Y.3P[6.1e]=E.1x(6.T.R,6.1e);6.Y.1z=Q;6.3N(6.2b(),0)},2F:G(){H t=(1u 3D()).3B();9(t>6.Y.2e+6.5u){6.2v=6.2D;6.4q=6.4i=1;6.4r();6.Y.3M[6.1e]=Q;H a=Q;L(H i 1i 6.Y.3M)9(6.Y.3M[i]!==Q)a=P;9(a){9(6.Y.19!=S){6.T.R.2U=6.Y.2U;6.T.R.19=6.Y.19;9(E.17(6.T,"19")=="2s")6.T.R.19="2Z"}9(6.Y.1z)6.T.R.19="2s";9(6.Y.1z||6.Y.1A)L(H p 1i 6.Y.3M)E.1x(6.T.R,p,6.Y.3P[p])}9(a&&E.1n(6.Y.1l))6.Y.1l.16(6.T);I P}J{H n=t-6.5u;6.4i=n/6.Y.2e;6.4q=E.3J[6.Y.3J||(E.3J.5q?"5q":"6B")](6.4i,n,0,1,6.Y.2e);6.2v=6.1O+((6.2D-6.1O)*6.4q);6.4r()}I Q}};E.2j.2F={2R:G(a){a.T.2R=a.2v},2B:G(a){a.T.2B=a.2v},1r:G(a){E.1x(a.T.R,"1r",a.2v)},6z:G(a){a.T.R[a.1e]=a.2v+a.2i}};E.1b.6m=G(){H c=0,3E=0,T=6[0],5t;9(T)8L(E.V){H b=E.17(T,"2X")=="4F",1D=T.12,23=T.23,2K=T.3H,4f=1N&&3x(4s)<8J;9(T.6V){5w=T.6V();1f(5w.1S+38.33(2K.2V.2R,2K.1G.2R),5w.3E+38.33(2K.2V.2B,2K.1G.2B));9(1h){H d=E("4o").17("8H");d=(d=="8G"||E.5g&&3x(4s)>=7)&&2||d;1f(-d,-d)}}J{1f(T.5l,T.5z);1W(23){1f(23.5l,23.5z);9(35&&/^t[d|h]$/i.14(1D.37)||!4f)d(23);9(4f&&!b&&E.17(23,"2X")=="4F")b=Q;23=23.23}1W(1D.37&&!/^1G|4o$/i.14(1D.37)){9(!/^8D|1I-9S.*$/i.14(E.17(1D,"19")))1f(-1D.2R,-1D.2B);9(35&&E.17(1D,"2U")!="3R")d(1D);1D=1D.12}9(4f&&b)1f(-2K.1G.5l,-2K.1G.5z)}5t={3E:3E,1S:c}}I 5t;G d(a){1f(E.17(a,"9T"),E.17(a,"8A"))}G 1f(l,t){c+=3x(l)||0;3E+=3x(t)||0}}})();',62,616,'||||||this|||if|||||||||||||||||||||||||||||||||function|var|return|else|length|for|data|each|type|false|true|style|null|elem|document|browser|undefined||options|||nodeName|parentNode||test|jQuery|apply|css|window|display|push|fn|constructor|url|prop|add|indexOf|msie|in|event|extend|complete|typeof|isFunction|className|replace|arguments|opacity|div|match|new|status|firstChild|attr|nodeType|hide|show|Array|success|parent|filter|trigger|body|height|table|script|tbody|cache|string|safari|start|hidden|value|merge|left|break|animate|dataType|while|map|find|global||get|id|offsetParent|select|toggle|selected|toUpperCase|remove|catch|try|cur|al|ready|duration|done|text|makeArray|unit|fx|swap|split|target||pushStack|toLowerCase|nextSibling|button|none|handle|guid|now|stack|tb|jsre|timeout|inArray|scrollTop|readyState|end|delete|step|one|name|nth|slice|doc|ret|preventDefault|width|call|events|checked|scrollLeft|exec|px|overflow|documentElement|grep|position|form|block|removeData|rl|timers|max|opera|mozilla|trim|tagName|Math|load|param|removeChild|disabled|insertBefore|async|encodeURIComponent|append|oldblock|val|childNodes|src|readyList|multiFilter|color|defaultView|stopPropagation|args|old|toString|is|last|first|eval|parseInt|self|domManip|prototype|getTime|curCSS|Date|top||ajax|ownerDocument|parseFloat|easing|has|queue|curAnim|custom|innerHTML|orig|currentStyle|visible|getElementById|isReady|error|static|bind|String|which|getComputedStyle|responseText|oWidth|oHeight|on|shift|json|child|RegExp|ol|lastModified|isXMLDoc|jsonp|jquery|previousSibling|dir|safari2|el|styleFloat|state|setInterval|radio|getElementsByTagName|tr|empty|html|getAttribute|pos|update|version|input|float|runtimeStyle|unshift|mouseover|getPropertyValue|GET|clearInterval|safariTimer|visibility|clean|__ie_init|absolute|handleHover|lastToggle|index|fromElement|relatedTarget|click|fix|evt|andSelf|removeEventListener|handler|cloneNode|addEventListener|triggered|nodeIndex|unique|Number|classFilter|prevObject|selectedIndex|after|submit|password|removeAttribute|file|expr|setTimeout|_|appendChild|ajaxSettings|client|active|win|sibling|deep|globalEval|boxModel|cssFloat|object|checkbox|parsererror|offsetLeft|wrapAll|dequeue|props|lastChild|swing|handleError|getResponseHeader|results|startTime|00|box|Modified|ifModified|offsetTop|evalScript|createElement|setRequestHeader|ctrlKey|callback|metaKey|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxStop|ajaxStart|serializeArray|init|notmodified|POST|loaded|appendTo|DOMContentLoaded|bindReady|mouseout|not|removeAttr|unbind|unload|Width|keyCode|charCode|onreadystatechange|clientX|pageX|srcElement|join|outerHTML|substr|zoom|parse|textarea|reset|image|odd|even|before|quickClass|quickID|prepend|quickChild|execScript|offset|scroll|processData|uuid|contents|continue|textContent|ajaxComplete|clone|setArray|webkit|nodeValue|fl|_default|100|linear|href|speed|eq|createTextNode|throw|replaceWith|splice|_toggle|xml|colgroup|304|200|alpha|Last|httpData|httpNotModified|httpSuccess|fieldset|beforeSend|getBoundingClientRect|XMLHttpRequest|ActiveXObject|col|br|abbr|pixelLeft|urlencoded|www|application|ajaxSetup|post|getJSON|getScript|elements|serialize|clientWidth|hasClass|scr|clientHeight|write|relative|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|right|dblclick|resize|focus|blur|frames|instanceof|hover|offsetWidth|triggerHandler|ipt|defer|offsetHeight|border|padding|clientY|pageY|Left|Right|toElement|Bottom|Top|cancelBubble|returnValue|detachEvent|attachEvent|substring|line|weight|animated|header|font|enabled|innerText|contains|only|size|gt|lt|uFFFF|u0128|417|inner|Height|toggleClass|removeClass|addClass|replaceAll|noConflict|insertAfter|prependTo|wrap|contentWindow|contentDocument|http|iframe|children|siblings|prevAll|nextAll|wrapInner|prev|Boolean|next|parents|maxLength|maxlength|readOnly|readonly|class|htmlFor|CSS1Compat|compatMode|compatible|borderTopWidth|ie|ra|inline|it|rv|medium|borderWidth|userAgent|522|navigator|with|concat|1px|10000|array|ig|PI|NaN|400|reverse|fast|600|slow|Function|Object|setAttribute|changed|be|can|property|fadeTo|fadeOut|getAttributeNode|fadeIn|slideToggle|method|slideUp|slideDown|action|cssText|stop|responseXML|option|content|300|th|protocol|td|location|send|cap|abort|colg|cos|tfoot|thead|With|leg|Requested|opt|GMT|1970|Jan|01|Thu|area|Since|hr|If|Type|Content|meta|specified|open|link|XMLHTTP|Microsoft|img|onload|row|borderLeftWidth|head|attributes'.split('|'),0,{})) |
/trunk/wikini/maj_wikini/actions/galerie/presentation/squelettes/gal_liste_ss_inclusion.tpl.html |
---|
New file |
0,0 → 1,38 |
<!-- GALLERIE - DEBUT --> |
<?php if ($erreur) : ?> |
<p class="pap_erreur"><?=$erreur;?></p> |
<?php else : ?> |
<script type="text/javascript"> |
// Galerie : SliderViewer |
jQuery(function(){ |
// Nous cachons les images si le javascript est activé! |
jQuery("div#<?=$id;?>").removeClass("galerie"); |
jQuery("div#<?=$id;?>").addClass("svw"); |
}); |
$(window).bind("load", function() { |
$("div#<?=$id;?>").slideView({ |
easeFunc: "easeInOutSine", |
easeTime: 500, |
toolTip: false |
}); |
}); |
// Galerie : LightBox |
$(function() { |
$('div#<?=$id;?> a').lightBox(); |
}); |
</script> |
<div id="<?=$id;?>" class="galerie"> |
<ul> |
<?php foreach ($images as $image) : ?> |
<li style="width:<?=$css['largeur'];?>px;"> |
<a href="<?=$image['url_img'];?>" rel="lightbox" title="<?=$image['fichier_nom'];?>"> |
<img src="<?=$image['url_img_mini'];?>" alt="<?=$image['fichier_nom'];?>"/> |
</a> |
</li> |
<?php endforeach; ?> |
</ul> |
</div> |
<?php endif; ?> |
<!-- GALLERIE - FIN --> |
/trunk/wikini/maj_wikini/actions/galerie/presentation/squelettes/gal_liste.tpl.html |
---|
29,7 → 29,7 |
<div id="<?=$id;?>" class="galerie"> |
<ul> |
<?php foreach ($images as $image) : ?> |
<li> |
<li style="width:<?=$css['largeur'];?>px;"> |
<a href="<?=$image['url_img'];?>" rel="lightbox" title="<?=$image['fichier_nom'];?>"> |
<img src="<?=$image['url_img_mini'];?>" alt="<?=$image['fichier_nom'];?>"/> |
</a> |