Index: extensions/PHP_Optimisateur/config.xml
===================================================================
--- extensions/PHP_Optimisateur/config.xml	(revision 9200)
+++ extensions/PHP_Optimisateur/config.xml	(revision 9201)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <config>
-	<DIRsource>./in/</DIRsource>
-	<DIRsortie>./out/</DIRsortie>
+	<DIRsource>in/</DIRsource>
+	<DIRsortie>out/</DIRsortie>
 	<silentORNOT>block</silentORNOT>
 	<DIRhighORNOT>true</DIRhighORNOT>
@@ -21,8 +21,6 @@
 	<copyPOS>bottom-right</copyPOS>
 	<copySIZE>0.05</copySIZE>
-	<copyCOLOR>#000000</copyCOLOR>
+	<copyCOLOR>000000</copyCOLOR>
 	<copyFONT>Arial</copyFONT>
-	<PluginsBefore></PluginsBefore>
-	<PluginsProcess></PluginsProcess>
-	<PluginsAfter></PluginsAfter>
+	<Plugins></Plugins>
 </config>
Index: extensions/PHP_Optimisateur/include/display_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/display_config.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/display_config.php	(revision 9201)
@@ -0,0 +1,150 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|			   Version 1.2				|
+\***************************************/
+
+$PAGE_CONTENT[0] .= '<div class="generic config">
+		<h2>'.l10n('Configuration').'</h2>
+		<ul>
+			<li>
+				<span class="title">'.l10n('Folders').'</span>
+				<table>
+					<tr>
+						<td><b>'.l10n('FolderIn').' :</b></td>
+						<td>'.$CONF['DIRsource'].'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('FolderOut').' :</b></td>
+						<td>'.$CONF['DIRsortie'].'</td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Options').'</span>
+				<table>
+					<tr>
+						<td><b>'.l10n('silentORNOT').' :</b></td>
+						<td>'.l10n($CONF['silentORNOT']).'</td>
+					</tr>
+
+					<tr>
+						<td><b>'.l10n('DIRhighORNOT').' :</b></td>
+						<td>'.bool_to_string($CONF['DIRhighORNOT']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('DIMhdORNOT').' :</b></td>
+						<td>'.bool_to_string($CONF['DIMhdORNOT']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('renameORNOT').' :</b></td>
+						<td>'.bool_to_string($CONF['renameORNOT']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('indexORNOT').' :</b></td>
+						<td>'.bool_to_string($CONF['indexORNOT']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('prefixe_mini').' :</b></td>
+						<td>'.$CONF['prefixe_mini'].'</td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Sizes and quality').'</span>
+				<table>
+					<tr>
+						<td><b>'.l10n('DIMhd').' :</b></td>
+						<td>'.$CONF['DIMhd'].'px</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('DIMnormal').' :</b></td>
+						<td>'.$CONF['DIMnormal'].'px</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('DIMthumbnail').' :</b></td>
+						<td>'.$CONF['DIMthumbnail'].'px</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('Qhd').' :</b></td>
+						<td>'.$CONF['Qhd'].'%</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('Qnormal').' :</b></td>
+						<td>'.$CONF['Qnormal'].'%</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('Qthumbnail').' :</b></td>
+						<td>'.$CONF['Qthumbnail'].'%</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('DPI').' :</b></td>
+						<td>'.$CONF['DPI'].'dpi</td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Copyright').'</span>
+				<table>
+					<tr>
+						<td><b>'.l10n('Content').' :</b></td>
+						<td>'.$CONF['copyright'].'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copyONhd').' :</b></td>
+						<td>'.bool_to_string($CONF['copyONhd']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copyONnormal').' :</b></td>
+						<td>'.bool_to_string($CONF['copyONnormal']).'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copyPOS%s', '').' :</b></td>
+						<td>'.$CONF['copyPOS'].'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copySIZE').' :</b></td>
+						<td>'.$CONF['copySIZE'].'</td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copyCOLOR').' :</b></td>
+						<td>#'.nice_hex_color($CONF['copyCOLOR']).' <span class="color-display" style="background-color:#'.nice_hex_color($CONF['copyCOLOR']).';">&nbsp;</span></td>
+					</tr>
+					<tr>
+						<td><b>'.l10n('copyFONT').' :</b></td>
+						<td>'.$CONF['copyFONT'].'</td>
+					</tr>
+				</table>
+			</li>
+		</ul>
+		
+		<h2>'.l10n('Plugins').'</h2>
+		<ul>';
+			// Affichage des plugins
+			$PLUGIN_ACTION = 'read_config';
+			
+			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+				$PAGE_CONTENT[0] .= '<li>
+					<div class="plugin-title">
+						<span class="title">'.$plugin_config['name'].' :</span>
+						
+						<span class="plugin-active">';
+						// Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
+						if ($plugin_config['active']) {
+							$PAGE_CONTENT[0] .= '<b class="new">'.l10n('Active').'</b>';
+						} else {
+							$PAGE_CONTENT[0] .= '<b class="miss">'.l10n('Inactive').'</b>';
+						}
+						$PAGE_CONTENT[0] .= '</span>
+						
+					</div>';
+					
+					// On affiche sa configuration
+					if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
+						include('plugins/'.$plugin_id.'/setup.php');
+					}
+				$PAGE_CONTENT[0] .= '</li>';
+			}
+		$PAGE_CONTENT[0] .= '</ul>
+	</div>';
+?>
Index: extensions/PHP_Optimisateur/include/functions.php
===================================================================
--- extensions/PHP_Optimisateur/include/functions.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/functions.php	(revision 9201)
@@ -0,0 +1,249 @@
+<?php
+// Affiche les textes localisés
+function l10n($code) {
+	global $Lang;
+	if (isset($Lang[$code])) {
+		$args = func_get_args();
+		if (count($args) > 1) {
+			array_shift($args);
+			return vsprintf($Lang[$code], $args);
+		} else {
+			return $Lang[$code];
+		}
+	} else {
+		return $code;
+	}
+}
+
+// Retourne la langue de l'utilisateur et les langues installées
+function GetLanguage() {
+	// tableau avec les langues installées
+	$dh = opendir('language');
+	while ($file = readdir($dh)) {
+		if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
+			$languages[] = $file;
+		}
+	}
+	closedir($dh);
+	
+	// recherche du paramètre get ou session, ou langue du navigateur
+	if (isset($_GET['Lang'])) {
+		$_SESSION['Lang'] = $_GET['Lang'];
+	} else if (!isset($_SESSION['Lang']) OR $_SESSION['Lang'] == NULL) {
+		$_SESSION['Lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
+	}
+	if (!in_array($_SESSION['Lang'], $languages)) {
+		$_SESSION['Lang'] = 'en';
+	}
+
+	return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages);
+}
+
+// Supprime tous les caractères speciaux
+function delete_special_car($string) {
+	global $CONF;
+	
+	$search = array ('#[éèêë]#','#[ÊËÈÉ]#','#[àâäã]#','#[ÂÄÁÀ]#','#[îïíì]#','#[ÎÏÍÌ]#','#[ûùüúµ]#','#[ÛÙÚÜ]#','#[ôóòõö]#','#[ÓÒÖÔÕ]#','#[ç]#','#[Ç]#','#[ñ]#','#[Ñ]#','#[ýÿ]#','#[Ý]#','#[ \&\!\?\#\"\(\)\{\}\[\]\=\+\~\%]#','#[^a-zA-Z0-9_\.\-]#');
+	$replace = array ('e','E','a','A','i','I','u','U','o','O','c','C',',n','N','y','Y','_','');
+	
+	if ($CONF['renameORNOT']) {
+		return preg_replace($search, $replace, $string);
+	} else {
+		return str_replace(array('%','$'), '_', $string);
+	}
+}
+
+// Teste si un dossier est vide
+function is_dir_empty($dir) {
+	$array = scandir($dir);
+	if (count($array) > 2) {
+		return false;
+	} else {
+		return true;
+	}
+}
+
+// Supprime un repertoire non-vide
+function rrmdir($dir) {
+	$dir = rtrim($dir, '/');
+	$objects = scandir($dir);
+	
+	foreach ($objects as $object) {
+		if ($object !== '.' && $object !== '..') {
+			$path = $dir.'/'.$object;
+			if (filetype($path) == 'dir') rrmdir($path); 
+			else unlink($path);
+		}
+	}
+
+	rmdir($dir);
+} 
+
+// Parcours récursivement un dossier
+function recursive_readdir($dir, $array, $dirs=false) {
+	# si $dirs=true liste les dossiers plutot que les fichiers
+	global ${$array}; // Charge la tableau pour la sortie, déclaré à l'exterieur à cause de l'appel recursif de la fonction
+	$dir = rtrim($dir, '/');
+	$dh = opendir($dir);
+	
+	while (($file = readdir($dh)) !== false ) {
+		if ($file !== '.' && $file !== '..') {
+			$path = $dir.'/'.$file;
+			if (is_dir($path)) {
+				if($dirs) ${$array}[] = $path;
+				recursive_readdir($path, $array, $dirs);
+			} else {
+				if(!$dirs) ${$array}[] = $path;
+			}
+		}
+	}
+	closedir($dh);
+}
+
+// Parse le fichier de configuration
+function XMLParse($xml) {
+	$content = array();
+	foreach ($xml as $nom => $elem) { 
+		if (trim($elem) == '') { 
+			$content[$nom] = XMLParse($elem->children()); 
+		} else { 
+			$content[$nom] = utf8_encode(utf8_decode($elem));
+		}
+	}
+	return $content;
+}
+
+// Crée le fichier de configuration
+function XMLCreate($array, $level=0) {
+	$content = null;
+	foreach ($array as $nom => $elem) {
+		if (is_array($elem)) {
+			for($i=0;$i<=$level;$i++) $content .= "\t";
+			$content .= '<'.$nom.'>'."\n";
+			$content .= XMLCreate($elem, $level+1);
+			for($i=0;$i<=$level;$i++) $content .= "\t";
+			$content .= '</'.$nom.'>'."\n";
+		} else {
+			for($i=0;$i<=$level;$i++) $content .= "\t";
+			$content .= '<'.$nom.'>'.$elem.'</'.$nom.'>'."\n";
+		}
+	}
+	return $content;
+}
+
+// Charge la configuration
+function load_config($file) {
+	$config = simplexml_load_file($file);
+	$config = XMLParse($config);
+	$config = array_settype($config);
+	return $config;
+}
+
+// Convertit les booléens, entiers et flotants d'un tableau de 'string'
+function array_settype($array) {
+	foreach ($array as $key => $value) {
+		if (is_array($value)) {
+			$array[$key] = array_settype($value);
+		} else {
+			if ($value === 'true') {
+				$array[$key] = true;		
+			} else if ($value === 'false') {
+				$array[$key] = false;		
+			} else if (preg_match('#^([0-9]*)$#', $value)) {
+				settype($array[$key], 'int');		
+			} else if (preg_match('#^([0-9]*)(\.)([0-9]*)$#', $value)) {
+				settype($array[$key], 'float');		
+			}
+		}
+	}
+		
+	return $array;
+}
+
+// Booléen vers français ou texte
+function bool_to_string($string, $just_echo=0) {
+	global $Lang;
+	# $just_echo pour pouvoir afficher un booléen tel quel (echo true; n'affiche rien)
+	if (is_bool($string)) {
+		if ($string) {
+			if ($just_echo) return 'true';
+			else return l10n('yes');
+		} else {
+			if ($just_echo) return 'false';
+			else return l10n('no');
+		}
+	} else {
+		return $string;
+	}
+}
+
+// Converti une chaine de config (param:value;param:value[;]) en tableau associatif
+function ExplodeString($string, $sep1=';', $sep2=':') {
+	$string = preg_replace('#[;]$#', '', $string);
+	$result = array();
+	$a = explode($sep1, $string);
+	
+	foreach ($a as $s) {
+	   $v = explode($sep2, $s);
+	   $result[$v[0]] = $v[1];
+	}
+	return $result;
+}
+
+// Converti un tableau associatif en chaine de config (param:value;param:value;)
+function ImplodeArray($array, $sep1=';', $sep2=':') {
+	$result = null;
+	foreach ($array as $key => $value) {
+		$result .= $key.$sep2.$value.$sep1;
+	}
+	return $result;
+}
+
+// Convertit les couleurs 'numériques' et gère les 0 manquants
+function nice_hex_color($hex) {
+	$hex = strval($hex);
+	for ($i=strlen($hex); $i<6; $i++) {
+		$hex = '0'.$hex;
+	}
+	return $hex;
+}
+
+// Converti une couleur HEX et RGB
+function hex2RGB($hexStr, $returnAsString = false, $seperator = ',') {
+	$hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string
+	
+	if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster
+		$colorVal = hexdec($hexStr);
+		$rgbArray['r'] = 0xFF & ($colorVal >> 0x10);
+		$rgbArray['g'] = 0xFF & ($colorVal >> 0x8);
+		$rgbArray['b'] = 0xFF & $colorVal;
+	} elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations
+		$rgbArray['r'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2));
+		$rgbArray['g'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2));
+		$rgbArray['b'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2));
+	} else {
+		return false; //Invalid hex color code
+	}
+	
+	return $returnAsString ? implode($seperator, $rgbArray) : $rgbArray; // returns the rgb string or the associative array
+}
+
+// Verifie si une chaine est un nombre décimal (plus strict que is_numeric qui fonctionne avec les hexadecimaux)
+function is_decimal($num) {
+	if(is_numeric($num) === true AND (float)$num == $num) {
+		return true;
+	} else {
+		return false;
+	}
+}
+
+// Charge le fichier de langue d'un plugin
+function load_plugin_lang($plugin_id) {
+	global $CONF, $Lang;
+	if (file_exists('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php')) {
+		include('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php');
+	} else {
+		include('plugins/'.$plugin_id.'/lang/en.php');
+	}
+}
+?>
Index: extensions/PHP_Optimisateur/include/header.php
===================================================================
--- extensions/PHP_Optimisateur/include/header.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/header.php	(revision 9201)
@@ -0,0 +1,42 @@
+<?php
+echo '<?xml version="1.0" encoding="utf-8"?>
+<!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" lang="en" xml:lang="en">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<title>PHP Optimisateur '.$APPversion.'</title>
+	<link href="template/favicon.png" rel="icon" type="image/x-icon" />
+	
+	<link rel="stylesheet" type="text/css" media="screen" href="template/css/screen.css"/>
+	<link rel="stylesheet" type="text/css" media="screen" href="template/css/colorpicker.css"/>
+	<link rel="stylesheet" type="text/css" media="screen" href="template/css/jqtransform.css"/>
+	<script type="text/javascript" src="template/js/jquery.js"></script>
+	<script type="text/javascript" src="template/js/colorpicker.js"></script>
+	<script type="text/javascript" src="template/js/jqtransform.js"></script>
+	<script language="javascript">
+		$(function(){
+			$("form").jqTransform({imgPath:"template/images/"});
+		});
+		function Load() {
+			$(\'#ready-text\').html(\''.l10n('Processing').'\');
+			$(\'#loader\').html(\'<img src="template/images/loader.gif" alt="Load..."/>\');
+			$(\'#overlay\').css(\'display\',\'block\');
+		}
+	</script>
+
+</head>
+<body>
+<div id="overlay" style="display:none;">&nbsp;</div>
+
+<div class="generic title">
+	PHP Optimisateur '.$APPversion.'
+	
+	<span class="lang">';
+	foreach ($CONF['languages'] as $key) {
+		echo '<a class="lang" href="index.php?Lang='.$key.'" title="'.$key.'"><img src="language/'.$key.'/'.$key.'.png" alt="'.$key.'"/></a>';
+	}
+	echo '</span>
+	
+</div>';
+?>
Index: extensions/PHP_Optimisateur/include/index.php
===================================================================
--- extensions/PHP_Optimisateur/include/index.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/index.php	(revision 9201)
@@ -0,0 +1,7 @@
+<?php
+$url = '../index.php';
+header('Request-URI: '.$url);
+header('Content-Location: '.$url);
+header('Location: '.$url);
+exit();
+?>
Index: extensions/PHP_Optimisateur/include/main.php
===================================================================
--- extensions/PHP_Optimisateur/include/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/main.php	(revision 9201)
@@ -0,0 +1,147 @@
+<?php
+// Si mode silencieux vidage automatique du dossier de sortie
+if ($CONF['silentORNOT'] == 'erase') {
+	@rrmdir($CONF['DIRsortie']);
+	@mkdir($CONF['DIRsortie']);
+}
+
+
+### Supprimer les caractères spéciaux - dossiers & fichiers ###
+// Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers
+function recursive_delete_special_car($dir) {
+	$dir = rtrim($dir, '/');
+	$dh = opendir($dir);
+	
+	while (($file = readdir($dh)) !== false ) {
+		if ($file !== '.' && $file !== '..') {
+			$path = $dir.'/'.$file;
+			$new_path = $dir.'/'.delete_special_car($file);
+			rename($path, $new_path);
+			
+			if (is_dir($new_path)) {
+				recursive_delete_special_car($new_path);
+			}
+		}
+	}
+	closedir($dh);
+}
+
+recursive_delete_special_car($CONF['DIRsource']);
+
+
+### Copyright & Options générales des conversion ###
+$CONF['copyright'] = utf8_decode($CONF['copyright']);
+$CONF['copyCOLOR'] = hex2RGB(nice_hex_color($CONF['copyCOLOR']), true, ' ');
+
+if ($CONF['copyONhd']) {
+	$CONF['copyHD'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"';
+} else {
+	$CONF['copyHD'] = null;
+}
+
+if ($CONF['copyONnormal']) {
+	$CONF['copyNormal'] = '-text_font "'.$CONF['copyFONT'].'" '.$CONF['DIMnormal']*$CONF['copySIZE'].' -text_color '.$CONF['copyCOLOR'].' -text_flag '.$CONF['copyPOS'].' -text_pos 0 0 -text "'.$CONF['copyright'].'"';
+} else {
+	$CONF['copyNormal'] = null;
+}
+
+$CONF['convOptions'] = '-ratio -rtype lanczos -rflag decr';
+$CONF['JPGexts'] = array('jpg', 'JPG', 'jpeg', 'JPEG'); // extensions admises pour le jpg
+
+
+### Plugins avant execution ###
+foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+	if ($plugin_config['mode'] == 'Before' AND $plugin_config['active']) {
+		include('plugins/'.$plugin_id.'/main.php');
+	}
+}
+
+
+### Processus principal ###
+// Tableau avec les fichiers source
+$FilesSource = array();
+recursive_readdir($CONF['DIRsource'], 'FilesSource');
+
+// Tableau avec les fichiers de sortie
+$FilesSortie = str_replace($CONF['DIRsource'], $CONF['DIRsortie'], $FilesSource);
+
+// Boucle sur tous les fichiers
+for ($i=0; $i<count($FilesSource); $i++) {
+	// Découpe le nom de fichier : dossier/fichier
+	preg_match('#(.*)/(.*).([a-z]{3})$#', $FilesSortie[$i], $matches);
+	$FileFolder = $matches[1].'/'; // dossier de sortie
+	$FileName = $matches[2].'.jpg'; // nom final
+	$FileExt = $matches[3]; // extension orginale
+		
+	// Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail'
+	if (!file_exists($FileFolder.'pwg_high') AND $CONF['DIRhighORNOT']) {
+		mkdir($FileFolder.'pwg_high', 0777, true);
+	}
+	if (!file_exists($FileFolder.'thumbnail')) {
+		mkdir($FileFolder.'thumbnail', 0777, true);
+	}
+	
+	// Informations sur le fichier
+	exec('include\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
+	for ($m=0; $m<=5; $m++) {
+		unset($FileInfos[$m]);
+	}
+	foreach ($FileInfos as $key) {
+		$a = explode(':', $key);
+		$FileInfos[trim($a[0])] = trim($a[1]);
+	}
+		
+	// Plugins pendant l'execution
+	foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+		if ($plugin_config['mode'] == 'Process' AND $plugin_config['active']) {
+			include('plugins/'.$plugin_id.'/main.php');
+		}
+	}
+	
+	// Compresse les fichiers dans le dossier de sortie
+	if (!isset($BlockNormal)) { 
+		exec('include\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+	}
+	if (!isset($BlockThumbnail)) { 
+		exec('include\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
+	}
+	if (!isset($BlockHigh) AND $CONF['DIRhighORNOT']) {
+		if ($CONF['DIMhdORNOT']) {
+			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
+		} else if (!in_array($FileExt, $CONF['JPGexts'])) {
+			exec('include\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/'.$FileName.'" "'.$FilesSource[$i].'"');
+		} else {
+			copy($FilesSource[$i], $FileFolder.'pwg_high/'.$FileName);
+		}
+	}
+	
+	// Réinitialise les bloqueurs
+	unset($FileInfos);
+	unset($BlockNormal);
+	unset($BlockThumbnail);
+	unset($BlockHigh);
+}
+
+
+### Supprime les dossiers vides et copie les fichiers index.php ###
+$DirsSortie = array();
+recursive_readdir($CONF['DIRsortie'], 'DirsSortie', true);
+
+foreach($DirsSortie as $dir) {
+	if (is_dir_empty($dir)) {
+		rmdir($dir);
+	} else if ($CONF['indexORNOT']) {
+		copy('includes/index.php', $dir.'/index.php');
+	}
+}
+
+unset($DirsSortie);
+
+
+### Plugins après execution ###
+foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+	if ($plugin_config['mode'] == 'After' AND $plugin_config['active']) {
+		include('plugins/'.$plugin_id.'/main.php');
+	}
+}
+?>
Index: extensions/PHP_Optimisateur/include/nconvert_doc/Formats.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/Formats.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/Formats.txt	(revision 9201)
@@ -0,0 +1,509 @@
+------------------------------------------
+NConvert v5.75
+XnView v1.97
+GFL SDK v2.90
+
+Copyright (c) 1991-2010 Pierre-E Gougelet
+All Rights Reserved.
+
+E-Mail: webmaster@xnview.com
+WWW:    http://www.xnview.com
+------------------------------------------
+
+
+Supported formats                                 Extension                 Remarks
+======================================================================================================
+
+[max]      3DS Max thumbnail                        max 
+[bpr]      AAA logo                                 bpr 
+[ace]      ACE texture                              ace 
+[adex]     ADEX                                     img rle 
+[aim]      AIM Grey Scale                           ima im 
+[arf]      ARF                                      arf 
+[att]      AT&T Group 4                             att 
+[sst]      AVHRR Image                              sst 
+[awd]      AWD                                      awd                             Windows only, Plugin required
+[apx]      Ability Photopaint Image                 apx 
+[acc]      Access                                   g4 acc 
+[aces]     Aces200                                  ace 
+[acorn]    Acorn Sprite                             acorn 
+[adt]      AdTech perfectfax                        adt 
+[ai]       Adobe Illustrator                        ai 
+[aphp]     Adobe PhotoParade (images)               php 
+[psd]      Adobe Photoshop                          psd 
+[ocp]      Advanced Art Studio                      ocp art pic 
+[anv]      AirNav                                   anv 
+[frm2]     Album bébé                               frm 
+[alias]    Alias Image File                         pix als alias 
+[abmp]     Alpha Microsystems BMP                   bmp 
+[2d]       Amapi                                    2d 
+[ami]      Amica Paint                              ami [b] 
+[iff]      Amiga IFF                                iff blk 
+[info]     Amiga icon                               info 
+[cpc]      Amstrad Cpc Screen                       cpc 
+[atk]      Andrew Toolkit raster object             atk 
+[hdru]     Apollo HDRU                              hdru hdr gn 
+[arcib]    ArcInfo Binary                           hdr 
+[artdir]   Art Director                             art 
+[art]      Artisan                                  art 
+[a64]      Artist 64                                a64 
+[arn]      Astronomical Research Network            arn 
+[pcp]      Atari grafik                             pcp 
+[aurora]   Aurora                                   sim 
+[afx]      Auto F/X                                 afx 
+[dwg]      AutoCAD DWG                              dwg                             Windows only, Third Party Plugin required (http://www.cadsofttools.com)
+[dxf]      AutoCAD DXF                              dxf                             Windows only, Third Party Plugin required (http://www.cadsofttools.com)
+[cadc]     Autocad CAD-Camera                       img 
+[fli]      Autodesk Animator                        fli flc 
+[qcad]     Autodesk QuickCAD thumbnail              cad 
+[skf]      Autodesk SKETCH thumbnail                skf 
+[skp]      Autodesk SketchUp component              skp 
+[gm]       Autologic                                gm gm2 gm4 
+[epa]      Award Bios Logo                          epa 
+[ssp]      Axialis Screensaver (images)             ssp 
+[b3d]      B3D (images)                             b3d 
+[bfli]     BFLI                                     bfl bfli fli flp afl 
+[bias]     BIAS FringeProcessor                     msk img raw flt 
+[bmf]      BMF                                      bmf	                            Windows only, Plugin required
+[kap]      BSB/KAP                                  kap 
+[byusir]   BYU SIR                                  sir 
+[bmg]      Bert's Coloring                          bmg ibg 
+[bfx]      Bfx Bitware                              bfx 
+[biorad]   Bio-Rad confocal                         pic 
+[pi]       Blazing Paddles                          pi 
+[bob]      Bob Raytracer                            bob 
+[bdr]      Brender                                  pix 
+[brk]      Brooktrout 301                           brk 301 brt 
+[uni]      Brother Fax                              uni 
+[til]      Buttonz & Tilez texture                  til 
+[cals]     CALS Raster                              cal cals gp4 mil 
+[cdu]      CDU Paint                                cdu 
+[cgm]      CGM                                      cgm                             Windows only, Third Party Plugin required (http://www.cadsofttools.com)
+[dsi]      CImage                                   dsi 
+[cmu]      CMU Window Manager                       cmu 
+[cp8]      CP8 256 Gray Scale                       cp8 
+[crg]      Calamus                                  cpi crg 
+[cr2]      Canon EOS-1D Mark II RAW                 cr2 
+[can]      Canon Navigator Fax                      can 
+[crw]      Canon PowerShot                          crw 
+[mbig]     Cartes Michelin                          big 
+[cam]      Casio QV-10/100 Camera                   cam 
+[cmt]      Chinon ES-1000 digital camera            cmt 
+[cip]      Cisco IP Phone                           cip 
+[cloe]     Cloe Ray-Tracer                          clo cloe 
+[rix]      ColoRIX                                  rix sci scx sc? 
+[wlm]      CompW                                    wlm                             Windows only, Plugin required
+[gif]      CompuServe GIF                           gif giff 
+[ce]       Computer Eyes, Digital Vision            ce 
+[ce1]      ComputerEyes Raw                         ce1 ce2 
+[icd]      Core IDC                                 idc 
+[cdr]      Corel Draw Bitmap (preview)              cdr 
+[cpat]     Corel Draw Pattern (preview)             pat 
+[cbmf]     Corel Flow (preview)                     bmf 
+[cmx]      Corel Metafile Exchange (preview)        cmx 
+[cpt]      Corel PhotoPaint 6.0                     cpt 
+[cncd]     CoverDesigner (images)                   ncd 
+[cnct]     CoverDesigner Template (images)          nct 
+[cart]     Crayola                                  art 
+[dbw]      DBW Render                               
+[map]      DIV Game Studio Map                      map 
+[fpg]      DIV Game Studio Multi Map                fpg 
+[dkb]      DKB Ray-Tracer                           dis 
+[dpx]      DPX                                      dpx 
+[dali]     Dali Raw                                 sd0 sd1 sd2 
+[dcpy]     Datacopy                                 img 
+[degas]    Degas & Degas Elite                      pi1 pc1 pi2 pc2 pi3 pc3 pi4 pi5 pi6 
+[lbm]      Deluxe Paint, Electronic Arts            lbm ilbm 
+[dicom]    Dicom                                    dcm acr dic dicom dc3 
+[tdim]     Digital F/X                              tdim 
+[gem]      Digital Research (GEM Paint)             img gem 
+[dds]      Direct Draw Surface                      dds 
+[dcmp]     Discorp CMP Image                        cmp 
+[djvu]     DjVu                                     djvu djv iw4                    Windows only, Plugin required
+[dol]      DolphinEd                                dol 
+[doodle]   Doodle Atari                             doo 
+[dd]       Doodle C64                               dd 
+[jj]       Doodle C64 (Compressed)                  jj 
+[cut]      Dr Halo                                  cut 
+[drz]      Draz Paint                               drz 
+[fsh]      EA Sports FSH                            fsh 
+[epi]      EPS Interchange Format                   epi ept                         Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
+[eri]      ERI-chan (Entis Rasterized Image)        eri                             Windows only, Plugin required
+[esmp]     ESM Software Pix                         pix 
+[ecc]      Ecchi                                    ecc 
+[tile]     Eclipse                                  tile 
+[c4]       Edmics                                   c4 
+[trup]     Egg Paint                                trp 
+[eidi]     Electric Image                           ei eidi 
+[bmc]      Embroidery                               bmc 
+[eps]      Encapsulated Postscript                  ps eps 
+[epsp]     Encapsulated Postscript(Preview)         eps 
+[esm]      Enhance Simplex                          esm 
+[ecw]      Enhanced Compressed Wavelet              ecw                             Windows only, Plugin required
+[eif]      Eroiica                                  eif 
+[efx]      Everex Everfax                           efx ef3 
+[tdi]      Explore (TDI) & Maya                     iff tdi 
+[fif]      FIF (Iterated System)                    fif                             Windows only, Plugin required
+[fit]      FIT                                      fit 
+[fpt]      Face Painter                             fpt 
+[pwc]      Fast Piecewise-constant                  pwc                             Windows only, Plugin required
+[fax]      Fax Group 3                              g3 fax 
+[fmf]      Fax man                                  fmf 
+[fcx]      Faxable PCX                              fcx 
+[ftf]      Faxable TIFF                             ftf 
+[fmap]     Fenix Map                                map 
+[ffpg]     Fenix Multi Map                          fpg 
+[fmag]     FileMagic                                mag 
+[fi]       Flash Image                              fi 
+[ncy]      FlashCam Frame                           ncy 
+[ncy]      FlashCam frame                           ncy 
+[fpx]      FlashPix Format                          fpx                             Windows only, Plugin required
+[fits]     Flexible Image Transport System          fts fits fit 
+[bsg]      Fontasy Grafik                           bsg 
+[f96]      Fremont Fax96                            f96 
+[fx3]      Fugawi Map                               fx3 
+[raf]      Fuji S2 RAW                              raf 
+[fp2]      Fun Painter II                           fp2 fun 
+[fpr]      Fun Photor                               fpr 
+[fbm]      Fuzzy bitmap                             fbm cbm 
+[g16]      GRS16                                    g16 
+[gmf]      Gamma Fax                                gmf 
+[geo]      GeoPaint                                 geo 
+[gfaray]   Gfa Raytrace                             sul 
+[gih]      GigaPaint Hi-res                         gih 
+[gig]      GigaPaint Multi                          gig 
+[xcf]      Gimp Bitmap                              xcf 
+[gbr]      Gimp Brush                               gbr 
+[gicon]    Gimp Icon                                ico 
+[gpat]     Gimp Pattern                             pat 
+[god]      GoDot                                    4bt 4bit clp 
+[gun]      GunPaint                                 gun ifl 
+[hdri]     HDRI                                     hdr hdri 
+[hf]       HF                                       hf 
+[grob]     HP-48/49 GROB                            gro grb 
+[of]       HP-49 OpenFire                           gro2 gro4 
+[hpgl]     HPGL-2                                   hp hpg hgl plt hpgl prn prt spl Windows only, Third Party Plugin required (http://www.cadsofttools.com)
+[hru]      HRU                                      hru 
+[hsi]      HSI Raw                                  raw 
+[mdl]      Half-Life Model                          mdl 
+[jtf]      Hayes JTFax                              jtf 
+[hpi]      Hemera Photo Image                       hpi 
+[hta]      Hemera Thumbs                            hta 
+[m8]       Heretic II MipMap                        m8 
+[hed]      Hi-Eddi                                  hed 
+[hir]      Hires C64                                hir hbm 
+[lif]      Homeworld Texture                        lif 
+[kps]      IBM Kips                                 kps 
+[pseg]     IBM Printer Page Segment                 pse 
+[im5]      IM5 (Visilog)                            im5 
+[imt]      IMNET Image                              imt 
+[ioca]     IOCA                                     ica ioca mod 
+[iss]      ISS                                      iss 
+[icl]      Icon Library                             icl 
+[icb]      Image Capture Board                      icb 
+[miff]     Image Magick file                        mif miff 
+[ish]      Image Speeder                            ish 
+[cish]     Image System (Hires)                     ish 
+[cism]     Image System (Multicolor)                ism 
+[rlc2]     Image Systems RLC2 Graphic               rlc 
+[ilab]     ImageLab                                 b&w b_w 
+[g3n]      Imaging Fax                              g3n 
+[imgt]     Imaging Technology                       img 
+[img]      Img Software Set                         img 
+[iim]      Inshape                                  iim 
+[ciph]     InterPaint (Hires)                       iph 
+[cipt]     InterPaint (Multicolor)                  ipt 
+[ingr]     Intergraph Format                        itg cit rle 
+[iimg]     Interleaf                                iimg 
+[ct]       Iris CT                                  ct 
+[iris]     Iris Graphics                            iris 
+[wic]      J Wavelet Image Codec                    wic                             Windows only, Plugin required
+[jbig]     JBIG                                     jbg bie jbig                    Windows only, Plugin required
+[jb2]      JBIG-2                                   jb2                             Windows only, Plugin required
+[*]        JFIF based file                          
+[jpeg]     JPEG / JFIF                              jpg jpeg jif jfif J jpe 
+[mjpg]     JPEG 8BIM header (Mac)                   jpg jpeg jif jfif J jpe			Windows only, Plugin required
+[jpc]      JPEG-2000 Code Stream                    jpc                             Windows only, Plugin required
+[jp2]      JPEG-2000 JP2 File Format                jp2 j2k jpx jpf                 Windows only, Plugin required
+[jls]      JPEG-LS                                  jls                             Windows only, Plugin required
+[jif]      Jeff's Image Format                      jif 
+[jig]      Jigsaw                                   jig 
+[vi]       Jovian VI                                vi 
+[jng]      Jpeg Network Graphics                    jng                             Windows only, Plugin required
+[btn]      JustButtons animated bitmap              btn 
+[kntr]     KONTRON                                  img 
+[viff]     Khoros Visualization Image file          vif viff xv 
+[kskn]     KinuPix Skin                             thb 
+[cel]      Kiss Cel                                 cel 
+[koa]      Koala Paint                              koa 
+[gg]       Koala Paint (Compressed)                 gg 
+[cin]      Kodak Cineon                             cin 
+[kdc]      Kodak DC120 Digital Camera               kdc 
+[k25]      Kodak DC25 Camera                        k25 
+[pcd]      Kodak Photo CD                           pcd 
+[dcr]      Kodak Pro Digital RAW                    dcr 
+[kfx]      Kofax Group 4                            kfx 
+[kqp]      Konica Camera File                       kqp 
+[lss]      LSS16                                    lss 16 
+[lvp]      LView Pro                                lvp 
+[lda]      LaserData                                lda 
+[lwi]      Light Work Image                         lwi 
+[lff]      LucasFilm Format                         lff 
+[lcel]     Lumena CEL                               cel 
+[ldf]      LuraDocument Format                      ldf                             Windows only, Plugin required
+[ldfjpm]   LuraDocument.jpm Format                  jpm                             Windows only, Plugin required
+[lwf]      LuraWave Format                          lwf                             Windows only, Plugin required
+[lwfjpc]   LuraWave JPEG-2000 Code Stream           jpc                             Windows only, Plugin required
+[lwfjp2]   LuraWave JPEG-2000 Format                jp2 j2k jpx jpf                 Windows only, Plugin required
+[mag]      MAKIchan Graphics                        mag 
+[pzp]      MGI Photosuite Project (images)          pzp 
+[mgr]      MGR bitmap                               mgr 
+[mtv]      MTV Ray-Tracer                           mtv 
+[mac]      Mac Paint                                mac mpnt macp pntg pnt paint 
+[icns]     Mac icon                                 icns 
+[pict]     Macintosh Quickdraw/Pict                 pic pict pict2 pct 
+[fff]      Maggi Hairstyles & Cosmetics             fff 
+[pd]       Male MRI                                 pd t1 t2 
+[fre]      Male Normal CT                           fre 
+[mrf]      Marks Russel File                        mrf 
+[411]      Mavica                                   411 
+[mtx]      Maw-Ware Textures                        mtx 
+[pdx]      Mayura Draw                              pdx 
+[bld]      MegaPaint                                bld 
+[mfrm]     Megalux Frame                            frm 
+[pbt]      Micro Dynamics MARS                      pbt 
+[mil]      Micro Illustrator Uncompressed           mil 
+[pp4]      Micrografx Picture Publisher 4.0         pp4 
+[pp5]      Micrografx Picture Publisher 5.0         pp5 
+[mic]      Microsoft Image Composer                 mic 
+[msp]      Microsoft Paint                          msp 
+[eyes]     Microtek Eyestar                         img 
+[ipg]      Mindjongg Format                         ipg 
+[mrw]      Minolta DiMAGE RAW                       mrw 
+[mkcf]     MonkeyCard                               pdb 
+[mklg]     MonkeyLogo                               pdb 
+[mph]      MonkeyPhoto                              mph 
+[sid]      MrSid                                    sid                             Windows only, Plugin required
+[msx2]     Msx 2 Screen                             sc2 
+[mng]      Multiple Network Graphics                mng 
+[mng2]     Multiple Network Graphics                mng 
+[ncr]      NCR Image                                ncr 
+[nist]     NIST ihdr                                pct 
+[nitf]     National Imagery Transmission F.         nitf 
+[car]      NeoBook Cartoon                          car 
+[neo]      Neochrome (ST & TT)                      neo 
+[npm]      Neopaint Mask                            npm 
+[stw]      Neopaint Stamp                           stw 
+[nsr]      NewsRoom                                 nsr ph bn 
+[nef]      Nikon RAW                                nef mos 
+[ngg]      Nokia Group Graphics                     ngg 
+[nlm]      Nokia Logo File                          nlm 
+[otb]      Nokia OTA bitmap                         otb 
+[nol]      Nokia Operator Logo                      nol 
+[oaz]      OAZ Fax                                  oaz xfx 
+[os2]      OS/2 Bitmap                              bmp bga 
+[ofx]      Olicom Fax                               ofx 
+[orf]      Olympus RAW                              orf 
+[oil]      Open Image Library Format                oil 
+[exr]      OpenEXR                                  exr 
+[cft]      Optigraphics                             ctf 
+[ttf]      Optigraphics Tiled                       ttf 
+[abs]      Optocat                                  abs 
+[ohir]     Oric Hires                               hir 
+[otap]     Oric TAP                                 tap 
+[bga]      Os/2 Warp                                bga 
+[pabx]     PABX background                          pix 
+[pax]      PAX                                      pax 
+[pic]      PC Paint / Pictor Page                   pic clp 
+[b16]      PCO                                      b16 
+[pm]       PM                                       pm 
+[pcl]      Page Control Language                    pcl 
+[pmg]      Paint Magic                              pmg 
+[jbf]      PaintShopPro Browser Cache File          jbf 
+[pspb]     PaintShopPro Brush                       pspbrush 
+[pspf]     PaintShopPro Frame                       pfr pspframe 
+[psp]      PaintShopPro Image                       psp pspimage 
+[pspm]     PaintShopPro Mask                        pspmask 
+[pmsk]     PaintShopPro Mask                        msk 
+[pspp]     PaintShopPro Pattern                     pat 
+[tub]      PaintShopPro Picture Tube                tub psptube 
+[pspt]     PaintShopPro Texture                     tex 
+[palm]     Palm Pilot                               pdb 
+[srf]      Panasonic DMC-LC1 RAW                    srf 
+[pegs]     Pegs                                     pxs pxa 
+[pef]      Pentax *ist D                            pef 
+[pfs]      Pfs Art Publisher                        art 
+[pdd]      Photo Deluxe                             pdd pdb 
+[fsy]      PhotoFantasy Image                       fsy 
+[frm]      PhotoFrame                               frm 
+[psf]      PhotoStudio File                         psf 
+[stm]      PhotoStudio Stamp                        stm 
+[cat]      Photomatrix                              cat 
+[p2]       Pic2                                     p2                              Windows only, Plugin required
+[p64]      Picasso 64                               p64 
+[prc]      Picture Gear Pocket                      prc 
+[mix]      Picture It!                              mix 
+[pxr]      Pixar picture file                       pic pxr picio pixar 
+[pixp]     Pixel Power Collage                      ib7 i17 i18 if9 
+[pxa]      Pixia                                    pxa 
+[pixi]     Pixibox                                  pxb 
+[pds]      Planetary Data System                    pds img 
+[bms]      Playback Bitmap Sequence                 bms 
+[2bp]      Pocket PC Bitmap                         2bp 
+[tsk]      Pocket PC Themes (images)                tsk 
+[prf]      Polychrome Recursive Format              prf 
+[pbm]      Portable Bitmap                          pbm rpbm ppma 
+[pdf]      Portable Document Format                 pdf                             Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
+[pgm]      Portable Greyscale                       pgm rpgm 
+[pnm]      Portable Image                           pnm rpnm pbm rpbm pgm rpgm ppm rppm 
+[png]      Portable Network Graphics                png 
+[ppm]      Portable Pixmap                          ppm rppm 
+[pgf]      Portfolio Graphics                       pgf 
+[pgc]      Portfolio Graphics Compressed            pgc 
+[cvp]      Portrait                                 cvp 
+[bum]      Poser Bump                               bum 
+[ps]       Postscript                               ps ps1 ps2 ps3 eps prn          Ghostscript needed, available on http://www.cs.wisc.edu/~ghost/
+[crd]      PowerCard maker                          crd 
+[pps]      PowerPoint (images)                      pps 
+[ppt]      PowerPoint Presentation (images)         ppt 
+[pm]       Print Master                             pm 
+[psa]      Print Shop                               psa psb 
+[prx]      Printfox/Pagefox                         bs pg gb 
+[cpa]      Prism                                    cpa 
+[prisms]   Prisms                                   pri 
+[psion3]   Psion Series 3 Bitmap                    pic 
+[psion5]   Psion Series 5 Bitmap                    mbm 
+[ppp]      Punk Productions Picture                 ppp 
+[pzl]      Puzzle                                   pzl 
+[q0]       Q0                                       q0 rgb 
+[qdv]      Qdv (Random Dot Software)                qdv 
+[qrt]      Qrt Ray-Tracer                           qrt 
+[wal]      Quake Texture                            wal 
+[vpb]      Quantel VPB                              vpb 
+[qtif]     QuickTime Image Format                   qtif qti 
+[ript]     RIPTerm Image                            icn 
+[rad]      Radiance                                 rad img pic 
+[rp]       Rainbow Painter                          rp 
+[raw]      Raw                                      raw gry grey 
+[ray]      Rayshade                                 pic 
+[rsb]      Red Storm File Format                    rsb 
+[j6i]      Ricoh Digital Camera                     j6i 
+[rfax]     Ricoh Fax                                001 ric 
+[pig]      Ricoh IS30                               pig 
+[xyz]      Rm2K XYZ                                 xyz 
+[rpm]      RunPaint (Multicolor)                    rpm 
+[st4]      SBIG CCD camera ST-4                     st4 
+[stx]      SBIG CCD camera ST-X                     stx st4 st5 st6 st7 st8 
+[spot]     SPOT                                     dat 
+[svg]      SVG                                      svg                             Windows only, Third Party Plugin required (http://www.cadsofttools.com)
+[sar]      Saracen Paint                            sar 
+[sci]      SciFax                                   sci 
+[sct]      SciTex Continuous Tone                   sct ct ch 
+[sfw]      Seattle Film Works                       sfw 
+[pwp]      Seattle Film Works multi-image           pwp sfw 
+[xp0]      SecretPhotos puzzle                      xp0 
+[sj1]      Sega SJ-1 DIGIO                          sj1 
+[gpb]      Sharp GPB                                img 
+[bmx]      Siemens Mobile                           bmx 
+[x3f]      Sigma RAW                                x3f 
+[sgi]      Silicon Graphics RGB                     rgb rgba bw iris sgi 
+[skn]      Skantek                                  skn 
+[hrz]      Slow Scan Television                     hrz 
+[sdt]      SmartDraw 6 template                     sdt 
+[sfax]     SmartFax                                 001 
+[pan]      SmoothMove Pan Viewer                    pan 
+[soft]     Softimage                                pic si 
+[sir]      Solitaire Image Recorder                 sir 
+[pmp]      Sony DSC-F1 Cyber-shot                   pmp 
+[srf2]     Sony DSC-F828 RAW                        srf 
+[tim2]     Sony PS2 TIM                             tm2 
+[tim]      Sony Playstation TIM                     tim 
+[spu]      Spectrum 512                             spu 
+[spc]      Spectrum 512 (Compressed)                spc 
+[sps]      Spectrum 512 (Smooshed)                  sps 
+[ssi]      SriSun                                   ssi 
+[stad]     Stad                                     pic pac seq 
+[sdg]      Star Office Gallery                      sdg 
+[star]     Starbase                                 img 
+[avs]      Stardent AVS X                           x avs mbfs mbfavs 
+[aip]      Starlight Xpress SX 500x291 RAW          
+[jps]      Stereo Image                             jps 
+[sff]      Structured Fax Format                    sff                             Windows only, Plugin required
+[icon]     Sun Icon/Cursor                          icon cursor ico pr 
+[ras]      Sun Rasterfile                           ras rast sun sr scr rs 
+[taac]     Sun TAAC file                            iff vff suniff taac 
+[syj]      Syberia texture                          syj 
+[synu]     Synthetic Universe                       syn synu 
+[tg4]      TG4                                      tg4 
+[ti]       TI Bitmap                                92i 73i 82i 83i 85i 86i 89i 
+[tiff]     TIFF Revision 6                          tif tim tiff 
+[imi]      TMSat image                              imi 
+[hr]       TRS 80                                   hr 
+[teal]     TealPaint                                pdb 
+[mh]       Teli Fax                                 mh 
+[tnl]      Thumbnail                                tnl 
+[tjp]      TilePic                                  tjp 
+[tiny]     Tiny                                     tny tn1 tn2 tn3 
+[d3d]      TopDesign Thumbnail                      b3d b2d 
+[gaf]      Total Annihilation                       gaf 
+[tga]      Truevision Targa                         tga targa pix bpx ivb 
+[upst]     Ulead Pattern                            pst 
+[upi]      Ulead PhotoImpact                        upi 
+[upe4]     Ulead Texture (images)                   pe4 
+[face]     Usenix FaceServer                        fac face 
+[rle]      Utah raster image                        rle urt 
+[v]        VIPS Image                               v 
+[vit]      VITec                                    vit 
+[wrl]      VRML2                                    wrl 
+[vfx]      Venta Fax                                vfx 
+[vif]      Verity                                   vif 
+[vicar]    Vicar                                    vic vicar img 
+[vid]      Vidcom 64                                vid 
+[vda]      Video Display Adapter                    vda 
+[vista]    Vista                                    vst 
+[vivid]    Vivid Ray-Tracer                         img 
+[vort]     Vort                                     pix 
+[vob]      Vue d'esprit                             vob 
+[wad]      WAD (Half life)                          wad 
+[iwc]      WaveL                                    iwc                             Windows only, Plugin required
+[rla]      Wavefront Raster file                    rla rlb rpf 
+[wbc]      WebShots (images)                        wb1 wbc wbp wbz 
+[jig2]     Weekly Puzzle                            jig 
+[ypc]      Whypic                                   ypc                             Windows only, Plugin required
+[fxs]      WinFAX                                   fxs fxo wfx fxr fxd fxm 
+[winm]     WinMIPS                                  pic 
+[wmf]      Windows & Aldus Metafile                 wmf                             Windows only
+[ani]      Windows Animated Cursor                  ani 
+[bmp]      Windows Bitmap                           bmp rle vga rl4 rl8 sys 
+[clp]      Windows Clipboard                        clp 
+[cur]      Windows Cursor                           cur 
+[dib]      Windows DIB                              dib 
+[emf]      Windows Enhanced Metafile                emf                             Windows only
+[ico]      Windows Icon                             ico 
+[wzl]      Winzle Puzzle                            wzl 
+[wbmp]     Wireless Bitmap (level 0)                wbmp wbm wap 
+[wpg]      Word Perfect Graphics (images)           wpg 
+[wfx]      Worldport Fax                            wfx 
+[xwd]      X Windows System dump                    xwd x11 
+[xbm]      X11 Bitmap                               xbm bm 
+[xpm]      X11 Pixmap                               xpm pm 
+[p7]       XV Visual Schnauzer                      p7 
+[xar]      Xara (images)                            xar 
+[xif]      Xerox DIFF                               xif 
+[xim]      Ximage                                   xim 
+[smp]      Xionics SMP                              smp 
+[uyvy]     YUV 16Bits                               yuv qtl uyvy 
+[uyvyi]    YUV 16Bits Interleaved                   yuv qtl uyvy 
+[yuv411]   YUV 4:1:1                                yuv qtl 
+[yuv422]   YUV 4:2:2                                yuv qtl 
+[yuv444]   YUV 4:4:4                                yuv qtl 
+[zxhob]    ZX Spectrum Hobetta                      $s $c !s 
+[zxsna]    ZX Spectrum Snapshot                     sna 
+[zxscr]    ZX Spectrum standard screen              scr 
+[zzrough]  ZZ Rough                                 rgh 
+[dta]      Zeiss BIVAS                              dta 
+[zmf]      Zoner Callisto Metafile (preview)        zmf 
+[zbr]      Zoner Zebra Metafile (preview)           zbr 
+[dcx]      Zsoft Multi-page Paintbrush              dcx 
+[pcx]      Zsoft Publisher's Paintbrush             pcx pcc dcx 
+[bif]      byLight                                  bif 
Index: extensions/PHP_Optimisateur/include/nconvert_doc/Help.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/Help.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/Help.txt	(revision 9201)
@@ -0,0 +1,772 @@
+** NCONVERT v5.75 (c) 1991-2010 Pierre-E Gougelet (Sep  7 2010/11:49:02) **
+        Version for Windows Xp/Vista/7 x64  (All rights reserved)
+** This is a freeware software (for non commercial use)
+
+The JPEG code is based in part on the work of the Independent JPEG Group's software.
+The PNG code is based in part on the work of the Group 42, Inc.
+This software is based in part on compression library of Jean-loup Gailly and Mark Adler
+
+Usage : nconvert [options] file ...
+
+        Options :
+          -quiet            : Quiet mode
+          -info             : Display informations only
+          -fullinfo         : Display informations & metadata only
+          -v[.]             : Verbose
+          -in format        : Input format number or -1
+          -page num         : Page/image number
+          -xall             : Extract all images
+          -multi            : Create a multi-page (TIFF/DCX/LDF only)
+          -npcd num         : PCD 0:192x128, 1:384x256, 2:768x512 (default)
+          -ngrb npic        : HP-48 number of grey : 1, 2 or 4 (default : 1)
+          -no#              : # not used for numeric operator
+          -org_depth        : Load with original depth
+          -clipboard        : Import from clipboard
+          -overwrite        : Overwrite existing file
+          -no_auto_ext      : Don't add extension to output filename
+          -ctype type       : Channel Type (Raw)
+              grey  : Greyscale (default)
+              rgb   : Red,Green,Blue
+              bgr   : Blue,Green,Red
+              rgba  : Red,Green,Blue,Alpha
+              abgr  : Alpha,Blue,Green,Red
+              cmy   : Cyan,Magenta,Yellow
+              cmyk  : Cyan,Magenta,Yellow,Black
+          -corder order     : Channel Order (Raw)
+              inter : Interleaved (default)
+              seq   : Sequential 
+              sep   : Separate
+          -size geometry    : Width and height (Raw/YUV)
+                Geometry is widthxheight+offset
+          -l file : Use file as filelist
+          -n start end step : Begin End Step (for image sequence)
+          -o filename       : Output filename
+              Use # to specify position of numeric enumerator
+              Use % to specify source filename
+              Use $ to specify full source pathname
+              Use $$ to specify source folder name
+          -out format       : Output format name
+          -D                : Delete original picture
+          -c value          : Compression number (default : 0)
+              PDF    : 1 (Fax), 2 (Rle), 3 (LZW), 4(ZIP), 5 (JPEG)
+              TIFF   : 1 (Rle), 2 (LZW), 3 (LZW+Prediction)
+                       4 (ZLIB)
+                       5 (CCITT G3), 6 (CCITT G3-2D), 7 (CCITT G4) only B/W
+                       8 (JPEG) only 24/32 bits
+              TARGA, Softimage, SGI, PCX, IFF, BMP : 1 (Rle)
+          -q value          : JPEG/PNG/FPX/WIC/PDF quality (default : 100)
+          -clevel value     : PNG Compression level (default : 6)
+          -i                : Interlaced GIF / Progressive JPEG
+          -icc              : Use ICC Profile
+          -keep_icc         : Keep ICC Profile from original file
+          -icc_in filename  : Input color profile
+          -icc_out filename : Output color profile
+          -icc_intent value : Intent value
+          -icc_bcp          : Black point compensation
+          -icc_ie           : Ignore embedded ICC profile
+          -add_alpha value  : Add alpha channel (24bits)
+          -merge_alpha      : Merge alpha by using 'transparent color' (32bits)
+          -transparent value: Transparency index (GIF/PNG)
+          -transpcolor red green blue: Transparency color (GIF/PNG)
+          -opthuff          : Optimize Huffman Table (JPEG)
+          -dct value         : DCT method
+              0  : Slow
+              1  : Fast
+              2  : Float
+          -smoothingf value  : Smoothing factor (0-10)
+          -subsampling value : Subsampling factor
+              0  : 2x2,1x1,1x1
+              1  : 2x1,1x1,1x1
+              2  : 1x1,1x1,1x1
+          -comp_ratio value: Compress ratio (JPEG2K)
+          -max_filesize value: Maximum filesize (JPEG2K)
+          -bgcolor red green blue: Background color (for rotate/canvas)
+          -dpi res_dpi      : Set the resolution in DPI
+          -keepdocsize      : Resize bitmap function of the old and new DPI value
+          -keepfiledate     : Keep original file data/time
+          -keepcspace       : Keep original color space if possible
+          -cmyk_space       : Convert if possible in CMYK space
+          -jpegtrans op     : JPEG lossless transformations
+              rot90  : Rotate 90 degrees
+              rot180 : Rotate 180 degrees
+              rot270 : Rotate 270 degrees
+              exif   : Use orientation EXIF tag
+              vflip  : Flip vertical
+              hflip  : Flip horizontal
+          -jpegcrop x y w h : JPEG lossless crop
+          -clean value  : JPEG Clean Metadata (EXIF/IPTC/...)
+              1      : Comment
+              2      : EXIF
+              4      : XMP
+              8      : EXIF thumbnail
+              16     : IPTC
+              32     : ICC Profile
+              64     : Other markers
+          -rmeta  : Remove Metadata (EXIF/IPTC/...)
+          -rexifthumb  : Remove EXIF thumbnail
+          -buildexifthumb  : Try to rebuild EXIF thumbnail
+          -thumb width height : Extract thumbnail
+          -use_cie   : Use CIE Colors (PS/EPS/PDF ghostscript)
+          -wflag flag       : Write flag
+              os2    : Write OS/2 bmp
+              gif87  : Write GIF87a
+              hp49   : Write HP49
+          -high_res             : Load high resolution (Camera RAW)
+          -ascii                : Ascii (PPM)
+          -one_strip            : One strip (TIFF)
+          -gam value            : Gamma (EXR, HDRI), default=1.0
+          -raw_autobalance      : Auto balance (Camera RAW)
+          -raw_camerabalance    : Camera balance (Camera RAW)
+          -raw_autobright       : Auto brightness (Camera RAW)
+          -raw_gamma value      : Gamma (Camera RAW), default=0.6
+          -raw_brightness value : Brighness (Camera RAW), default=0.8
+          -raw_redscale value   : Red scaling (Camera RAW)
+          -raw_bluescale value  : Blue scaling (Camera RAW)
+          -ilut file        : Input LUT file (DPX/Cineon)
+          -olut file        : Output LUT file (DPX/Cineon)
+          -wmfile file      : Watermark file
+          -wmpos x y        : Watermark position
+          -wmflag flag      : Watermark position
+              top-left, top-center, top-right
+              center-left, center, center-right
+              bottom-left, bottom-center, bottom-right
+          -wmopacity value  : Watermark opacity (0-100)
+
+        Process :
+          -32bits           : Convert in 32bits
+          -average size     : Average (3,5,7,9,11,13)
+          -autocrop tol r g b : Auto Crop
+          -autocontrast     : Auto Contrast
+          -autolevels       : Auto Levels
+          -balance r g b    : Color balance
+          -binary dither    : Convert in Binary
+              pattern : Ordered pattern
+              floyd   : Floyd steinberg
+              halft45 : Halftone 45
+              halft90 : Halftone 90
+              nodither : No dithering
+          -blur percent     : Blur (1...100)
+          -brightness value : Modify brightness (-100...100)
+          -canvas w h pos   : Resize canvas
+              w h can be percent (ex: -resize 100% 200%)
+              or #x #y for offset
+              pos top-left, top-center, top-right
+                  center-left, center, center-right
+                  bottom-left, bottom-center, bottom-right
+          -conbright value  : Modify brightness (-100...100)
+          -colours num
+          -colors num       : Convert in Indexed Colors (256, 216, 128, 64, 32, 16 or 8)
+          -contrast value   : Modify contrast (-100...100)
+          -crop x y w h     : Crop
+          -dither           : Use Bayer dithering for conversion (Colors and Grey only)
+          -deinter k n      : De-interlace
+              k : even or odd
+              n : dup or int
+          -edetail          : Enhance detail
+          -eedge percent    : Enhance edges (1...100)
+          -edgedetect type  : Edge detect
+              light/medium/heavy
+          -efocus           : Enhance focus
+          -emboss           : Emboss 
+          -embossmore       : Emboss more
+          -equalize         : Equalize
+          -floyd            : Use floydSteinberg dithering for conversion (Colors and Grey only)
+          -frestore         : Focus restoration
+          -gamma value      : Modify gamma (0.01<->5.0
+          -gammasat value   : Modify gamma (0.01<->5.0
+          -gauss size       : Blur gaussian (3,5,7,9,11,13)
+          -grey num         : Convert in Grey Scale (256, 128, 64, 32, 16, 8 or 4)
+          -hls h l s        : Adjust Hue Lightness Saturation
+          -lens percent     : Lens (1...100)
+          -levels b w       : Levels
+          -log              : Apply logarithmic correction
+          -maximum size     : Maximum filter (3,5,7,9,11,13)
+          -medianb size     : Median Box filter (3,5,7,9,11,13)
+          -medianc size     : Median Cross filter (3,5,7,9,11,13)
+          -minimum size     : Minimum filter (3,5,7,9,11,13)
+          -mosaic size      : Mosaic (1...64)
+          -negate           : Negate
+          -new bpp w h      : Create new bitmap
+          -noise reduce     : Reduce noise
+          -noise type value 
+              uniform   : Add uniform noise
+              gaussian  : Add gaussian noise
+              laplacian : Add laplacian noise
+              poisson   : Add poisson noise
+          -normalize        : Normalize
+          -oil size         : Oilify (1...16)
+          -posterize count  : Posterize (2...256)
+          -ratio            : Keep the ratio for scaling
+          -rtype            : Type of resampling
+              quick    : Quick resize
+              linear   : Bi-linear (linear)
+              hermite  : Hermite
+              gaussian : Gaussian
+              bell     : Bell
+              bspline  : Bspline
+              mitchell : Mitchell
+              lanczos  : Lanczos 3
+          -rflag            : Flag for resizing
+              incr   : Increase only
+              decr   : Decrease only
+              orient : Follow orientation
+          -resize w h      : Scale width-height
+              w h can be percent (ex: -resize 100% 200%)
+          -rotate_flag      : Rotate flags
+              smooth : Use smooth rotate
+          -rotate degrees   : Rotate
+          -sepia percent    : Sepia
+          -sharpen percent  : Sharpen (1...100)
+          -shear            : Shear
+          -slice            : Slice
+          -soften percent   : Soften (1...100)
+          -solarize value   : Solarize (1...255)
+          -spread amount    : Spread (1...32)
+          -swap type        : Swap component
+              rbg   : RGB->RBG
+              bgr   : RGB->BGR
+              brg   : RGB->BRG
+              grb   : RGB->GRB
+              gbr   : RGB->GBR
+          -swirl degrees    : Swirl (1...360)
+          -text string      : Add a text
+          -text_font name size  : Font name and size
+          -text_color r g b : Text color
+          -text_back r g b  : Text background color
+          -text_flag pos    : Position of text
+              top-left, top-center, top-right
+              center-left, center, center-right
+              bottom-left, bottom-center, bottom-right
+          -text_pos x y     : Position or offset
+          -text_rotation degrees : Rotation
+          -tile size        : Tile (1...64)
+          -truecolors
+          -truecolours      : Convert in True Colors
+          -xflip            : Flip horizontal
+          -yflip            : Flip vertical
+          -waves wavelength phase amount : Waves
+              wavelength   : (1.0 50.0)
+              phase        : (0.0 360.0)
+              amount       : (0.0 100.0)
+
+        Available format:
+               Name     Write  Description
+                -1            : Automatic (Only for input)
+               [*       ]     : JFIF based file 
+               [2bp     ]     : Pocket PC Bitmap 
+               [2d      ]     : Amapi 
+               [3fr     ]     : Hasselblad RAW 
+               [411     ]     : Mavica 
+               [a64     ]     : Artist 64 
+               [abmp    ]     : Alpha Microsystems BMP 
+               [abr     ]     : PS Brush 
+               [abs     ]     : Optocat 
+               [acc     ]     : Access 
+               [ace     ]     : ACE texture 
+               [aces    ]     : Aces200 
+               [acorn   ]     : Acorn Sprite 
+               [adex    ]     : ADEX 
+               [adt     ]     : AdTech perfectfax 
+               [afx     ]     : Auto F/X 
+               [ai      ]     : Adobe Illustrator 
+               [aim     ]     : AIM Grey Scale 
+               [aip     ]     : Starlight Xpress SX 500x291 RAW 
+               [aipd    ]     : AIPD image 
+               [alias   ]  *  : Alias Image File 
+               [ami     ]     : Amica Paint 
+               [ani     ]     : Windows Animated Cursor 
+               [anv     ]     : AirNav 
+               [aphp    ]     : Adobe PhotoParade (images) 
+               [apx     ]     : Ability Photopaint Image 
+               [arcib   ]  *  : ArcInfo Binary 
+               [arf     ]     : ARF 
+               [arn     ]     : Astronomical Research Network 
+               [art     ]     : Artisan 
+               [artdir  ]     : Art Director 
+               [atk     ]     : Andrew Toolkit raster object 
+               [att     ]     : AT&T Group 4 
+               [aurora  ]     : Aurora 
+               [avs     ]     : Stardent AVS X 
+               [avw     ]     : Analyze 
+               [az7     ]     : Analyze-7 
+               [b16     ]     : PCO 
+               [b3d     ]     : B3D (images) 
+               [bdr     ]     : Brender 
+               [bfli    ]     : BFLI 
+               [bfx     ]     : Bfx Bitware 
+               [bga     ]     : Os/2 Warp 
+               [bias    ]     : BIAS FringeProcessor 
+               [bif     ]     : byLight 
+               [biorad  ]  *  : Bio-Rad confocal 
+               [bld     ]     : MegaPaint 
+               [blp     ]     : BLP textures 
+               [bmc     ]     : Embroidery 
+               [bmg     ]     : Bert's Coloring 
+               [bmp     ]  *  : Windows Bitmap 
+               [bms     ]     : Playback Bitmap Sequence 
+               [bmx     ]     : Siemens Mobile 
+               [bob     ]     : Bob Raytracer 
+               [bpr     ]     : AAA logo 
+               [brk     ]     : Brooktrout 301 
+               [bsg     ]     : Fontasy Grafik 
+               [btn     ]     : JustButtons animated bitmap 
+               [bum     ]     : Poser Bump 
+               [byusir  ]     : BYU SIR 
+               [c4      ]     : Edmics 
+               [cadc    ]     : Autocad CAD-Camera 
+               [cals    ]     : CALS Raster 
+               [cam     ]     : Casio QV-10/100 Camera 
+               [can     ]     : Canon Navigator Fax 
+               [car     ]     : NeoBook Cartoon 
+               [cart    ]     : Crayola 
+               [cat     ]     : Photomatrix 
+               [cbmf    ]     : Corel Flow (preview) 
+               [cdr     ]     : Corel Draw Bitmap (preview) 
+               [cdu     ]     : CDU Paint 
+               [ce      ]     : Computer Eyes, Digital Vision 
+               [ce1     ]     : ComputerEyes Raw 
+               [cel     ]     : Kiss Cel 
+               [cft     ]     : Optigraphics 
+               [cgm     ]     : CGM 
+               [che     ]     : Cheese 
+               [cin     ]  *  : Kodak Cineon 
+               [cip     ]     : Cisco IP Phone 
+               [ciph    ]     : InterPaint (Hires) 
+               [cipt    ]     : InterPaint (Multicolor) 
+               [cish    ]     : Image System (Hires) 
+               [cism    ]     : Image System (Multicolor) 
+               [cloe    ]     : Cloe Ray-Tracer 
+               [clp     ]     : Windows Clipboard 
+               [cmt     ]     : Chinon ES-1000 digital camera 
+               [cmu     ]     : CMU Window Manager 
+               [cmx     ]     : Corel Metafile Exchange (preview) 
+               [cncd    ]     : CoverDesigner (images) 
+               [cnct    ]     : CoverDesigner Template (images) 
+               [cp8     ]     : CP8 256 Gray Scale 
+               [cpa     ]     : Prism 
+               [cpat    ]     : Corel Draw Pattern (preview) 
+               [cpc     ]     : Amstrad Cpc Screen 
+               [cpt     ]     : Corel PhotoPaint 6.0 
+               [cr2     ]     : Canon EOS-1D Mark II RAW 
+               [craw    ]     : Camera RAW 
+               [crd     ]     : PowerCard maker 
+               [crg     ]     : Calamus 
+               [crw     ]     : Canon PowerShot 
+               [csv     ]  *  : CSV 
+               [ct      ]     : Iris CT 
+               [cur     ]     : Windows Cursor 
+               [cut     ]     : Dr Halo 
+               [cvp     ]     : Portrait 
+               [cwg     ]     : CreateWithGarfield 
+               [d3d     ]     : TopDesign Thumbnail 
+               [dali    ]     : Dali Raw 
+               [dbw     ]     : DBW Render 
+               [dcmp    ]     : Discorp CMP Image 
+               [dcpy    ]     : Datacopy 
+               [dcr     ]     : Kodak Pro Digital RAW 
+               [dcx     ]  *  : Zsoft Multi-page Paintbrush 
+               [dd      ]     : Doodle C64 
+               [dds     ]  *  : Direct Draw Surface 
+               [degas   ]  *  : Degas & Degas Elite 
+               [dib     ]     : Windows DIB 
+               [dicom   ]     : Dicom 
+               [dkb     ]  *  : DKB Ray-Tracer 
+               [dng     ]     : DNG 
+               [dol     ]     : DolphinEd 
+               [doodle  ]     : Doodle Atari 
+               [dpx     ]  *  : DPX 
+               [drz     ]     : Draz Paint 
+               [dsi     ]     : CImage 
+               [dta     ]     : Zeiss BIVAS 
+               [dwg     ]     : AutoCAD DWG 
+               [ecc     ]     : Ecchi 
+               [efx     ]     : Everex Everfax 
+               [eidi    ]     : Electric Image 
+               [eif     ]     : Eroiica 
+               [emf     ]  *  : Windows Enhanced Metafile 
+               [emz     ]     : Windows Comp. Enhanced Metafile 
+               [epa     ]     : Award Bios Logo 
+               [epi     ]     : EPS Interchange Format 
+               [eps     ]     : Encapsulated Postscript 
+               [epsp    ]     : Encapsulated Postscript(Preview) 
+               [erf     ]     : Epson RAW 
+               [esm     ]     : Enhance Simplex 
+               [esmp    ]     : ESM Software Pix 
+               [eyes    ]     : Microtek Eyestar 
+               [f96     ]     : Fremont Fax96 
+               [face    ]     : Usenix FaceServer 
+               [fax     ]     : Fax Group 3 
+               [fbm     ]     : Fuzzy bitmap 
+               [fcx     ]     : Faxable PCX 
+               [fff     ]     : Maggi Hairstyles & Cosmetics 
+               [fff     ]     : Imacon/Hasselblad RAW 
+               [ffpg    ]     : Fenix Multi Map 
+               [fgs     ]     : Fun Graphics Machine Hires 
+               [fi      ]     : Flash Image 
+               [fit     ]     : FIT 
+               [fits    ]  *  : Flexible Image Transport System 
+               [fli     ]     : Autodesk Animator 
+               [fmag    ]     : FileMagic 
+               [fmap    ]     : Fenix Map 
+               [fmf     ]     : Fax man 
+               [fp2     ]     : Fun Painter II 
+               [fpg     ]     : DIV Game Studio Multi Map 
+               [fpr     ]     : Fun Photor 
+               [fpt     ]     : Face Painter 
+               [fre     ]     : Male Normal CT 
+               [frm     ]     : PhotoFrame 
+               [frm2    ]     : Album bébé 
+               [fsh     ]     : EA Sports FSH 
+               [fsy     ]     : PhotoFantasy Image 
+               [ftf     ]     : Faxable TIFF 
+               [fx3     ]     : Fugawi Map 
+               [fxs     ]     : WinFAX 
+               [g16     ]     : GRS16 
+               [g3n     ]     : Imaging Fax 
+               [gaf     ]     : Total Annihilation 
+               [gbr     ]     : Gimp Brush 
+               [gcd     ]     : Gigacad (Hires) 
+               [gem     ]     : Digital Research (GEM Paint) 
+               [geo     ]     : GeoPaint 
+               [gfaray  ]     : Gfa Raytrace 
+               [gg      ]     : Koala Paint (Compressed) 
+               [gicon   ]     : Gimp Icon 
+               [gif     ]  *  : CompuServe GIF 
+               [gig     ]     : GigaPaint Multi 
+               [gih     ]     : GigaPaint Hi-res 
+               [gm      ]     : Autologic 
+               [gmf     ]     : Gamma Fax 
+               [god     ]     : GoDot 
+               [gpat    ]  *  : Gimp Pattern 
+               [gpb     ]     : Sharp GPB 
+               [grob    ]  *  : HP-48/49 GROB 
+               [gun     ]     : GunPaint 
+               [hdri    ]     : HDRI 
+               [hdru    ]     : Apollo HDRU 
+               [hed     ]     : Hi-Eddi 
+               [hf      ]     : HF 
+               [hir     ]     : Hires C64 
+               [hpgl    ]     : HPGL-2 
+               [hpi     ]     : Hemera Photo Image 
+               [hr      ]     : TRS 80 
+               [hru     ]  *  : HRU 
+               [hrz     ]     : Slow Scan Television 
+               [hsi     ]     : HSI Raw 
+               [hta     ]     : Hemera Thumbs 
+               [icb     ]     : Image Capture Board 
+               [icd     ]     : Core IDC 
+               [icl     ]     : Icon Library 
+               [icn     ]     : AT&T multigen 
+               [icns    ]     : Mac icon 
+               [ico     ]  *  : Windows Icon 
+               [icon    ]     : Sun Icon/Cursor 
+               [iff     ]  *  : Amiga IFF 
+               [iim     ]     : Inshape 
+               [iimg    ]     : Interleaf 
+               [ilab    ]     : ImageLab 
+               [im5     ]     : IM5 (Visilog) 
+               [img     ]     : Img Software Set 
+               [imgt    ]     : Imaging Technology 
+               [imi     ]     : TMSat image 
+               [imt     ]     : IMNET Image 
+               [info    ]     : Amiga icon 
+               [ingr    ]     : Intergraph Format 
+               [ioca    ]     : IOCA 
+               [ipg     ]     : Mindjongg Format 
+               [ipl     ]     : IPLab 
+               [ipl2    ]     : IPLab 
+               [ipseq   ]     : ImagePro Sequence 
+               [iris    ]     : Iris Graphics 
+               [ish     ]     : Image Speeder 
+               [iss     ]     : ISS 
+               [j6i     ]     : Ricoh Digital Camera 
+               [jbf     ]     : PaintShopPro Browser Cache File 
+               [jbr     ]     : PaintShopPro Brush 
+               [jif     ]  *  : Jeff's Image Format 
+               [jig     ]     : Jigsaw 
+               [jig2    ]     : Weekly Puzzle 
+               [jj      ]     : Doodle C64 (Compressed) 
+               [jpeg    ]  *  : JPEG / JFIF 
+               [jps     ]     : Stereo Image 
+               [jtf     ]     : Hayes JTFax 
+               [jxr     ]     : JPEG XR 
+               [k25     ]     : Kodak DC25 Camera 
+               [kdc     ]     : Kodak DC120 Digital Camera 
+               [kdc2    ]     : Kodak DC120 Digital Camera 
+               [kfx     ]     : Kofax Group 4 
+               [kntr    ]     : KONTRON 
+               [koa     ]     : Koala Paint 
+               [kps     ]     : IBM Kips 
+               [kqp     ]     : Konica Camera File 
+               [kro     ]  *  : Kolor Raw Format 
+               [kskn    ]     : KinuPix Skin 
+               [lbm     ]     : Deluxe Paint, Electronic Arts 
+               [lcel    ]     : Lumena CEL 
+               [lda     ]     : LaserData 
+               [lff     ]     : LucasFilm Format 
+               [lif     ]     : Homeworld Texture 
+               [lsm     ]     : Zeiss LSM 
+               [lss     ]     : LSS16 
+               [lvp     ]     : LView Pro 
+               [lwi     ]     : Light Work Image 
+               [m8      ]     : Heretic II MipMap 
+               [mac     ]     : Mac Paint 
+               [mag     ]     : MAKIchan Graphics 
+               [map     ]     : DIV Game Studio Map 
+               [mbig    ]     : Cartes Michelin 
+               [mdl     ]     : Half-Life Model 
+               [mef     ]     : Mamiya RAW 
+               [mfrm    ]     : Megalux Frame 
+               [mgr     ]     : MGR bitmap 
+               [mh      ]     : Teli Fax 
+               [miff    ]  *  : Image Magick file 
+               [mil     ]     : Micro Illustrator Uncompressed 
+               [mjpg    ]     : JPEG 8BIM header (Mac) 
+               [mkcf    ]     : MonkeyCard 
+               [mklg    ]     : MonkeyLogo 
+               [mng     ]     : Multiple Network Graphics 
+               [mon     ]     : Mono Magic 
+               [mos     ]     : Leaf RAW 
+               [mph     ]     : MonkeyPhoto 
+               [mpo     ]     : Multiple Picture 
+               [mrc     ]     : MRC (Medical Research Council) 
+               [mrf     ]     : Marks Russel File 
+               [mrw     ]     : Minolta DiMAGE RAW 
+               [msp     ]     : Microsoft Paint 
+               [msx2    ]     : Msx 2 Screen 
+               [mtv     ]  *  : MTV Ray-Tracer 
+               [mtx     ]     : Maw-Ware Textures 
+               [ncr     ]     : NCR Image 
+               [ncy     ]     : FlashCam Frame 
+               [ncy     ]     : FlashCam frame 
+               [nef     ]     : Nikon RAW 
+               [neo     ]     : Neochrome (ST & TT) 
+               [ngg     ]  *  : Nokia Group Graphics 
+               [nifti   ]     : Nifti 
+               [nist    ]     : NIST ihdr 
+               [nitf    ]     : National Imagery Transmission F. 
+               [nlm     ]  *  : Nokia Logo File 
+               [nol     ]  *  : Nokia Operator Logo 
+               [npm     ]     : Neopaint Mask 
+               [nrw     ]     : Nikon RAW 
+               [nsr     ]     : NewsRoom 
+               [oaz     ]     : OAZ Fax 
+               [ocp     ]     : Advanced Art Studio 
+               [of      ]     : HP-49 OpenFire 
+               [ofx     ]     : Olicom Fax 
+               [ohir    ]     : Oric Hires 
+               [oil     ]     : Open Image Library Format 
+               [ols     ]     : Olympus Scan 
+               [orf     ]     : Olympus RAW 
+               [os2     ]     : OS/2 Bitmap 
+               [otap    ]     : Oric TAP 
+               [otb     ]  *  : Nokia OTA bitmap 
+               [p64     ]     : Picasso 64 
+               [p7      ]     : XV Visual Schnauzer 
+               [pabx    ]  *  : PABX background 
+               [palm    ]  *  : Palm Pilot 
+               [pan     ]     : SmoothMove Pan Viewer 
+               [pbm     ]  *  : Portable Bitmap 
+               [pbt     ]     : Micro Dynamics MARS 
+               [pcd     ]     : Kodak Photo CD 
+               [pcl     ]  *  : Page Control Language 
+               [pcp     ]     : Atari grafik 
+               [pcx     ]  *  : Zsoft Publisher's Paintbrush 
+               [pd      ]     : Male MRI 
+               [pdd     ]     : Photo Deluxe 
+               [pdf     ]  *  : Portable Document Format 
+               [pds     ]     : Planetary Data System 
+               [pdx     ]     : Mayura Draw 
+               [pef     ]     : Pentax *ist D 
+               [pegs    ]     : Pegs 
+               [pfi     ]     : Photo Filtre Studio 
+               [pfm     ]     : PFM graphic 
+               [pfs     ]     : Pfs Art Publisher 
+               [pgc     ]     : Portfolio Graphics Compressed 
+               [pgf     ]     : Portfolio Graphics 
+               [pgm     ]  *  : Portable Greyscale 
+               [pi      ]     : Blazing Paddles 
+               [pic     ]     : PC Paint / Pictor Page 
+               [pict    ]     : Macintosh Quickdraw/Pict 
+               [pig     ]     : Ricoh IS30 
+               [pixi    ]     : Pixibox 
+               [pixp    ]     : Pixel Power Collage 
+               [pld     ]     : PhotoLine (preview) 
+               [pm      ]     : PM 
+               [pm      ]     : Print Master 
+               [pmg     ]     : Paint Magic 
+               [pmp     ]     : Sony DSC-F1 Cyber-shot 
+               [pmsk    ]     : PaintShopPro Mask 
+               [png     ]  *  : Portable Network Graphics 
+               [pnm     ]  *  : Portable Image 
+               [pp4     ]     : Micrografx Picture Publisher 4.0 
+               [pp5     ]     : Micrografx Picture Publisher 5.0 
+               [ppm     ]  *  : Portable Pixmap 
+               [ppp     ]     : Punk Productions Picture 
+               [pps     ]     : PowerPoint (images) 
+               [ppt     ]     : PowerPoint Presentation (images) 
+               [prc     ]  *  : Picture Gear Pocket 
+               [prf     ]     : Polychrome Recursive Format 
+               [prisms  ]     : Prisms 
+               [prx     ]     : Printfox/Pagefox 
+               [ps      ]  *  : Postscript 
+               [psa     ]     : Print Shop 
+               [psd     ]  *  : Adobe Photoshop 
+               [pseg    ]     : IBM Printer Page Segment 
+               [psf     ]     : PhotoStudio File 
+               [psion3  ]  *  : Psion Series 3 Bitmap 
+               [psion5  ]  *  : Psion Series 5 Bitmap 
+               [psp     ]     : PaintShopPro Image 
+               [pspb    ]     : PaintShopPro Brush 
+               [pspf    ]     : PaintShopPro Frame 
+               [pspm    ]     : PaintShopPro Mask 
+               [pspp    ]     : PaintShopPro Pattern 
+               [pspt    ]     : PaintShopPro Texture 
+               [ptg     ]     : Artrage 
+               [pwp     ]     : Seattle Film Works multi-image 
+               [pxa     ]     : Pixia 
+               [pxr     ]     : Pixar picture file 
+               [pzl     ]     : Puzzle 
+               [pzp     ]     : MGI Photosuite Project (images) 
+               [q0      ]     : Q0 
+               [qcad    ]     : Autodesk QuickCAD thumbnail 
+               [qdv     ]     : Qdv (Random Dot Software) 
+               [qrt     ]  *  : Qrt Ray-Tracer 
+               [qtif    ]     : QuickTime Image Format 
+               [rad     ]  *  : Radiance 
+               [raf     ]     : Fuji S2 RAW 
+               [ras     ]     : Sun Rasterfile 
+               [raw     ]     : RAW DVR 
+               [raw     ]  *  : Raw 
+               [raw1    ]     : Sinar RAW 
+               [raw2    ]     : AVT RAW 
+               [raw3    ]     : Casio RAW 
+               [raw4    ]     : Contax RAW 
+               [raw5    ]     : Creative PC-CAM RAW 
+               [raw6    ]     : Foculus RAW 
+               [raw7    ]     : Leica RAW 
+               [raw8    ]     : Micron RAW 
+               [raw9    ]     : Panasonic RAW 
+               [rawa    ]     : RoverShot RAW 
+               [rawb    ]     : ST Micro RAW 
+               [rawe    ]  *  : Raw 
+               [ray     ]  *  : Rayshade 
+               [rdc     ]     : Rollei RAW 
+               [rfa     ]     : Mobile FAX 
+               [rfax    ]     : Ricoh Fax 
+               [ript    ]     : RIPTerm Image 
+               [rix     ]     : ColoRIX 
+               [rla     ]  *  : Wavefront Raster file 
+               [rlc2    ]     : Image Systems RLC2 Graphic 
+               [rle     ]     : Utah raster image 
+               [rp      ]     : Rainbow Painter 
+               [rpm     ]     : RunPaint (Multicolor) 
+               [rsb     ]     : Red Storm File Format 
+               [rw2     ]     : Panasonic LX3 RAW 
+               [rwl     ]     : Leica RAW 
+               [sar     ]     : Saracen Paint 
+               [sci     ]     : SciFax 
+               [sct     ]  *  : SciTex Continuous Tone 
+               [sdg     ]     : Star Office Gallery 
+               [sdt     ]     : SmartDraw 6 template 
+               [sfax    ]     : SmartFax 
+               [sfw     ]     : Seattle Film Works 
+               [sgi     ]  *  : Silicon Graphics RGB 
+               [sif     ]     : SIF MICHEL-Soft 
+               [sir     ]     : Solitaire Image Recorder 
+               [sj1     ]     : Sega SJ-1 DIGIO 
+               [skf     ]     : Autodesk SKETCH thumbnail 
+               [skn     ]     : Skantek 
+               [skp     ]     : Autodesk SketchUp component 
+               [smp     ]     : Xionics SMP 
+               [soft    ]  *  : Softimage 
+               [spc     ]     : Spectrum 512 (Compressed) 
+               [spot    ]     : SPOT 
+               [sps     ]     : Spectrum 512 (Smooshed) 
+               [spu     ]     : Spectrum 512 
+               [sr2     ]     : Sony RAW 
+               [srf     ]     : Panasonic DMC-LC1 RAW 
+               [srf2    ]     : Sony DSC-F828 RAW 
+               [ssi     ]     : SriSun 
+               [ssp     ]     : Axialis Screensaver (images) 
+               [sst     ]     : AVHRR Image 
+               [st4     ]     : SBIG CCD camera ST-4 
+               [stad    ]     : Stad 
+               [star    ]     : Starbase 
+               [stm     ]     : PhotoStudio Stamp 
+               [stw     ]     : Neopaint Stamp 
+               [stx     ]     : SBIG CCD camera ST-X 
+               [svg     ]     : SVG 
+               [syj     ]     : Syberia texture 
+               [synu    ]     : Synthetic Universe 
+               [taac    ]     : Sun TAAC file 
+               [tdi     ]  *  : Explore (TDI) & Maya 
+               [tdim    ]     : Digital F/X 
+               [teal    ]     : TealPaint 
+               [tg4     ]     : TG4 
+               [tga     ]  *  : Truevision Targa 
+               [thmb    ]     : IPod thumb 
+               [ti      ]  *  : TI Bitmap 
+               [tiff    ]  *  : TIFF Revision 6 
+               [til     ]     : Buttonz & Tilez texture 
+               [tile    ]     : Eclipse 
+               [tim     ]     : Sony Playstation TIM 
+               [tim2    ]     : Sony PS2 TIM 
+               [tiny    ]     : Tiny 
+               [tjp     ]     : TilePic 
+               [tnl     ]     : Thumbnail 
+               [trup    ]     : Egg Paint 
+               [tsk     ]     : Pocket PC Themes (images) 
+               [ttf     ]     : Optigraphics Tiled 
+               [tub     ]     : PaintShopPro Picture Tube 
+               [txc     ]     : PS2 TXC 
+               [uni     ]     : Brother Fax 
+               [upe4    ]     : Ulead Texture (images) 
+               [upi     ]     : Ulead PhotoImpact 
+               [upst    ]     : Ulead Pattern 
+               [uyvy    ]  *  : YUV 16Bits 
+               [uyvyi   ]  *  : YUV 16Bits Interleaved 
+               [v       ]     : VIPS Image 
+               [vda     ]     : Video Display Adapter 
+               [vfx     ]     : Venta Fax 
+               [vi      ]     : Jovian VI 
+               [vicar   ]     : Vicar 
+               [vid     ]     : Vidcom 64 
+               [vif     ]     : Verity 
+               [viff    ]     : Khoros Visualization Image file 
+               [vista   ]  *  : Vista 
+               [vit     ]     : VITec 
+               [vivid   ]  *  : Vivid Ray-Tracer 
+               [vob     ]     : Vue d'esprit 
+               [vort    ]     : Vort 
+               [vpb     ]     : Quantel VPB 
+               [wad     ]     : WAD (Half life) 
+               [wal     ]     : Quake Texture 
+               [wbc     ]     : WebShots (images) 
+               [wbmp    ]  *  : Wireless Bitmap (level 0) 
+               [wfx     ]     : Worldport Fax 
+               [winm    ]     : WinMIPS 
+               [wmf     ]     : Windows & Aldus Metafile 
+               [wmz     ]     : Windows Compressed Metafile 
+               [wpg     ]     : Word Perfect Graphics (images) 
+               [wrl     ]  *  : VRML2 
+               [wzl     ]     : Winzle Puzzle 
+               [x3f     ]     : Sigma RAW 
+               [xar     ]     : Xara (images) 
+               [xbm     ]  *  : X11 Bitmap 
+               [xcf     ]     : Gimp Bitmap 
+               [xif     ]     : Xerox DIFF 
+               [xim     ]     : Ximage 
+               [xp0     ]     : SecretPhotos puzzle 
+               [xpm     ]  *  : X11 Pixmap 
+               [xwd     ]     : X Windows System dump 
+               [xyz     ]     : Rm2K XYZ 
+               [yuv411  ]     : YUV 4:1:1 
+               [yuv422  ]     : YUV 4:2:2 
+               [yuv444  ]     : YUV 4:4:4 
+               [zbr     ]     : Zoner Zebra Metafile (preview) 
+               [zmf     ]     : Zoner Callisto Metafile (preview) 
+               [zxhob   ]     : ZX Spectrum Hobetta 
+               [zxscr   ]     : ZX Spectrum standard screen 
+               [zxsna   ]     : ZX Spectrum Snapshot 
+               [zzrough ]     : ZZ Rough 
Index: extensions/PHP_Optimisateur/include/nconvert_doc/License.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/License.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/License.txt	(revision 9201)
@@ -0,0 +1,18 @@
+Please read the following terms and conditions before using this software. Use of this software indicates you accept the terms of this license agreement and warranty.
+
+1. Disclaimer of warranty
+
+XnView (or NConvert, XnView Shell Extension) is provided "as-is" and without warranty of any kind, express, implied or otherwise, including without limitation, any warranty of merchantability or fitness for a particular purpose. 
+
+In no event shall the author of this software be held liable for data loss, damages, loss of profits or any other kind of loss while using or misusing this software.
+
+The software must not be modified, you may not decompile, disassemble. 
+
+2. License
+
+XnView (or NConvert) is provided as freeware for private (non commercial), or educational use, including non-profit organization (i.e. schools, universities, public authorities, police, fire brigade, and hospitals). 
+
+In this case, you are granted the right to use and to make an unlimited number of copies of this software.
+
+
+Copyright (C) 1997-2008 Pierre-e Gougelet. All rights reserved.
Index: extensions/PHP_Optimisateur/include/nconvert_doc/Plugins.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/Plugins.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/Plugins.txt	(revision 9201)
@@ -0,0 +1,178 @@
+------------------------------------------
+Nconvert v5.75
+XnView v1.97
+GFL SDK v2.90
+
+Copyright (c) 1991-2010 Pierre-E Gougelet
+All Rights Reserved.
+
+E-Mail: webmaster@xnview.com
+WWW:    http://www.xnview.com
+------------------------------------------
+
+
+All Plugins must be in a directory called "Plugins" in the XnView directory !
+
+Informations about XnView Plugins (windows only) :
+==================================================
+
+  * Xawd.dll    : Allows to read AWD files
+
+  * Xbmf.dll + BMF_read.dll : Allows to read BMF files.
+
+  * Xdjvu.dll   : Allows to read to read AT&Ts DjVu format. 
+
+  * Xecw.dll + NCScnet.dll + NCSEcw.dll + NCSEcwC.dll + NCSUtil.dll : Allows 
+                to read ermapper format.
+
+  * Xeri.dll    : Allows to read ERIchan format.
+
+  * Xfif.dll + deco_32.dll : Allows to read Iterated Systems format.
+
+  * Xfpx.dll    : Allows to read/write FlashPix files.
+
+  * Xjbig.dll   : Allows to read/write "Joint Bi-level Image experts Group" format.
+
+  * Xsff.dll    : Allows to read Structured Fax files.
+
+  * Xwic.dll    : Allows to read/write J Wavelet Image Codec format.
+
+  * lwf.dll     : Allows to read/write Lurawave format. 
+                  Can only save images up to 4096x4096 pixels. 
+
+  * ldf.dll     : Allows to read LuraDocument format. 
+                  Can only save images up to 4096x4096 pixels and maximum of 6 pages. 
+
+  * lwf_jp2.dll : Allows to read/write JPEG-2000 JP2/JPC File Format
+                  Can only save images up to 4096x4096 pixels. 
+
+  * Xiwc.dll    : Allows to read/write WaveL format.
+
+  * Xjp2.dll    : Allows to read/write JPEG-2000 JP2 File Format 
+                  & JPEG-2000 Code Stream.
+  
+  * XMrSid.dll  : Allows to read MrSid format.
+
+  * Xwlm.dll    : Allows to read/write CompW format.
+
+  * Xjng.dll + libmng.dll : Allows to read JNG/MNG format.
+ 
+  * Xjpegls.dll : Allows to read JPEG lossless format.
+ 
+  * Xsusie.dll  : Allows to use Susie's plugins.
+ 
+  * Xpwc.dll    : Allows to read PWC (Fast Piecewise-constant) format.
+
+  * Xwhypic.dll : Allows to read YPC format. 
+
+  * Xp2.dll     : Allows to read Pic2 format. 
+ 
+  * ncc.dll     : Allows to show nCC (net.CynerCards) information from JPG, GIF 
+                  & PNG files. http://www.netcybercards.com
+
+  * mpeg.ll     : Allows to extract frame from MPEG1 files
+
+  * pcdlib32.dll : Allows to read high resolution of PCD files
+ 
+  * dc120.dll   : Allows to read kdc format. 
+
+  * cpa.dll     : Allows to read CPA Prism format.
+
+  * Xbsb.dll    : Allows to read BSB/KAP format. 
+
+  * ldf_jpm.dll : Allows to read/write LDF.jpm format. 
+
+  * CS_DXF.dll + CS_DWG.dll + CS_HPGL.dll + CS_CGM.dll + CS_SVG.dll : Allows to read DXF/DWG/HPGL/CGM/SVG format (shareware)
+    Use third party component from www.cadsofttools.com
+
+  * Xcompound.dll : Allows to read 3DSMax & Picture IT! thumbnail, and Microsoft Image Composer. 
+  
+  * Xpax.dll : Allows to read PAX format
+
+  * rwz_sdk.dll : Allows to rawzor compressed files
+
+  * Xwsq.dll : Allows to read WSQ files (Wavelet Scaler Quantization)
+
+  * VTFLib.dll : Allows to read VTF format
+
+
+
+About LuraWave, LuraDocument, LuraWave.jp2 & LuraDocument.jpm format:
+--------------------------------------------------------------------
+  All images compressed with XnView LuraWave PlugIn should only be used for private 
+    or evaluation purposes. Any other corporate or commercial use needs to licenced by LuraTech GmbH.
+
+  By compressing an image using the XnView LuraWave PlugIn, you accept this license agreement.
+
+  LuraTech Homepage : http://www.luratech.com
+
+
+JBIG reading/writing:
+--------------------
+  You need to purchase a license because JBIG is a patented format. 
+  More information is available on http://www.ibm.com and http://www.jpeg.org/
+
+
+Copyright:
+---------
+
+  ECW Compression - http://www.ermapper.com/
+    (c) Earth Resource Mapping Ltd
+
+  DjVu - http://www.djvu.att.com/open
+    (c) AT&T Corp
+       - http://www.lizardtech.com/ 
+    Copyright (c) 1999, LizardTech, Inc
+
+  J Wavelet Image Codec based on work of Sasha Chukov
+
+  BMF Dmitry Shkarin (C) 1999
+
+  CompW - http://www.paralelo.com.br
+    Copyright (C) 1998, Paralelo Computação Ltda. 
+
+  JasPer - http://www.ece.ubc.ca/~mdadams/jasper/
+    Copyright (c) 1999-2000, Image Power, Inc. and the University of British 
+Columbia, Canada.
+
+    Copyright (c) 2001 Michael David Adams.
+
+
+  IWC - http://www.wavelsoftware.com
+    Copyright 2001 WaveL Software
+
+  LIBMNG - http://www.libmng.com
+    Copyright (c) 2000,2001 Gerard Juyn
+
+  net.CyberCards - http://www.netcybercards.com
+    (c) Isomeris
+
+  PWC - 
+    Copyright Paul Ausbeck
+
+  Whypic - 
+    Copyright (c) Osamu YAMAJI
+
+  MrSid - http://www.lizardtech.com/
+    Copyright (c) 1999, LizardTech, Inc
+
+  DjVu - http://www.lizardtech.com/
+    Copyright (c) 1999, LizardTech, Inc
+
+  PCDlib32.dll - 
+  DC120.dll
+    (c) Eastman Kodak Company
+
+  cpa.dll -
+    (c) Prism
+
+  CS_DXF.dll + CS_DWG.dll + CS_HPGL.dll + CS_CGM.dll + CS_SVG.dll - http://www.cadsofttools.com
+    (c) Soft Gold
+
+  PAX - 
+    (C) 1999 Smaller Animals Software
+
+  Rawzor - http://www.rawzor.com/
+    (c) Sachin Garg
+
+
Index: extensions/PHP_Optimisateur/include/nconvert_doc/ReadMe.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/ReadMe.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/ReadMe.txt	(revision 9201)
@@ -0,0 +1,146 @@
+                             Nconvert v5.75
+                              XnView v1.97
+                              GFL SDK v2.90
+
+                   Copyright (c) 1991-2010 Pierre-E Gougelet
+                           All Rights Reserved.
+
+
+
+Disclaimer
+==========
+
+  Installing and using these software (Nview, Nconvert, View2, XnView) signifies acceptance of these terms and conditions of the license.
+
+
+  XnView/NConvert are provided as Freeware for private non-commercial or educational use, including non-profit organization (i.e. schools, universities, public authorities, police, fire brigade, and hospitals). 
+ 
+  For commercial use and distribution, it is necessary to register. It is a help for the development of future versions. 
+
+  You are granted the right to use and to make an unlimited number of copies of this software.
+
+
+  These software are provided "as-is". 
+  No warranty of any kind is expressed or implied. 
+  The author will not be liable for data loss, damages, loss of profits or any other kind of loss while using or misusing this software.
+  
+  Any suggestions, feedback and comments are welcome. 
+
+
+
+Homepage
+========
+
+E-Mail:         webmaster@xnview.com
+                contact@xnview.com
+
+Web site :      http://www.xnview.com
+                http://www.xnview.net
+                http://www.xnview.org
+
+NewsGroup :     http://newsgroup.xnview.com
+
+
+Platforms
+=========
+
+  ATARI ST, STe, Falcon, TT and compatible
+  PC x86 DOS
+  PC x86 Windows 3.1x, 95, 98, NT, Me, 2000 & Xp
+  PC x86 Linux v2.x (X Window & Lesstif/openMotif)
+  PC x86 FreeBSD v3.x (X Window & Lesstif/openMotif)
+  Silicon Graphics IRIX v5.2 and above
+  Sun Solaris v2.5.1 and above
+  Solaris x86 v8.0
+  HP-UX v11.0 and above
+  AIX v4.2 and above
+  BeOS v5.0 and above
+  MacOS X
+
+
+GIF/TIFF LZW reading/writing:
+-------------------
+  You need to purchase a license because LZW is a patented algorithm. 
+  More information is available on http://www.unisys.com
+
+JBIG reading/writing:
+-------------------
+  You need to purchase a license because JBIG is a patented format. 
+  More information is available on http://www.ibm.com and http://www.jpeg.org/
+
+Copyright:
+---------
+
+  Default toolbar mezich - http://mezich.livejournal.com
+    Icons are only for xnview
+
+  LibJPEG 6b - http://www.ijg.org
+    This software is copyright (C) 1991-1998, Thomas G. Lane. All Rights Reserved 
+
+  PNGLib 1.2.5 - http://www.libpng.org/pub/png/
+    Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. (libpng versions 0.5, May 1995, through 0.89c, May 1996)
+    Copyright (c) 1996, 1997 Andreas Dilger (libpng versions 0.90, December 1996, through 0.96, May 1997)
+    Copyright (c) 1998, 1999 Glenn Randers-Pehrson (libpng versions 0.97,January 1998, through 1.0.5, October 15, 1999)
+
+  Zlib 1.2.1 - http://www.gzip.org/zlib/
+    Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler 
+
+  JIF - http://jeff.cafe.net/jif/
+    (c) Jeff Tupper
+
+  RAW - http://www.cybercom.net/~dcoffin/dcraw/
+    (c) Dave Coffin
+
+Credits:
+--------
+
+  Solaris version : Tobias Oetiker
+  HP-UX version   : Philippe Choquert
+  AIX version     : Philippe Choquert
+
+  Translation:
+  ------------
+    Afrikaans     : Samuel Murray
+    Arabic        : Mohammad Deeb
+    Basque        : Axier Lopez
+    Bulgarian     : Denis Ivajlov
+    Byelorussian  : Alexander Gorbylev
+    Catalan       : Jesús Corrius
+    Chinese simplified  : Alexander Yang, Roy Yao
+    Chinese traditional : Frank Liu, Alexander Yang
+    Croatian      : Josip Sinkovic
+    Czech         : Petr Bohdan
+    Danish        : Allan Bergmann Jensen
+    Dutch         : Michiel Oosterhagen, Theo Eering
+    Estonian      : Ahti Kaskpeit
+    Finish        : Haukur Kristófer Bragason, Jouni Paulus
+    Galician      : Fernando Coello
+    German        : Axel C. Burgbacher, Helmut Mueller
+    Greek         : Symeon Charalabides
+    Hebrew        : Eitan Gilboa
+    Hungarian     : Jozsef Herczeg
+    Icelandic     : Svanur Pálsson
+    Italian       : Armando R. La Mura, Alexandro F.Proietti
+    Japanese      : Sato Kazuyuki, Adrian Ivana, Yong Wei, Motomatsu Nobuhiro
+    Korean        : Kim Wooyoung
+    Latvian       : Aldis Putelis, Aldis Priednieks
+    Lithuanian    : Linas Grinius
+    Malaysian     : Ooi Ghee Tiong
+    Norwegian     : Lasse Drageset, Lillian Solum
+    Polish        : Skiff, Lukasz Jakubowski, Sergiusz Klimkiewicz, Tomasz Fiszer
+    Portuguese    : António Eduardo Marques
+    Portuguese (Brazilian) : Paulo Neto
+    Romanian      : Ioan Russu
+    Russian       : Alexander Gorbylev, Igor Alikin
+    Serbian       : Nik Vukovljak
+    Slovak        : Peter Cipov, Lucas Sivak
+    Slovene       : Filip Komar, Grega Fajdiga
+    Spanish       : Jorge A. Montes Pérez
+    Swedish       : Olof Törnqvist, Mårten Mellberg
+    Thaï          : Thanachai Wachiraworakam
+    Turkish       : Ibrahim Kutluay
+    Ukrainian     : Taras Domansky
+    Uzbek         : Sherzod Mamatkulov
+    Vietnamese    : Ton, Quang Toai & Vo, Khanh Kim Van
+    Welsh         : Geraint Jones
+
Index: extensions/PHP_Optimisateur/include/nconvert_doc/Usage.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/Usage.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/Usage.txt	(revision 9201)
@@ -0,0 +1,188 @@
+                             Nconvert v5.75
+                              XnView v1.97
+
+                   Copyright (c) 1991-2010 Pierre-E Gougelet
+                           All Rights Reserved.
+
+
+
+NVIEW
+=====
+
+Nview is a multi-format image viewer. 
+
+  Type nview -help for available options. 
+
+
+About Nview for PC under DOS:
+-----------------------------
+
+  Nview is VESA compatible and works in 8,15,16 bits and truecolor mode.
+    The only mode available is 320x200x8 if your video card doesn't 
+    support Vesa mode. 
+  
+  For a complete description of the available modes on the display, type
+    nview -help (and use it with -d option's)
+  
+  For example with my Diamond S3 864, "nview -d3 back.gif" use the 640x480x15 display.
+  
+  With the -p<width>x<height>x<bits>, you take the best display that matches the arguments. 
+    (Example: nview -p640x480x24 back.gif)
+    -p0x0x0 choose the best display for the bitmap. 
+
+
+About Nview for X Window:
+--------------------------------------
+
+  Nview displays bitmaps on the default visual. You can use 
+    -visual id (id is the visual number seeing with nview -help).
+  
+  By default, Nview display the bitmap and wait for a mouse click or the Escape key. 
+    With the -w option, Nview create one window per bitmap. 
+
+  Nview works with pipe, in this case the input format must be specified: 
+    cat img.tga | nview -f2 stdin
+
+
+NCONVERT
+========
+
+Nconvert is the multi-format commandline image converter for Win32, DOS, OS/2, and other platforms.
+
+  Type "nconvert -help" for available options. 
+
+  Type "nconvert -help > nchelp.txt" to save the help text into the file "nchelp.txt". 
+
+  To convert files to a specific format, type for example :
+      nconvert -out 5 file1.pic file2.jpg file3.tga
+    or
+      nconvert -out tiff file1.pic file2.jpg file3.tga
+  
+  With a resize :
+      nconvert -out jpeg -ratio -resize 480 0 *.jpg
+      nconvert -out jpeg -resize 640 480 *.jpg
+  
+  The input format is not necessary, it will be autodetected. If a problem occurs, use the -in option. 
+  
+  Nconvert is able to transform images while converting:
+
+    * To convert GIF files to JPEG files : 
+        nconvert -out jpeg -truecolors *.gif
+    
+    * To convert JPEG files to GIF files : 
+        nconvert -out gif -dither -colors 256 *.jpeg
+    
+    * To resize :
+        nconvert -out png -resize 510 230 *.jpeg
+        nconvert -out png -ratio -resize 510 0 *.jpeg
+        nconvert -out png -ratio -resize 0 510 *.jpeg
+        nconvert -out png -resize 200% 200% *.jpeg
+    
+  You can use it with images sequences. 
+    For example, to convert the files file00.pic, file01.pic, ..., file10.pic and 
+      we convert to jpeg format with the name pattern res0.jpg, res1.jpg, ... type :
+        nconvert -out jpeg -n 1 10 1 -o res#.jpg file##.pic
+
+  You can use % to specify source filename in dest filename.
+    For example, nconvert -out jpeg -o result_%.jpg file.tga
+      creates a file named result_file.jpg
+
+    Note for windows users: in batch files you must write %% instead of %. To bypass this problem, you can use a nconvert script instead of a batch file.
+
+  You can control nconvert with a script, performing multiple sets of conversions on multiple sets of files, example:
+
+    ### -out png -rtype lanczos -resize 200% 150% 
+
+    screenshot1.bmp
+    screenshot2.bmp
+    screenshot3.bmp
+
+    ### -out gif -rtype lanczos -resize 500% 500% -oil 10 -colours 32
+
+    F:\icons\smile.bmp
+   
+    ### -out bmp -rtype lanczos -resize 30% 30% -oil 2 -rotate_flag smooth -rotate 45
+
+    selfportrait.png
+    mydog.png
+    
+    Save this into a text file, for example "nc.txt", and then run nconvert with this file as the only parameter: "nconvert nc.txt" .  
+
+Limitations: 
+
+  Add text feature uses the Win32 API and is avaiable on Win32 only.
+
+  Some exotical image formats use external DLL's and are available on Win32 only.
+
+  When using a script file, avoid multiple spaces in the conversion definitions, they confuse the parser.
+
+  Converting huge images, or scaling up to a huge size requires much memory and may not always work.     
+
+Notes for DOS users:
+
+  Since v4.90, nconvert is supported for DOS again. Is is a 32-bit DOS application, using the "DOS/32A Extender". 
+
+  Also the NVIEW picture viewer had a DOS version, but was discontinued in 2002 at version 3.87. It is available bundled with old nconvert 3.87. 
+
+
+XnView (Extended Nview)
+=======================
+
+About XnView for X Window:
+---------------------------
+
+  XnView requires OSF/Motif 1.2 or later. 
+  
+  Type xnview -help for available options. 
+  
+  XnView displays bitmaps on the default visual. You can specify 
+    an X visual id (in hexadecimal) with '-visualid id'.
+  
+  
+  Linux/FreeBSD/OpenBSD Version:
+  -----------------------------
+  
+    XnView requires Linux 2.0.x, XFree86-3.2 and Lesstif v0.91 or openMotif v2.1.30
+    
+    openMotif is available from the following URL's :
+
+      ftp://openmotif.opengroup.org/pub/openmotif/R2.1.30/binaries/metrolink/
+    
+    Lesstif is available from the following URL's
+
+	http://www.lesstif.org/products/lesstif/
+	ftp://ftp.lesstif.org/pub/hungry/lesstif/bindist
+
+
+About XnView for Windows (x86):
+-------------------------------
+
+  XnView for windows requires Windows 3.x with Win32s, or Windows 95/98/Me/NT/2000. 
+
+
+  Windows 3.1x users note:
+  -----------------------
+    You'll need the latest release of win32s for Microsoft Windows 3.1x 
+      and Windows for Workgroup 3.1x. 
+
+    If there is a file called 'win32s.ini' in the directory \windows\system, 
+      you already have win32s. This file contains the version information. 
+      If the version number is equal or greater than 1.30.172 (v1.30c), 
+      you don't have to reinstall win32s. 
+
+    Win32s v1.30c can be downloaded via 
+      ftp://ftp.rmc.edu/pub/windows16/win32s13.exe
+
+  
+About Unix version:
+------------------
+
+  You will need to set the 
+    * LD_LIBRARY_PATH (Irix, Linux, FreeBSD) 
+    * SHLIB_PATH (HP-UX)
+    * LIBPATH (AIX)
+    * LIBRARY_PATH (BeOS)
+    environment variable with the path where the libraries are. 
+
+  By default 'install' puts the libraries in /usr/local/lib. 
+
Index: extensions/PHP_Optimisateur/include/nconvert_doc/WhatsNew.txt
===================================================================
--- extensions/PHP_Optimisateur/include/nconvert_doc/WhatsNew.txt	(revision 9201)
+++ extensions/PHP_Optimisateur/include/nconvert_doc/WhatsNew.txt	(revision 9201)
@@ -0,0 +1,3485 @@
+                             Nconvert v5.75
+                              XnView v1.97.7
+
+                   Copyright (c) 1991-2010 Pierre-E Gougelet
+                           All Rights Reserved.
+
+
+
+XnView v1.97.7 (LIBFORMAT v5.75) 07/09/2010:
+
+   Added:
+     * BLP version 1 read support
+     * CopyClipboard=1 or 2 copy file object too
+     * Photoline read support - http://newsgroup.xnview.com/viewtopic.php?f=34&t=20525&p=86053
+     * ICC/XMP/IPTC/EXIF written in PSD format
+     * Apple PNG format - http://newsgroup.xnview.com/viewtopic.php?f=35&t=20592
+     * MPO format - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17403
+   Fixed:
+     * Resize doesn't release memory - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20237&p=85087
+     * "RGB" for Black&White picture - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20317
+     * Jedmics
+     * DDS
+     * TIFF - http://newsgroup.xnview.com/viewtopic.php?f=4&t=20314
+     * Lossless rotation - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19000
+     * File size - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20177
+     * BRender
+     * Doodle C64
+     * Print configuration - http://newsgroup.xnview.com/viewtopic.php?f=35&t=20375
+     * XnViewShellEx: open xnview - http://newsgroup.xnview.com/viewtopic.php?f=56&t=19431
+     * DICOM
+     * BLP - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20423
+     * JP2 + ICC - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20542
+     * Web - Problem with non-alphanumeric characters in URL
+     * MPEG4
+     * MTS - http://newsgroup.xnview.com/viewtopic.php?f=34&t=16495
+     * Exit User Comment in unicode - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20606
+     * Autocrop - http://newsgroup.xnview.com/viewtopic.php?f=36&t=16542
+     * Strip - http://newsgroup.xnview.com/viewtopic.php?f=35&t=20300
+     * TimeStamp - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20604
+     * UserFilter on 1bit picture - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20463
+     * Batch convert script - http://newsgroup.xnview.com/viewtopic.php?f=56&t=20636
+     * Batch rename & sort - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20524
+     * Batch rename & replace - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20506
+     * Batch rename & duplicate - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20014
+     * No check if no internet connection - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20378
+     * 'Save as' PDF - http://newsgroup.xnview.com/viewtopic.php?f=35&t=20326&p=85363
+     * GPS - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20391
+     * TIFF 16bits - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20725
+
+
+XnView v1.97.6 (LIBFORMAT v5.70) 17/06/2010:
+
+   Fixed:
+     * Folder tree on Windows 95/98/NT/2000
+
+
+XnView v1.97.5 (LIBFORMAT v5.70) 08/06/2010:
+
+   Added:
+     * PFM format read support
+     * TXC format read support - http://newsgroup.xnview.com/viewtopic.php?f=34&t=20183
+     * Clean metadata for TIFF files - http://newsgroup.xnview.com/viewtopic.php?f=56&t=20141
+     * RIOT addon
+     * NConvert: -no_auto_ext - http://newsgroup.xnview.com/viewtopic.php?f=57&t=19529
+   Changed:
+     * 'Show mask' kept - http://newsgroup.xnview.com/viewtopic.php?f=35&t=19989
+   Fixed:
+     * EXIF GPS
+     * Tagged files in statusbar
+     * Print picture with EXIF orientation
+     * Security error in MBM code
+     * CAM QV7000
+     * MBM
+     * Slow treeview (problem with ZIP files) on Vista/7
+     * Ctrl+F2 to edit timestamp
+     * RAW in slideshow - http://newsgroup.xnview.com/viewtopic.php?f=35&t=20155
+     * ICNS - http://newsgroup.xnview.com/viewtopic.php?f=34&t=19879
+     * Sort by folder - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19519
+     * Export & extension - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19490
+     * Batch convert/Rotate - http://newsgroup.xnview.com/viewtopic.php?f=36&t=20105
+     * Convert into - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19837
+     * -capture you can use all time variable from http://www.cplusplus.com/reference/clibrary/ctime/strftime/
+       (-capture=desktop,file-%Y-%B-##.jpg) - http://newsgroup.xnview.com/viewtopic.php?f=34&t=20061
+     * Edit IPTC on TIFF file - http://newsgroup.xnview.com/viewtopic.php?f=35&t=15138
+     * Thumbnail for mpeg file
+     * RAW
+
+
+XnView v1.97.4 (LIBFORMAT v5.60) 30/04/2010:
+
+   Added:
+   Changed:
+   Fixed:
+     * Rating & color label not correctly saved
+     * APNG - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19477
+
+
+XnView v1.97.3 (LIBFORMAT v5.60) 22/04/2010:
+
+   Added:
+      * VTF format load support (Plugin) - http://newsgroup.xnview.com/viewtopic.php?f=34&t=19664
+   Changed:
+   Fixed:
+     * TIFF
+     * Lossless rotation - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19677
+     * Tagged file problem
+     * NConvert: http://newsgroup.xnview.com/viewtopic.php?f=57&t=19498&p=82075
+     * NConvert: EPS CIE - http://newsgroup.xnview.com/viewtopic.php?f=57&t=19475
+
+
+XnView v1.97.2 (LIBFORMAT v5.60) 28/02/2010:
+
+   Added:
+   Changed:
+   Fixed:
+     * Toolbar icon for GPS - http://newsgroup.xnview.com/viewtopic.php?f=56&t=19486
+     * Save - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19479
+              http://newsgroup.xnview.com/viewtopic.php?f=36&t=19482
+
+
+XnView v1.97.1 (LIBFORMAT v5.60) 22/02/2010:
+
+   Added:
+     * Mouse Side Buttons support for prev/next file
+     * Leica RAW format
+     * NConvert: -overwrite (overwriting is disabled by default!) - http://newsgroup.xnview.com/viewtopic.php?f=57&t=19081
+     * NConvert support 16bits per component loading (-org_depth)
+   Changed:
+     * MP4 removed from video extension - too many problems
+     * Libpng 1.2.42
+     * Black&White conversion (floyd steindberg)
+     * '..' no more counted as object - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19156
+   Fixed:
+     * TIFF crash
+     * PNG crash
+     * TIFF Lossless iptc
+     * [Secunia] XnView DICOM Parsing Integer Overflow
+     * IPTC problem with one file - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19183
+     * Can't open 'batch convert' if only '..' is selected
+     * PCL & resolution - http://newsgroup.xnview.com/viewtopic.php?f=35&t=19264
+     * EXIF not correclty decoded
+     * 32bits=>24bits in batch convert
+     * IPTC searching - http://newsgroup.xnview.com/viewtopic.php?f=56&t=19411
+     * Sort by description & folder - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19399
+     * Order of 'Print all tabs' - http://newsgroup.xnview.com/viewtopic.php?f=56&t=19393
+     * 'Sort by type' - http://newsgroup.xnview.com/viewtopic.php?f=35&t=19143
+     * 'Move to' not greayed - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19074
+     * Reset of zoom/position in Export - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19099
+     * Crop button & fullscreen - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19169
+     * Body in Email is truncated - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19280
+     * ToolbarBackColor and custom toolbar icon - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19382
+     * 'Delete' button in toolbar - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19261
+     * Tab label not changed after rename - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19341
+     * Xnview persistent if slide file doesn't exist - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19412&p=81636
+     * 'Sort by type' - http://newsgroup.xnview.com/viewtopic.php?f=56&t=19362&p=81469
+     * Bad quality for cached JPEG file - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17148
+     * Bug menu toolbar, some labels are missing
+     * Drag&Drop from another software - http://newsgroup.xnview.com/viewtopic.php?f=36&t=19308
+     * Transpârency for paintshoppro format
+
+
+XnView v1.97 (LIBFORMAT v5.54) 27/11/2009:
+
+   Added:
+     * read XMP from PNG
+     * support of colour PNG with alpha - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18517
+     * [Scan]/newMethod added - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18474
+       http://newsgroup.xnview.com/viewtopic.php?f=34&t=17523
+     * Slide show now support folder name - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18593 & http://newsgroup.xnview.com/viewtopic.php?f=34&t=14819
+     * 'Edit GPS', exiftool must be copied in AddOn folder - http://newsgroup.xnview.com/viewtopic.php?f=56&t=17596
+     * M2T - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17944
+     * RM - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17648
+     * Capture output filename - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17584
+         http://newsgroup.xnview.com/viewtopic.php?f=34&t=9430
+     * Email dialog custom size - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17622
+     * TARGA bottom-up option - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18151
+     * Sort by folder & ratio - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17038
+     * Print Dialog, Checkbox for label - http://newsgroup.xnview.com/viewtopic.php?f=34&t=15603
+     * Timestamp dialog, filename added - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17386
+     * EXIF colour space in info & thumbnail label - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18211
+     * Message when rotate 16bits picture - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18309
+     * [View]/OpenWithAsPNG - http://newsgroup.xnview.com/viewtopic.php?f=35&t=15863
+     * Open container folder - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18538
+     * Relative zoom step - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18345
+     * Place holder for view title bar - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17391
+     * Recreate exif thumbnail after lossless cropping - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17351
+     * Decrement page number - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17528
+     * date template - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17603
+     * #ID_OUTPUT_FOLDER# for html create - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18266
+     * [Compare]/Text placeholder for displayed text - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18284
+     * Batch convert/'Add alpha' - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18356
+     * netbook ratio - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18581
+     * [Start]/RecentFilesMax & RecentDirsMax - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18671
+     * 'Open output folder' in batch convert - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18456
+     * Thumbnail for cbr/cbz - http://newsgroup.xnview.com/viewtopic.php?f=56&t=18563
+     * Shadow/Highlight in batch convert
+     * Backup option for lossless operation
+     * 'E' key to save pictures from an EXE slideshow
+     * 8 colors conversion is back
+     * 'Rating number' & 'colour label number' - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18706
+     * Adobe Brush abr read support - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18678
+     * Quick convert menu in contextual menu - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18340
+     * CreateWithGarfield, Cheese format read support
+     * FunGraphicMachine Hires, Mono magic & Gigacad hires format read support
+     * Size auto placeholder - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18450
+     * Lossless rotation in batch convert - http://newsgroup.xnview.com/viewtopic.php?t=4814
+     * Nikon RAW support
+     * INI filename in about dialog - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18766
+     * 12 new icons for default toolbar
+     * Olympus confocal scan read support
+     * [Start]/UseSavedPath - http://newsgroup.xnview.com/viewtopic.php?f=56&t=16747
+     * XPM2 read support
+     * NConvert: XNVIEW_GS_DLL (path of gsdll32.dll) & XNVIEW_GS_LIB (path of gs lib folder) environment var added for ghostscript
+     * NConvert: -add_alpha - http://newsgroup.xnview.com/viewtopic.php?f=57&t=18701
+     * NConvert: $$ for folder name - http://newsgroup.xnview.com/viewtopic.php?f=57&t=17353
+     * XnShell: Rotation - http://newsgroup.xnview.com/viewtopic.php?f=34&t=11758
+     * XnShell: Convert menu can be removed
+     * XnShell: Custom app to open picture file
+     * XnShell: Save clipboard - http://newsgroup.xnview.com/viewtopic.php?t=16109
+     * MediaDector: rw2 & mts
+   Changed:
+     * GPS opened in GeoHack - http://newsgroup.xnview.com/viewtopic.php?f=56&t=18173
+     * Mouse position & alignment - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18195
+     * INI Color entry with # or $ are reversed - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18355
+     * Enhance 'Get Page' dialog
+     * Ctrl+A - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18725
+     * Timestamp dialog, Scrollbar instead of buttons - http://newsgroup.xnview.com/viewtopic.php?f=34&t=10707
+     * Overwrite dialog - http://newsgroup.xnview.com/viewtopic.php?f=34&t=3401
+     * Wiki used instead of chm help file
+   Fixed:
+     * TIFF 16bits
+     * Rating & colour label lost after renaming - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17377
+     * Category lost after renaming - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18085
+     * Writing GIF + comment - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18541
+     * NEF exif - http://newsgroup.xnview.com/viewtopic.php?f=56&t=18515
+     * WDP thumbnail - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18536
+     * TIFF - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17943
+     * ANI 32bits - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18065
+     * APNG - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17939 & http://newsgroup.xnview.com/viewtopic.php?f=36&t=18283
+     * Frame number - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18061
+     * XBS script problem - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17536
+         http://newsgroup.xnview.com/viewtopic.php?f=56&t=18199
+         http://newsgroup.xnview.com/viewtopic.php?f=36&t=17719
+         http://newsgroup.xnview.com/viewtopic.php?f=36&t=17718
+         http://newsgroup.xnview.com/viewtopic.php?f=35&t=18134
+     * XBS saving - http://newsgroup.xnview.com/viewtopic.php?t=17629
+     * Listing & EXIF date - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17970
+     * Listing & clipboard - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17907
+     * Resize dialog - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17882
+     * Enlarge 'copy to' dialog - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18006
+     * Resize Dialog - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17486
+     * Capture & delay - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17619
+     * Save dialog & mnemonic - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17123
+     * Wrong separator CSV listing - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18161
+     * NEF GPS - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18574
+     * "Add text" with '&' - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17862
+     * Export dialog, 100% used by default - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18044
+     * Batch convert history, check if exist - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18127
+     * colors to 32bits conversion - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18294
+     * Plugins dialog - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17883
+     * Slide & multipage - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18004
+     * Sort by type - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18270
+     * High zoom quality in compare dialog - http://newsgroup.xnview.com/viewtopic.php?f=56&t=18194&p=76468
+     * Resize dialog & 2560x1600 - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18306
+     * PCD dimensions without pcd plugin - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18300
+     * DPX & folder thumbnail - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18332
+     * Toolbar icon not update after "stop animation" - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18363
+     * Extract alpha - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17554
+     * Comment dialog, setting not restored - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18286
+     * embedded thumbnail - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18422
+     * Shortcut not aligned - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18471
+     * File size & listing -  http://newsgroup.xnview.com/viewtopic.php?f=36&t=18451
+     * Animated GIF - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18510
+     * Animated GIF & slideshow - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17699
+                                  http://newsgroup.xnview.com/viewtopic.php?f=36&t=17911
+     * Align histogram in batch convert - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17928
+     * Rating&ColourLabel in batch rename - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18057
+     * GPS&ICC icon - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18059&p=75981
+     * View auto image size menu - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17850
+     * Slide & video move - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17534
+     * Slide & video not centered
+     * Zoom indicator - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18391
+     * Crash in Adobe plugin with grey picture - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17519
+     * Deleting selected/tagged dialog - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17722
+     * Category pane & selection - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18185
+     * 'Save change' dialog size - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18472
+     * Export & Next/Prev file - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17487
+     * Dithering grey in batch processing - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18677
+     * APNG - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18683
+     * TIFF
+     * filesize > 2Gb
+     * Capture with multiple screen - http://newsgroup.xnview.com/viewtopic.php?f=56&t=18327
+     * Position not restored on multiple screen - http://newsgroup.xnview.com/viewtopic.php?f=36&t=13180
+     * IPTC->XMP
+     * Animated file + Paint plugin - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17766
+     * Canvas resize "as delta" - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18126
+     * SGI grey+alpha
+     * Utah RLE alpha
+     * XPM with number of colors > 1000
+     * XWD
+     * PSD & alpha when no layer
+     * "Browser>Fullscreen>Viewer" & system icon - http://newsgroup.xnview.com/viewtopic.php?f=36&t=3117&start=15
+     * 'Batch convert', reload script with 'convert to truecolors'
+     * EXIF problem on RAW - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18730 & http://newsgroup.xnview.com/viewtopic.php?f=36&t=18728
+     * EXIF exposure value - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18729
+     * Batch convert & 3DBorder - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18753
+     * PDF write full path in title field
+     * Bad thumbnail - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18817
+     * Batch convert script - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17721&p=79159
+     * TIFF 16bits Tiled
+     * PDF multi page - http://newsgroup.xnview.com/viewtopic.php?f=35&t=18929
+     * Preview rotation problem IPTC dialog - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18877
+     * IPTC keywords - http://newsgroup.xnview.com/viewtopic.php?f=76&t=18983
+     * NConvert: Floyd dithering missing - http://newsgroup.xnview.com/viewtopic.php?f=57&t=17667
+     * XnShell: NT4 menu problem - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17811
+     * XnShell: Convert & resize - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17607
+     * MediaDetector: JPEG not imported - http://newsgroup.xnview.com/viewtopic.php?t=17040
+     * MediaDetector: lower extension - http://newsgroup.xnview.com/viewtopic.php?t=16068
+     * MediaDetector: folder created before import - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18313
+     * MediaDetector: thumbnail creation stopped on import - http://newsgroup.xnview.com/viewtopic.php?f=34&t=18313
+
+
+XnView v1.96.5 (LIBFORMAT v5.50) 16/09/2009:
+   Added:
+     * TIFF can write EXIF
+     * Mamiya, Leaf, Hasselblad, Epson, Imacon & Sinar Camera RAW read support
+     * AVT, Casio, Contax, Creative, Foculus, Leica, Micron, Panasonic, Rollei, RoverShot, Stmicro Camera RAW read support
+     * NConvert: -cmyk_space, you can convert RGB=>CMYK
+     * JPEG-XR read support
+     * deskew automatic
+   Changed:
+   Fixed:
+     * EXIF date taken - http://newsgroup.xnview.com/viewtopic.php?f=36&t=18026
+     * XPM writing (const)
+     * IPTC
+     * DPX - 32BitsPacking option added
+     * TIM2 CSM1 added
+     * PDF orientation
+     * Big WMF
+     * TIFF 16bits grey
+
+
+XnView v1.96.2 (LIBFORMAT v5.42) 05/05/2009:
+   Added:
+     * Zeiss LSM, Analyze, Nifti, Mrc, IPlab, ImagePro Sequence format read support
+     * Kro (Autopano giga) format read support
+   Changed:
+   Fixed:
+     * RAW embedded jpeg loading is slow
+     * Folder rename - http://newsgroup.xnview.com/viewtopic.php?f=36
+     * Edit IPTC
+
+XnView v1.96.1 (LIBFORMAT v5.31) 05/05/2009:
+
+   Added:
+     * color for 3D button - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17502
+     * 'File type' for info or thumbnail label - http://newsgroup.xnview.com/viewtopic.php?f=34&t=17378
+     * NCONVERT: smoothing factor, dct method, subsampling factor
+   Changed:
+     * DCRAW
+     * SQLITE
+   Fixed: 
+     * Embedded jpeg in DNG
+     * Extract channel in batch convert
+     * Edit embedded comment
+     * PDF Fax writing
+     * PS/EPS > 10000x10000
+     * RSB 1444
+     * Default fullscreen info - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17412
+     * Font in slideshow - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17312
+     * CopyCompanion no more as default - http://newsgroup.xnview.com/viewtopic.php?f=56&t=17420
+     * %% in nconvert script - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17394
+     * Focus on Yes for save dialog - http://newsgroup.xnview.com/viewtopic.php?t=17159 & http://newsgroup.xnview.com/viewtopic.php?p=72434
+     * limit for MaximumFileSize - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17485
+     * edit description/comment - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17306
+     * Cache size not updated - http://newsgroup.xnview.com/viewtopic.php?t=17117
+     * Xjp2.dll crash for properties - http://newsgroup.xnview.com/viewtopic.php?t=17158
+     * Add text problem - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17421
+     * Cache & pentax makernotes - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17134
+     * EXIF comment
+     * Search & description - http://newsgroup.xnview.com/viewtopic.php?f=35&t=17579
+     * JPEG lossless rotation & EXIF orientation
+     * Rename dialog - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17582
+     * CR2 & IPTC - http://newsgroup.xnview.com/viewtopic.php?f=36&t=17605
+
+
+XnView v1.96 (LIBFORMAT v5.30) 23/02/2009:
+
+   Added:
+     * Open GPS in view mode - http://newsgroup.xnview.com/viewtopic.php?t=13859
+     * SelBorderColor in .ini for selected border color of thumbnail - http://newsgroup.xnview.com/viewtopic.php?p=68467
+     * delay in rotate dialog - http://newsgroup.xnview.com/viewtopic.php?t=16339
+     * IPTC png readed
+     * Page size in print dialog - http://newsgroup.xnview.com/viewtopic.php?t=16260
+     * NConvert: opacity for watermark - http://newsgroup.xnview.com/viewtopic.php?p=68466
+     * NConvert win: "-out clipboard" to export into clipboard - http://newsgroup.xnview.com/viewtopic.php?t=16313
+     * Default color profile - http://newsgroup.xnview.com/viewtopic.php?p=65886 & http://newsgroup.xnview.com/viewtopic.php?t=15424
+     * Color profile can be saved
+     * Mouse wheel to switch between tab - http://newsgroup.xnview.com/viewtopic.php?t=16400
+     * Lossless comment edit for PNG - http://newsgroup.xnview.com/viewtopic.php?t=16594
+     * Slideshow video export
+     * 'Add text' alignment - http://newsgroup.xnview.com/viewtopic.php?t=16232
+     * 'Save' overwrite dialog, options added
+     * opacity support fullscreen & slideshow - http://newsgroup.xnview.com/viewtopic.php?p=68952
+     * Print size in 'Set DPI' dialog
+     * Medium lossy for cache - http://newsgroup.xnview.com/viewtopic.php?t=16623
+     * Ctrl+Alt+A for scan - http://newsgroup.xnview.com/viewtopic.php?t=16110
+     * Message when loading non RGB picture - http://newsgroup.xnview.com/viewtopic.php?t=15249
+     * Animated GIF in slideshow - http://newsgroup.xnview.com/viewtopic.php?t=16569
+     * Param_ in .ini for OpenWith - http://newsgroup.xnview.com/viewtopic.php?p=63936
+     * IPTC in utf8 correctly viewed
+     * ICC profile convert in 'batch convert' - http://newsgroup.xnview.com/viewtopic.php?t=15585
+     * SIF format read support
+     * Favorites added in browse history button - http://newsgroup.xnview.com/viewtopic.php?t=13929
+     * LockLayout added in .ini - http://newsgroup.xnview.com/viewtopic.php?p=66311
+     * cmd_Addon can be added now - http://newsgroup.xnview.com/viewtopic.php?t=15108
+     * PSD ICC & EXIF & XMP read support
+     * JPEG2000 ICC read support
+     * WSQ format read support
+     * PENTAX makernotes
+     * File list to command line - http://newsgroup.xnview.com/viewtopic.php?t=16719
+     * Color picker - http://newsgroup.xnview.com/viewtopic.php?t=16642
+     * NCONVERT: -icc_in & -icc_out to convert ICC profile
+     * XNSHELL: scan header - http://newsgroup.xnview.com/viewtopic.php?p=68156
+   Changed:
+     * Rewrite lossless iptc code
+     * Smooth not used for preview - http://newsgroup.xnview.com/viewtopic.php?t=16453
+     * Animated GIF, decoding now in 32bits to support correclty format - http://newsgroup.xnview.com/viewtopic.php?t=16229
+       OldGifAni ini setting to use decoding in 8bits
+     * DPI can be changed in 'Resize' without resampling - http://newsgroup.xnview.com/viewtopic.php?t=10729
+     * Zoom kept if 'lock zoom' - http://newsgroup.xnview.com/viewtopic.php?t=16434
+   Fixed:
+     * Camera RAW not readed correctly - http://newsgroup.xnview.com/viewtopic.php?t=16551 & http://newsgroup.xnview.com/viewtopic.php?t=14583
+     * Favorite dialog & custom color - http://newsgroup.xnview.com/viewtopic.php?t=16255
+     * 'Desktop' not collapsable - http://newsgroup.xnview.com/viewtopic.php?t=16221
+     * Double quote in descript.ion - http://newsgroup.xnview.com/viewtopic.php?t=16241
+     * Delete Metadata & send mail - http://newsgroup.xnview.com/viewtopic.php?t=16544
+     * IPTC & content location - http://newsgroup.xnview.com/viewtopic.php?t=16509
+     * cmd_Copy & cmd_Cut in browser toolbar - http://newsgroup.xnview.com/viewtopic.php?t=16484
+     * IPTC dialog & copy clipboard - http://newsgroup.xnview.com/viewtopic.php?t=16451
+     * ISO value for RW2 files - http://newsgroup.xnview.com/viewtopic.php?t=16442
+     * 'Delete' in folder menu & recycle bin - http://newsgroup.xnview.com/viewtopic.php?t=16441
+     * 'replace color' - http://newsgroup.xnview.com/viewtopic.php?t=16440
+     * LDF - http://newsgroup.xnview.com/viewtopic.php?p=68723
+     * Change timestamp & video - http://newsgroup.xnview.com/viewtopic.php?t=16066
+     * Show rating/color menu item not checked - http://newsgroup.xnview.com/viewtopic.php?t=16162
+     * Layout 3 problem - http://newsgroup.xnview.com/viewtopic.php?t=16220
+     * Zoom & fit - http://newsgroup.xnview.com/viewtopic.php?t=16398
+     * RW2, PEF, ARW
+     * RAW & Icc
+     * JPEG dpi (cm)
+     * Picture info in status bar when preview is closed - http://newsgroup.xnview.com/viewtopic.php?t=16521
+     * Slide timer even for video - http://newsgroup.xnview.com/viewtopic.php?t=16560
+     * XMP update & no ascii characters
+     * ZIP browse crash - http://newsgroup.xnview.com/viewtopic.php?t=16067
+     * Seconds added - http://newsgroup.xnview.com/viewtopic.php?t=16001
+     * Text not erased in view fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=16157
+     * Rotation (by EXIF) - http://newsgroup.xnview.com/viewtopic.php?p=69622
+     * Exif software can be added in fullscreen info
+     * Windows classic tab - http://newsgroup.xnview.com/viewtopic.php?t=16580
+     * ENTER (for fullscreen) on 2 selected files open view mode - http://newsgroup.xnview.com/viewtopic.php?t=15620
+     * Tag non image & cache disabled - http://newsgroup.xnview.com/viewtopic.php?t=15703
+     * Export, no extra saving - http://newsgroup.xnview.com/viewtopic.php?t=15122
+     * Clipboard problem with Gimp - http://newsgroup.xnview.com/viewtopic.php?t=16151
+     * Quick slideshow button - http://newsgroup.xnview.com/viewtopic.php?t=16171
+     * GIF crash - http://newsgroup.xnview.com/viewtopic.php?t=16622
+     * cmd_BurnCD - http://newsgroup.xnview.com/viewtopic.php?p=69773
+     * DPX writing with 10bits option
+     * Batch scanning - http://newsgroup.xnview.com/viewtopic.php?t=16503
+     * Video contact sheet - http://newsgroup.xnview.com/viewtopic.php?t=14490
+     * 'Filter by' broken - http://newsgroup.xnview.com/viewtopic.php?t=16161
+     * Control + select category to select children too - http://newsgroup.xnview.com/viewtopic.php?p=69090
+     * History & previous folder selected - http://newsgroup.xnview.com/viewtopic.php?t=16585
+     * Toolbar & 24bits screen - http://newsgroup.xnview.com/viewtopic.php?p=69730
+     * When view is opened, zoom is not correct & selection not constrain - http://newsgroup.xnview.com/viewtopic.php?t=16574
+     * 'Show files subfolders' issues - http://newsgroup.xnview.com/viewtopic.php?t=16135
+     * -capture & window size - http://newsgroup.xnview.com/viewtopic.php?t=16599
+     * XMP encoding problem - http://newsgroup.xnview.com/viewtopic.php?t=15582
+     * Some paths not cleared - http://newsgroup.xnview.com/viewtopic.php?t=16061
+     * 'after save as change name' & 'read ahead' - http://newsgroup.xnview.com/viewtopic.php?t=16278
+     * 'Save as' default color mode - http://newsgroup.xnview.com/viewtopic.php?t=15393
+     * EXIF problem on MSBF tiff - http://newsgroup.xnview.com/viewtopic.php?t=16634
+     * Cineon grey
+     * Print & copies count
+     * BLP
+     * DICOM
+     * GIF ratio output
+     * Drag&drop file AND preview loading - http://newsgroup.xnview.com/viewtopic.php?p=66630
+     * "Strip of images" - http://newsgroup.xnview.com/viewtopic.php?t=16031
+     * Not possible to change system date for non jpeg files - http://newsgroup.xnview.com/viewtopic.php?p=67147 & http://newsgroup.xnview.com/viewtopic.php?t=16668
+     * Adjust dialog limits - http://newsgroup.xnview.com/viewtopic.php?t=16650
+     * Import setting added "ImportFormat" in .ini - http://newsgroup.xnview.com/viewtopic.php?p=69808
+       0 => CF_BITMAP & CF_DIB, 1 => CF_DIB & CF_BITMAP
+     * Adjust HLS available on grey picture - http://newsgroup.xnview.com/viewtopic.php?p=70010
+     * 'Add folder' doesn't add video - http://newsgroup.xnview.com/viewtopic.php?t=16553
+     * 'Fit window' & video - http://newsgroup.xnview.com/viewtopic.php?t=16692
+     * Multi monitor window location not restored - http://newsgroup.xnview.com/viewtopic.php?t=13180
+     * windows size save bug - http://newsgroup.xnview.com/viewtopic.php?t=14022
+     * 'Read ahead' & backward direction - http://newsgroup.xnview.com/viewtopic.php?p=70251
+     * Custom colors - http://newsgroup.xnview.com/viewtopic.php?p=70677
+     * 'Display color' & second monitor - http://newsgroup.xnview.com/viewtopic.php?t=16832
+     * NConvert: page number for pdf - http://newsgroup.xnview.com/viewtopic.php?p=69498
+     * NConvert: watermark order - http://newsgroup.xnview.com/viewtopic.php?p=69499
+     * NConvert: Default extension - http://newsgroup.xnview.com/viewtopic.php?t=16549
+     * NConvert: Merge_alpha order - http://newsgroup.xnview.com/viewtopic.php?p=69312
+     * Reopen not enabled - http://newsgroup.xnview.com/viewtopic.php?t=16853
+     * 'Set wallpaper' shortcuts - http://newsgroup.xnview.com/viewtopic.php?t=16844
+     * conbright & gammasat doesn't work with 32bits - http://newsgroup.xnview.com/viewtopic.php?t=16843
+     * <Filename number> crash - http://newsgroup.xnview.com/viewtopic.php?t=16818
+     * Multi scan - http://newsgroup.xnview.com/viewtopic.php?t=16503
+     * Select all sub categories - http://newsgroup.xnview.com/viewtopic.php?t=16838
+     * Text position in slide.exe - http://newsgroup.xnview.com/viewtopic.php?t=16856
+     * Slide size of window - http://newsgroup.xnview.com/viewtopic.php?t=16855
+     * Wrong size restoration - http://newsgroup.xnview.com/viewtopic.php?p=71085
+     * Hidden settings - http://newsgroup.xnview.com/viewtopic.php?p=71093
+     * Grid settings - http://newsgroup.xnview.com/viewtopic.php?t=16866
+     * Sort filename - http://newsgroup.xnview.com/viewtopic.php?t=16862
+     * Folder with '.' renaming - http://newsgroup.xnview.com/viewtopic.php?p=71201
+     * 'set iptc', 'change timestamp', ... stop after some files - http://newsgroup.xnview.com/viewtopic.php?p=71252
+     * DB cache & folder name with ' - http://newsgroup.xnview.com/viewtopic.php?t=16894
+     * 32bits cur & ani - http://newsgroup.xnview.com/viewtopic.php?p=71315
+     * Explorer Open with problem - http://newsgroup.xnview.com/viewtopic.php?p=71791
+     * Labels & <directory> - http://newsgroup.xnview.com/viewtopic.php?p=71796
+     * CheckNetFolder entry - http://newsgroup.xnview.com/viewtopic.php?t=11011
+     * 16bits PGM - http://newsgroup.xnview.com/viewtopic.php?t=17035
+
+
+XnView v1.95.4 (LIBFORMAT v5.10) 19/11/2008:
+
+   Fixed:
+     * Default printer
+     * Transparency & gif - http://newsgroup.xnview.com/viewtopic.php?p=68531
+     * Slideshow & movie - http://newsgroup.xnview.com/viewtopic.php?t=16143 - http://newsgroup.xnview.com/viewtopic.php?t=16379
+     * Filmstrip & small toolbar - http://newsgroup.xnview.com/viewtopic.php?t=16130
+     * XnView goes background after delete - http://newsgroup.xnview.com/viewtopic.php?p=68654
+     * Movie blank & crash on second monitor - http://newsgroup.xnview.com/viewtopic.php?p=68658
+     * XNSHELL: 8bit mode - http://newsgroup.xnview.com/viewtopic.php?p=68648
+
+
+XnView v1.95.3 (LIBFORMAT v5.10) 05/11/2008:
+
+   Fixed:
+     * GPS in google map
+     * Fullscreen & dual monitor - http://newsgroup.xnview.com/viewtopic.php?t=16238
+     * Wheel + option next/prev file + Control - http://newsgroup.xnview.com/viewtopic.php?p=68146
+     * File move crash - http://newsgroup.xnview.com/viewtopic.php?t=16287
+     * Problem when iptc saved in tiff - http://newsgroup.xnview.com/viewtopic.php?p=68190
+     * Problem if PathBrowse is purged (http://newsgroup.xnview.com/viewtopic.php?t=16061)
+     * Old icons in jpeg dialog - http://newsgroup.xnview.com/viewtopic.php?t=16307
+     * 32bits picture on a 32bits picture - http://newsgroup.xnview.com/viewtopic.php?t=16305
+     * Rebuild XMP - http://newsgroup.xnview.com/viewtopic.php?t=16136
+     * Sometimes video is not visible in fullscreen
+
+
+XnView v1.95.2 (LIBFORMAT v5.06) 23/10/2008:
+
+   Fixed:
+     * Nikon makernotes - http://newsgroup.xnview.com/viewtopic.php?p=67629
+     * NT problem - http://newsgroup.xnview.com/viewtopic.php?t=16128
+     * Slow browsing, problem between XnView DB & SQLITE 3.6.4
+
+
+XnView v1.95.1 (LIBFORMAT v5.06) 22/10/2008:
+
+   Fixed:
+     * Audio file not played in slideshow
+     * Slow browser, problem between SQLITE & DB
+
+
+XnView v1.95 (LIBFORMAT v5.06) 13/10/2008:
+
+   Added:
+     * Audio comment in slideshow - http://newsgroup.xnview.com/viewtopic.php?t=7073
+     * Grid in rotate dialog - http://newsgroup.xnview.com/viewtopic.php?t=15660
+     * 800x600 for email attachment size
+     * BackColor in {Compare] section - http://newsgroup.xnview.com/viewtopic.php?t=15443
+     * Floyd & Adaptive for batch convert - http://newsgroup.xnview.com/viewtopic.php?t=15670
+     * OnTop for slideshow - http://newsgroup.xnview.com/viewtopic.php?t=15514
+     * 'Whole Word only' for search in IPTC/EXIF
+     * JobPerPage added in [Print] .ini - http://newsgroup.xnview.com/viewtopic.php?p=65893
+     * Slideshow, Frame option - http://newsgroup.xnview.com/viewtopic.php?t=15606
+     * Error log dialog after batch convert
+     * 'Lossless rotation' shortcut in fullscreen
+     * Search, Width + Height & Egal
+     * RAWZOR format
+     * EXIF ISO in Search
+     * XP Exif field - http://newsgroup.xnview.com/viewtopic.php?p=66146
+     * NConvert: -clean metadata - http://newsgroup.xnview.com/viewtopic.php?p=65841
+     * SHELLEX: Wallpaper mosaic
+     * SHELLEX: Resize by %
+   Changed:
+     * MEZICH toolbar as default - http://newsgroup.xnview.com/viewtopic.php?p=64007
+       & 11 new icons (lock zoom, grid, cut, copy, paste, copy to, move to, compare, import clipboard, redo, save)
+     * 'Strip images' use alpha channel - http://newsgroup.xnview.com/viewtopic.php?p=64723
+     * ICO, try to load the best icon - http://newsgroup.xnview.com/viewtopic.php?t=15518
+     * WIA menu entry no more greyed
+   Fixed:
+     * Canvas resize & BW picture - http://newsgroup.xnview.com/viewtopic.php?p=65178
+     * Tree view refresh
+     * DDS
+     * De-interlace - http://newsgroup.xnview.com/viewtopic.php?t=15770
+     * Sort by type & 'scan header' disabled - http://newsgroup.xnview.com/viewtopic.php?t=15793
+     * Gamma textbox - http://newsgroup.xnview.com/viewtopic.php?t=15828
+     * Gamma spin button - http://newsgroup.xnview.com/viewtopic.php?t=15760
+     * Position list in watermark - http://newsgroup.xnview.com/viewtopic.php?t=15719
+     * CharSet for 'add text' - http://newsgroup.xnview.com/viewtopic.php?t=15791
+     * resize rounding - http://newsgroup.xnview.com/viewtopic.php?t=15675
+     * Sort by name in slideshow dialog
+     * Long text displayed - http://newsgroup.xnview.com/viewtopic.php?t=15540
+     * tag non image file - http://newsgroup.xnview.com/viewtopic.php?t=15703
+     * OpenWith with more than 1 file - http://newsgroup.xnview.com/viewtopic.php?p=65125
+     * Information in view mode - http://newsgroup.xnview.com/viewtopic.php?t=15554
+     * toolbar skin - http://newsgroup.xnview.com/viewtopic.php?t=15625
+     * TxtForeColor & TxtBackColor - http://newsgroup.xnview.com/viewtopic.php?t=14918&start=15
+     * 'contact sheet' & alpha channel - http://newsgroup.xnview.com/viewtopic.php?t=12328
+     * Description in thumbnail labels - http://newsgroup.xnview.com/viewtopic.php?t=15800
+     * IPTC in tooltips - http://newsgroup.xnview.com/viewtopic.php?t=15639
+     * Default directory in batch convert - http://newsgroup.xnview.com/viewtopic.php?t=15795
+     * 32bits ico in toolbar - http://newsgroup.xnview.com/viewtopic.php?p=65631
+     * 'Contact sheet' bad quality 
+     * Writing IPTC in TIFF - http://newsgroup.xnview.com/viewtopic.php?t=15861
+     * Enlarge zoom & grey - http://newsgroup.xnview.com/viewtopic.php?p=65658
+     * Change timestamp on video files - http://newsgroup.xnview.com/viewtopic.php?p=65879
+     * Wheel mouse & control key - http://newsgroup.xnview.com/viewtopic.php?t=15400
+     * 'Open with' & 'Save as default' pathname - http://newsgroup.xnview.com/viewtopic.php?t=15496
+     * Some spin buttons - http://newsgroup.xnview.com/viewtopic.php?t=15479
+     * Selection & animated file - http://newsgroup.xnview.com/viewtopic.php?t=15049&start=15
+     * 'Fit image window height var" - http://newsgroup.xnview.com/viewtopic.php?t=15602
+     * Export dialog, save as - http://newsgroup.xnview.com/viewtopic.php?t=15352
+     * 'Open With' shortcut in fullscreen - http://newsgroup.xnview.com/viewtopic.php?p=64651
+     * Combobox - http://newsgroup.xnview.com/viewtopic.php?t=15663
+     * Export dialog, TIFF compression mode - http://newsgroup.xnview.com/viewtopic.php?t=15680
+     * OpenEXR
+     * TIFF PLANE_SEPARATE
+     * JP2 + Jasper Plugin
+     * Clipboard - http://newsgroup.xnview.com/viewtopic.php?t=14992
+     * Batch convert history - http://newsgroup.xnview.com/viewtopic.php?p=66016
+     * 'Strip images' mosaic & spacing
+     * 'Add text' - http://newsgroup.xnview.com/viewtopic.php?p=65997
+     * ICC & slideshow - http://newsgroup.xnview.com/viewtopic.php?p=65986#65986
+     * Multi screen & fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=15658
+     * Embedded Comment writing - http://newsgroup.xnview.com/viewtopic.php?p=66285
+     * Hidden menu - http://newsgroup.xnview.com/viewtopic.php?t=15501
+     * WMP with 16bits files
+     * XMP don't update iptc - http://newsgroup.xnview.com/viewtopic.php?p=66393
+     * JBIG 8bits
+     * EXIF can be removed when saving in jpeg
+     * Mouse Wheel & one instance - http://newsgroup.xnview.com/viewtopic.php?t=16008
+     * Some paths not purged - http://newsgroup.xnview.com/viewtopic.php?t=16061
+     * 'Selected files" & delete - http://newsgroup.xnview.com/viewtopic.php?t=15995
+     * GIF & fit - http://newsgroup.xnview.com/viewtopic.php?p=66961
+     * NConvert: exif rotation - http://newsgroup.xnview.com/viewtopic.php?p=65921
+     * PAINT: Bold setting - http://newsgroup.xnview.com/viewtopic.php?t=15840
+     * SHELLEX - http://newsgroup.xnview.com/viewtopic.php?t=14639
+     * SHELLEX - Bad file size
+
+
+XnView v1.94.2 (LIBFORMAT v5.02) 01/08/2008:
+
+   Fixed:
+     * EXIF lost in batch convert - http://newsgroup.xnview.com/viewtopic.php?t=15626 - http://newsgroup.xnview.com/viewtopic.php?t=15599
+     * EXIF/IPTC in tooltips for TIFF file - http://newsgroup.xnview.com/viewtopic.php?t=15639
+     * Message for tiff file - http://newsgroup.xnview.com/viewtopic.php?p=64656
+     * TIFF 16bits LZW + Predictor
+     * Text in Preview pane - http://newsgroup.xnview.com/viewtopic.php?t=15659
+
+
+XnView v1.94.1 (LIBFORMAT v5.01) 25/07/2008:
+
+   Fixed:
+     * 'Ignore alpha' & 32bits BMP - http://newsgroup.xnview.com/viewtopic.php?t=15392
+     * NoWia doesn't work in browser mode - http://newsgroup.xnview.com/viewtopic.php?p=64319
+     * TIFF 'one strip'
+     * 'Recreate embedded thumbnail' - http://newsgroup.xnview.com/viewtopic.php?p=64430
+     * ICC profil used in convert - http://newsgroup.xnview.com/viewtopic.php?p=64434
+     * uncolored label & drag&drop - http://newsgroup.xnview.com/viewtopic.php?p=64474
+     * NEF embedded jpeg - http://newsgroup.xnview.com/viewtopic.php?p=64477
+
+
+XnView v1.94 (LIBFORMAT v5.00) 21/07/2008:
+
+   Added:
+     * ICC profile in properties panel - http://newsgroup.xnview.com/viewtopic.php?p=62042
+     * Lossless TIFF IPTC editing - http://newsgroup.xnview.com/viewtopic.php?p=61890
+     * XMP are kept when saving in JPEG & TIFF
+     * IPTC are kept when saving in TIFF
+     * GPS from TIFF
+     * 'Keep XMP' option
+     * 'Update XMP' in IPTC dialog
+     * 'Rebuild XMP' & 'XMP to IPTC'
+     * Extract channel in batch processing - http://newsgroup.xnview.com/viewtopic.php?p=62085
+     * 'unrated' & 'uncolored' added in categories tree for drag&drop - http://newsgroup.xnview.com/viewtopic.php?t=15055
+     * TxtBackColor & TxtForeColor in Browser section - http://newsgroup.xnview.com/viewtopic.php?p=62140
+     * DVR-RAW format
+     * Clean in batch processing - http://newsgroup.xnview.com/viewtopic.php?t=14939
+     * CheckNetFolder in [Browser] section - http://newsgroup.xnview.com/viewtopic.php?t=11011
+     * XnShell: Copy to clipboard - http://newsgroup.xnview.com/viewtopic.php?t=15129
+     * XnShell: File size limit - http://newsgroup.xnview.com/viewtopic.php?t=15117
+     * XnShell: Long filename & bitmap - http://newsgroup.xnview.com/viewtopic.php?t=15145
+     * SelectPrevFolder in [Browser] section - http://newsgroup.xnview.com/viewtopic.php?t=15106
+     * 'Can paste on subfolder item' - http://newsgroup.xnview.com/viewtopic.php?t=15106
+     * CSV format for generate listing - http://newsgroup.xnview.com/viewtopic.php?t=15290
+     * EXE slide & no title bar - http://newsgroup.xnview.com/viewtopic.php?t=15199 & http://newsgroup.xnview.com/viewtopic.php?t=15054
+     * View section => CheckerColor1, CheckerColor2, CheckerSize
+     * Slide Fix size - http://newsgroup.xnview.com/viewtopic.php?t=15196
+     * 'Mouse navigation' Slideshow - http://newsgroup.xnview.com/viewtopic.php?t=15343
+     * Capture rectangle
+     * Description in Info pane
+     * New Vista ICO (PNG)
+   Changed: 
+     * (()) used to hide empty field - http://newsgroup.xnview.com/viewtopic.php?t=15115
+     * "filename - Copy (#)" is used now - http://newsgroup.xnview.com/viewtopic.php?t=15341
+     * Change timestamp is a lot quicker
+     * BMP with alpha - http://newsgroup.xnview.com/viewtopic.php?p=63291
+     * NCONVERT: Output filename used for lossless rotation - http://newsgroup.xnview.com/viewtopic.php?t=15156
+     * ImageShack plugin - http://newsgroup.xnview.com/viewtopic.php?t=14639
+     * Jasper SDK 1.900
+   Fixed:
+     * Normalize - http://newsgroup.xnview.com/viewtopic.php?t=15121
+     * Olympus thumbnail - http://newsgroup.xnview.com/viewtopic.php?t=15133
+     * Fullscreen orientation - http://newsgroup.xnview.com/viewtopic.php?p=61683
+     * Drag&Drop on rating/Colour label don't refresh - http://newsgroup.xnview.com/viewtopic.php?p=61570
+     * space in output_path script - http://newsgroup.xnview.com/viewtopic.php?p=61528
+     * 'open with' on edited picture - http://newsgroup.xnview.com/viewtopic.php?t=14935
+     * Preview in browser not update - http://newsgroup.xnview.com/viewtopic.php?t=15063
+     * 'Batch processing' - http://newsgroup.xnview.com/viewtopic.php?t=15066
+     * Selection - http://newsgroup.xnview.com/viewtopic.php?t=15049
+     * DDS writing - http://newsgroup.xnview.com/viewtopic.php?t=15006
+     * Adjust dialog - http://newsgroup.xnview.com/viewtopic.php?t=15022
+     * Alpha channel & folder thumbnails - http://newsgroup.xnview.com/viewtopic.php?t=15059
+     * Mosaic in 'Strip Images' - http://newsgroup.xnview.com/viewtopic.php?p=62159
+     * PNG - http://newsgroup.xnview.com/viewtopic.php?t=15153
+     * LIF reading
+     * Sun TAAC "format" Buffer Overflow Vulnerability
+     * TIM2 
+     * JPEG 2000 with bad ICC
+     * TIFF
+     * IPTC
+     * TIFF JPEG
+     * Batch convert & watermark offset
+     * Watermark of a 32bits on a 32bits picture
+     * Position in 'Add text'
+     * Thumbnail used in folder's thumbnail - http://newsgroup.xnview.com/viewtopic.php?t=13001
+     * Current pathname in batch processing - http://newsgroup.xnview.com/viewtopic.php?t=15029
+     * delay to show Export dialog - http://newsgroup.xnview.com/viewtopic.php?t=15122
+     * Wavefront 16bits
+     * Animated GIF - http://newsgroup.xnview.com/viewtopic.php?p=62811
+     * WebPage - Thumb height - http://newsgroup.xnview.com/viewtopic.php?t=15275
+     * EXE slide & stretch option - http://newsgroup.xnview.com/viewtopic.php?t=15197 
+     * EXE slide & center window - http://newsgroup.xnview.com/viewtopic.php?t=15198
+     * Lock Fit - http://newsgroup.xnview.com/viewtopic.php?t=14071
+     * WebPage - http://newsgroup.xnview.com/viewtopic.php?t=13908
+     * Associations not restored - http://newsgroup.xnview.com/viewtopic.php?p=63037
+     * Print size not updated on detail view - http://newsgroup.xnview.com/viewtopic.php?p=63023
+     * Change timestamp can remove embedded comment - http://newsgroup.xnview.com/viewtopic.php?t=15328
+     * 'Delete in recycle bin' on batch convert - http://newsgroup.xnview.com/viewtopic.php?p=63114
+     * 'Change timestamp' too long
+     * EXIF not shown on labels with some JPEG - http://newsgroup.xnview.com/viewtopic.php?p=63324
+     * 'No fit' in fullscreen doesn't reset zoom to 100%
+     * Slideshow, Random limited to 32K - http://newsgroup.xnview.com/viewtopic.php?p=63323
+     * Search button in basic mode - http://newsgroup.xnview.com/viewtopic.php?t=15473
+     * Lossless JPEG crop & Date - http://newsgroup.xnview.com/viewtopic.php?t=15517
+     * DPX & LUT
+     * 2 APP1 marker in JPEG - http://newsgroup.xnview.com/viewtopic.php?t=15512
+     * Description now limited to 2046 car
+     * TIFF Edit, overwrite filename
+     * No more message when changing category in info pane
+     * Toolbar & win98 - http://newsgroup.xnview.com/viewtopic.php?t=15577
+     * NCONVERT: http://newsgroup.xnview.com/viewtopic.php?p=62306
+     * NCONVERT: Compression for tiff - http://newsgroup.xnview.com/viewtopic.php?p=62412
+     * NCONVERT: -multi & file list - http://newsgroup.xnview.com/viewtopic.php?p=62815
+     * NCONVERT: Add text - http://newsgroup.xnview.com/viewtopic.php?p=63962
+     * XnShell: Thumbnail size - http://newsgroup.xnview.com/viewtopic.php?t=15034
+     * XnShell: Send to imageshack - http://newsgroup.xnview.com/viewtopic.php?t=15213
+     * XnShell: Disable any option - http://newsgroup.xnview.com/viewtopic.php?t=5169
+
+
+XnView v1.93.6 (LIBFORMAT v4.95) 01/05/2008:
+
+   Added:
+     * Output ICC profile - http://newsgroup.xnview.com/viewtopic.php?p=60384
+     * Tree Pane Tab - http://newsgroup.xnview.com/viewtopic.php?t=10964
+     * Alignment & spacing option - http://newsgroup.xnview.com/viewtopic.php?t=14675
+     * Check for update option - http://newsgroup.xnview.com/viewtopic.php?p=60412
+     * NoDelayedPreview add in Browser section (xnview.ini) - http://newsgroup.xnview.com/viewtopic.php?t=14601
+     * Shift+T added - http://newsgroup.xnview.com/viewtopic.php?t=14555
+     * Tag submenu in context menu - http://newsgroup.xnview.com/viewtopic.php?t=14511
+     * Save settings are now saved in script - http://newsgroup.xnview.com/viewtopic.php?t=14538
+     * IPTC caption in status bar - http://newsgroup.xnview.com/viewtopic.php?t=14831
+     * 'Ignore alpha channel' option - http://newsgroup.xnview.com/viewtopic.php?t=14887
+     * CSV export
+     * 'Remove alpha channel'
+     * Batch convert - Replace color
+     * File listing, embbed comment
+     * Old values in Adjust - http://newsgroup.xnview.com/viewtopic.php?t=14900
+     * Batch rename on files from folders - http://newsgroup.xnview.com/viewtopic.php?t=7574
+     * Job name - http://newsgroup.xnview.com/viewtopic.php?p=61256
+     * ; or # for comment in xbs - http://newsgroup.xnview.com/viewtopic.php?t=14995
+     * XnShell: 'open in xnview' option - http://newsgroup.xnview.com/viewtopic.php?p=60099
+     * XnShell: Custom thumbnail size
+     * XnShell: Send to ImageShack
+   Changed: 
+     * Copy/Paste works in 32bits too now
+     * Resize dialog - Previous values not used anymore but added in the size list
+   Fixed:
+     * Canvas resize - http://newsgroup.xnview.com/viewtopic.php?p=60375
+     * Tag in view mode - http://newsgroup.xnview.com/viewtopic.php?p=60299
+     * Tag vs Selected dialog - http://newsgroup.xnview.com/viewtopic.php?t=14585
+     * "Remove from this category" - http://newsgroup.xnview.com/viewtopic.php?p=60323
+     * Text in Fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=14726
+     * Toolbar - http://newsgroup.xnview.com/viewtopic.php?p=60380
+     * TIFF B&W & Bits>=24
+     * JPEG + embedded picture with a different ratio
+     * Compare not available - http://newsgroup.xnview.com/viewtopic.php?t=14834
+     * ICL
+     * WebPage, filename with upper case extension - http://newsgroup.xnview.com/viewtopic.php?p=60688
+     * Fit window width/height & hide scrollbar - http://newsgroup.xnview.com/viewtopic.php?p=60689
+     * Paste on folder - http://newsgroup.xnview.com/viewtopic.php?t=14888
+     * Highlight on colors - http://newsgroup.xnview.com/viewtopic.php?t=14925
+     * RAW - http://newsgroup.xnview.com/viewtopic.php?p=60949
+     * Drive shortcut - http://newsgroup.xnview.com/viewtopic.php?t=14953
+     * Clean metadata - http://newsgroup.xnview.com/viewtopic.php?t=14968
+     * NCONVERT: float value for rotate - http://newsgroup.xnview.com/viewtopic.php?t=14836
+     * NCONVERT: -c -1
+     * NCONVERT: Problem with $ (now $$ works) - http://newsgroup.xnview.com/viewtopic.php?t=14897
+     * NCONVERT: -L - http://newsgroup.xnview.com/viewtopic.php?p=60760
+     * NCONVERT: raw_autobright - http://newsgroup.xnview.com/viewtopic.php?p=61202
+     * XnShell: output not used in convert - http://newsgroup.xnview.com/viewtopic.php?t=14756
+
+
+XnView v1.93.4 (LIBFORMAT v4.92) 26/03/2008:
+   Fixed:
+     * crash - http://newsgroup.xnview.com/viewtopic.php?t=14746
+     * http://newsgroup.xnview.com/viewtopic.php?t=14747
+     * Browse with xnview - http://newsgroup.xnview.com/viewtopic.php?t=14749
+     * http://newsgroup.xnview.com/viewtopic.php?t=14739
+
+
+XnView v1.93.3 (LIBFORMAT v4.92) 25/03/2008:
+   Fixed:
+     * crash - http://newsgroup.xnview.com/viewtopic.php?t=14736
+     * http://newsgroup.xnview.com/viewtopic.php?p=60012
+
+
+XnView v1.93.2 (LIBFORMAT v4.92) 25/03/2008:
+   Added:
+     * 'Keep document size' in resize dialog - http://newsgroup.xnview.com/viewtopic.php?t=14635
+     * NConvert: -icc, -fullinfo
+   Changed:
+     * XnShell - Use associate program instead xnview - http://newsgroup.xnview.com/viewtopic.php?p=59572
+     * XnShell - Output subfolder - http://newsgroup.xnview.com/viewtopic.php?t=14679
+   Fixed:
+     * PSD layer with no compression
+     * Tag info in status bar - http://newsgroup.xnview.com/viewtopic.php?t=14640
+     * Resize - http://newsgroup.xnview.com/viewtopic.php?t=14554
+     * Unicode EXIF/User comment - http://newsgroup.xnview.com/viewtopic.php?t=14545
+     * EXIF thumbnail orientation - http://newsgroup.xnview.com/viewtopic.php?t=14664
+     * APNG frame by frame - http://newsgroup.xnview.com/viewtopic.php?t=14662
+     * Embedded comment writing - http://newsgroup.xnview.com/viewtopic.php?p=59681
+     * Crash on jpeg with bad EXIF data
+     * Batch resize canvas with delta < 0 - http://newsgroup.xnview.com/viewtopic.php?p=59898
+     * () in batch rename - http://newsgroup.xnview.com/viewtopic.php?t=14715
+     * TIFF ICC
+     * 32bits => GIF, jPEG, ... - http://newsgroup.xnview.com/viewtopic.php?p=59690
+     * PSEG - http://newsgroup.xnview.com/viewtopic.php?t=14714
+     * DPI - http://newsgroup.xnview.com/viewtopic.php?t=14647
+
+
+XnView v1.93.1 (LIBFORMAT v4.90) 14/03/2008:
+   Fixed:
+     http://newsgroup.xnview.com/viewtopic.php?t=14618
+
+
+XnView v1.93 (LIBFORMAT v4.90) 13/03/2008:
+
+   Added:
+     * Wallpaper section - http://newsgroup.xnview.com/viewtopic.php?t=14322
+       For eg. 
+         [Wallpaper]
+         Filename=wallpaper.jpg
+         Format=jpeg
+     * Multiple images per page (collection print) - http://newsgroup.xnview.com/viewtopic.php?p=57739
+     * Tag are now saved in category.db - http://newsgroup.xnview.com/viewtopic.php?t=14165
+     * Gamma for HDR - http://newsgroup.xnview.com/viewtopic.php?t=11873
+     * QuitNoView in Start section - http://newsgroup.xnview.com/viewtopic.php?p=58364
+     * 'open action' for archive
+     * After choosing a category, can go back to the folder with history previous button
+     * () used in template to hide empty group - http://newsgroup.xnview.com/viewtopic.php?p=58077
+     * Sort by orientation - http://newsgroup.xnview.com/viewtopic.php?p=58463
+     * "Automatic brightness" for camera RAW - http://newsgroup.xnview.com/viewtopic.php?t=14447
+     * Video gallery - http://newsgroup.xnview.com/viewtopic.php?t=12784
+     * NConvert script - http://newsgroup.xnview.com/viewtopic.php?p=58994
+     * NConvert - -c -1 to use original compression
+   Changed:
+     * Resize value kept - http://newsgroup.xnview.com/viewtopic.php?t=14554
+   Fixed:
+     * Back color of labels - http://newsgroup.xnview.com/viewtopic.php?t=14277
+     * TAB problem - http://newsgroup.xnview.com/viewtopic.php?t=14272
+     * Bad quality for contact sheet
+     * TIFF CMYK
+     * Open With, bad order - http://newsgroup.xnview.com/viewtopic.php?t=14334
+     * Recreate embedded thumb - http://newsgroup.xnview.com/viewtopic.php?t=14317
+     * index.html created - http://newsgroup.xnview.com/viewtopic.php?p=57954
+     * EXIF user comment
+     * TIFF 16bits with predictor
+     * DPX
+     * Shell menu - http://newsgroup.xnview.com/viewtopic.php?t=14282
+     * Zip & [] - http://newsgroup.xnview.com/viewtopic.php?t=14382
+     * copy to dialog - http://newsgroup.xnview.com/viewtopic.php?t=14377
+     * EPS with preview and GS not installed - http://newsgroup.xnview.com/viewtopic.php?t=14339
+     * Grayscale scan - http://newsgroup.xnview.com/viewtopic.php?p=58360
+     * Reset X/Y & Lock zoom - http://newsgroup.xnview.com/viewtopic.php?t=14313
+     * Enter to validate categories
+     * APNG - http://newsgroup.xnview.com/viewtopic.php?t=14427
+     * Error dialog - http://newsgroup.xnview.com/viewtopic.php?t=14321
+     * http://newsgroup.xnview.com/viewtopic.php?t=14452
+     * Print problem - http://newsgroup.xnview.com/viewtopic.php?t=12378
+     * Browser & fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=14342
+     * 'Delete' in view mode delete companion files too
+     * TreeFontHiColor & TreeFontHiColor2 - http://newsgroup.xnview.com/viewtopic.php?p=58660
+     * APNG
+     * Slow description copy/move - http://newsgroup.xnview.com/viewtopic.php?p=58887
+     * EXIF time stamp - http://newsgroup.xnview.com/viewtopic.php?t=14529
+     * PSD 8bits writing
+     * XPM writing
+     * DPX writing - http://newsgroup.xnview.com/viewtopic.php?p=59172
+     * Selection position not saved - http://newsgroup.xnview.com/viewtopic.php?t=14587
+     * Layout 7 - http://newsgroup.xnview.com/viewtopic.php?t=14541
+     * WMP plugin
+     * ShellEx - http://newsgroup.xnview.com/viewtopic.php?t=14475
+
+
+XnView v1.92.1 (LIBFORMAT v4.86) 25/01/2008:
+
+   Added:
+     * If no EXIF, rebuild Thumbnails create new EXIF data  http://newsgroup.xnview.com/viewtopic.php?t=11222
+     * LockZoomFlag=1 added - http://newsgroup.xnview.com/viewtopic.php?t=14170
+     * Shortcut for 'Open with' program - http://newsgroup.xnview.com/viewtopic.php?t=14166
+     * option to add watermark without use of alpha channel
+     * License can be stored in .ini (start section) - http://newsgroup.xnview.com/viewtopic.php?t=14252
+     * Watermark in 'Batch processing' - http://newsgroup.xnview.com/viewtopic.php?p=57063
+     * Setup dialog the first time (if Version not present in .ini)
+     * Lossless rotation by chaging EXIF orientation - http://newsgroup.xnview.com/viewtopic.php?p=56813
+   Changed:
+     * LIBPNG 1.2.24
+     * F11 open/close fullscreen even with 2 monitors - http://newsgroup.xnview.com/viewtopic.php?t=14188
+     * Import WIA use same dialog as 'scan into" - http://newsgroup.xnview.com/viewtopic.php?p=56620
+     * XnViewShellEx must be in ShellEx subfolder
+   Fixed:
+     * Set transparency in Export - http://newsgroup.xnview.com/viewtopic.php?t=14097
+     * Bad value (ISO, ...) for NEF - http://newsgroup.xnview.com/viewtopic.php?t=14083
+     * menu in fullscreen - http://newsgroup.xnview.com/viewtopic.php?p=56503
+     * EXIF rotation doesn't works if H > W
+     * Find similar (same file data) very slow
+     * IPTC search - http://newsgroup.xnview.com/viewtopic.php?t=14139
+     * PSEG - http://newsgroup.xnview.com/viewtopic.php?t=14104
+     * APNG 24bits
+     * HDR
+     * TIFF G3/G4
+     * EXIF orientation - http://newsgroup.xnview.com/viewtopic.php?p=56927
+     * Problem to enter value in edit box, Levels dialog
+     * cmd_Redo added - http://newsgroup.xnview.com/viewtopic.php?t=14230
+     * Bright+-, contrast+-, gamma +-
+     * ICC for tiff
+     * ImageShack plugin: 'don't ask again' for dialog
+     * Scan into, start index is checked from existing files
+     * DPX
+     * Current folder in 'batch process' - http://newsgroup.xnview.com/viewtopic.php?t=14075
+
+
+XnView v1.92 (LIBFORMAT v4.85) 19/12/2007:
+
+   Added:
+     * APNG read support - http://newsgroup.xnview.com/viewtopic.php?t=13849
+     * Watermark - http://newsgroup.xnview.com/viewtopic.php?p=53745
+     * IPTC read support for RAW files - http://newsgroup.xnview.com/viewtopic.php?t=13916
+     * An experimental Shadow/highlight function
+     * DPI, width/height in inches for place holder
+     * EXIF date in 'File listing' - http://newsgroup.xnview.com/viewtopic.php?p=54833
+     * Print selected area - http://newsgroup.xnview.com/viewtopic.php?p=54551
+     * CMD for 'Quick Print' - http://newsgroup.xnview.com/viewtopic.php?t=13711
+     * ENTER used for keywords - http://newsgroup.xnview.com/viewtopic.php?p=54404
+     * add .bat for 'OpenWith' - http://newsgroup.xnview.com/viewtopic.php?t=4903
+     * cmd_realSize added & 'Real size' kept with Next/Previous File
+     * 'hide extension' to rename - http://newsgroup.xnview.com/viewtopic.php?t=7699
+     * MaximizeViewWhenOpen added in xnview.ini View section - http://newsgroup.xnview.com/viewtopic.php?t=13098
+     * 'Border 3D' addded in Batch processing - http://newsgroup.xnview.com/viewtopic.php?t=13737
+     * PDD page - http://newsgroup.xnview.com/viewtopic.php?p=52887
+     * Ctrl+F12 - http://newsgroup.xnview.com/viewtopic.php?t=3801&start=30
+     * Batch processing, when adding a process, show parameters...
+     * Keep source format in batch processing - http://newsgroup.xnview.com/viewtopic.php?p=55393
+     * HistoBColor (Browser section) for background of histogram panel
+     * BottomToolbar (Start section) to have the main toolbar at the bottom
+     * If renaming a file can't be, edit box or dialog is again showed - http://newsgroup.xnview.com/viewtopic.php?t=13930
+     * 'copy to clipboard' in generate file listing
+     * Batch processing, 'Add text' use offset - http://newsgroup.xnview.com/viewtopic.php?t=13503
+     * option to not use 'copy of' when pasting - http://newsgroup.xnview.com/viewtopic.php?p=53834
+     * More than 1 level of undo & redo (UndoCount in View section) - http://newsgroup.xnview.com/viewtopic.php?t=13937
+     * rebuild thumbnail - http://newsgroup.xnview.com/viewtopic.php?t=13833
+     * "current date" in Print - http://newsgroup.xnview.com/viewtopic.php?t=13939
+     * Floyd dithering in export - http://newsgroup.xnview.com/viewtopic.php?p=55621
+     * Lock Fit only as shortkey Ctrl+numpad * - http://newsgroup.xnview.com/viewtopic.php?t=13813
+     * NConvert, -clipboard - http://newsgroup.xnview.com/viewtopic.php?p=54809
+     * NConvert, -levels - http://newsgroup.xnview.com/viewtopic.php?t=13205
+     * NConvert, -jpegcrop - http://newsgroup.xnview.com/viewtopic.php?p=53793
+     * NConvert, -buildexifthumb
+     * NConvert, error with text file list - http://newsgroup.xnview.com/viewtopic.php?p=53724
+     * Nconvert, -merge_alpha - http://newsgroup.xnview.com/viewtopic.php?t=7018
+     * NConvert, -no# - http://newsgroup.xnview.com/viewtopic.php?p=56070
+
+   Changed:
+     * Hotkeys: "Crop" => Shift+X, "Auto crop" => Alt+X, "Jpeg crop" => Ctrl+Shift+X
+     * Layout of 'change timestamp' - http://newsgroup.xnview.com/viewtopic.php?t=10707
+     * ColorFilter & BColorFilter can be used for all format&extension - http://newsgroup.xnview.com/viewtopic.php?t=13792
+     * The best icon for .ico is now readed for thumbnail
+     * Harry's Filter 3.01
+
+   Fixed:
+     * TIFF with EXIF Makernotes
+     * TIFF IPTC
+     * EXIF IOP & GPS - http://newsgroup.xnview.com/viewtopic.php?t=13818
+     * DPX YUV 10 Bits
+     * Batch processing is faster if skip is used
+     * Batch rename on video files with date as placeholder - http://newsgroup.xnview.com/viewtopic.php?t=13771
+     * Rename & video files
+     * bad jpeg - http://newsgroup.xnview.com/viewtopic.php?t=13856
+     * Can't move video file
+     * Contact sheet resize even small picture
+     * 8BF plugin are now loaded only 1 time - http://newsgroup.xnview.com/viewtopic.php?p=54875
+     * gamma reset in Adjust dialog - http://newsgroup.xnview.com/viewtopic.php?t=13742
+     * Companion files operation - http://newsgroup.xnview.com/viewtopic.php?t=13780
+     * Sort - http://newsgroup.xnview.com/viewtopic.php?t=13767
+     * "Strip of Images" spacing & colour - http://newsgroup.xnview.com/viewtopic.php?t=13686
+     * Resize arrow - http://newsgroup.xnview.com/viewtopic.php?t=13632
+     * cache on drive root - http://newsgroup.xnview.com/viewtopic.php?t=12043
+     * MediaSpark 8bf plugin - http://newsgroup.xnview.com/viewtopic.php?t=13384
+     * utf8 in url - http://newsgroup.xnview.com/viewtopic.php?t=13908
+     * Companion file with 2 extensions - http://newsgroup.xnview.com/viewtopic.php?p=55372
+     * menu shown in fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=13699
+     * crash with long IPTC text in web page
+     * old web template alwasy listed - http://newsgroup.xnview.com/viewtopic.php?t=3155
+     * description in status bar not updated - http://newsgroup.xnview.com/viewtopic.php?t=13931
+     * Compare dialog & RAW - http://newsgroup.xnview.com/viewtopic.php?t=13933
+     * Batch processing, set dpi change dpi in exif too
+     * Rename companion
+     * Rename/Move update category database - http://newsgroup.xnview.com/viewtopic.php?t=12192 & http://newsgroup.xnview.com/viewtopic.php?t=13938
+     * value in automatic crop - http://newsgroup.xnview.com/viewtopic.php?t=13946
+     * Picture not updated - http://newsgroup.xnview.com/viewtopic.php?t=13941
+     * Color info - http://newsgroup.xnview.com/viewtopic.php?t=13947
+     * 'Slideshow (recurse)' don't use current sort method
+     * Multi-monitors with slideshow & fullscreen if xnview is on second monitor
+     * Multi page scan into PDF - http://newsgroup.xnview.com/viewtopic.php?p=55534
+     * '..' in file listing - http://newsgroup.xnview.com/viewtopic.php?t=13954
+     * 'Select all' in view mode - http://newsgroup.xnview.com/viewtopic.php?t=13998
+     * BLP - http://newsgroup.xnview.com/viewtopic.php?t=7746
+     * MPEG thumbnail crash - http://newsgroup.xnview.com/viewtopic.php?t=11100
+     * Layout problem - http://newsgroup.xnview.com/viewtopic.php?p=55990
+     * 'Select all' select '..' too - http://newsgroup.xnview.com/viewtopic.php?t=3185
+     * Focus lost on multi monitor - http://newsgroup.xnview.com/viewtopic.php?t=14027
+     * XnTray - multiple instance
+     * XnTray - Problem with '#' & 'Y', 'D', 'A', 'B'
+     * XnTray - IPTC not added in jpeg companion of RAW
+     * XnTray - IPTC template not shown
+     * Paint Plugin - http://newsgroup.xnview.com/viewtopic.php?t=13985
+
+
+XnView v1.91.6 (LIBFORMAT v4.83) 19/10/2007:
+
+   Added:
+     * Subsampling & smoothing factor for jpeg
+     * Show in Google Earth (if EXIF GPS exists) in contextual menu
+     * Option to use 'checkerboard' for transparency - http://newsgroup.xnview.com/viewtopic.php?t=13645
+     * You can select a category and pressing CONTROL to select it and all children
+
+   Changed:
+     * Previous/next folder is Ctrl+PageUp/Down
+     * "Auto contrast" is Ctrl+Alt+O
+
+   Fixed:
+     * Custom color not used in categories & Favorites view - http://newsgroup.xnview.com/viewtopic.php?p=53583
+     * Random slideshow - http://newsgroup.xnview.com/viewtopic.php?t=13330
+     * Folder icon on Vista - http://newsgroup.xnview.com/viewtopic.php?t=13149
+     * Remove from all categories
+     * B&W mirrored - http://newsgroup.xnview.com/viewtopic.php?t=13607
+     * B&W converted in RGB before printing
+     * some EXIF problem - http://newsgroup.xnview.com/viewtopic.php?t=13612
+     * Problem for grey jpeg format - http://newsgroup.xnview.com/viewtopic.php?t=13617
+     * levels not saved correctly (batch convert)
+     * "Zoom in" on a picture (view mode) with a selection now center with the selection
+     * Dead lock if embedded thumbnail can not be rotated after a lossless rotation
+     * Tiff JPEG CMYK
+     * Info is not erased when picture is moved (no fullscreen)
+     * Autofit for video not kept - http://newsgroup.xnview.com/viewtopic.php?t=12387
+     * View mode, LockZoom (if not ResetXY) lock position too - http://newsgroup.xnview.com/viewtopic.php?t=13539
+     * Categories selection show more than once the same picture
+     * Menu View/Preview - http://newsgroup.xnview.com/viewtopic.php?t=13655
+     * Alpha channel & read ahead - http://newsgroup.xnview.com/viewtopic.php?t=13656
+     * Prev/Next not greyed - http://newsgroup.xnview.com/viewtopic.php?t=13604
+
+
+XnView v1.91.5 (LIBFORMAT v4.82) 02/10/2007:
+
+   Added:
+     * SharpenValue added - http://newsgroup.xnview.com/viewtopic.php?t=13348
+     * Panasonic EXIF Makernotes
+     * Categories in preview tab
+     * New RAW format
+     * Custom selection - http://newsgroup.xnview.com/viewtopic.php?t=13488
+     * Ctrl+Up/Down to select previous/next folder in browser - http://newsgroup.xnview.com/viewtopic.php?t=13447
+     * Companion File can be configured, Companion_xx in [File] section - http://newsgroup.xnview.com/viewtopic.php?t=13402
+     * autocrop after rotation - http://newsgroup.xnview.com/viewtopic.php?t=13427
+     * TreeFontHiColor2 for folder tree - http://newsgroup.xnview.com/viewtopic.php?t=13204
+     * Possibility to display 'Print size' in status bar - http://newsgroup.xnview.com/viewtopic.php?p=52480
+     * fullscreen (from browser), option to go to next subfolder - http://newsgroup.xnview.com/viewtopic.php?t=12713
+     * Quick Copy-Move To (Ctrl+Alt+c/M) - http://newsgroup.xnview.com/viewtopic.php?t=13321
+     * Auto rotate for printing - http://newsgroup.xnview.com/viewtopic.php?t=13441
+     * New options for 'strip images'
+
+   Changed:
+     * XnView check first in the exe folder for a xnview.ini!! - http://newsgroup.xnview.com/viewtopic.php?t=13410
+     * Use companion file works now for Delete/Copy/Cut/Paste - http://newsgroup.xnview.com/viewtopic.php?p=52721
+     * Change color depth dialog (+ floyd steinberg)
+
+   Fixed:
+     * Transparency & thumbnails - http://newsgroup.xnview.com/viewtopic.php?p=52684
+     * Problem with "Show info" & fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=13134
+     * Sort problem with 'ö' - http://newsgroup.xnview.com/viewtopic.php?p=52561
+     * High quality not used for folder thumbnail - http://newsgroup.xnview.com/viewtopic.php?t=13371
+     * PDF crash - http://newsgroup.xnview.com/viewtopic.php?t=13311
+     * CALS
+     * Contact sheet slower than 1.82 version
+     * mirror print with B&W picture - http://newsgroup.xnview.com/viewtopic.php?t=13413
+     * File listing with 'recurse' - http://newsgroup.xnview.com/viewtopic.php?p=53118
+     * Resize doesn't change the EXIF DPI
+     * EPS with preview problem
+     * GIF saving - http://newsgroup.xnview.com/viewtopic.php?t=13429
+     * JPEG lossless don't work with tagged files - http://newsgroup.xnview.com/viewtopic.php?t=13480
+     * Crash when editin IPTC for hidden files - http://newsgroup.xnview.com/viewtopic.php?t=13309
+     * Thumbnail from picture with a height of 1 pixel - http://newsgroup.xnview.com/viewtopic.php?t=13513
+     * Color reduction - http://newsgroup.xnview.com/viewtopic.php?t=13374 & http://newsgroup.xnview.com/viewtopic.php?t=13069
+     * 'same data' on b&w picture - http://newsgroup.xnview.com/viewtopic.php?t=13504 
+     * save format when metadata is not supported - http://newsgroup.xnview.com/viewtopic.php?t=13538
+     * crash when send email with non picture - http://newsgroup.xnview.com/viewtopic.php?t=13556
+     * Clipboard from Office
+
+
+XnView v1.91.4 (LIBFORMAT v4.81) 29/08/2007:
+
+   Added:
+     * FTP, Timeout in .ini 
+     * 16:10 ratio - http://newsgroup.xnview.com/viewtopic.php?t=13272
+     * EXIF GPS can be used for info
+
+   Changed:
+     * 'FolderColor' & other hidden colors - http://newsgroup.xnview.com/viewtopic.php?t=12391
+        BGR (integer value like currently)
+        RRR GGG BBB
+        $BBGGRR
+        #RRGGBB
+
+   Fixed:
+     * Cache problem with JPEG quality and 32bits pictures - http://newsgroup.xnview.com/viewtopic.php?p=51867
+     * Sometimes crash in edit fullscreen when using next/previous file
+     * ICC profile & slideshow
+     * Problem to create WEB page from categories - http://newsgroup.xnview.com/viewtopic.php?t=13281
+     * Fit desktop & animated file - http://newsgroup.xnview.com/viewtopic.php?t=3085
+     * case in search - http://newsgroup.xnview.com/viewtopic.php?t=13223
+     * option/Cache - http://newsgroup.xnview.com/viewtopic.php?t=13252
+     * IPTC template, contact not saved - http://newsgroup.xnview.com/viewtopic.php?p=52271
+     * Slideshow & file index - http://newsgroup.xnview.com/viewtopic.php?t=13224
+     * alpha & thumbnail - http://newsgroup.xnview.com/viewtopic.php?p=52184
+     * some -capture problem - http://newsgroup.xnview.com/viewtopic.php?t=13143
+     * 'Read ahead' in view mode is very slow
+     * -slide problem - http://newsgroup.xnview.com/viewtopic.php?t=12638
+
+
+XnView v1.91.3 (LIBFORMAT v4.80) 13/08/2007:
+
+   Added:
+     * Setting to keep values in 'adjust levels'
+     * cache size - http://newsgroup.xnview.com/viewtopic.php?t=13154
+     * TreeFontHiColor for highlight color
+
+   Changed:
+     * Go in export movie doesn't close the dialog - http://newsgroup.xnview.com/viewtopic.php?t=13124
+     * General filelist use tagged files - http://newsgroup.xnview.com/viewtopic.php?p=51399
+     * WEB page use embedded jpeg preview if any for RAW - http://newsgroup.xnview.com/viewtopic.php?t=13126
+
+   Fixed:
+     * FTP plugin, problem in view mode - http://newsgroup.xnview.com/viewtopic.php?t=13105, http://newsgroup.xnview.com/viewtopic.php?t=13135
+     * Flash plugin, no file created - http://newsgroup.xnview.com/viewtopic.php?t=13121
+     * Problem with TreeColor - http://newsgroup.xnview.com/viewtopic.php?t=13106, http://newsgroup.xnview.com/viewtopic.php?t=12580
+     * Bad font in view mode - http://newsgroup.xnview.com/viewtopic.php?t=13130
+     * FolderColor5 added - http://newsgroup.xnview.com/viewtopic.php?p=51472
+     * First printer always used - http://newsgroup.xnview.com/viewtopic.php?t=13136, http://newsgroup.xnview.com/viewtopic.php?t=13119
+     * Crash 'real size' - http://newsgroup.xnview.com/viewtopic.php?t=13115
+     * Crash when open a tiff picture in view mode
+     * Batch convert, some problems with sliders
+     * Thumbnails for folder use 'use embbeded thumb' setting
+     * Edit fullscreen, paint problem with info - http://newsgroup.xnview.com/viewtopic.php?t=13134
+     * Paint plugin, problem with large font - http://newsgroup.xnview.com/viewtopic.php?t=13123
+     
+
+XnView v1.91.2 (LIBFORMAT v4.80) 31/07/2007:
+
+   Added:
+     * Remove metadata - http://newsgroup.xnview.com/viewtopic.php?p=49826
+     * AIPD National Instruments format added
+     * option to show file size in bytes - http://newsgroup.xnview.com/viewtopic.php?t=12863
+     * 'Add to favorties' in tree menu
+     * PDF multi page in 'Scan into'
+     * Added info for Addon in 'Plugin info'
+     * videos can be used in contact sheet
+     * comment and all fields for Search
+     * Option to open or not a view for each files (startup & drag-drop)
+     * 'Print size' column in detail mode - http://newsgroup.xnview.com/viewtopic.php?t=13028
+     * Black&white point saved - http://newsgroup.xnview.com/viewtopic.php?t=13021
+     * New layout
+     * xnview.ini, colors for folder thumbnail (FolderColor1, FolderColor2, FolderColor3, FolderColor4 in browser section) - http://newsgroup.xnview.com/viewtopic.php?p=50868
+     * custom folder for other files (Option/Integration)
+     * Categories dialog to set categories for a file or filelist - http://newsgroup.xnview.com/viewtopic.php?p=50564
+     * Artrage files, support of LargePreview chunk
+     * NoWIA added for .ini to disabled WIA
+     * -capture=window to capture actiev window
+
+   Changed: 
+     * rewrited the code for Susie plugin, no more need of Xsusie.dll
+     * Description & edit comment are now in only 1 dialog (browser) - http://newsgroup.xnview.com/viewtopic.php?t=11894
+     * ONE option for transparent index & alpha in menu - http://newsgroup.xnview.com/viewtopic.php?p=50000
+     * Drag&Drop tagged files if exists, else selected files
+
+   Fixed:
+     * Problem of alpha/transparency with 'not fit'
+     * favorites order - http://newsgroup.xnview.com/viewtopic.php?t=12677
+     * pixels/Percent in Resize - http://newsgroup.xnview.com/viewtopic.php?t=4522
+     * crash normalize - http://newsgroup.xnview.com/viewtopic.php?t=12864
+     * Similar dialog - http://newsgroup.xnview.com/viewtopic.php?t=12704
+     * Problem with some 8bf plugins - http://newsgroup.xnview.com/viewtopic.php?p=50068
+     * Problem with Alt+PrtScreen in 16bits
+     * Bug in tooltips details mode - http://newsgroup.xnview.com/viewtopic.php?p=50076
+     * Problem selection ratio - http://newsgroup.xnview.com/viewtopic.php?t=12632
+     * Problem 'Fit to desktop' & zoom - http://newsgroup.xnview.com/viewtopic.php?t=12474
+     * Problem with PTLENS 8bf plugin - http://newsgroup.xnview.com/viewtopic.php?p=50119
+     * Large text truncated in slide .exe - http://newsgroup.xnview.com/viewtopic.php?t=12729
+     * Some layout problem with 'maximize on start'
+     * Property panel show now the good bits depth
+     * view mode slow on open - http://newsgroup.xnview.com/viewtopic.php?p=50220
+     * NConvert : http://newsgroup.xnview.com/viewtopic.php?t=12797
+     * Save or jpeg lossless on hidden files - http://newsgroup.xnview.com/viewtopic.php?t=12691
+     * resize dialog problem - http://newsgroup.xnview.com/viewtopic.php?p=50480
+     * jpeg lossless on folder - http://newsgroup.xnview.com/viewtopic.php?t=12969
+     * Rename dialog, space in replace is not kept
+     * Problem with Flaming Pear's freebie plugins - http://newsgroup.xnview.com/viewtopic.php?p=50797
+     * Bad focus in save dialog - http://newsgroup.xnview.com/viewtopic.php?t=13034
+     * Print problem with multi page file - http://newsgroup.xnview.com/viewtopic.php?t=13017
+     * Bad display of EXIF orientation - http://newsgroup.xnview.com/viewtopic.php?t=13053
+     * Problem with multiples print of same pages - http://newsgroup.xnview.com/viewtopic.php?t=12960
+     * Copy/Move dialog, can't create folder on desktop - http://newsgroup.xnview.com/viewtopic.php?p=50988
+     * View fullscreen & animated gif => flickering
+     * Crash with jpeg2000 - http://newsgroup.xnview.com/viewtopic.php?t=13039
+     * GPS info - http://newsgroup.xnview.com/viewtopic.php?p=51064
+     * Embedded comment with special characters - http://newsgroup.xnview.com/viewtopic.php?p=51151
+     * Gamma & alpha channel problem - http://newsgroup.xnview.com/viewtopic.php?t=13086
+     * Slideshow on second monitor with different screen size - http://newsgroup.xnview.com/viewtopic.php?p=51121
+     * WEB, Recreate jpeg files - http://newsgroup.xnview.com/viewtopic.php?t=13030
+
+
+XnView v1.91.1 (LIBFORMAT v4.79) 11/06/2007:
+
+   Added:
+     * mpeg.dll is back for mpeg2 preview
+     * added jpg as companion file of camera raw - http://newsgroup.xnview.com/viewtopic.php?p=48684
+     * Added 'show recurse files' in folder context menu - http://newsgroup.xnview.com/viewtopic.php?t=11178
+     * TreeBackColor & TreeFontColor added (only for xnview.ini)
+     * 'LabelColor_**=fr fg fb, br bg bb' added - http://newsgroup.xnview.com/viewtopic.php?p=48932
+
+   Changed: 
+     * Now 'date taken' is used for 'Sort by EXIF date' - http://newsgroup.xnview.com/viewtopic.php?t=9975
+
+   Fixed:
+     * Import problem from clipboard
+     * Can't open more than 1 file in search result - http://newsgroup.xnview.com/viewtopic.php?p=48821
+     * broken japanese filename - http://newsgroup.xnview.com/viewtopic.php?p=48874
+     * Show preview for Custom file - http://newsgroup.xnview.com/viewtopic.php?p=48919
+     * WEB creation - '\' not converted into '/'
+     * DPI not changed after a rotation
+     * Some transitions are missing - http://newsgroup.xnview.com/viewtopic.php?t=12718
+     * Tooltips problem - http://newsgroup.xnview.com/viewtopic.php?t=12710
+     * psp not added slide/convert - http://newsgroup.xnview.com/viewtopic.php?p=49091
+     * Hidden small toolbar receive focus - http://newsgroup.xnview.com/viewtopic.php?t=12658
+     * batch rename and ö - http://newsgroup.xnview.com/viewtopic.php?p=48686
+     * folder loads twice after selected using keyboard - http://newsgroup.xnview.com/viewtopic.php?t=12657
+     * Crash when saving converted B/W - http://newsgroup.xnview.com/viewtopic.php?t=12689
+     * On Vista, crash in system32 folder...
+     * Some problems with IPTC - http://newsgroup.xnview.com/viewtopic.php?p=48723 & http://newsgroup.xnview.com/viewtopic.php?p=49026
+     * Fix crash with Paint - http://newsgroup.xnview.com/viewtopic.php?t=12747
+
+
+XnView v1.91 (LIBFORMAT v4.79) 14/05/2007:
+
+   Added:
+     * IPTC contact & location labels
+     * GPS info readed for RAW files
+     * Sort by tag/color label - http://newsgroup.xnview.com/viewtopic.php?t=12568
+     * Slideshow : Audio loop
+     * Real screen size - http://newsgroup.xnview.com/viewtopic.php?t=12168
+     * Option to not load multiple view for same filename
+     * INI - VideoFramePercent added - http://newsgroup.xnview.com/viewtopic.php?p=48283
+       > 0 => percent
+       < 0 => seconds
+     * Name_ added for OpenWith entries - http://newsgroup.xnview.com/viewtopic.php?t=4903
+     * TxtExt in Browser section - http://newsgroup.xnview.com/viewtopic.php?t=12624
+     * subsampling in jpeg/write option - http://newsgroup.xnview.com/viewtopic.php?p=48643
+
+   Changed: 
+     * Edit IPTC now keep unknown ID fields
+     * IPTC dialog
+
+   Fixed:
+     * Copy/Move is very slow
+     * Print - DPI
+     * PSP/TUB
+     * Print - long caption are not printed correctly
+     * EXIF focal length - http://newsgroup.xnview.com/viewtopic.php?t=12442
+     * Problem with old .sld and transitions - http://newsgroup.xnview.com/viewtopic.php?t=12235
+     * Compare dialog, 'Use tabs' saved - http://newsgroup.xnview.com/viewtopic.php?t=12237
+     * Focus in HTML create - http://newsgroup.xnview.com/viewtopic.php?t=12242
+     * Width of text with italic font - http://newsgroup.xnview.com/viewtopic.php?t=12379
+     * Ctrl+W quit XnView (if no other view opened) even in fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=3392
+     * Charater problem in HTML create with IPTC - http://newsgroup.xnview.com/viewtopic.php?p=47249
+     * Display problem with trasnparent (index) picture and high zoom quality -  - http://newsgroup.xnview.com/viewtopic.php?t=12215
+     * "F2" renames File instead of Folder - http://newsgroup.xnview.com/viewtopic.php?t=12217
+     * Hidden folders are shown in Tree pane\Favourites - http://newsgroup.xnview.com/viewtopic.php?t=12306
+     * Print preview does not update when inserting fields - http://newsgroup.xnview.com/viewtopic.php?t=12369
+     * Autofit videos - http://newsgroup.xnview.com/viewtopic.php?p=47585
+     * 7z problem - http://newsgroup.xnview.com/viewtopic.php?t=12323
+     * Instant Save Settings -> "[] Only one Instance" - http://newsgroup.xnview.com/viewtopic.php?t=12347
+     * 'format not determined' warning does not appear - http://newsgroup.xnview.com/viewtopic.php?t=12444
+     * Print dialog: Header/footer fields truncated - http://newsgroup.xnview.com/viewtopic.php?t=12370
+     * some print bugs - http://newsgroup.xnview.com/viewtopic.php?t=12291 & http://newsgroup.xnview.com/viewtopic.php?p=47589
+     * Right click on toolbar & Xp Theme - http://newsgroup.xnview.com/viewtopic.php?t=12256
+     * Show first frame of video (if playing is disabled) - http://newsgroup.xnview.com/viewtopic.php?t=12445
+     * startup problem - http://newsgroup.xnview.com/viewtopic.php?t=12557
+     * folder can be dropped in categories - http://newsgroup.xnview.com/viewtopic.php?t=12309
+     * Remove from category very slow - http://newsgroup.xnview.com/viewtopic.php?p=48129
+     * Export exif - xml Camara & Image are inverted
+     * Mouse Wheel problem with audio/movie in fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=12560
+     * Option for 'ESC to quit' - http://newsgroup.xnview.com/viewtopic.php?t=12296
+     * 'Set comment' doens't update comment in detail & info
+     * Bug on status line "reported selected files" - http://newsgroup.xnview.com/viewtopic.php?t=6187
+     * Resize problem with screen size in % - http://newsgroup.xnview.com/viewtopic.php?p=48431
+     * Mouse unavailable in fullscreen with some dialogs - http://newsgroup.xnview.com/viewtopic.php?t=12579
+     * Rename dialog crash - http://newsgroup.xnview.com/viewtopic.php?t=12537 
+     * Preview size not saved - http://newsgroup.xnview.com/viewtopic.php?t=12241
+     * TIFF orientation - http://newsgroup.xnview.com/viewtopic.php?t=12329
+     * Overwrite dialog - filename + extension
+     * Print - no use of 'number of pages'
+     * Clipboard - Use DIB/Bitmap before METAFILE
+     * XPM problem - http://newsgroup.xnview.com/viewtopic.php?t=12524
+     * Date not updated after 'change timestamp' - http://newsgroup.xnview.com/viewtopic.php?p=48571
+     * Scrollbar problem in view mode - http://newsgroup.xnview.com/viewtopic.php?p=48617
+     * TheBat client crash - http://newsgroup.xnview.com/viewtopic.php?t=11687
+
+
+XnView v1.90.3 (LIBFORMAT v4.78) 14/03/2007:
+
+   Added:
+     * Thumbnails use transparency/alpha of picture
+     * Add Panasonic RAW format
+     * XMP in clean dialog
+     * Hidden setting, CopyClipboard=2 (filename+image), =0 (image), =1 (filename)
+
+   Changed: 
+     * 'Search IPTC' use now all IPTC fields
+     * All web templates are now in utf8
+
+   Fixed:
+     * Some problem with file list refresh
+     * histogram
+     * Camera RAW
+     * Slideshow with audio
+     * 'Add text' with 32bits picture
+     * some minor bugs
+
+XnView v1.90.1 (LIBFORMAT v4.76) 07/02/2007:
+
+    Fixed:
+      * Link problem - http://newsgroup.xnview.com/viewtopic.php?t=11788
+      * Save selection - http://newsgroup.xnview.com/viewtopic.php?t=11760
+      * Column with - http://newsgroup.xnview.com/viewtopic.php?t=11796
+      * File open/Save dialog on NT
+      * Sort by descriptio - http://newsgroup.xnview.com/viewtopic.php?t=11787
+      * no sound in exe slide - http://newsgroup.xnview.com/viewtopic.php?t=11767
+      * category pane - http://newsgroup.xnview.com/viewtopic.php?t=11739
+      * No files in convert - http://newsgroup.xnview.com/viewtopic.php?t=11746
+      * Del in fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=11806
+      * Blanck screen in fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=11734
+      * Files with different X/Y DPI - http://newsgroup.xnview.com/viewtopic.php?t=11705
+      * Partition as favorite - http://newsgroup.xnview.com/viewtopic.php?t=11709
+      * Dos filename - http://newsgroup.xnview.com/viewtopic.php?t=11702
+
+
+XnView v1.90 (LIBFORMAT v4.75) 29/01/2007:
+
+    SHELLEX : Convert use EXIF rotation
+    SHELLEX : Option to put all items in submenu
+    SHELLEX : File size - http://newsgroup.xnview.com/viewtopic.php?t=10253
+
+    Nconvert: #x #y added for -canvas
+    Nconvert: -l filelist added
+    Nconvert: -rotate_flag smooth added
+    Nconvert: exif added for -jpegtrans
+    Nconvert: -32bits added
+    Nconvert: -keepfiledate added
+    Nconvert: -c works for PDF
+    Nconvert: -dpi change EXIF DPI field too
+
+    Added:
+     * Read support of MP3 ID TAGS (id3lib.dll)
+     * Rotation added in browser mode
+     * Added rating in browser (only if cache is enabled)
+     * Added in HTML template #THUMB_TABLE_START#, #THUMB_ROW_START#, #THUMB_ROW_END#
+     * New Print dialog
+     * Archive browsing (support zip, ace, rar, cab, 7z, sqx)
+     * New panel in browser (tab for favorites, and tabs for info/Metadata)
+     * browser custom tooltips like fullscreen/info
+     * In submenu of toolbar, use of icon
+     * New toolbar
+     * Tag system in browser (for convert/slide/rename/webpage/contact sheet/copy to/Move to)
+     * Database is now used for thumbnail caching
+     * gamma + sharpen for thumbnail
+     * Support ICC embedded profile (JPEG/TIFF)
+     * Custom label - http://newsgroup.xnview.com/viewtopic.php?t=6527 & http://newsgroup.xnview.com/viewtopic.php?t=5034
+     * Include/Exclude extension : http://newsgroup.xnview.com/viewtopic.php?t=6279
+     * Option to rebuild embedded thumbnail for JPEG
+     * sound in slideshow - http://newsgroup.xnview.com/viewtopic.php?t=2948
+     * more effects in slideshow
+     * New option dialog
+     * duplicate finder
+     * Back/Next with history - http://newsgroup.xnview.com/viewtopic.php?t=2369
+     * recursive subfolder convert/Stripe/multipage/slideshow
+     * Batch convert, option to keep directory structure
+     * Dialog during converting - http://newsgroup.xnview.com/viewtopic.php?p=21567#21567
+     * IPTC/EXIF can be used in HTML templace, eg. #<IPTC:Caption># - http://newsgroup.xnview.com/viewtopic.php?t=3780, http://newsgroup.xnview.com/viewtopic.php?t=5128
+     * Histogram in browser - http://newsgroup.xnview.com/viewtopic.php?t=2884
+     * Now you can hide mini toolbar
+     * Use of offset for canvas resize - http://newsgroup.xnview.com/viewtopic.php?t=3983
+     * JPEG Color subsampling added - http://newsgroup.xnview.com/viewtopic.php?p=28144
+     * HTML template, #NEXT_LABEL#, #PREVIOUS_LABEL#, #THUMBNAILS_LABEL#, #PAGE_GENERATED#
+     * export multipage pdf
+     * Picture compare, Tab added
+     * Folder for xnview.ini - http://newsgroup.xnview.com/viewtopic.php?p=29424 & http://newsgroup.xnview.com/viewtopic.php?t=1520
+     * Add 'Rebuild thumb'
+     * in open dialog, show network, data folders
+     * option "fit video"
+     * option Auto play for video/sound
+     * option/browser/misc/slideshow "Use All image & video files in current folder" & "Use All image & video files in current folder and its subfolder"
+     * keep original date of file for save - http://newsgroup.xnview.com/viewtopic.php?p=26863
+     * In batch convert/Resize add custom format list
+     * Gamma for OpenEXR
+     * search, picture width/height
+     * .ico can be associated without changing icon
+     * -slide <directory> - http://newsgroup.xnview.com/viewtopic.php?p=28211
+     * Option for "1 image folder"
+     * Rotate indicator doesn't change using keys - http://newsgroup.xnview.com/viewtopic.php?p=29510
+     * Switching language more quickly, Ctrl+F12 (default), Alt+F12 (next) - http://newsgroup.xnview.com/viewtopic.php?t=3801&start=15
+     * Orientation auto for send email.
+     * 3GP added with quicktime
+     * Added simple PAL file - http://newsgroup.xnview.com/viewtopic.php?t=10238
+     * WEB, option to convert original picture in jpeg
+     * Tooltips added on folder (thumb view)
+     * Info icon, icons in category tree can be customized (tabtree & icninfo)
+     * 2 flags for toolbar/statusbar visibility : -http://newsgroup.xnview.com/viewtopic.php?t=9592
+     * Added in View mode:
+       - Brightness '+' - Ctrl+Numpad 7
+       - Brightness '-' - Ctrl+Numpad 1
+       - Brightness Reset - Ctrl+Numpad 4
+       - Contrast '+' - Ctrl+Numpad 8
+       - Contrast '-' - Ctrl+Numpad 2
+       - Contrast Reset - Ctrl+Numpad 5
+       - Gamma '+' - Ctrl+Numpad 9
+       - Gamma '-' - Ctrl+Numpad 3
+       - Gamma Reset - Ctrl+Numpad 6
+       - Reset all (Brightness, Contrast, Gamma) - Ctrl+ Numpad 0 
+     * Numpad 4, 5, 2, 6, 8 to move in picture - 0 to center
+     * Added 'fit to window width/height variable' - http://newsgroup.xnview.com/viewtopic.php?t=5162
+     * Camera RAW resolution setting for view too - http://newsgroup.xnview.com/viewtopic.php?t=6100
+     * Add new histogram normalize (based on pnmnorm from Bryan Henderson), and histogram align (Thanks to Mirco SARTOR)
+     * Add option for up/down key
+     * option to remove contextual menu
+     * Use original picture if smaller - http://newsgroup.xnview.com/viewtopic.php?p=35341
+     * Sort by width or height - http://newsgroup.xnview.com/viewtopic.php?p=35333
+     * color for cut/clear
+     * Option tree click to rename 
+     * 'EXIF Date modified' can be changed in 'Change timestamp' dialog
+     * Category (virtual folder)
+     * Show mouse X/Y in status bar (view mode) - http://newsgroup.xnview.com/viewtopic.php?t=7211
+     * Color for items in xnview.ini : "ColorFilter=format type, R G B" or "ColorFilter=*.extension, R G B"
+     * Ratio is displayed in status bar (view mode)
+     * Yes all/No all to save changes (view mode)
+     * EXIF rotation only on landscape picture - http://newsgroup.xnview.com/viewtopic.php?p=32229
+     * predefined keywords&categories list for iptc editing!
+     * Feature to create thumbnails for a folder (recurse) in database
+     * reset X/Y when lock zoom too - http://newsgroup.xnview.com/viewtopic.php?t=6445
+     * Lock Zoom saved - http://newsgroup.xnview.com/viewtopic.php?t=6990
+     * rotate smooth in batch-convert
+     * Show Mask/Combine in fullscreen
+     * Start batch convert with selected file in viewer - http://newsgroup.xnview.com/viewtopic.php?t=2955
+     * 'save' can save all pages from a TIFF multipage
+     * Add selection ratio 3"x5" (5:3), 5"x7" (7:5), 10"x13" (12:10)
+     * Copy/Move .thm with .crw, .xmp with .dng
+     * Option to use preview on second monitor in fullscreen
+     * Update & rotate JPEG embedded thumbnail
+     * Add in convert, levels
+     * in View section of .ini, ColorInfo (0: ON for current session, 1: ON for current image, 2: Always)
+     * Plugin for HDPhoto
+
+    Changed: 
+     * Display color info not saved - http://newsgroup.xnview.com/viewtopic.php?t=10305
+     * batch convert - transformations in a tree - http://newsgroup.xnview.com/viewtopic.php?t=10165
+     * metadata export in 1 menu entry - http://newsgroup.xnview.com/viewtopic.php?p=32234
+     * In view mode, Edit IPTC can write (lossless) or only set IPTC data - http://newsgroup.xnview.com/viewtopic.php?p=29717
+     * Deinterlace in Filter - http://newsgroup.xnview.com/viewtopic.php?p=37409
+     * Remove some items from context menu - http://newsgroup.xnview.com/viewtopic.php?p=37407
+     * Option - 'Open all selected images' & 'Maximize View when Open' removed 
+     * 'Combine mask' removed, option/Use transparency/alpha is now the only opyion
+
+    Fixed:
+     * Problem with EXE slideshow (grey picture)
+     * Problem in duplicate/Rename
+     * Problem with user ratio - http://newsgroup.xnview.com/viewtopic.php?t=8454
+     * Problem with switch W/H selection - http://newsgroup.xnview.com/viewtopic.php?p=34694
+     * Fix some camera RAW problems
+     * Batch rename : <Exposure Time> can add \ char, so replace it with -
+     * Problem to search in all fields - http://newsgroup.xnview.com/viewtopic.php?p=30976
+     * Problem with cropping & Xdpi != Ydpi
+     * dbl click in batch convert/transformations - http://newsgroup.xnview.com/viewtopic.php?p=32116
+     * bad tooltips on tabs - http://newsgroup.xnview.com/viewtopic.php?p=32115
+     * Open action is no more used by menu
+     * Fix a problem between TC & 'Only one instance' option
+     * Labels for EXIF XML always in english
+     * Crash if click on close between a search - http://newsgroup.xnview.com/viewtopic.php?t=6657
+     * Browser info not refreshed - http://newsgroup.xnview.com/viewtopic.php?p=29903
+     * panorama - problem with sort menu
+     * No picture in about box if not in english
+     * FLI
+     * Sending an unsaved scan via e-mail fails - http://newsgroup.xnview.com/viewtopic.php?p=29559
+     * Double-click should open slide show - http://newsgroup.xnview.com/viewtopic.php?t=2818
+     * Treeview scroll horizontally for a drop - http://newsgroup.xnview.com/viewtopic.php?p=29228
+     * rename dialog won't change case - http://newsgroup.xnview.com/viewtopic.php?t=5786
+     * "Acquire into..." overwrites files... - http://newsgroup.xnview.com/viewtopic.php?p=27898
+     * Browser : Rename dialog option - http://newsgroup.xnview.com/viewtopic.php?t=5562
+     * USB event failed - http://newsgroup.xnview.com/viewtopic.php?p=28137
+     * no drop shadow effect in Batch convert - http://newsgroup.xnview.com/viewtopic.php?t=4393
+     * long comment and 'Thumbnails & Details' view crash - http://newsgroup.xnview.com/viewtopic.php?t=5494
+     * File selection error with quick find key - http://newsgroup.xnview.com/viewtopic.php?p=27941
+     * Groupbox for options, Wording - http://newsgroup.xnview.com/viewtopic.php?t=5517
+     * Slideshow goes forward in steps of 2 with RMB - http://newsgroup.xnview.com/viewtopic.php?t=5685
+     * Creating folder in folder tree with F7 pb - http://newsgroup.xnview.com/viewtopic.php?p=29377
+     * RMB + CTRL open windows explorer context menu - http://newsgroup.xnview.com/viewtopic.php?p=26864
+     * Cannot add DNG files using Add Folder dialog - http://newsgroup.xnview.com/viewtopic.php?p=28134
+     * PB Filetype icon for RAW files : http://newsgroup.xnview.com/viewtopic.php?p=29043
+     * bug capture memory leak : http://newsgroup.xnview.com/viewtopic.php?t=5923
+     * Rotate delete metadata
+     * Problem EXIF/IPTC kept by sending email
+     * Problem PDF B&W LZW/RLE/ZIP
+     * http://newsgroup.xnview.com/viewtopic.php?t=3644 hide of treeview
+     * http://newsgroup.xnview.com/viewtopic.php?p=27696
+     * http://newsgroup.xnview.com/viewtopic.php?t=5444
+     * Problem Outlook 2003
+     * http://newsgroup.xnview.com/viewtopic.php?t=5640 Open several files with another program?
+     * 'Open With' program added at the end
+     * After search, menu/tools/batch rename is disabled
+     * Add, Edit & sort in favorites : http://newsgroup.xnview.com/viewtopic.php?t=5019 & http://newsgroup.xnview.com/viewtopic.php?t=3262
+     * thumbnail + labels => folder with '.' (filename without extension)
+     * View mode, Ctrl+C copy filename too
+     * Too space in filmstrip - http://newsgroup.xnview.com/viewtopic.php?t=5527
+     * Pb description after rename (view mode) - http://newsgroup.xnview.com/viewtopic.php?p=27028
+     * Template filename number, pb with number in extension - http://newsgroup.xnview.com/viewtopic.php?p=27026
+     * Color used on active Tab - http://newsgroup.xnview.com/viewtopic.php?t=5379
+     * Open With - use descrption instead filename - http://newsgroup.xnview.com/viewtopic.php?p=23866
+     * Scan into can't add more than 100 pages
+     * Problem in PDF title - http://newsgroup.xnview.com/viewtopic.php?p=31365
+     * Problem with descript.ion and delete/move file - http://newsgroup.xnview.com/viewtopic.php?t=4994
+     * NConvert export, -rflag - http://newsgroup.xnview.com/viewtopic.php?p=37405
+     * Fix thumbnail for 2bits picture
+     * WBC fix
+     * view mode - move go to next file - http://newsgroup.xnview.com/viewtopic.php?t=9612
+     * Problem Fit Desktop & taskbar - http://newsgroup.xnview.com/viewtopic.php?t=5461
+     * 'Not Fit' problem with fullscreen - http://newsgroup.xnview.com/viewtopic.php?t=10431
+     * CMYK JPEG too dark
+     * exe slideshow don't use EXIF rotation
+     * tooltips problem - http://newsgroup.xnview.com/viewtopic.php?t=10309
+     * no custom open with in popup menu after search - http://newsgroup.xnview.com/viewtopic.php?t=9405
+     * OP/Canvas resize - following orientation
+     * Problem EXIF geotags - http://newsgroup.xnview.com/viewtopic.php?t=8642
+     * Problem TAB - iptc control - http://newsgroup.xnview.com/viewtopic.php?t=2836
+     * Gamma & TC - http://newsgroup.xnview.com/viewtopic.php?t=2466
+     * Describe (Ctrl+D) doesn't works in fullscreen
+     * Problem to copy exif data in properties
+     * New extract picture from movie (preview)
+     * Capture doesn't restore xnview window state - http://newsgroup.xnview.com/viewtopic.php?t=6608
+     * XPM problem (2 chars)
+     * Crash with BAD FLC
+     * PEF
+     * Problem with some KDC
+     * TIFF with nsamples>3 and 16bits
+     * PGM 16bits
+     * GIF
+     * Pb with mouse on  dual monitor - http://newsgroup.xnview.com/viewtopic.php?t=5682 & http://newsgroup.xnview.com/viewtopic.php?t=5464
+     * Second Monitor will not show slide show - http://newsgroup.xnview.com/viewtopic.php?t=6800
+     * Problem en 'force xnview to fit' grey area - http://newsgroup.xnview.com/viewtopic.php?t=8855
+     * Problem in slideshow dialog with videos (not shown always) - http://newsgroup.xnview.com/viewtopic.php?t=5560
+     * WIA - http://newsgroup.xnview.com/viewtopic.php?p=38411
+
+
+XnView v1.82.4 (LIBFORMAT v4.57) 07/03/2006:
+
+    Added : TIFF EXIF support
+    Fixed : Layout 3
+
+    
+XnView v1.82.3 (LIBFORMAT v4.55) 07/02/2006:
+
+    Added : GridSpacingX & GriSpacingY
+    Fixed : Move file/folder on 95/98/Me
+    Fixed : Batch convert - Rotate
+    Fixed : Sepia
+    Fixed : GridType
+    Fixed : WebPage, EXIF/IPTC on thumbnail
+    Fixed : only 1 effect when using -slide
+    Fixed : transparency color in fullscreen
+    Fixed : 'apply to image' not kept in filter
+    Fixed : history in btach rename
+    Fixed : Not all files are shown after a search
+
+
+XnView v1.82.2 (LIBFORMAT v4.55) 07/02/2006:
+
+    Fixed : IPTC writing
+    Fixed : Copy/Move after search
+    Fixed : 'apply to image' checkbox
+    Fixed : Can't go to c:\
+
+
+XnView v1.82 (LIBFORMAT v4.55) 31/01/2006:
+
+    Added : Levels + Histogram
+    Added : "Thumbnails + labels" in view mode, and "show filename in thumb view" option
+    Added : Option SPACE => quickslide or dir next
+    Added : Switch mode => MiddleButton : nothing
+    Added : Adjust dialog => hide preview
+    Added : "Auto colapse last used folder"
+    Added : IPTC edit add "Time Created" and "Release Time"
+    Added : IPTC edit add "exif date taken, date digitized", System creation date/last modification data
+    Added : Options/Browser/Filelist/ ".."
+    Added : Camera RAW : full size, half size, ...
+    Added : IPTC edit in context menu (fullscreen)
+    Added : Send by Email
+    Added : Option : no scroll bar in view mode
+    Added : In properties, size in cm
+    Added : In quick slideshow, no adjust
+    Added : In fullscreen browser, add ctrl+b
+    Added : When picture is changed, and we delete it display "The file has been changed. Do you really want to delete the file?"
+    Added : auto levels/contrast in nconvert/multi cnv/toolbar(adjust)
+    Added : In "change timestamp", add/substract date/time from exif date
+    Added : Browser : change page from a multipage file
+    Added : Batch rename duplicate
+    Added : Support EXIF camera RAW
+    Added : hidden ini : OpenWithAssociatedProgram, OpenWithXnView, OpenNone
+    Added : option resize convert to make resize based on original orientation
+    Added : hanning filter to resize
+    Added : Write/File Type : most used to the top
+    Added : edit metadata/export in browser
+    Added : set jpeg lossless comment, comment <=> iptc caption
+    Added : Lossless clean : remove exif, iptc, thumb, ...
+    Added : BLP format
+    Added : convert in 32bits
+    Added : Sort by EXIF date (browser & batch rename)
+    Added : rotation anti alias + background color
+    Added : 'Name (Numeric)' in batch rename & web page
+    Added : thumbnail for text file
+    Added : deskew
+    Added : Thumbnails for folder
+    Added : PDF export
+    Added : Page Down/Up in filmstrip mode
+    Added : menu "File Edit View Image Filter Tools Windows" in view mode
+    Added : open bookmark menu with F6/Ctrl+F1
+    Added : Ignore extensions (separated by space) (par def PDF EPS PS EPSF)
+    Added : Message before saving multi page file
+    Added : Message before jpeg lossless rotation
+    Added : History of convert script
+    Added : When 'Single click to expand folder tree', do use underlined (treeview)
+    Added : ShellEx : Use embedded thumbnail if available
+    Added : ShellEx : EXIF rotation
+    Added : ShellEx : remove filename
+    Added : Add hotkeys Alt+2, Alt+3 ... for the second, third ... external program
+    Added : Add GridSpacing & GridType & KeepGridForNextPrevious as hidden ini
+		    0 > No labels, 1 > Displays digits and letters for the X and Y coordinates (like actually), 2 > Displays only digits for X, and letters for Y
+    Added : F5 for refresh/reopen
+            Show/Hide Folder Tabs - Ctrl+Shift+M
+            Lossless crop - Ctrl+Shift+Y 
+            Create Contact Sheet - Ctrl+T 
+            Show/Hide Tabs - Ctrl+Shift+M
+    Added : PFI (photo Filtre Studio image)
+    Added : Folder Tabs,  Status bar,  Toolbar at the bottom in browser menu!!
+    Added : "Open parent folder" in context menu after a search
+    Added : EXIF-user-comment => comment  
+    Added : Added View in search dialog
+    Added : ShellEx : Set as wallpaper -> fit-> best...
+    Added : Stretch video option in slideshow
+    Added : JBR import added
+    Added : Tab in batch convert
+    Added : Some entries in tab menu
+    Added : use_cie in NConvert for ghostscript
+    Added : option to replalce \ in filelisting
+    Added : Import wmz/emz
+    Added : batch convert, $ for original folder
+    Changed : date template is "Y-m-d_H-M-S" by default
+    Changed : Use external EXIF text
+    Fixed : In Batch Rename, "Case" operation should be the last, currently it's before "Replace/With"
+    Fixed : batch rename: change <folder> to last folder not full pathname
+    Fixed : In copy/move dlg, hidden folder showed or not following option
+    Fixed : In fullscreen, view update after iptc editing
+    Fixed : Problem to rename a file after a searching
+    Fixed : Bad sorting after search/categories
+    Fixed : file size not updated after save
+    Fixed : tab icon not updated after next/prev
+    Fixed : bug to rename folder by changing only case
+    Fixed : Description not copied after drag&drop
+    Fixed : CRW orientation
+    Fixed : Add text (batch convert) position center
+    Fixed : ## in Web page create
+    Fixed : Zoom with mouse wheel in compare dialog
+    Fixed : Fix a bug for animated gif
+    Fixed : Problem slideshow in 95/98
+    Fixed : Problem when saving big picture
+    Fixed : playbar not hidden in view mode
+    Fixed : Softimage writing
+
+
+XnView v1.80.3 (LIBFORMAT v4.47) 30/06/2005:
+
+    Fixed : OpenEXR use now gamma of 1
+    Fixed : Maya IFF 16bits
+    Fixed : Memory leak in fullscreen
+    Fixed : Not in the good folder when returning in browser from view
+
+
+XnView v1.80.2 (LIBFORMAT v4.47) 30/06/2005:
+
+    Fixed : Bad thumbnail for Contact sheet
+    Fixed : Batch rename & move file up/down
+    Fixed : WEB creation, no IPTC & EXIF after resize
+    Fixed : Lossless crop & "Use EXIF orientation to rotate" load option
+    Fixed : Read ahead/cache behind
+    Fixed : some other bugs
+
+
+XnView v1.80.1 (LIBFORMAT v4.47) 30/06/2005:
+
+    Improved : Thumbnail for CR2/NEF/ORF files
+    Fixed : 'Add text' in batch convert
+    Fixed : Screensaver not restored after slideshow
+    Fixed : Problem with selection & ratio
+    Fixed : wallpaper not saved in subfolder XnView
+    Fixed : Problem saving with Plugins
+
+
+XnView v1.80 (LIBFORMAT v4.47) 17/06/2005:
+
+    Added : binary without dithering
+    Added : Goto page dialog with update
+    Added : Automatic levels & contrast
+    Added : Load all pages in multi file create
+    Added : Edit Tiff Multipage
+    Added : New options in Batch scan
+    Added : Support of WPG 5.1 & 6.0
+    Added : Pause key to start/stop automatic slideshow
+    Added : Keep date/time for IPTC
+    Added : MSBF option for DPX
+    Added : Option to start slideshow/convert with files from folder
+    Added : Replace/Options in Batch rename
+    Added : Camera options in NConvert
+    Added : JPEG Embedded thumbnail
+    Added : Thumbnail in batch rename
+    Added : History & Use last used template option in batch rename
+    Added : PS/AI/PDF thumbnail option
+    Added : FLI/FLC as animation
+    Added : multi ICO writing
+    Added : Custom date format
+    Added : HTML template
+    Added : IPTC searching
+    Added : EXE/SCR slideshow (windows only)
+    Added : Zoom with wheel mouse
+    Added : Opacity in "Add text"
+    Added : PSD writing
+    Added : Options for page extract
+    Added : Popup menu on folder view (rename, delete, create folder)
+    Added : Start slideshow (recurse or not) from a folder
+    Added : High quality, transitions in slideshow
+    Added : One strip for TIFF saving
+    Added : User config for infos displayed below thumbnails
+    Added : Support of CGM/SVG from CadSoftTools
+    Added : WIA support
+    Added : Thumbnail for .htm/.html
+    Added : Plugin for AWD (windows only)
+    Added : Thumbnail for quicktime movie
+    Added : Lossless rotation is applied to the thumbnail too, if present
+    Added : New Layout (Filmstrip mode)
+    Added : DDS writing
+    Added : Use external player for movie
+    Added : Crayola ART read support
+    Added : Folder can be Copied/Moved
+    Added : 3D border & Drop shadow in Effect
+    Added : Compare
+    Added : Dual monitor support
+    Changed : Options
+    Changed : Browser & view mode has own size/position
+    Changed : Wallpaper in "Application Data" instead of "My Documents"
+    Changed : Use of DEL key in view mode
+    Changed : Selection in browser with Shift
+    Changed : Canvas resize in NConvert (added position)
+    Changed : Camera RAW
+    Changed : LIBPNG 1.2.8
+    Changed : Timer value in slideshow can be entered like 0.5
+    Changed : User Plugins are now in Plugins folder with extension .usr
+    Changed : Multipage Create, edit & extract in tools menu
+    Changed : New method to send picture in Total Commander
+    Improved : xnview.ini reading/writing
+    Improved : HTML create
+    Improved : Batch rename
+    Improved : Adjust dialog
+    Improved : Adjust HLS dialog
+    Improved : Global filter dialog
+    Improved : Generate file listing
+    Improved : Copy/Move to dialog (windows only)
+    Improved : Plugins cache to speedup startup
+    Improved : IPTC dialog
+    Improved : View in fullscreen from browser (option: enter for fullscreen)
+    Fixed : Video thumbnail
+    Fixed : ICL
+    Fixed : empty descript.ion created
+    Fixed : DPI options for PDF are not used in Multi-Page create
+    Fixed : BMP
+    Fixed : Save as & Prev/Next file
+    Fixed : IPTC
+    Fixed : Vicar
+    Fixed : Psion Bitmap 3 grey
+    Fixed : XPM export
+    Fixed : disable directory view
+    Fixed : Problem with font & '&'
+    Fixed : DDS
+    Fixed : PSP
+    Fixed : KQP
+    Fixed : TGA
+    Fixed : Associations on Xp (windows only)
+    Fixed : IPTC writing dialog
+    Fixed : View IPTC Custom tag
+    Fixed : EXIF Casio Makernotes
+    Fixed : DDS D3DFMT_P8
+    Fixed : CRW/NEF/ORF/...
+    Fixed : Many other things...
+
+
+XnView v1.74 (LIBFORMAT v4.25) 27/09/2004:
+
+    Added : Gammasat, conbright, autocrop in multi-convert & NConvert
+    Added : New submenu for MRUF
+    Added : Use EXIF orientation
+    Added : EXIF orientation in "JPEG lossless rotation"
+    Added : HLS & Sepia in multi-convert & NConvert
+    Added : Use of key "context menu" in browser
+    Added : Text template (iptc, exif, ...) in multi-convert
+    Added : $ for source folder in NConvert
+    Added : Fit option for fullscreen
+    Added : Scan headers option
+    Added : Option to have old zoom feature with left button
+    Added : Custom size/ratio
+    Added : High quality preview in browser
+    Added : Loading WMF in full resolution
+    Added : (Advanced) Operations can be moved
+    Added : Add/Merge option for batch IPTC
+    Added : Flat style thumbnail option (windows only)
+    Added : Horizontal/Vertical windows tiling
+    Added : FlashCam frame, Cisco IP Phone & JBIG-2 read format
+    Added : Lossless crop
+    Added : lossless operations in toolbar
+    Added : Options for camera RAW format
+    Added : Describe on folder
+    Added : Use EXIF DPI informations
+    Added : Option to select new files added
+    Added : Option to use same path for loading & saving
+    Added : Dialog to view existing files before copy/move to folder
+    Added : Mouse navigation in slideshow with timer
+    Added : text can be outlined
+    Added : Option to use original pathname & format for 'save as'
+    Added : Read support of Siemens mobile, FAX manager, TMSat, PowerCard maker
+    Changed : Browser/Show text & Show hexa moved to options
+    Changed : jbigkit 1.6
+    Changed : MRW,ORF,NEF
+    Fixed : Next/Previous
+    Fixed : <IPTC:Keywords>
+    Fixed : DDS writed by DirectX9
+    Fixed : View picture sorted by image property
+    Fixed : Move lost item focus
+    Fixed : Associations on Xp (windows only)
+    Fixed : ESC quit fullscreen view from browser
+    Fixed : After "Save As", the picture has now the new name
+    Fixed : XWD
+    Fixed : When user can write in XnView folder, cache will be created in "Document Settings" (windows only)
+    Fixed : 16000x16000 limit for gif files
+    Fixed : Resize selection & Fit image
+    Fixed : Deselecting item in browser don't update preview (windows only)
+    Fixed : Some problems with video player (windows only)
+    Fixed : Describe with search results
+    Fixed : Multiconvert with CRW/High
+    Fixed : -ratio with resize & canvasresize problem in NConvert
+    Fixed : XnView Fit & Fit to image
+    Fixed : grey scale image resizing
+    Fixed : Slow scrolling (windows only)
+    Fixed : Playing movie in fullscreen (windows only)
+    Fixed : Fit to desktop + fullscreen
+    Fixed : Iff writing
+    Fixed : Casio makernotes
+    Fixed : Problem with old language dll (windows only)
+    Fixed : With many files, all thumbnails are not created
+    Fixed : Preview in browser updated after lossless transformations
+    Fixed : Batch rename lose description
+    Fixed : IPTC are not readed correctly on some pictures
+    Fixed : Problem when adding directoty
+    Fixed : PDD
+    Fixed : PSP
+    Fixed : Fit to desktop all
+    Fixed : Many other things...
+
+
+XnView v1.70.4 (LIBFORMAT v4.22) 07/07/2004:
+
+    Added : GRS16 read support
+    Added : ESC when start in fullscreen exits
+    Added : Single ESC key
+    Fixed : Position text fullscreen/slideshow
+    Fixed : No info displayed in slideshow if title bar
+    Fixed : Drag&Drop doesn't work from other explorer in view mode
+    Fixed : Khoros VIFF with float component
+    Fixed : MacPaint
+    Fixed : RLA writing
+    Fixed : Check update
+    Fixed : Now "Filter By" is saved
+    Fixed : Long delay when viewing second picture (in view mode)
+    Fixed : "Fit to Desktop" mode
+
+
+XnView v1.70.3 (LIBFORMAT v4.21) 20/06/2004:
+
+    Added : read IPTC from PSD file
+    Added : HDRI read support
+    Added : Teli fax, Gamma fax, Brother Fax, WorldPort fax, Faxable PCX, Faxable TIFF read support
+    Added : CImage read support
+    Added : Kontron, Zeiss BIVAS, Fontasy Grafik, Atari PCP, Winzle Puzzle read support
+    Added : AVHRR Image, Venta fax read support
+    Added : Print Master, Print Shop, FLI/AFLI, GunPaint, Face Painter, DolphinEd read support
+    Added : Fugawi Map, Fun Painter, Fun Painter II, NewsRoom, GigaPaint read support
+    Added : GPS, Minolta, Casio, Sigma, Sanyo EXIF infos
+    Changed : Red eyes method
+    Fixed : IPTC string more than 512
+    Fixed : Quicktime video
+    Fixed : JPEG2000 16bits with Lurawave plugin
+    Fixed : thumbnail are not refreshed after a jpeg lossless rotation
+    Fixed : Drag&Drop doesn't work from other explorer
+    Fixed : writing ICO 32bits
+    Fixed : writing MBM 256 grey + 24bits
+    Fixed : Archives filter in browser
+
+
+XnView v1.70.2 (LIBFORMAT v4.20) 01/06/2004:
+
+    Fixed : File/Open
+    Fixed : Infos in fullscreen
+    Fixed : Sort by name numeric
+    Fixed : Focus problem after description
+    Fixed : Light Work
+    Fixed : View with selected files
+    Fixed : Batch rename
+    Fixed : On windows 95, dummy folder created
+    Fixed : Rename erase current selection
+
+
+XnView v1.70 (LIBFORMAT v4.20) 16/05/2004:
+
+    Added : Backspace for up level in browser
+    Added : PAX read format
+    Added : OpenEXR read format
+    Added : New audio/video player (windows only)
+    Added : Selection proportions
+    Added : Size displayed in status bar in pixels/cm/inchs
+    Added : Customized text to display in fullscreen/slideshow
+    Added : Image data/metadata can be used in rename/add text
+    Added : text color, font, position for fullscreen/slideshow
+    Added : -binary nodither in Nconvert
+    Added : read support of Everex Everfax, AdTech perfectfax, Fremont Fax96
+    Added : read support of Bert's Coloring, Syberia Texture, VIPS image
+    Added : read support of FlashCam frame, Jigsaw, Weekly Puzzle
+    Added : Date in files listing
+    Added : Adobe Plugins support (8bf) (windows only)
+    Changed : libpng 1.2.5
+    Changed : zlib 1.2.1
+    Changed : bookmark.ini is now saved in "Document Settings"
+    Changed : Sort is the same in view & browser mode
+    Fixed : When using "up one level", old folder is selected
+    Fixed : TIFF 16bits (RGB, Lab, CMYK)
+    Fixed : Scitex
+    Fixed : TDI uncompressed
+    Fixed : K25
+    Fixed : SunRaster 32bits
+    Fixed : ICNS Alpha
+    Fixed : Rotate 180°
+    Fixed : Bug when updated filelist (move/copy files)
+    Fixed : Delete file + read ahead option
+    Fixed : Synchronize view & browser
+    Fixed : Automatic slide not stopped when switching to the browser
+    Fixed : folder are sorted too (in browser)
+    Fixed : ico
+    Fixed : Rotation on binary picture
+    Fixed : Speed up delete file in browser
+    Fixed : DPX grey 10bits
+    Fixed : FileMagic multi page
+    Fixed : Sort by Properties (windows only)
+    Fixed : TIFF 16bits planar separate
+    Fixed : Mouse use in fullscreen
+    Fixed : ACE texture
+    Fixed : Search pattern & date (windows only)
+    Fixed : NEF/ORF
+    Fixed : Scitex
+    Fixed : XWD
+    Fixed : If "show hidden files" is not set, hidden files are not shown in view mode
+
+
+XnView v1.68.1 (LIBFORMAT v4.17) 16/02/2004:
+
+    Fixed : ESC/DEL key when renaming filename
+    Fixed : Sort numeric with 2 numbers
+    Fixed : JPEG lossless rotation
+    Fixed : EXIF export
+
+XnView v1.68 (LIBFORMAT v4.16) 28/01/2004:
+
+    Added : ACE texture read support
+    Added : BMP DXT1/DXT3
+    Added : DXF/DWG/HPGL read support with CadSoftTools (http://www.cadsofttools.com) plugins
+    Added : Other resampling methods
+    Added : 3DSMax & Picture IT! thumbnail
+    Added : Microsoft Image Composer read support
+    Added : Arrange by name (numeric)
+    Changed : New NERO SDK
+    Fixed : Cineon write
+    Fixed : FlashPix file in read only
+    Fixed : KDC
+    Fixed : DPX 10bits grey
+    Fixed : RGB 16bits
+    Fixed : DDS ARGB
+    Fixed : Problem contact sheet
+    Fixed : Print multi page/images reopen printer
+
+
+XnView v1.67 (LIBFORMAT v4.11) 15/12/2003:
+
+    Fixed : PS multi page
+    Fixed : LUT with DPX/Cineon
+    Fixed : Sun raster
+    Fixed : DrHalo
+    Fixed : Some bugs
+    Changed : Red eyes reduction method
+    Changed : Skins are now in different folder
+    Added : Hidden section in .ini or registry for administrators
+    Added : Brender read support
+    Added : IPTC in TIFF is readed now
+
+
+XnView v1.66 (LIBFORMAT v4.11) 23/10/2003:
+
+    Fixed : IPTC bug
+    Fixed : TIFF writing
+    Fixed : "Show desktop folder" not saved
+    Fixed : PPM with max value > 255
+    Fixed : In browser, sort by picture size
+    Added : Canvas mode & color in "Convert/Advanced Operations"
+
+
+XnView v1.65 (LIBFORMAT v4.10) 08/10/2003:
+
+    Added : Comment are now saved (JPEG, TIFF, TARGA, GIF, PNG)
+    Added : options KeepEXIF & KeepIPTC
+    Added : Comment can be edited
+    Added : Remove EXIF, IPTC, EXIF thumbnail
+    Added : EXIF export
+    Added : Batch IPTC editing (Merge)
+    Added : BSB Chart read support (Plugin)
+    Added : Change Timestamp
+    Added : "View in fullscreen" when viewing picture from the browser
+    Added : Maya IFF & Scitex output
+    Added : PlayStation TIM2 read support
+    Added : PSP v6
+    Added : CD/VCD burning with NeroBurning
+    Added : LuraDocument.jpm read/write(demo) support
+    Added : Play Sound/Movie in browser option
+    Added : GROB with 64 greyscale
+    Added : Batch IPTC
+    Added : "No thumbnail creation if greater..." option
+    Added : Fullscreen View option
+    Added : Custom Thumbnail size
+    Added : In browser, Copy/Cut/Paste on files
+    Added : Sort by image size
+    Added : Mac Icons read support
+    Added : Drag&Drop on folder in listview
+    Added : User Plugin (See my website for an example)
+    Added : Position & Colour in "Canvas resize"
+    Added : Zoom with Control + Mouse whell
+    Changed: Multi-file dialog box
+    Changed: Copy => Copy image
+    Changed: Jasper 1.700
+    Fixed : edit bookmark
+    Fixed : IPTC
+    Fixed : Pocket PC Themes
+    Fixed : ContactSheet can create more than one picture
+    Fixed : PCD with rotation
+    Fixed : BMP with bitfield compression & 32 bits
+    Fixed : PICT2 with region
+    Fixed : "Browse with XnView"
+    Fixed : YUV loading
+    Fixed : Batch rename
+    Fixed : When preview is hidden, no more picture loading
+    Fixed : Multi pages in contact sheet
+    Fixed : Read Ahead option
+    Fixed : Write Quality problem with JPEG2000 (jasper)
+    Fixed : Describe on search results
+    Fixed : Multiconvert, create folder if doesn't exists
+    Fixed : Many other things...
+
+
+XnView v1.61 (LIBFORMAT v3.99) 22/05/2003:
+
+    Fixed : brazilian & chinese language
+    Fixed : column view (windows only)
+    Fixed : Freeze sometimes on windows 95/98/NT
+    Fixed : Freeze in column mode (windows only)
+    Fixed : "Force XnView..." & "Fit to window"
+    Fixed : "show desktop ..."
+
+
+XnView v1.60 (LIBFORMAT v3.99) 03/05/2003:
+
+    Added : FileMagic read support
+    Added : BIAS FringeProcessor read support
+    Added : Fluoview/Metamorph TIFF format
+    Added : "Read ahead" & "Cache behind" option
+    Added : Load/Save palette
+    Added : Show desktop in treeview (Windows only)
+    Added : Show transparency
+    Added : Combine Alpha for 32bits picture
+    Added : High Zoom quality
+    Added : Automatic slideshow
+    Added : "Play movie" & "Play sound" options
+    Added : High quality for thumbnail
+    Added : -rmeta & -rexifthumb in NConvert to remove Metadata
+    Added : Zoom step
+    Added : popup menu in view mode (windows only)
+    Changed : Options added in "Rename Sequence", called now "Batch Rename"
+    Changed : "Keep zoom..." removed, "Lock zoom" added
+    Changed : Speed for the cache
+    Changed : JPEG, Targa, TIFF & WMF thumbnail creation is more faster
+    Fixed : Speedup startup when all languages
+    Fixed : Alias pix 
+    Fixed : RSB
+    Fixed : UNC path (windows only)
+    Fixed : pictor
+    Fixed : Edmics
+    Fixed : unit in resize dialog are kept
+    Fixed : SlideShow use Gamma correction
+
+
+XnView v1.55 (LIBFORMAT v3.93) 06/03/2003:
+
+    Added : "Paste" clipboard with or without selection
+    Added : Red eyes correction
+    Added : Toolbar skin showed
+    Added : First frame of AVI & MPEG can be extracted
+    Added : "Trim" to jpeg lossless transformations
+    Added : DirectDraw Surface import
+    Added : Nlm, Otb & Nol write support
+    Added : PocketPC Theme & XYZ read support
+    Added : Prims CPA read support
+    Added : Sepia & HLS Adjust added
+    Added : KDC best support (Plugin)
+    Added : PCD high resolution (Plugin)
+    Added : "Keep date" in JPEG lossless rotation
+    Added : Edit IPTC data
+    Added : ZIP & JPEG compression in TIFF
+    Added : ECW writting ratio in option
+    Added : Disabled toolbar & file toolbar in skin
+    Added : PNG option to compose image with transparency/alpha
+    Added : Edit colormap & transparency index
+    Added : "Loop on the file list" option
+    Added : Tilepic read support
+    Added : Panarama create
+    Added : Search
+    Added : Movie extract
+    Added : option "Synchronize view & browser"
+    Added : option "Auto refresh" file list (Windows only)
+    Added : Egg Paint read support
+    Changed : Jasper 1.6
+    Changed : Xnef.dll removed
+    Changed : IPTC.dll removed. Native IPTC support
+    Changed : EXIF.dll removed. Native EXIF support
+    Changed : Script in multi/Seq convert
+    Fixed : Relative SLD file can be reloaded
+    Fixed : Limit of text 128 car
+    Fixed : Dicom
+    Fixed : NEF, CRW
+    Fixed : JP2 greyscale writing
+    Fixed : TIFF with extra samples
+    Fixed : EXIF
+    Fixed : JPG lossless rotation with EXIF
+    Fixed : Delete confirmation
+    Fixed : DICOM Lossless JPEG
+    Fixed : Bookmark entries not removed
+    Fixed : Rename keep description
+    Fixed : Batch convert remove EXIF/IPTC infos
+    Fixed : DPI & Text are saved correctly in Script 
+    Fixed : PSD
+    Fixed : animated GIF
+
+
+XnView v1.50.1 (LIBFORMAT v3.87) 10/12/2002:
+
+    Fixed : Can not add multi line text (Windows only)
+    Fixed : convert in 256 colors
+
+
+XnView v1.50 (LIBFORMAT v3.87) 8/12/2002:
+
+    Fixed : Free disk space (windows only)
+    Fixed : Interleaf greyscale
+    Fixed : Amiga Icon (NewIcon)
+    Fixed : Susie plugin
+    Fixed : Gamma slider (windows only)
+    Fixed : GIF & PNG transparency
+    Fixed : VRML
+    Fixed : Mask correctly writed in ICO
+    Fixed : RAW writing
+    Fixed : Browser
+    Added : Hires & TAP Oric format read support
+    Added : Mouse Wheel & Del key configuration
+    Added : MrSid read support (plugin)
+
+
+XnView v1.46 (LIBFORMAT v3.86) 8/11/2002:
+
+    Fixed : Resize don't change dpi
+    Fixed : Fit in slideshow
+    Fixed : Capture problem (windows only)
+    Fixed : Total File size/Disk size (windows only)
+    Fixed : PDB writing
+    Fixed : SCR ZX
+    Fixed : Hide mouse in slideshow
+    Fixed : Zoom not centered
+    Fixed : Crash on windows 95/NT/98
+    Added : Add text (Windows only)
+    Added : Set DPi in convert
+    Added : CRW D60
+    Added : "Use shell context" again (Windows only)
+    Added : "Use relative path" in slideshow options (Windows only)
+    Added : remember last format used
+
+
+XnView v1.45 (LIBFORMAT v3.85) 23/10/2002:
+
+    Fixed : TIFF binary options in Multipage dialog
+    Fixed : Black&White picture not shown in colors display
+    Fixed : Rename sequence with same name
+    Fixed : IOCA
+    Fixed : Jpeg-ls
+    Fixed : Some MacPaint
+    Fixed : PC Paint
+    Fixed : EXIF not saved correctly
+    Fixed : TIFF ZIP some memory not freed
+    Changed : Resize dialog
+    Added : Can view mask from Hemera Objects
+    Added : Hemera Thumbs read support
+    Added : Zoner Callisto Metafile (preview) read support
+    Added : Maw-Ware Textures & Pict2 read support
+    Added : "Use extended menu" (Windows only)
+
+
+XnView v1.41 (LIBFORMAT v3.81) 18/10/2002:
+
+    Fixed : FSH
+    Fixed : Access
+    Fixed : Webshot wbc & wbz
+    Fixed : BMP 32bits
+    Added : Embroidery, SmartDraw 6 template & SecretPhotos puzzle read support
+    Added : LSS16, PhotoFrame, Autodesk SketchUp component read support
+    Added : Optigraphics Tiled & Optigraphics read support
+    Added : Eroiica read support
+    Added : Latvian & Icelandic language
+
+
+XnView v1.40 (LIBFORMAT v3.80) 18/09/2002:
+
+    Fixed : Delete entry crash bookmark
+    Fixed : BMP 16bits r5g5b5
+    Fixed : PP5
+    Fixed : IFF crash
+    Fixed : Sound playing with previous/next file
+    Fixed : Luminosity/contrast dialog
+    Fixed : Scan saving
+    Fixed : Overwriting problem in multi-convert
+    Fixed : Properties with .nef
+    Fixed : 'Show preview' not saved
+    Fixed : AFX
+    Fixed : WBZ
+    Fixed : Interlaced PNG color
+    Fixed : xnview crash on exit if TWAIN dialog opened
+    Fixed : TIFF LZW 16bits
+    Fixed : NConvert -info option
+    Fixed : RSB
+    Changed : Jasper 1.5.4
+    Changed : In browser, thumbnail and large icon
+    Changed : xnview.ini is now in the folder of xnview by default
+    Changed : New slideshow dialog
+    Added : output in capture
+    Added : Double-clic in browse launch associated application 
+    Added : Rename/Delete/Create folder in browser
+    Added : 'show cursor' in capture
+    Added : 'Purge MRU file list on exit'
+    Added : Postcript saving
+    Added : Sun raster type 17
+    Added : Postscript page size read option
+    Added : 'Keep original date/time'
+    Added : Description copied with "Copy to"/"Move to"/Copy/Move
+    Added : 'Open with'
+    Added : Background for slideshow
+    Added : Preview in slideshow
+    Added : 'Items shown' option for browser
+
+
+XnView v1.37 (LIBFORMAT v3.72) 26/06/2002:
+
+    Fixed: XWD 1bits
+    Fixed: CLP 32bits
+    Fixed: FLC
+    Fixed: LIF
+    Fixed: some Aldus WMF
+    Fixed: Some old PNG
+    Fixed: ICO 32bits
+    Fixed: TIFF 16bits
+    Fixed: DICOM 16/8
+    Improved: "Copy to" & "Move to" dialog
+    Improved: Capture dialog
+    Improved: Brightness, Contrast, Gamma & Color balance in one dialog
+    Changed: In browser, menu to change the view style
+    Changed: Open & Browse icon have popup menu
+    Changed: "JPEG lossless" dialog
+    Changed: Libpng 1.0.13
+    Added: "Autodesk SKETCH thumbnail", "Playback Bitmap Sequence" read support
+    Added: Gamma correction for the display
+    Added: New skin for toolbar
+    Added: Iris graphic & Eclipse read support
+    Added: NGG write support
+    Added: "Copy to clipboard" in EXIF properties
+    Added: Option to view picutre with different X/Y DPI
+    Added: Automatic cropping
+    Added: "jpeg lossless transformations" in browser
+    Added: PWC read support
+    Added: Overwrite option in MultipleConvert
+
+
+XnView v1.36 (LIBFORMAT v3.70) 30/05/2002:
+
+    Fixed: TIFF CIE Lab
+    Fixed: Problem with some Targa
+    Fixed: SGI RLE
+    Fixed: Binary convert in multi/seqconvert
+    Fixed: DICOM
+    Fixed: Jpeg-2000
+    Fixed: Browser & Last used directory
+    Fixed: XWD
+    Fixed: Quicktime Image
+    Fixed: TIFF 48bits LZW + Predictor
+    Fixed: Problem multiconvert with YUV
+    Fixed: Some problem with "save script" (multi-convert)
+    Improved: Black&White picture
+    Changed: New Print dialog box used (Windows only)
+    Changed: libjbig 1.4
+    Changed: zlib 1.1.4
+    Added: "Show Mask" for 32bits picture
+    Added: DPX 10bits/component writing
+    Added: LUT support to read/write CINEON/DPX
+    Added: OTB read support
+    Added: Micrografx Picture Publisher 4.0 & 5.0 read support
+    Added: Webshot wbz read support
+    Added: DICOM jpeg 12bits
+    Added: DPI option for EPS/PS/PDF reading
+    Added: WhyPic read support
+    Added: Susie's Plugins support
+    Added: Clie PRC 16bits
+    Added: EA Sports FSH read support
+    Added: WAD3 (Half life) read support
+
+
+XnView v1.35 (LIBFORMAT v3.56) 10/04/2002:
+
+    Added: TIFF "Old jpeg style" with embedded jpeg
+    Added: TIFF with thunderscan compression
+    Fixed: Crash if the current folder is deleted (Windows only)
+    Fixed: Problem with ico/scr associations
+    Fixed: TIFF Packbits with 16bits/component
+    Added: TIFF Adobe Deflate
+
+
+XnView v1.34 (LIBFORMAT v3.53) 20/03/2002:
+
+    Fixed: DPX little endian
+    Fixed: BFX BITWARE with more than 1 page
+    Fixed: BMP 15bits
+    Fixed: EPS/PS with ghostscript
+    Fixed: In the printing dialog, the float value use localisation
+    Fixed: Problems when file are removed or added in the browser (Windows only)
+    Fixed: MBM 12 & 16 bits
+    Fixed: PCX 256colors
+    Added: PhotoPaint stand alone format
+    Added: Macintosh PICT jpeg
+    Added: writing WRL with alpha
+    Added: ECW writing (limited to 500Mb)
+    Added: FITS write support
+    Added: DPX write support
+    Added: Auto F/X, AIP read support
+    Added: B3D read support
+
+
+XnView v1.33 (LIBFORMAT v3.50) 13/03/2002:
+
+    Fixed: Capture dialog
+    Added: "Show filename" in slideshow
+    Added: middle button to view in fullscreen (Windows only)
+
+
+XnView v1.32 (LIBFORMAT v3.50) 25/02/2002:
+
+    Fixed: EPS with preview & TIFF
+    Fixed: DPI are not saved correctly in JPEG
+    Fixed: Sort by description
+    Fixed: With WMF/EMF some memory not freed
+    Fixed: Browser show hidden folder (Windows only)
+    Fixed: JPEG writing crash if no more space
+    Changed: JPEG lossless in tools
+    Added: Even or/and Odd pages in Batch scan
+
+
+XnView v1.31 (LIBFORMAT v3.20) 25/02/2002:
+
+    Fixed: File/open (Windows only)
+    Fixed: Print in landscape (Windows only)
+
+
+XnView v1.30 (LIBFORMAT v3.20) 07/02/2002:
+
+    Fixed: Problem with statusBar when selecting rectangle (Windows only)
+    Fixed: Flat button option (Windows only)
+    Fixed: kqp
+    Fixed: IFF 6bits
+    Fixed: in Multiconvert with "remove filename"
+    Fixed: FLI
+    Fixed: Maya IFF with Zbuffer
+    Fixed: XWD 16bits
+    Fixed: Problem with arrow for jpeg/fpx quality
+    Fixed: PNG interlaced writing
+    Fixed: FPG & MAP reading
+    Fixed: PCX size greater than 16000
+    Fixed: Cache between version
+    Fixed: 24bits ICO writing
+    Fixed: GIF writing with transparency=0
+    Fixed: Dicom reading
+    Fixed: PCD with rotate flag
+    Fixed: Transparency index in PNG
+    Fixed: De-interlaced
+    Fixed: Bug with focus in treeview (Windows only)
+    Fixed: 2bits tiff writing
+    Fixed: Problem with gostscript (Windows only)
+    Fixed: Softimage pic problem
+    Fixed: selected items & sort in browser (windows only)
+    Fixed: Tiff with bad RowPerStrip
+    Fixed: somes problems (eps, ps, sfw, pmp, ...) if xnview started from a CD (Windows only)
+    Fixed: Maya IFF with zbuffer
+    Changed: In Fullscreen, only filename is showed
+    Changed: TIFF G3/G4 are now saved with Photometric (white=0)
+    Changed: ESC key force XnView to quit
+    Changed: Icon are extracted from file in browser (Windows only)
+    Changed: Toolbar skin. See skin/toolbar.skn
+    Changed: ECW SDK 2.45
+    Added: "Create Multi-page" DCX/TIFF/LDF
+    Added: DCX, LDF write support
+    Added: LuraWave JPEG-2000 read/write support
+    Added: Kinupix skin, Just Buttons animated, Axialis screensaver read support
+    Added: TI86 read support
+    Added: Color option for the preview in browser
+    Added: Webshots read support
+    Added: "Tools" menu
+    Added: transparency color is now saved correctly
+    Added: In rename sequence, '*' is for original filename
+    Added: Amiga icon read support
+    Added: MBM 12, 16 & 24 bit read support
+    Added: CLP 16bits read support
+    Added: "Startup directory" option for browser
+    Added: Targa 32bits in RLE
+    Added: Wallpaper "Fit to desktop" (Windows only)
+    Added: Picture's comment are showed in Properties
+    Added: Biorad writing
+    Added: Now "icon view" in browser check directory's change
+    Added: PABX background read/write support
+    Added: Picture Gear Pocket read/write support
+    Added: Xerox DIFF, Hemera Photo Image read support
+    Added: You can print using the DPI of picture
+    Added: PowerShot Pro90, S30, S40, G1, G2 & EOS D30 read support
+    Added: ARN read support
+    Added: Bookmark in browser
+    Added: Popular graphic format are shown with color (Windows only)
+    Added: Transparency index for PNG
+    Added: SPACE key can be used as PageNext
+    Added: * key used for oroginal zoom
+    Added: "multi-page create" in Nconvert (-multi)
+    Added: Jpeg lossless transform in Nconvert (-jpegtrans)
+    Added: Serbian, Vietnamese, Malaysian & Basque translation
+    Added: -transpcolor in Nconvert
+    Added: Loop & Playbar option for video (Windows only)
+    Added: More options in capture
+    Added: Male MRI & Male Normal CT read support
+    Added: PhotoPaint read support
+    Added: Scan get correct dpi (Windows only)
+    Added: BYU-SIR read support
+    Added: new command line options (-scan, -capture, -clipaste)
+    Added: option to register XnView with USB events (Windows only)
+    Added: BYU-SIR, CoverDesigner & CoverDesigner Template read support
+
+
+XnView v1.25a (LIBFORMAT v3.16) 02/11/2001:
+
+    Fixed: Crash in browser with network drives (Windows only)
+
+
+XnView v1.25 (LIBFORMAT v3.16) 26/10/2001:
+
+    Fixed: process remove dpi informations
+    Added: ZX Spectrum Hobetta read support
+    Added: Fenix Map & Multi-Map read support
+    changed: CDROM drive are not cached (Windows only)
+    Changed: .xnview_cache no more used, now .xnview/cache (Motif only)
+    Added: Mindjongg read support
+    Added: Artist 64, InterPaint (Multicolor & Hires) & RunPaint Multicolor read support
+    Added: Picasso 64, Saracen Paint, Draz Paint, Vidcom 64, Blazing Paddles, 
+      Image System (Multicolor & hires), Rainbow Painter, Micro Illustrator Uncompressed, 
+      Paint Magic, Hi-Eddi read support
+    Added: NIST JPEG read support
+    Added: Quicktime 5 support (Windows only)
+    Fixed: Problem with video (Windows only)
+    Added: Transparency index for GIF writing
+    Added: -transparent in NConvert
+    Added: New ToolBar design (Options/toolbar). Thanks to David Marchevet !
+    Fixed: YUV writing
+    Added: Turkish translation
+
+
+XnView v1.24 (LIBFORMAT v3.15) 10/10/2001:
+
+    Added: Plugin info 
+    Added: EXIF, IPTF & nCC informations
+    Fixed: XPM
+    Added: Hebrew, Thaï, Croatian & Afrikaans language (Windows only)
+    Added: Animated BMP, & "Enable Animated BMP"
+    Added: MNG (anim)/JNG support
+    Added: "Scan into..." (windows only)
+    Added: Pocket PC bitmap, PhotoStudio Stamp, PhotoFantasy Image, PaintShopPro Mask read support
+    Added: PhotoStudio File, Ecchi, Award Bios Logo, OpenImage, WinMIPS read support
+    Added: "Keep zoom factor" option when Previous/Next file is used
+    Added: Interlaced PNG
+    Improved: Options dialog
+    Added: JPEG-ls read support
+    Fixed: PNG problem with chunk iCCP & cHRM
+    Changed: libpng 1.0.12
+    Fixed: colors adaptive convert with RGBA bitmap
+    Added: Cartes Michelin read support
+    Fixed: JPEG conversion (NConvert OS/2)
+    Fixed: Hidden folder are not showed if "Show Hidden Files" is not set !
+    Fixed: PMP & Quantel VPB read
+    Added: Lithuanian language (Windows only)
+    Added: Megalux Frame Format read support
+    Changed: User defined filters. Now filters are saved in Filters/udf.dat
+    Fixed: TIFF Jpeg
+    Fixed: TIFF with RowPerStrip=0
+    Added: Micro Dynamics MARS read support
+    Fixed: SGI RGB 16bits
+    Fixed: FlashPix read
+    Fixed: Nef read
+    Added: ICL are shown in browser (Windows only)
+    Fixed: Black screen with bad files in SlideShow
+    Improved: picture display (Windows only)
+    Added: color customization for window view background & browser thumbnail
+
+
+XnView v1.23 (LIBFORMAT v3.12) 07/09/2001:
+
+    Fixed: File/Cut (Windows only)
+    Added: SPOT read support
+    Added: MonkeyLogo/MonkeyCard read support
+    Added: 24bits ico writing
+    Added: Show File index in status bar
+    Fixed: Tiff multi-page
+    Added: Thumbnail (.tnl) read support
+    Added: MAGIchan graphic, Nef read support
+    Added: IWC read/write support
+    Added: JPEG-2000 read/write support
+    Added: Fit image to window vertically/horizontally
+    Added: Description in info tips
+    Fixed: thumbnail create (copy image source & link problem)
+    Added: SPACE = PAUSE in slideshow
+  
+
+XnView v1.22 (LIBFORMAT v3.10) 26/08/2001:
+
+    Fixed: MBM writing
+    Fixed: XAR v1&2 reading
+    Fixed: PGM reading
+    Fixed: PDB 16 grey writing
+    Fixed: PDB reading
+    Added: KQP, byLight read support
+    Fixed: Problem with "Advanced operations" (Motif only)
+    Added: Total Annihilation read support
+    Fixed: postscript reading (windows only)
+    Fixed: LDF with text reading
+    Added: BGA, PPT read support
+    Fixed: Biorad multi-frame reading
+
+
+XnView v1.21 (LIBFORMAT v3.01) 26/07/2001:
+
+    Fixed: LWF writing
+    Fixed: FPX writing
+    Fixed: GhostScript installed in folder with space (Windows only)
+    Fixed: TIFF, PNG, ... in Win32s
+    Fixed: Problem with some language (windows only)
+    Added: ICL, DLL 16bits (Windows only)
+    Added: PCO b16 read support
+    Changed: cache db are no longer created when no picture
+    Fixed: Degas writing
+    Fixed: PSP 7.0 with colormap
+    Changed: Used short pathname with "..." in Most file used (Motif only)
+    Added: -nores (Motif only)
+    Changed: WARNING .xnviewrc has been modified (Motif only)
+    Added: icon extract from ICL, DLL, CPL, OCX (Windows only)
+    Added: support to read SmoothMove, Xara, Olicom FAX files
+    Added: suport to read/write PDB 16 grey, CompW files
+    Fixed: some problem with "import clipboard" (Windows only)
+    Fixed: zoom rectangle
+    Fixed: no .db cache file when no picture
+    Fixed: Problem with postcript file on windows 98/2K
+    Fixed: Palm pdb
+    Added: support to read/write ArcInfo binary
+
+
+XnView v1.20 (LIBFORMAT v3.00) 26/06/2001:
+
+    Added: import of Optocat
+    Fixed: Describe with very long text
+    Fixed: multipage cit files
+    Fixed: GROB files
+    Fixed: PPP files
+    Added: import of DPX CbYCrY
+    Fixed: Sun raster type 3
+    Fixed: ANI with mask
+    Fixed: WIC quality
+    Fixed: PSD
+    Added: Scan-TWAIN support (Windows only)
+    Fixed: Fullscreen + Fit window + Force XnView to fit
+    Changed: Zoom are in %
+    Changed: Print preview and more options (Windows only)
+    Added: support to read Neopaint Mask, Neopaint Stamp, ESM software PIX, Solitaire Image Recorder format
+    Added: support to read Jovian VI, Iris CT, Core IDC, Autologic, Imaging Technology format
+    Added: Stereo image & Pixel Power Collage format
+    Fixed: very very long filename (Windows only)
+    Added: import of NeoBook Cartoon, Amapi & Vue d'esprit format
+    Added: import of PSP 7.0 format
+    Added: support to read PSP zip compression
+    Added: support to read TIFF zip compression
+    Added: import of ISS, Atari Portfolio format
+    Fixed: Cut delete file (Windows only)
+    Added: import of MegaPaint & Mavica .411 format
+    Changed: degree for rotate in nconvert are now float values
+    Fixed: support to read color MBM
+    Added: "Most used" for associations (Windows only)
+    Added: import of Mayura Draw, PaintShopPro Tube & Frame format
+    Added: import of PowerPoint & PaintShopPro Browse format
+    Added: "Load DjVu with max dpi" option
+    Fixed: with some CAM file
+    Fixed: Problem with some Jpeg Tiff files
+    Fixed: keep dpi in jpeg files
+    Added: support to read jpeg based files (unknown header)
+    Added: "If no extension, add it" option for save
+    Fixed: windows bitmap with colormap greater than 256 colors
+    Fixed: problem with slideshow (Windows only)
+    Fixed: Bad Predictor in TIFF writing
+    Added: Start "View in fullscreen" (Windows only)
+    Fixed: "Double click to go browser" + Fullscreen
+    Fixed: Zoom reset with Image Previous/Next
+    Fixed: Problem of 1 pixel with selection (Windows only)
+    Added: "Extract into..."
+    Fixed: don't change date/time of FPX files
+    Added: Norwegian language
+    Added: support to read Buttonz & Filez Texture, Pixia, Red Storm Files
+    Added: Slide file association (Windows only)
+    Added: Color informations
+    Added: Create Contact Sheet
+    Added: "Open page number"
+    Changed: Properties
+    Improved: Color reduction
+    Fixed: In "Advanced operations" convert truecolors and binary are mixed 
+    Added: Browser caching (experimental)
+    Added: Maggi Hairstyles & Cosmetics support
+    Fixed: xcf with more than 1 layer
+    Added: Full support for language from right to left (arabic, hebrew)
+    Added: JPEG lossless transformations
+    Added: Optimize Huffman table (jpeg)
+    Changed: ERI-chan, jbig & wic format moved in plugins
+    Changed: LDF v4.00
+    Added: "Set DPI"
+    Added: "Fit Image To Desktop" (Windows only)
+    Added: Fit options in View menu
+    Added: Thanks to Terry Vantreese for his 2 functions (conbright & gammasat)
+    Added: Browser cached directories
+    Added: FIF (from Iterated systems) support
+    Added: Drag&Drop files in Multiconvert/Slide dialog (Windows only)
+    Added: Deinterlace params saved
+    Changed: JBIG v1.2, LIBPNG v1.0.10
+    Fixed: Bug MBM writing
+    Fixed: MGR with more than 1 bit
+    Fixed: HSI with alpha, HSI packbit
+    Added: Structured Fax Format (Thanks to Peter Schaefer) & Polychrome Recursive Format read support
+    Fixed: DPI are saved correctly (JPEG, PNG)
+    Added: -dpi in Nconvert
+    Added: -colours or -colors can be used in Nconvert
+    Added: Half-Life model, HomeWorld Texture, Heretic II MipMap, Quake Texture read support
+    Changed: Now Windows build with Visual C++
+    Added: Use of imgcopy for PCD (Irix only)
+    Added: BMF, Interleaf read, Portrait, Nokia Logo File, FlashImage read support
+    Added: LView Pro, KiSS Cel, Adobe PhotoParade, MGI Photosuite read support
+    Fixed: Problem with Ghostscript 7.0
+    Added: Galician language
+    Fixed: Problem with some WMF files
+    Added: Ulead Pattern, Texture, PhotoImpact, RIPTerm Image read support
+    Fixed: BIG Problem. Image not freed in browser (Windows only)
+    Fixed: Bad date in bubble of browser (Windows only)
+    Fixed: DPX
+    Added: EPS Interchange Format, Adobe Illustrator, PDF read support (with Ghostscript)
+    Fixed: Grey Psion 3 PIC
+    Added: Star Office Gallery read support
+    Fixed: some text ressource (Motif only)
+    Fixed: Scitex greyscale
+    Fixed: PSD duotone, multichannel
+    Added: "ENTER" to go to browser (Windows only)
+    Added: TIFF Lab & PSD Lab
+    Fixed: -D -xall in NConvert
+    Fixed: DICOM
+    Fixed: FPX with alpha
+    ...
+
+
+XnView v1.19 (LIBFORMAT v2.97) 22/01/2001:
+
+    Fixed: crash when saving FPX
+    Fixed: winfax multipage
+    Fixed: text is erased in browser (Windows only)
+    Fixed: "Add..." problem with a lot of files ! (Windows only)
+    Added: Drive can be hidden using registry 
+      (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer, NoDrives)
+    Fixed: Some problems with FPX/ECW/LDF (Windows only)
+    Fixed: Crash when changing language (Windows only)
+    Fixed: Problem with some FPX
+    Added: combo box for pathname (Windows only)
+    Added: support to read GoDot format
+    Added: Traditional & Simplified Chinese language
+    Fixed: calamus CRG files
+    Fixed: import clipboard
+    Changed: more than 1 pathname for copy to/move to
+    Fixed: binary pattern dithered
+    Added: Customise of toolbar
+    Added: Romanian language
+    Changed: JWIC v1.01
+    Fixed: crop with nconvert
+    Added: Korean language
+    Fixed: Show folder & Hide non image in browser
+    Improved: Check with "Recognize By Extension"
+    Added: Catalan & Finish language
+    Changed: WARNING : "PNG quality" renamed "PNG Compression level" (0 (none) - 9 (best))
+      With nconvert, use -clevel
+    Fixed: Describe
+
+
+XnView v1.18.1 (LIBFORMAT v2.96) 22/12/2000:
+
+    Fixed: browser is very slow with a lot of files (Windows only)
+    Added: arabic & ukrainian support
+
+
+XnView v1.18 (LIBFORMAT v2.96) 18/12/2000:
+
+    Fixed: 32bits => Grey or Colors
+    Fixed: Colors & grey inversed in Advanced Operations
+    Fixed: Psion3 write
+    Added: winfax multipage
+    Fixed: IMnet
+    Fixed: Description not updated with use of Next/Previous
+    Added: MouseWheel used for Next/Previous image (Windows only)
+    Fixed: browser with very long dirname
+    Fixed: "Wallpaper" (Windows only)
+    Fixed: "Save as" & raw saving
+    Fixed: animated gif
+    Fixed: reading of BFX, XCF, NCR & Koala files
+    Fixed: "Fit to window"
+    Added: support to read VPB cutout files
+    Added: support to read LWI (Light Works Image), MBM 16 colors, DPX
+    Added: support to read/write "J Wavelet Image Codec" files
+    Added: support to read LDF (LuraTech Document Format)
+    Added: support to read Vort, Aces 2000, Access, Ricoh Fax, Sharp GPB, Skantek files
+    Added: support to read IBM Pseg, Verity Image, Alpha Microsystem BMP, Photomatrix, MRF files
+    Added: support to read DjVu, ERI-chan, TealPaint, Datacopy, Auto CADcamera, PPP (Punk Productions) files
+    Added: support to read ECW (Enhanced Compressed Wavelet) files
+    Added: in nconvert -info to show informations about files
+    Added: in "Options/File Types" a button "the most used"
+
+
+XnView v1.17a (LIBFORMAT v2.95) 09/11/2000:
+
+    Fixed: FlashPix PlugIn (Windows only)
+    Fixed: Targa with width/height greater than 6000 pixels
+    Fixed: XPM
+    Fixed: "Open" (Windows only)
+
+
+XnView v1.17 (LIBFORMAT v2.95) 01/11/2000:
+
+    Fixed: writing EMF files in 8 bits (Windows only)
+    Fixed: Colorix reading
+    Fixed: Sun Icon reading
+    Fixed: bug with some Windows Clipboard
+    Fixed: Xim reading
+    Fixed: MacPict colors
+    Fixed: Acorn files (multiple icons)
+    Fixed: some SGI files
+    Fixed: Scitex reading
+    Fixed: network under windows
+    Added: "EXE/DLL" import (Windows only)
+    Added: support to read Corel Metafile Exchange files
+    Added: support to read TRS-80, Poser Bump files
+    Added: support to read Postscript files in Windows. Ghostscript needed !
+    Added: support to read/write Radiance files
+    Added: support to read National Imagery Transmission Format files
+    Added: support to read CALS, Brooktrout 301 files
+    Added: support to read Winfax, Zebra Metafile Preview, IBM Kips, Computer Eyes files
+    Added: support to read Planetary Data System files
+    Added: support to write Page Control Language files
+    Added: support to read FlashPix files
+    Added: support to read PaintShopPro v6.0 files
+    Added: support to read OAZ Fax, Canon Navigator Fax, Hayes JTFax, SciFax files
+    Added: support to read Windows Metafile files, if wmftogif is installed (Motif)
+    Added: support to read OAZ Fax, Canon Navigator Fax, Hayes JTFax, SciFax files
+    Added: support to read/write Radiance files
+    Added: support to read IMNET, Ncr files
+    Added: "Deinterlace" in "Advanced Operations" (Multi convert/Sequence convert)
+    Added: support to read Intergraph Type 2, 3, 9 & 24 files
+    Added: support to read BFX Bitware, Inshape, Enhance Simplex files
+    Added: support to read Print/Pagefox, CDU Paint, GeoPaint, Puzzle files
+    Added: support to read Pegs (PXS/PXA) files
+    Added: support to read Print/Pagefox, CDU Paint, GeoPaint, Puzzle files
+    Added: support to read EDMICS, Pfs Art First Publisher, Lumena CEL, Image Software Set files
+    Added: support to read SmartFax, Hires C64, C64 Doodle, HF files
+    Added: support to read HSIRaw, Ricoh IS30 files
+    Added: support to read BFLI, Doodle compressed, Koala compressed, Amica Paint files
+    Added: support to read Xionics SMP, NIST Ihdr & Im5 files
+    Added: Scale factor in Print Dialog box are now in float
+    Added: In Multiconvert, you can use in the destination '%' to represent the original filename (as nconvert)
+    Added: In Nconvert, -in & -out accept only name of format (no number anymore) !
+    Added: in nconvert, -deinter odd/even int/dup
+    Added: in nconvert, -wflag os2/hp49/gif87
+    Added: support to read SriSun, Starbase & TG4 files
+    Added: support to write CCITT G3, G3-2D & G4 TIFF files
+    Added: support to read/write LuraTech format (c)2000 LuraTech GmbH (Windows only)
+    Added: byelorussian version (Windows only)
+
+
+XnView v1.16 (LIBFORMAT v2.94) 19/07/2000:
+
+    Fixed: refresh when deleting files
+    Fixed: bugs with some tiff files
+    Fixed: bugs with some pict files
+    Fixed: bug with ramdisk (windows only)
+    Fixed: "Title Bar" for slideshow is now saved correctly
+    Fixed: bug in fullscreen with filename (Windows only)
+    Fixed: bug with writing of bmp
+    Fixed: bug with reading of ani, fits, psd, sfw & vpb
+    Fixed: bug in crop
+    Fixed: bug with TIFF size greater than 16384x16384
+    Changed: "Delete", "Copy to", "Move To" & "Rename" in View mode moved to "Edit" menu
+    Added: hotkeys for resize/mirror/rotate
+    Added: option "Double click to go to the browser" (Windows only)
+    Added: In browser mode, the creating of icons follow scrollbar
+    Added: option "Only 1 view opened"
+    Added: Now you can configure file type that you want to see
+    Added: "Shell open" & "Shell Edit" (Windows only)
+    Added: "Delete to recycle bin" (Windows only)
+    Added: The status bar has changed
+    Added: "confirm file delete"
+    Added: "show HEX-mode" in view
+    Added: "Animated GIF" support
+    Added: Keep configuration of printer (Windows only)
+    Added: "Stop Animation" & option "Disable Animation"
+    Added: support to read AIF, WAV, AVI, MPEG, AU, SND files (Windows only)
+    Added: "Print setup" (Windows only)
+    Added: You can zoom in the rectangle selected
+    Added: option "Add XnView in Send to menu" (Windows only)
+    Added: support to read map/fpg files from DIV Games Studio
+    Added: support to read Animated cursor
+    Added: support to read QV-10 Cam files
+    Added: support to read Adobe Photo Deluxe files
+    Added: support to read IOCA files
+    Added: support to read/write JIF files
+    Added: "Hide XnView" in capture
+    Added: support to write Gif87a files
+    Added: support to write HP-49 GROB files
+    Added: support to read QTIF (quicktime) files
+    Added: In HTML create, added links at the end of the page
+
+
+XnView v1.15 (LIBFORMAT v2.92) 19/07/2000:
+
+    Fixed: bug in "Web page" create (Windows only)
+    Fixed: problem with "Start browser at startup" ! (Windows only)
+    Fixed: bug in dialog box to choose files, Multiconvert & slide show (Windows only)
+    Added: danish/polish/greek/bulgarian support (Windows only)
+
+
+XnView v1.14 (LIBFORMAT v2.92) 17/04/2000:
+
+    Fixed: bug with timer in slide show (Motif only)
+    Fixed: bug with some mbm (Psion5) files
+    Fixed: bug with dpi (cm) in tiff files
+    Fixed: bug with printing in "best fit" (Windows only)
+    Fixed: some bugs with lesstif
+    Fixed: bug with TIFF files in 2 SamplesPerPixel/LZW Predictor
+    Fixed: bug with "free disk space" in browser (Motif only)
+    Fixed: bug with BM bitmap in CDR files
+    Fixed: bug with writing of PNG palette
+    Fixed: various bug with Win32s
+    Added: "Show Tool Tips" option in browser
+    Added: "Show Tool Tips in toolbar" option
+    Added: "Use flat button in toolbar" option (Windows only)
+    Added: "Update treeview when refresh" option (Windows only)
+    Added: support to read Postcript files (Ghostview needed, Motif only)
+    Added: swedish/dutch/estonian/czech/portuguese(brazilian) version (Windows only)
+    Added: Text DOS/Unix are correctly viewed
+    Added: 16/32 greyscale GROB support
+    Added: "Load script..." in sequence/multiple convert
+    Added: possibility to disable the "most recently used files"
+    Added: "Hide mouse cursor" in slideshow (Motif only)
+    Added: Moved "Install" to Options Dialog (Windows only)
+    Added: possibility to save params using registry (Windows only)
+    Added: "Visit XnView's Web Site"
+    Added: Windows Commander support (Windows only)
+    Added: Multi-language interface (Windows only)
+    Added: Multi-Byte character support (Windows only)
+    Added: "Force XnView to fit to image" (Windows only)
+    Added: "-page", "-xall", "-rflag" in nconvert
+    Added: portuguese(brazilian)/hungarian version (Windows only)
+    Added: support to read ARF files
+    Added: support to read Image Systems RLC2 Graphic Format
+    Added: "sort by" in slide show
+    Changed: some accelerators !
+    Added: "-fi" in command line option, Force Fit to Image
+    Added: "-fa" in command line option, Force XnView to fit Image (Windows only)
+    Added: support to read Nokia Group Graphics files
+    Added: support to read Nokia Operator Logo files
+    Added: support to write VRML2 files
+    Added: support to read MGR bitmap files
+    Added: support to read ATK files
+    Added: support to read "Sony DSC-F1 Cyber-shot" files
+    Added: support to read "Chinon ES-1000 digital camera" files
+    Added: support to read "Kodak DC25 Camera" files    
+    Added: "All Pages/images" in Print (Windows only)
+
+
+XnView v1.13 (LIBFORMAT v2.91) 01/02/2000:
+
+    Fixed: bug with Airnav files
+    Fixed: bug with Network (Windows only)
+    Fixed: bug with "Fit to image" and Zoom
+    Fixed: bug with ressource leak (Windows only)
+    Fixed: Describe text has focus now (Windows only)
+    Fixed: bug with description in thumbnail create 
+    Fixed: bug with TIFF write - Compression none & packbits
+    Fixed: bug with argument list in nconvert
+    Fixed: bug with toolbar (Windows only)
+      No tooltips for "save as" and "Hhide toolbar" doesn't work propertly !
+    Fixed: Extension is added correctly when save clipboard (Windows only)
+    Fixed: bug with saved size (Windows only)
+    Fixed: "Browser" menu item or icon switch to browser window (Windows only)
+    Fixed: No reset of scrollbar with process
+    Fixed: problem to select area when zoom out
+    Fixed: focus error (Windows only)
+    Fixed: No more refresh when cancel file operation (Windows only)
+    Fixed: bug with "Only 1 instance" when browser is opened (Windows only)
+    Fixed: bug in menu when browser is closed (Windows only)
+    Fixed: bug with tiff files from Next
+    Added: support to read Pixibox files
+    Added: support to read multi-image Psion 5 files
+    Added: support to read PostScript files (only if ghostscript is installed)
+    Added: support to read QV-5000 Camera files
+    Added: support to read BMF (Corel Flow) files
+    Added: support to write Enhanced Metafile files (Windows only)
+    Added: support to drop files in XnView (Windows only)
+    Added: support to drag & drop files in browser (Windows only)
+    Added: verbose option to enable information in console (Motif only)
+    Changed: default value for Gamma (1.0)
+    Added: Save "Keep ratio" in resize/canvas
+    Changed: When use of -slide quit after
+    Added: option "Fit to image" to change window size after all process
+    Added: option "Open a window per picture" to replace "Open All"
+    Changed: Use Shell for file operation (Windows only)
+    Changed: No more dialog with progress bar, in status bar now (Windows only)
+    Added: option "Hide preview Scrollbar" in browser
+    Added: in HTML create "Launch web browser" & "Copy images to output directory"
+    Added: Now you can create several HTML page (with next/previous)
+    Added: "Delay" in capture (Windows only)
+    Added: RAW export
+    Added: Improvement of "Hide non image files"
+    Added: "Use Shell to open picture" (Windows only)
+    Added: option to sort file list with Previous/Next
+    Added: support to read/write WAP bmp files
+    Added: Use locale to print time
+    Changed: Improved bubble in browser (Motif only)
+    Changed: Improved "Quick refresh"
+    Added: "Copy"/"Cut" to clipboard (Windows only)
+
+
+XnView v1.12 (LIBFORMAT v2.90) 15/11/1999:
+
+    Fixed: reading Greyscale+Alpha PNG files
+    Fixed: bug with size of Preview zone (Windows only)
+    Fixed: reading 16 colors ICO files
+    Fixed: bug in writing XBM files
+    Fixed: bug in saving image from capture (Windows only)
+    Fixed: bad 16x16 icon (Win only)
+    Fixed: bug in resizing binary picture
+    Fixed: bug in "Move To...", "Copy To..."
+    Fixed: bug with browser's icon size (Windows only)
+    Fixed: bug with free disk space in browser (Motif only)
+    Fixed: bug with browser on Solaris or KDE desktop (Motif only)
+    Fixed: bug with "Maximize view at open" (Windows only)
+    Fixed: bug with tracking zone for crop
+    Fixed: bug with print in browser (Windows only)
+    Added: support of multi-image format (dcx, pwp, ico, psion3, tiff, gif)
+    Added: support to read Airnav format
+    Added: mouse support in slide show (next, previous)
+    Added: '-full' to start in fullscreen
+    Added: support to read Sega SJ-1 DIGIO format
+    Added: support to read/write JBIG format
+    Added: support to read MiNG format
+    Changed: to libpng v1.0.5 & zlib v1.1.3
+    Added: support to read multiple image in GIF files
+    Changed: in browser 'right click' and 'space' action (Motif only)
+    Added: support to read DICOM3 files
+    Added: support to read HRZ files
+    Added: support to read Koala Paint (Commodore 64) files
+    Added: support to read MSX 2 screen files
+    Added: support to read FLI/FLC files
+    Added: support to read Amstrad screen files
+    Added: "only 1 instance" (Windows only)
+    Added: "always on top" (Windows only)
+    Added: Toolbar in view & browser
+    Added: Zoom & Move on preview in browser
+    Added: options in saved slide file
+    Added: support to read Windows Metafile (Windows only)
+    Added: support to read/write Kodak Cineon files
+    Added: support to read Prisms files
+    Changed: '-ngrey' & '-ncolors' in nconvert to '-grey' & '-colors'
+    Added: '-ini' to specify another option's file 
+
+
+XnView v1.11 (LIBFORMAT v2.80) 15/10/1999:
+
+    Fixed: bug in browser, some memory was not freed
+    Added: 'Set as Wallpaper'/'Set to Desktop'
+    Added: 'Print' (Windows only)
+    Remaked: 'Multiple convert' and 'Sequence convert'
+    Remaked: 'Options'
+    Added: 'Crop'
+    Added: 'Capture'
+    Added: Saved 'Preview' option 
+    Added: 'Show filename', 'Enable mouse navigation' in fullscreen mode
+    Added: 'Hide mouse cursor' in fullscreen mode (Window only)
+    Added: support to write degas files
+    Added: Solaris version
+
+
+XnView v1.10 (LIBFORMAT v2.80) 30/08/1999:
+
+    Fixed: reading colors with PCX files
+    Fixed: reading 16 bits BMP files (BI_BITFIELDS)
+    Fixed: reading YUV Tiff files
+    Fixed: reading colormap with Windows Cursor files
+    Fixed: reading binary PBM files
+    Fixed: reading TIFF files with FillOrder = lsbtomsb
+    Fixed: reading TIFF files with BitsPerSample == 16 or 32
+    Fixed: reading TIFF files with BitsPerSample == 8 and SamplesPerPixel == 2
+    Fixed: reading binary PICT files
+    Fixed: reading RGB with alpha PICT files
+    Fixed: reading some GIF files
+    Fixed: bug in converting Truecolors picture to colors adaptive
+    Fixed: bug with 'Import Clipboard' (Windows only)
+    Fixed: Drive icons in browser are transparent (Windows only)
+    Fixed: reading PGM files with MaxVal != 255
+    Fixed: bug with 'Convert to colors (adaptive)'
+    Fixed: Changed 'Blur' and 'Average' (0% minimum, 100% maximum)
+    Fixed: Missing white space in PPM/PGM files
+    Added: support to read TT's degas files
+    Added: support to read PGM files with two bytes per pixel
+    Added: support to read LBM files
+    Added: support to read 15-24 bits ICO files
+    Added: support to read BMP files with non standard info header
+    Added: support to read JPEG files in CMYK space
+    Added: support to read PNG files with 16 bits per component
+    Added: support to read PCX files in 65535 colors
+    Added: support to read TIFF files in CMYK space
+    Added: support to read PSD files in CMYK space
+    Added: support to read SeattleFilmWorks files
+    Added: support to read SeattleFilmWorks multi-image files
+    Added: support to read QV-10 Camera files
+    Added: support to read VICAR (Video Image Communication And Retrieval) files
+    Added: support to read Khoros Viff files
+    Added: support to read Scitex files
+    Added: support to read Aurora files
+    Added: support to read Artisan files
+    Added: support to read Qdv files
+    Added: support to read Sony Playstation TIM files
+    Added: support to read Digital F/X files
+    Added: support to read Electric Image files
+    Added: support to read XPM files with more than 2 bytes per pixel
+    Added: support to read Synthetic Universe files
+    Added: support to read CMU Window Manager files
+    Added: support to read Fax G3 files
+    Added: support to read Usenix FaceServer files
+    Added: support to read Fuzzy Bitmap files
+    Added: support to read Xim files
+    Added: support to read CCITT Group 3 and Jpeg Tiff files
+    Added: support to read Lzw OldStyle Tiff files
+    Added: support to read SGILog24 & SGILog Tiff files
+    Added: support to read/write HRU files
+    Added: Works correctly with WindowMaker (dock)
+    Added: support to read Z80 Screen dump files
+    Added: support to read Z80 Spectrum SNA files
+    Added: support to read Biorad files
+    Added: support to read vpb Quantel files
+    Changed: Moved yuv,raw import in libformat ! 
+      Support to import : YUV 16 Bits, YUV 16 Bits Interleaved
+                          YUV 4:1:1, 4:2:2, 4:4:4
+                          Raw Grey
+                          Raw RGB, BGR, RGBA, ABGR, CMYK 
+    Added: '-geometry widthxheight+offset' to set size for YUV and Raw files
+      For exmaple, geometry can be 1024x576 or 1024x576+100
+    Added: '-corder' to set Channel Order for Raw files
+    Added: support to read TI-73/82/83/85/86/89/92 files
+    Added: support to write TI-92 files
+    Added: support to read SBIG CCD camera ST-X files
+    Added: support to read Ricoh Digital Camera files
+    Added: support to read PSD files with 16Bits per component 
+    Added: support to read XCF (Gimp) files 
+    Added: support to read Kodak DC120 Digital Camera files 
+    Added: support to read Preview in Encapsulated Postscript files 
+    Added: support to read first bitmap in WordPerfect files 
+    Added: support to read first bitmap in CorelDraw files 
+    Added: support to read Degas TT mode (pi4,pi5,pi6) files 
+    Added: support to read Windows cursor with more than 1 bits per pixel
+    Added: support to write X Bitmap files
+    Added: support to read CCITT Group 4 & CCITT Rle Tiff files
+    Added: support to read FIT files
+    Added: support to read Acorn Sprite files
+    Added: 'Add Icon to desktop', 'Add to Program Menu' and
+    'Add to Start Menu' in Install (Windows only)
+    Added: 'Network' support in browser (Windows only)
+    Added: Now 'Auto view' is saved
+    Added: 'Zero' and 'Previous' in get value dialog box
+    Added: Now 'View as Extension', 'View as Name' is saved (Windows only)
+    Added: Rotate with any degrees
+    Added: 'Window Adaptive' is saved
+    Added: 'Status Bar' to show or not the status bar
+    Added: 'Describe' in View
+    Added: 'Colors balance'
+    Added: in SlideShow
+      * Hide title bar
+      * Supress read errors
+      * Use of arrow to navigate
+      * View type (when full screen)
+      * Add Folder
+    Added: support to read Interlaced PNG files
+    Added: mouse support to move picture in a view
+    Added: options
+      * Raw/YUV Width
+      * Raw/YUV Height
+      * Raw/YUV Offset
+      * Raw Channel Order
+      * Raw Channel Type
+      * Remember last window position/size (Windows only)
+      * Open hexa if not a picture
+      * Browser, start in previous folder
+      * Browser, recognize only by extension
+      * Browser, Fit to window
+      * Browser, Show grid lines (Windows only)
+      * Browser, Full row select (Windows only)
+    Added: command line help (Windows only)
+    Added: 'Full Screen' in view
+    Added: Next (Page down), Previous (Page up), First (Home), Last (End) in view
+      'Open All' open a window for each picture
+    Added: 'Canvas resize'
+    Added: percentage of original & predefined size in resize
+    Added: 'Generate file(s) listing' in browser
+
+
+XnView v1.09 (LIBFORMAT v2.73) 03/05/1999:
+
+    Fixed: reading 16 bits BMP files
+    Fixed: browser: when clicking on '..' icon (Windows only)
+    Fixed: with '-', '+' keys for zooming (Windows only)
+    Fixed: reading very large GIF files
+    Fixed: reading GIF files with extension
+    Fixed: reading 2 colors files (bad colormap !)
+    Changed: accelerators for browser's options
+    Added: support to write ICO files
+    Changed: Sorted all formats list (file selector, ...)
+    Added: 'Sorted by ID' in 'Formats available'
+    Added: 'Copy File(s) Location' to copy pathname in clipboard
+    Added: 'Esc' key to close window and quit XnView (Window only)
+    Added: support to read/write binary/ascii GROB HP-48 files 
+    Added: support to write MIFF files
+    Added: 'Options' button if file selector
+    Added: options for PCD and GROB files
+    Added: support to read Windows Clipboard files
+    Added: support to read Spectrum 512 compressed files
+    Added: support to read Spectrum 512 smooshed files
+    Changed: 'Formats available', 'About', 'Options', 'Multi convert'
+      'Sequence convert' and 'slide' in non modal dialog boxes (Motif only)
+    Added: 'decrease only' for resize in multiple/sequence convert. 
+      It allow to resize only pictures smaller than specified size. 
+    Added: 'Swap Colors'
+    Added: 'Count color used'
+    Added: support to read PaintShopPro files
+    Added: 'Auto view' (contrast, gamma, ...)
+    Added: 'Web Page' (Browser) to create thumbnail in HTML
+    Added: support to import yuv4:4:4 & yuv4:2:2 files
+    Added: '-slide <file.sld>' in XnView's command line to launch slide show. 
+      'file.sld' can be created under SlideShow. 
+    Added: dialog box to save before closing modified view
+    Added: german version, Thanks to Axel C. Burgbacher (Windows only)
+
+
+XnView v1.08 (LIBFORMAT v2.72) 01/03/1999:
+
+  Bug fixes:
+
+    Fixed: bug with Slide Show when file on root drive are added (Windows only)
+    Fixed: bug with 'Sequence/Multi convert', View menu bar not enabled (Motif only)
+    Fixed: bug with reading Gif, some file can generate a core dump
+    Fixed: bug with bad font (Linux only)
+    Fixed: bug with bad redraw in Browser's preview
+    Fixed: bug with 'All Graphics Files' in Open box (Windows only)
+    Fixed: bug in 256 colors mode, bad colors (Windows only)
+    Fixed: bug in browser, thumbnail size toggle not updated correctly (Motif only)
+    Fixed: bug with date displayed in bubble (Windows only)
+    Fixed: bug with main menu, stay disabled (Windows only)
+    Fixed: bug with lut transform for colors picture
+    Fixed: bug with resize colors picture
+    Fixed: bug with reading Tiff in inverse FillOrder
+    Fixed: bug in 'adjust contrast'
+    Fixed: reading/writing 32 bits BMP
+    Fixed: reading 8bits TDI files
+    Added: 'Show Content if non image' in Browser if file is not a picture
+    Added: 'Show Content in ascii' in Browser
+    Added: 'Window Layout' in Browser
+    Added: Space,Return and Arrow keys in Browser (Motif only)
+    Added: 32x32 thumnbnail size in Browser
+    Added: support to make a description for file (view in Browser)
+    Added: Open/Save slide files
+    Added: convert to 4,8,16,32,64,128 dithered or not grey scale
+    Added: convert to 4,8,16,32,64,128 dithered or not colors
+    Added: 'Install' to registry extension (Windows only)
+    Added: 'Tree view' to show directory (Motif only)
+    Added: 'Tree view' to show directory (Motif only)
+    Added: in Resize 'Nearest Neighbor' or 'Bilinear' resample
+    Added: support to read and write Palm Pilot bitmap
+    Added: support to read YCbCr tiff files
+    Added: `Show Parent Directory` in Browser
+
+    
+XnView v1.07 (LIBFORMAT v2.71) 03/01/1999:
+
+    Fixed: bug with Slide Show (blue and red are inversed)
+    Fixed: bug when directory doesn't exist (Open File, Browser) (Motif only)
+    Fixed: bug with reading 2 colors files
+    Fixed: bug with reading of PICT 2 files
+    Fixed: bug with reading of Xwd files (Pseudo Color)
+    Fixed: bug with reading of FITS files (BITPIX after NAXIS)
+    Changed: Remaked Browser
+    Added: 'XnView directory' to launch browser in this directory
+    Added: 'Import Clipboard' (Windows only)
+    Added: 'Fit to Window', 'Center Window' and 'Full screen' in SlideShow
+    Added: 'Maximize XnView at Startup' option (Windows only)
+    Added: 'Maximize View when Open' option (Windows only)
+    Added: support to read Pixar picture file
+    Added: '-in format' in Nview/Nconvert to specify input format as name or number
+    Added: '-out format' in Nconvert to specify output format as name or number
+    Added: support to read XV visual schnauzer format
+    Added: support to read Bob bitmap
+    Added: support to read Calamus picture
+    Added: support to read Tiny bitmap
+    Added: support to read Microsoft Paint bitmap
+    Added: support to read Doodle bitmap
+    Added: support to read PCPaint/Pictor bitmap
+    Added: support to read ImageLab bitmap
+    Added: support to read ColoRix bitmap
+    Added: support to read and write Psion Serie 3 & 5 bitmap
+    Added: 'Ancestor' In the file selector (Motif only)
+    Added: '-browser' for launch the browser at startup
+    Changed: font by default (Motif only)
+    Added: 'Ignore Read Error' option
+    Added: `Use Popup in View` option (Motif only)
+    Added: 'Launch Browser at Startup' option
+    Added: 'Use Random Order' in SlideShow
+    Changed: in XnView and Nconvert when we resize with Ratio. Now resize take 
+      Width and Height as the bounding box of the picture result (if not equal 0).
+
+
+XnView v1.06 (LIBFORMAT v2.70) 28/09/1998:
+
+    Fixed: bug with converting in 32/64/128 colors
+    Fixed: bug with reading of 16 colors files in GIF/TIFF
+    Fixed: bug with writing of 16 colors files in GIF
+    Fixed: bug with writing of 16 colors files in PCX
+    Fixed: bug with writing of binary/16 colors files in PNG
+    Fixed: bug with 2/4 planes PseudoColor visual (Motif only)
+    Fixed: Removed extra back slash in filename with 'MultiConvert' (Windows only)
+    Fixed: bug in 'Open' with a very large number of files selected (Windows only)
+    Fixed: bug in 'Multi Convert' with a large number of files (Windows only)
+    Fixed: bug with converting of 32 bits files (Windows only)
+    Fixed: bug with SlideShow in 8 bits display (Windows only)
+    Added: support to write Windows Bitmap in Rle format (Only for 4 and 8 bits files)
+    Added: support to read Utah Raster Image format
+    Added: support to read X Window Dump format
+    Added: support to read PCX Multi-page (DCX) format
+    Added: support to read TIFF with separate RGB
+    Changed: '.XnViewrc' preference file to ascii (X only)
+    Added: support to Import Raw format (RGB & YUV)
+    Added: support to read Adobe Photoshop format
+    Added: support to read TDI/Explore format
+    Added: support to write Gimp Pattern format
+    Added: support to read Gimp Brush/Pattern format
+    Added: support to read Xpm with more than 256 colors
+    Added: support to write TIFF RGB in Lzw & Prediction (Pixel difference)
+    Added: support to write Verbatim RGB (no compress)
+    Added: support to write Progressive JPEG
+    Added: support to read PhotoCD format
+    Added: support to read PM format 
+    Added: support to read FITS format (integer pixel only)
+    Added: Nview use colormap as XnView (X Only)
+    Added: Mouse/Keyboard support for SlideShow
+    Added: support to write Wavefront format
+    Added: support to write Softimage format
+    Added: support to read Windows Cursor format
+    Added: support to read SUN Icon/Cursor format
+    Added: support to read xbm version 10 format
+    Added: -R in Nview to read file not complete
+    Added: ProgressBar when writing and loading
+    Added: '-popup' to use Popup menu rather than Pulldown menu (Motif only)
+    Added: Now if we can, we get the default colormap, '-own' use a new one (Motif only)
+      If your visual have only one colormap available, don't use '-own'
+    Added: Use tiling for displaying (Take less memory)
+    Added: Zoom
+    Changed: Rewrited code for 'Window Adaptive' (Motif only)
+    Changed: Removed 'Open Multi' ('Open' can select multi files)
+    Added: 'View in Hexa'
+    Added: 'All graphics files' extension in file selector
+    Added: support to write XPM format
+    Added: 'Browse' to view pictures as icon
+    Changed: Removed -wmax and -hmax in Nview
+
+
+XnView v1.05c (LIBFORMAT v2.64) 31/05/98:
+
+    Fixed: bug in Slide Show
+    Fixed: bug when writing binary Portable bitmap file
+    Fixed: bug with Dialog box 'Overwrite This file' in File Selector
+    Added: Picture's information (Motif only)
+    Changed: Best management of ColorMap in PseudoColor Mode
+
+
+XnView v1.05b (LIBFORMAT v2.63) 20/05/98:
+
+    Changed: Rewrited XPM functions
+    Fixed: bug when reading binary Portable bitmap file
+    Fixed: bug when reading Wavefront Raster Image File
+    Fixed: bug with 'Logarithmic Lut'
+    Fixed: bug with De-Interlace (incorrect when choise is 'Odd Fields')
+
+
+XnView v1.05 (LIBFORMAT v2.62) 1/05/98:
+
+    Changed: the method of resizing
+    Added: 'filter user'
+    Added: 'fit to image'
+
+
+XnView v1.04 (LIBFORMAT v2.61) 01/05/98:
+
+    Fixed: Bad number of version in window's title
+    Fixed: When the last window is closed, information not updated (Windows only)
+    Fixed: Best automatic recognize
+    Fixed: X11 bitmap reading caused a crash
+    Fixed: bug with using DOS filename (8:3) in argument (Windows only)
+    Fixed: select directory in file selector of MultiConvert (Windows only)
+    Changed: File Selector in 'Open Multi' use Explorer Style (Windows only)
+    Added: support for 15 and 16 bits images
+    Added: -I option in Nview to display only information
+    Added: -wmax and -hmax in Nview to specify a maximum width and height
+    Added: picture's information in File Selector (Windows only)
+    Added: picture's preview in File Selector (Windows only)
+    Added: 32/64 and 128 colors converting
+    Added: tools to manipulate LUT (contrast, brightness, equalize, ...)
+    Added: filters (Blur, Average, Sharpen, Emboss, ...)
+    Added: specials filters (Maximum, minimum, ...)
+    Added: effects (Slice, Swirl, Oil painting, lens, waves, ...)
+    Added: support of JPEG progressive (jpeg v6.0) for reading
+    Added: Slide Show
+    Added: Undo
+    Added: 'Window adaptive' keep the ratio of picture
+    Added: Rotate, Mirror and Negative in Multi/Sequence Convert
+    Added: Mode in Multi/Sequence Convert
+
+
+XnView v1.03 (LIBFORMAT v2.60):
+
+    Fixed: when writing TIFF LZW 32 bits
+    Fixed: when reading binary GIF, BMP or PCX file (Colormap was inversed)
+    Fixed: when reading binary RPPM file
+    Fixed: when writing GIF 2 & 4 bits
+    Fixed: Read 2bits TARGA file is ok
+    Fixed: Softimage with RLE encoding caused a crash
+    Fixed: 'rotate +- 90' flip picture
+    Added: Dither in 6x6x6 colors to display in pseudo colors (Motif only)
+    Added: French version (Windows only)
+    Added: 'current' in file selector (Motif only)
+    Added: X11 pixmap format (read only)
+
+
+XnView v1.02 (LIBFORMAT v2.59):
+
+    Added: 'Sequence convert' and 'Multi convert'
+    Changed: UNIX version use the SHARED library of libformat
+
+
+XnView v1.01 (LIBFORMAT v2.59):
+
+    Fixed: some bug in the file selector (File extension not changed)
+    Changed: XnView now works with Linux and Lesstif
+
+
+XnView v1.0a (LIBFORMAT v2.59):
+
+  o Windows version of Nview/Nconvert 
+
Index: extensions/PHP_Optimisateur/include/save_config.php
===================================================================
--- extensions/PHP_Optimisateur/include/save_config.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/save_config.php	(revision 9201)
@@ -0,0 +1,62 @@
+<?php
+// Quelques traitements
+$_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
+$_POST['copyCOLOR'] = str_replace('#','', $_POST['copyCOLOR']);
+$_POST['prefixe_mini'] = delete_special_car($_POST['prefixe_mini']);
+if (!preg_match('#(.*)/$#', $_POST['DIRsource'])) $_POST['DIRsource'] .= '/';
+if (!preg_match('#(.*)/$#', $_POST['DIRsortie'])) $_POST['DIRsortie'] .= '/';
+
+// Vérifications
+if (!is_decimal($_POST['Qhd']) OR $_POST['Qhd'] > 100) {
+	$_POST['Qhd'] = 100;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['Qnormal']) OR $_POST['Qnormal'] > 100) {
+	$_POST['Qnormal'] = 100;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['Qthumbnail']) OR $_POST['Qthumbnail'] > 100) {
+	$_POST['Qthumbnail'] = 100;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['DIMhd'])) {
+	$_POST['DIMhd'] = 2560;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['DIMnormal']) OR $_POST['DIMnormal'] > $_POST['DIMhd']) {
+	$_POST['DIMnormal'] = 800;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['DIMthumbnail']) OR $_POST['DIMthumbnail'] > $_POST['DIMnormal']) {
+	$_POST['DIMthumbnail'] = 120;
+	$Errors['ErrorConfig'] = 'notice';
+}
+if (!is_decimal($_POST['DPI'])) {
+	$_POST['DPI'] = 72;
+	$Errors['ErrorConfig'] = 'notice';
+}
+	
+
+// Plugins : supprime les plugins manquants & charge les actions de configuration
+$PLUGIN_ACTION = 'save_config';
+
+foreach ($_POST['Plugins'] as $plugin_id => $plugin_config) {
+	if (isset($plugin_config['delete'])) {
+		unset($_POST['Plugins'][$plugin_id]);
+	} else if (file_exists('plugins/'.$plugin_id.'/setup.php')) {
+		include('plugins/'.$plugin_id.'/setup.php');
+	}
+}
+
+// Contenu du fichier
+$content = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".'<config>'."\r\n";
+$content .= XMLcreate($_POST);
+$content .= '</config>';
+file_put_contents('config.xml', $content);
+
+if (isset($Errors['ErrorConfig'])) {
+	header('Location:index.php?page=setup&ErrorConfig='.$Errors['ErrorConfig']);
+} else {
+	header('Location:index.php');
+}
+?>
Index: extensions/PHP_Optimisateur/include/setup.php
===================================================================
--- extensions/PHP_Optimisateur/include/setup.php	(revision 9201)
+++ extensions/PHP_Optimisateur/include/setup.php	(revision 9201)
@@ -0,0 +1,236 @@
+<?php
+### Gestion des nouveaux plugins ###
+// Ajoute la configuration des plugins non-installés au tableau général, il faut valider le formulaire pour les installer
+$Available_Plugins = glob('plugins/*');
+$PLUGIN_ACTION = 'install';
+
+foreach ($Available_Plugins as $plugin) {
+	$plugin_id = str_replace('plugins/', '', $plugin); // id du plugin
+	if (!array_key_exists($plugin_id, $CONF['Plugins'])) {
+		$CONF['Plugins'][$plugin_id] = load_config('plugins/'.$plugin_id.'/config.xml'); // configuration du plugin
+		$CONF['Plugins'][$plugin_id]['active'] = false;
+		$NewPlugins[$plugin_id] = true;
+	}
+}
+
+
+### Gestion des plugins manquants ###
+foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+	if (!file_exists('plugins/'.$plugin_id)) {
+		$MissingPlugins[$plugin_id] = true;
+	}
+}
+
+
+### Formulaire ###
+$CONF['copyPOS'] = explode('-', $CONF['copyPOS']);
+$CONF['copyCOLOR'] = nice_hex_color($CONF['copyCOLOR']);
+
+$PAGE_CONTENT[0] .= '<form action="index.php?page=setup" method="post">
+	<div class="generic config">
+		<h2>'.l10n('Configuration').'</h2>
+		<ul>
+			<li>
+				<span class="title">'.l10n('Folders').'</span>
+				<table>
+					<tr>
+						<td>'.l10n('FolderIn').' :</td>
+						<td><input type="text" name="DIRsource" value="'.$CONF['DIRsource'].'"/></td>
+					</tr>
+					<tr>
+						<td>'.l10n('FolderOut').' :</td>
+						<td><input type="text" name="DIRsortie" value="'.$CONF['DIRsortie'].'"/></td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Options').'</span>
+				<table>
+					<tr>
+						<td>'.l10n('silentORNOT').' :</td>
+						<td>
+							<label><input type="radio" name="silentORNOT" value="erase" '.(($CONF['silentORNOT']=='erase')?'checked="checked"':'').'/> '.l10n('erase').'</label>
+							<label><input type="radio" name="silentORNOT" value="block" '.(($CONF['silentORNOT']=='block')?'checked="checked"':'').'/> '.l10n('block').'</label>
+							<label><input type="radio" name="silentORNOT" value="pass" '.(($CONF['silentORNOT']=='pass')?'checked="checked"':'').'/> '.l10n('pass').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('DIRhighORNOT').' :</td>
+						<td>
+							<label><input type="radio" name="DIRhighORNOT" value="true" '.(($CONF['DIRhighORNOT'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="DIRhighORNOT" value="false" '.((!$CONF['DIRhighORNOT'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('DIMhdORNOT').' :</td>
+						<td>
+							<label><input type="radio" name="DIMhdORNOT" value="true" '.(($CONF['DIMhdORNOT'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="DIMhdORNOT" value="false" '.((!$CONF['DIMhdORNOT'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('renameORNOT').' :</td>
+						<td>
+							<label><input type="radio" name="renameORNOT" value="true" '.(($CONF['renameORNOT'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="renameORNOT" value="false" '.((!$CONF['renameORNOT'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('indexORNOT').' :</td>
+						<td>
+							<label><input type="radio" name="indexORNOT" value="true" '.(($CONF['indexORNOT'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="indexORNOT" value="false" '.((!$CONF['indexORNOT'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('prefixe_mini').' :</td>
+						<td><input type="text" name="prefixe_mini" value="'.$CONF['prefixe_mini'].'" size="8"/></td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Sizes and quality').'</span>
+				<table>
+					<tr>
+						<td>'.l10n('DIMhd').' :</td>
+						<td><input type="text" name="DIMhd" value="'.$CONF['DIMhd'].'" size="4"/>px</td>
+					</tr>
+					<tr>
+						<td>'.l10n('DIMnormal').' :</td>
+						<td><input type="text" name="DIMnormal" value="'.$CONF['DIMnormal'].'" size="3"/>px</td>
+					</tr>
+					<tr>
+						<td>'.l10n('DIMthumbnail').' :</td>
+						<td><input type="text" name="DIMthumbnail" value="'.$CONF['DIMthumbnail'].'" size="3"/>px</td>
+					</tr>
+					<tr>
+						<td>'.l10n('Qhd').' :</td>
+						<td><input type="text" name="Qhd" value="'.$CONF['Qhd'].'" size="3"/>%</td>
+					</tr>
+					<tr>
+						<td>'.l10n('Qnormal').' :</td>
+						<td><input type="text" name="Qnormal" value="'.$CONF['Qnormal'].'" size="3"/>%</td>
+					</tr>
+					<tr>
+						<td>'.l10n('Qthumbnail').' :</td>
+						<td><input type="text" name="Qthumbnail" value="'.$CONF['Qthumbnail'].'" size="3"/>%</td>
+					</tr>
+					<tr>
+						<td>'.l10n('DPI').' :</td>
+						<td><input type="text" name="DPI" value="'.$CONF['DPI'].'" size="3"/>dpi</td>
+					</tr>
+				</table>
+			</li>
+			<li>
+				<span class="title">'.l10n('Copyright').'</span>
+				<table>
+					<tr>
+						<td>'.l10n('Content').' :</td>
+						<td><input type="text" name="copyright" value="'.$CONF['copyright'].'"/></td>
+					</tr>
+					<tr>
+						<td>'.l10n('copyONhd').' :</td>
+						<td>
+							<label><input type="radio" name="copyONhd" value="true" '.(($CONF['copyONhd'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="copyONhd" value="false" '.((!$CONF['copyONhd'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('copyONnormal').' :</td>
+						<td>
+							<label><input type="radio" name="copyONnormal" value="true" '.(($CONF['copyONnormal'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+							<label><input type="radio" name="copyONnormal" value="false" '.((!$CONF['copyONnormal'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</td>
+						<td>
+							<label><input type="radio" name="copyPOS[0]" value="top" '.(($CONF['copyPOS'][0]=='top')?'checked="checked"':'').'/> '.l10n('top').'</label>
+							<label><input type="radio" name="copyPOS[0]" value="center" '.(($CONF['copyPOS'][0]=='center')?'checked="checked"':'').'/> '.l10n('center').'</label>
+							<label><input type="radio" name="copyPOS[0]" value="bottom" '.(($CONF['copyPOS'][0]=='bottom')?'checked="checked"':'').'/> '.l10n('bottom').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</td>
+						<td>
+							<label><input type="radio" name="copyPOS[1]" value="left" '.(($CONF['copyPOS'][1]=='left')?'checked="checked"':'').'/> '.l10n('left').'</label>
+							<label><input type="radio" name="copyPOS[1]" value="center" '.(($CONF['copyPOS'][1]=='center')?'checked="checked"':'').'/> '.l10n('center').'</label>
+							<label><input type="radio" name="copyPOS[1]" value="right" '.(($CONF['copyPOS'][1]=='right')?'checked="checked"':'').'/> '.l10n('right').'</label>
+						</td>
+					</tr>
+					<tr>
+						<td>'.l10n('copySIZE').' :</td>
+						<td><input type="text" name="copySIZE" value="'.$CONF['copySIZE'].'" size="5"/></td>
+					</tr>
+					<tr>
+						<td>'.l10n('copyCOLOR').' :</td>
+						<td><input type="text" name="copyCOLOR" value="'.$CONF['copyCOLOR'].'" size="6" id="colorpicker"/></td>
+						<script type="text/javascript">
+							$("#colorpicker").ColorPicker({
+								onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
+								onChange: function(hsb, hex, rgb, el) { $("#colorpicker").val(hex); },
+								onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+							}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+						</script>
+					</tr>
+					<tr>
+						<td>'.l10n('copyFONT').' :</td>
+						<td><input type="text" name="copyFONT" value="'.$CONF['copyFONT'].'"/></td>
+					</tr>
+				</table>
+			</li>
+		</ul>
+	</div>
+
+	<div class="generic config">
+		<h2>'.l10n('Plugins').'</h2>
+		<ul>';
+			
+			// Affichage des plugins
+			$PLUGIN_ACTION = 'edit_config';
+			
+			foreach ($CONF['Plugins'] as $plugin_id => $plugin_config) {
+				$PAGE_CONTENT[0] .= '<li>
+					<div class="plugin-title">
+						<span class="title">'.$plugin_config['name'].' :</span>
+						<input type="hidden" name="Plugins['.$plugin_id.'][name]" value="'.$plugin_config['name'].'"/>
+						<input type="hidden" name="Plugins['.$plugin_id.'][mode]" value="'.$plugin_config['mode'].'"/>';
+						
+						// Cas spéciaux dans le titre (nouveau, manquant)
+						if (isset($NewPlugins[$plugin_id])) {
+							$PAGE_CONTENT[0] .= ' <b class="new">'.l10n('New !').'</b>';
+						} else if (isset($MissingPlugins[$plugin_id])) {
+							$PAGE_CONTENT[0] .= ' <b class="miss">'.l10n('Missing !').'</b>';
+						}
+						
+						// Si il est manquant on ne met que la checkbox de suppression, sinon boutons d'activation
+						$PAGE_CONTENT[0] .= '<span class="plugin-active">';
+							if (isset($MissingPlugins[$plugin_id])) {
+								$PAGE_CONTENT[0] .= '<label><input type="checkbox" name="Plugins['.$plugin_id.'][delete]" value="true" checked="checked"/> '.l10n('erase').'</label>';
+							} else {
+								$PAGE_CONTENT[0] .= '<label><input type="radio" name="Plugins['.$plugin_id.'][active]" value="true" '.(($plugin_config['active'])?'checked="checked"':'').'/> '.l10n('Active').'</label>
+								<label><input type="radio" name="Plugins['.$plugin_id.'][active]" value="false" '.((!$plugin_config['active'])?'checked="checked"':'').'/> '.l10n('Inactive').'</label>';
+							}
+						$PAGE_CONTENT[0] .= '</span>
+						
+					</div>';
+					
+					
+					// On affiche sa configuration
+					if (!isset($MissingPlugins[$plugin_id]) AND file_exists('plugins/'.$plugin_id.'/setup.php')) {
+						include('plugins/'.$plugin_id.'/setup.php');
+					}
+				$PAGE_CONTENT[0] .= '</li>';
+			}
+			
+		$PAGE_CONTENT[0] .= '</ul>
+	</div>';
+	
+
+	$PAGE_CONTENT[2] .= '<div class="generic link">
+		<input type="submit" value="'.l10n('Valid').'"/>
+		<input type="reset" value="'.l10n('Reset').'"/>
+		<input type="reset" onclick="location.href=\'index.php\'" value="'.l10n('Back').'"/>
+	</div>
+</form>';
+?>
Index: extensions/PHP_Optimisateur/index.php
===================================================================
--- extensions/PHP_Optimisateur/index.php	(revision 9200)
+++ extensions/PHP_Optimisateur/index.php	(revision 9201)
@@ -2,43 +2,70 @@
 /***************************************\
 |			PHP OPTIMISATEUR			|
-|			   Version 1.2				|
+|			   Version 1.3				|
 \***************************************/
 
+session_start();
 set_time_limit(7200);
+
+$APPversion = '1.3';
 $TIME_START = microtime(true);
+$ERRORS = array();
+$CONF = array();
+$PAGE_CONTENT = array(0=>null,1=>null,2=>null);
 
-include('files/functions.php');
-include('files/header.php');
+include('include/functions.php');
+$PAGE = (isset($_GET['page'])) ? $_GET['page'] : 'home';
 
 
 
-### DEMARRAGE ###
-// Fichier de configuration
+### CONFIGURATION ###
 if (!file_exists('config.xml')) {
-	$Errors['ErrorFile'] = true;
+	$ERRORS['fatal']['ErrorConfigFile'] = true;
+} else {
+	$CONF = load_config('config.xml');
+}
+
+if (!file_exists('include/nconvert.exe')) {
+	$ERRORS['fatal']['ErrorNconvert'] = true;
+}
+
+
+
+### HEADER ###
+$CONF = array_merge($CONF, GetLanguage());
+include('language/'.$CONF['user_lang'].'/'.$CONF['user_lang'].'.php');
+include('include/header.php');
+
+
+
+### VERIFICATIONS ###
+if ($PAGE == 'home') {
+	if (!isset($ERRORS['fatal'])) {
+		if (!file_exists($CONF['DIRsource'])) {
+			mkdir($CONF['DIRsource']);
+		}
+		if (!file_exists($CONF['DIRsortie'])) {
+			mkdir($CONF['DIRsortie']);
+		}
+		if (is_dir_empty($CONF['DIRsource'])) {
+			$ERRORS['ErrorFolderIn'] = 'fatal';
+		}
+		if ($CONF['silentORNOT'] == 'block' AND !is_dir_empty($CONF['DIRsortie'])) {
+			$ERRORS['fatal']['ErrorFolderOut'] = true;
+		} else if ($CONF['silentORNOT'] == 'erase' AND !is_dir_empty($CONF['DIRsortie'])) {
+			$ERRORS['notice']['EraseFolderOut'] = true;
+		}
+	}
 	
-} else {
-	// Configuration
-	extract(load_config());
-
-	// Afficher la configuration
-	include('files/display_config.php');
-
-	// Dossiers
-	if (!file_exists($DIRsource)) {
-		mkdir($DIRsource);
+} else if ($PAGE == 'setup') {
+	if (isset($_GET['ErrorConfig'])) {
+		$ERRORS['notice']['ErrorConfig'] = true;
 	}
-	if (!file_exists($DIRsortie)) {
-		mkdir($DIRsortie);
+	if (isset($_POST['DIRsource'])) {
+		include('include/save_config.php');
 	}
-	if (is_dir_empty($DIRsource)) {
-		$Errors['ErrorFolderIn'] = true;
-	}
-	if (!is_dir_empty($DIRsortie) AND $silentORNOT == 'block') {
-		$Errors['ErrorFolderOut'] = true;
-	}
-	if (!file_exists('files\nconvert.exe')) {
-		$Errors['ErrorNconvert'] = true;
-	}
+	
+} else if ($PAGE = 'process') {
+	include('include/main.php');
 }
 
@@ -46,143 +73,56 @@
 
 ### ERREURS ###
-if (isset($Errors)) {
-	foreach ($Errors as $key => $null) {
-		echo '<div class="error">'.l10n($key).'</div>';
-	}
-	echo '<div class="link"><a href="index.php">&raquo; '.l10n('Back').'</a> <a href="setup.php">&raquo; '.l10n('Config').'</a></div>';
+if (isset($ERRORS['fatal'])) {
+	$PAGE_CONTENT[1] .= '<div class="generic error">';
+		foreach ($ERRORS['fatal'] as $key => $i) {
+			$PAGE_CONTENT[1] .= '<div>'.l10n('fatal.'.$key).'</div>';
+		}
+	$PAGE_CONTENT[1] .= '</div>';
+}
+if (isset($ERRORS['notice'])) {
+	$PAGE_CONTENT[1] .= '<div class="generic notice">';
+		foreach ($ERRORS['notice'] as $key => $i) {
+			$PAGE_CONTENT[1] .= '<div>'.l10n('notice.'.$key).'</div>';
+		}
+	$PAGE_CONTENT[1] .= '</div>';
 }
 
 
 
-### EXECUTION ###
-if (isset($_GET['Process']) AND !isset($Errors)) {
-	// Si mode silencieux vidage automatique du dossier de sortie
-	if ($silentORNOT == 'erase') {
-		rrmdir($DIRsortie);
-		mkdir($DIRsortie);
-	}
+### AFFICHAGE ###
+if ($PAGE == 'home') {
+	if (isset($ERRORS['fatal'])) {
+		$PAGE_CONTENT[2] .= '<div class="generic link"><a class="input-submit" href="index.php">'.l10n('Back').'</a> <a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a></div>';
 
-	
-	### Supprimer les caractères spéciaux - dossiers & fichiers ###
-	// Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers
-	function recursive_delete_special_car($dir) {
-		$dir = rtrim($dir, '/');
-		$dh = opendir($dir);
+	} else {
+		include('include/display_config.php');
 		
-		while (($file = readdir($dh)) !== false ) {
-			if ($file !== '.' && $file !== '..') {
-				$path = $dir.'/'.$file;
-				$new_path = $dir.'/'.delete_special_car($file);
-				rename($path, $new_path);
-				
-				if (is_dir($new_path)) {
-					recursive_delete_special_car($new_path);
-				}
-			}
-		}
-		closedir($dh);
-	}
-
-	recursive_delete_special_car($DIRsource);
-
-
-	### Copyright & Options générales des conversion ###
-	$copyright = utf8_decode($copyright);
-	$copyCOLOR = hex2RGB(substr($copyCOLOR,1), true, ' ');
-	
-	if ($copyONhd) {
-		$copyHD = '-text_font "'.$copyFONT.'" '.$DIMnormal*$copySIZE.' -text_color '.$copyCOLOR.' -text_flag '.$copyPOS.' -text_pos 0 0 -text "'.$copyright.'"';
-	} else {
-		$copyHD = null;
+		$PAGE_CONTENT[2] .= '<div class="generic finish">
+			<span id="ready-text">'.l10n('Ready').'</span>
+			<span id="loader"><img src="template/favicon.png" alt="PHP OPT"/></span>
+		</div>
+		<div class="generic link">
+			<a class="input-submit" href="index.php?page=process" onclick="Load();">'.l10n('Launch').'</a>
+			<a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
+		</div>';
 	}
 	
-	if ($copyONnormal) {
-		$copyNormal = '-text_font "'.$copyFONT.'" '.$DIMnormal*$copySIZE.' -text_color '.$copyCOLOR.' -text_flag '.$copyPOS.' -text_pos 0 0 -text "'.$copyright.'"';
+} else if ($PAGE == 'setup') {
+	if (isset($ERRORS['fatal'])) {
+		$PAGE_CONTENT[2] .= '<div class="generic link"><a class="input-submit" href="index.php">'.l10n('Back').'</a></div>';
+
 	} else {
-		$copyNormal = null;
+		include('include/setup.php');
 	}
 	
-	$convOptions = '-ratio -rtype lanczos -rflag decr';
-
-
-	### Plugins avant execution ###
-	foreach ($PluginsBefore as $name => $config) {
-		if ($config['active']) {
-			include('plugins/'.$name.'.php');
-		}
-	}
-
-
-	### Processus principal ###
-	// Tableau avec les fichiers source
-	$FilesSource = array();
-	recursive_readdir($DIRsource, 'FilesSource');
-	
-	// Tableau avec les fichiers de sortie
-	$FilesSortie = str_replace($DIRsource, $DIRsortie, $FilesSource);
-
-	// Boucle sur tous les fichiers
-	for ($i=0; $i<count($FilesSource); $i++) {
-		// Découpe le nom de fichier : dossier/fichier
-		preg_match('#(.*)/(.*)$#', $FilesSortie[$i], $matches);
-		$FileFolder = $matches[1]; // dossier de sortie
-		$FileName = $matches[2]; // nom+ext fichier
-			
-		// Crée les sous-dossiers de sortie & 'pwg_high' & 'thumbnail'
-		if (!file_exists($FileFolder.'/pwg_high') AND $DIRhighORNOT) {
-			mkdir($FileFolder.'/pwg_high', 0777, true);
-		}
-		if (!file_exists($FileFolder.'/thumbnail')) {
-			mkdir($FileFolder.'/thumbnail', 0777, true);
-		}
-		
-		// Informations sur le fichier
-		exec('files\nconvert.exe -info "'.$FilesSource[$i].'"', $FileInfos);
-		for ($m=0; $m<=5; $m++) {
-			unset($FileInfos[$m]);
-		}
-		foreach ($FileInfos as $key) {
-			$a = explode(':', $key);
-			$FileInfos[trim($a[0])] = trim($a[1]);
-		}
-			
-		// Plugins pendant l'execution
-		foreach ($PluginsProcess as $name => $config) {
-			if ($config['active']) {
-				include('plugins/'.$name.'.php');
-			}
-		}
-		
-		// Compresse les fichiers dans le dossier de sortie
-		if (!isset($BlockNormal)) { 
-			exec('files\nconvert.exe -q '.$Qnormal.' -out jpeg -o "'.$FileFolder.'/'.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$DIMnormal.' '.$DIMnormal.' '.$copyNormal.' "'.$FilesSource[$i].'"');
-		}
-		if (!isset($BlockThumbnail)) { 
-			exec('files\nconvert.exe -q '.$Qthumbnail.' -out jpeg -o "'.$FileFolder.'/thumbnail/'.$prefixe_mini.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$DIMthumbnail.' '.$DIMthumbnail.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
-		}
-		if (!isset($BlockHigh) AND $DIRhighORNOT) {
-			if ($DIMhdORNOT) {
-				exec('files\nconvert.exe -q '.$Qhd.' -out jpeg -o "'.$FileFolder.'/pwg_high/'.$FileName.'" -dpi '.$DPI.' '.$convOptions.' -resize '.$DIMhd.' '.$DIMhd.' '.$copyHD.' "'.$FilesSource[$i].'"');
-			} else {
-				copy($FilesSource[$i], $FileFolder.'/pwg_high/'.$FileName);
-			}
-		}
-		
-		// Réinitialise les bloqueurs
-		unset($FileInfos);
-		unset($BlockNormal);
-		unset($BlockThumbnail);
-		unset($BlockHigh);
-	}
-
-	
+} else if ($PAGE = 'process') {
 	### Affichage des fichiers traités ###
-	echo '<div class="files">
+	$PAGE_CONTENT[0] .= '<div class="generic files">
 		<h2>'.l10n('Source files').'</h2>
 		<ul>';
 			foreach ($FilesSource as $value) {
-				echo '<li>'.$value.'</li>';
+				$PAGE_CONTENT[0] .= '<li>'.$value.'</li>';
 			}
-		echo '</ul>
+		$PAGE_CONTENT[0] .= '</ul>
 		<i>'.l10n('%d files', count($FilesSource)).'</i>
 	</div>';
@@ -190,45 +130,19 @@
 	unset($FilesSource);
 	unset($FilesSortie);
-
-
-	### Supprime les dossiers vides et copie les fichiers index.php ###
-	$DirsSortie = array();
-	recursive_readdir($DIRsortie, 'DirsSortie', true);
-
-	foreach($DirsSortie as $dir) {
-		if (is_dir_empty($dir)) {
-			rmdir($dir);
-		} else if ($indexORNOT) {
-			copy('files/index.php', $dir.'/index.php');
-		}
-	}
-
-	unset($DirsSortie);
-
-
-	### Plugins après execution ###
-	foreach ($PluginsAfter as $name => $config) {
-		if ($config['active']) {
-			include('plugins/'.$name.'.php');
-		}
-	}
-
-
-	### Message final ###
-	echo '<div class="finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).'</div>
-	<div class="link"><a href="index.php">&raquo; '.l10n('Back').'</a> <a href="setup.php">&raquo; '.l10n('Config').'</a></div>';
-
 	
-	
-### READY ###
-} else if (!isset($Errors)) {
-	echo '<div class="finish">'.l10n('Ready').' <span id="loader" style="display:none;float:right;margin:-8px 0 -10px 0;"><img src="files/loader.gif" /></span></div>
-	<div class="link"><a href="index.php?Process=true" onClick="document.getElementById(\'loader\').style.display=\'block\';">&raquo; '.l10n('Launch').'</a> <a href="setup.php">&raquo; '.l10n('Config').'</a></div>';
+	$PAGE_CONTENT[2] .= '<div class="generic finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).'</div>
+	<div class="generic link">
+		<a class="input-submit" href="index.php">'.l10n('Back').'</a>
+		<a class="input-submit" href="index.php?page=setup">'.l10n('Config').'</a>
+	</div>';
 }
 
 
+### FIN ###
+echo $PAGE_CONTENT[0];
+echo $PAGE_CONTENT[1];
+echo $PAGE_CONTENT[2];
 
-### FIN ###
-echo '<div class="footer">
+echo '<div class="generic footer">
 	2010 - <a href="http://www.strangeplanet.fr">Damien Sorel</a> - <a href="http://fr.piwigo.org/forum/viewtopic.php?id=19117">Forum</a>
 </div>
Index: extensions/PHP_Optimisateur/language/en/en.php
===================================================================
--- extensions/PHP_Optimisateur/language/en/en.php	(revision 9200)
+++ extensions/PHP_Optimisateur/language/en/en.php	(revision 9201)
@@ -1,16 +1,13 @@
 <?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|			   Version 1.2				|
-\***************************************/
-
 $Lang['ErrorFile'] = "Fatal error : Configuration file missing.";
 $Lang['ErrorFolderIn'] = "Fatal error : Input folder empty.";
 $Lang['ErrorFolderOut'] = "Fatal error : Output folder not empty.";
-$Lang['ErrorNconvert'] = "The program nconvert.exe is not found.";
+$Lang['ErrorNconvert'] = "Fatal error : The program <i>nconvert.exe</i> is not found.";
+$Lang['ErrorConfig'] = "Some configuration errors have been fixed, please check your parameters.";
 $Lang['Source files'] = "Handled files";
 $Lang['%d files'] = "%d files";
 $Lang['Finish %d seconds'] = "Process done : %d seconds.";
 $Lang['Ready'] = "Ready to launch.";
+$Lang['Processing'] = "Processing.";
 $Lang['Launch'] = "Launch";
 $Lang['Config'] = "Configure";
@@ -46,7 +43,4 @@
 $Lang['copyFONT'] = "Font";
 $Lang['Plugins'] = "Plugins";
-$Lang['PluginsBefore'] = "Plugins pre-processing";
-$Lang['PluginsProcess'] = "Plugins processing";
-$Lang['PluginsAfter'] = "Plugins post-processing";
 $Lang['yes'] = "yes";
 $Lang['no'] = "no";
@@ -63,3 +57,5 @@
 $Lang['Reset'] = "Reset";
 $Lang['Valid'] = "Validate";
+$Lang['Active'] = "Active";
+$Lang['Inactive'] = "Inactive";
 ?>
Index: extensions/PHP_Optimisateur/language/fr/fr.php
===================================================================
--- extensions/PHP_Optimisateur/language/fr/fr.php	(revision 9200)
+++ extensions/PHP_Optimisateur/language/fr/fr.php	(revision 9201)
@@ -1,16 +1,15 @@
 <?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|			   Version 1.2				|
-\***************************************/
-
-$Lang['ErrorFile'] = "Erreur fatale : Fichier de configuration introuvable.";
-$Lang['ErrorFolderIn'] = "Erreur fatale : Dossier source vide.";
-$Lang['ErrorFolderOut'] = "Erreur fatale : Dossier de sortie non vide.";
-$Lang['ErrorNconvert'] = "Le programme nconvert.exe est introuvable.";
+$Lang['fatal.ErrorConfigFile'] = "Erreur fatale : Fichier de configuration introuvable.";
+$Lang['fatal.ErrorFolderIn'] = "Erreur fatale : Dossier source vide.";
+$Lang['fatal.ErrorFolderOut'] = "Erreur fatale : Dossier de sortie non vide.";
+$Lang['fatal.ErrorNconvert'] = "Erreur fatale : Le programme <i>nconvert.exe</i> est introuvable.";
+$Lang['fatal.ErrorConfig'] = "Erreur fatale : Configuration incorrecte.";
+$Lang['notice.EraseFolderOut'] = "Attention : Le dossier de sortie va être entièrement vidé.";
+$Lang['notice.ErrorConfig'] = "Des erreurs de configuration ont été corrigées, veuillez vérifier les réglages.";
 $Lang['Source files'] = "Fichiers traités";
 $Lang['%d files'] = "%d fichiers";
 $Lang['Finish %d seconds'] = "Opération terminée : %d secondes.";
 $Lang['Ready'] = "Prêt à commencer.";
+$Lang['Processing'] = "En cours de traitement.";
 $Lang['Launch'] = "Exécuter";
 $Lang['Config'] = "Configurer";
@@ -46,7 +45,4 @@
 $Lang['copyFONT'] = "Police";
 $Lang['Plugins'] = "Plugins";
-$Lang['PluginsBefore'] = "Plugins pré-processing";
-$Lang['PluginsProcess'] = "Plugins processing";
-$Lang['PluginsAfter'] = "Plugins post-processing";
 $Lang['yes'] = "oui";
 $Lang['no'] = "non";
@@ -63,3 +59,5 @@
 $Lang['Reset'] = "Réinitialiser";
 $Lang['Valid'] = "Valider";
+$Lang['Active'] = "Activé";
+$Lang['Inactive'] = "Désactivé";
 ?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan.php	(revision 9200)
+++ 	(revision )
@@ -1,30 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|		  Plugin ConvertPan 1.1			|
-\***************************************/
-
-## Crée des images normales plus hautes pour les panoramas (utilisation des paMOOrama par exemple)
-## Crée des miniatures rognées pour ne pas avoir de minuscules images
-
-$NAMEpanorama = $PluginsProcess['convert_pan']['NAMEpanorama']; // Suffixe des panoramas
-$DIMpanorama = $PluginsProcess['convert_pan']['DIMpanorama']; // Hauteur des panoramas normaux
-$DIMthumbnailV = $DIMthumbnail/$PluginsProcess['convert_pan']['RatioPanThumb']; // Taille verticale des miniatures
-
-if (strpos($FileName, $NAMEpanorama) !== false) {
-
-	// on prend la miniature au milieu du panorama
-	$tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height'];
-	$offset_x = ($tmp_x - $DIMthumbnail) / 2;
-
-	if (!isset($BlockNormal)) { 
-		exec('files\nconvert.exe -q '.$Qnormal.' -out jpeg -o "'.$FileFolder.'/'.$FileName.'" -dpi 72 '.$convOptions.' -resize 0 '.$DIMpanorama.' '.$copyNormal.' "'.$FilesSource[$i].'"');
-		$BlockNormal = true;
-	}
-	
-	if (!isset($BlockThumbnail)) { 
-		exec('files\nconvert.exe -q '.$Qthumbnail.' -out jpeg -o "'.$FileFolder.'/thumbnail/'.$prefixe_mini.$FileName.'" -dpi 72 '.$convOptions.' -resize 0 '.$DIMthumbnailV.' -crop '.$offset_x.' 0 '.$DIMthumbnail.' '.$DIMthumbnailV.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
-		$BlockThumbnail = true;
-	}
-}
-?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan.xml	(revision 9200)
+++ 	(revision )
@@ -1,7 +1,0 @@
-<convert_pan>
-	<mode>PluginsProcess</mode>
-	<active>false</active>
-	<DIMpanorama>500</DIMpanorama>
-	<NAMEpanorama>_pan</NAMEpanorama>
-	<RatioPanThumb>1.7</RatioPanThumb>
-</convert_pan>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/config.xml	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/config.xml	(revision 9201)
@@ -0,0 +1,7 @@
+<plugin>
+	<name>ConvertPan</name>
+	<mode>Process</mode>
+	<DIMpanorama>500</DIMpanorama>
+	<NAMEpanorama>_pan</NAMEpanorama>
+	<RatioPanThumb>1.7</RatioPanThumb>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/lang/en.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/lang/en.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/lang/en.php	(revision 9201)
@@ -0,0 +1,6 @@
+<?php
+$Lang['convert_pan.unactive'] = "&nbsp;&nbsp;'0' to unactive";
+$Lang['convert_pan.DIMpanorama'] = "Panorama height";
+$Lang['convert_pan.NAMEpanorama'] = "Distinctive suffix";
+$Lang['convert_pan.RatioPanThumb'] = "Thumbnails ratio";
+?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/lang/fr.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/lang/fr.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/lang/fr.php	(revision 9201)
@@ -0,0 +1,6 @@
+<?php
+$Lang['convert_pan.unactive'] = "&nbsp;&nbsp;'0' pour désactiver";
+$Lang['convert_pan.DIMpanorama'] = "Hauteur du panorama";
+$Lang['convert_pan.NAMEpanorama'] = "Suffixe distinctif";
+$Lang['convert_pan.RatioPanThumb'] = "Ratio des miniatures";
+?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/main.php	(revision 9201)
@@ -0,0 +1,31 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|		  Plugin ConvertPan 1.1			|
+\***************************************/
+
+## Crée des images normales plus hautes pour les panoramas (utilisation des paMOOrama par exemple)
+## Crée des miniatures rognées pour ne pas avoir de minuscules images
+
+$NAMEpanorama = $CONF['Plugins']['convert_pan']['NAMEpanorama']; // Suffixe des panoramas
+$DIMpanorama = $CONF['Plugins']['convert_pan']['DIMpanorama']; // Hauteur des panoramas normaux
+$RatioPanThumb = $CONF['Plugins']['convert_pan']['RatioPanThumb']; // Ratio des miniatures
+
+if (strpos($FileName, $NAMEpanorama) !== false) {
+	if (!isset($BlockNormal) AND $DIMpanorama != 0) { 
+		exec('files\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$DIMpanorama.' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+		$BlockNormal = true;
+	}
+	
+	if (!isset($BlockThumbnail) AND $RatioPanThumb != 0) { 
+		$DIMthumbnailV = $CONF['DIMthumbnail']/$CONF['Plugins']['convert_pan']['RatioPanThumb'];
+		
+		// on prend la miniature au milieu du panorama
+		$tmp_x = $FileInfos['Width'] * $DIMthumbnailV / $FileInfos['Height'];
+		$offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
+		
+		exec('files\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize 0 '.$DIMthumbnailV.' -crop '.$offset_x.' 0 '.$CONF['DIMthumbnail'].' '.$DIMthumbnailV.' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
+		$BlockThumbnail = true;
+	}
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/convert_pan/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/convert_pan/setup.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/convert_pan/setup.php	(revision 9201)
@@ -0,0 +1,62 @@
+<?php
+switch ($PLUGIN_ACTION) {
+	// Affichage simple de la configuration
+	case 'read_config':
+		load_plugin_lang('convert_pan');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('convert_pan.NAMEpanorama').' :</td>
+				<td>'.$plugin_config['NAMEpanorama'].'</td>
+			</tr>
+			<tr>
+				<td>'.l10n('convert_pan.DIMpanorama').' :</td>
+				<td>'.$plugin_config['DIMpanorama'].'px</td>
+			</tr>
+			<tr>
+				<td>'.l10n('convert_pan.RatioPanThumb').' :</td>
+				<td>'.$plugin_config['RatioPanThumb'].'</td>
+			</tr>
+		</table>';
+		break;
+		
+	// Actions avant enregistrement
+	case 'save_config':
+		$_POST['Plugins']['convert_pan']['NAMEpanorama'] = delete_special_car($_POST['Plugins']['convert_pan']['NAMEpanorama']);
+		
+		if (!is_decimal($_POST['Plugins']['convert_pan']['DIMpanorama'])) {
+			$_POST['Plugins']['convert_pan']['DIMpanorama'] = 500;
+			$Errors['ErrorConfig'] = 'notice';
+		}
+		if (!is_decimal($_POST['Plugins']['convert_pan']['RatioPanThumb'])) {
+			$_POST['Plugins']['convert_pan']['RatioPanThumb'] = 1.7;
+			$$Errors['ErrorConfig'] = 'notice';
+		}
+		
+		break;
+		
+	// Formulaire d'édition
+	case 'edit_config':
+		load_plugin_lang('convert_pan');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('convert_pan.NAMEpanorama').' :</td>
+				<td><input type="text" name="Plugins[convert_pan][NAMEpanorama]" value="'.$plugin_config['NAMEpanorama'].'" size="6"/></td>
+			</tr>
+			<tr>
+				<td>'.l10n('convert_pan.DIMpanorama').' :</td>
+				<td>
+					<input type="text" name="Plugins[convert_pan][DIMpanorama]" value="'.$plugin_config['DIMpanorama'].'" size="3"/>px
+					<i>'.l10n('convert_pan.unactive').'</i>
+				</td>
+			</tr>
+			<tr>
+				<td>'.l10n('convert_pan.RatioPanThumb').' :</td>
+				<td>
+					<input type="text" name="Plugins[convert_pan][RatioPanThumb]" value="'.$plugin_config['RatioPanThumb'].'" size="3"/>
+					<i>'.l10n('convert_pan.unactive').'</i>
+				</td>
+			</tr>
+		</table>';
+		break;
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs.php	(revision 9200)
+++ 	(revision )
@@ -1,77 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin CreateCustomThumbs 1.0		|
-\***************************************/
-
-## Différents traitements sur les miniatures : taille fixe & cadre (2 couleurs)
-## Dépend de la valeur de $DIMthumbnail
-
-// CreateCustomThumbs à la priorité sur ConvertPan
-if (isset($PluginsProcess['convert_pan']) OR !isset($BlockThumbnail)) { 
-
-	$FileSource = $FilesSource[$i]; // fichier de travail
-	$DIMthumbnailV = $PluginsProcess['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
-	$FRAMEparams = $PluginsProcess['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre
-	
-	// Miniature de taille personnalisée
-	if ($DIMthumbnailV != '0') {
-		$max = max($DIMthumbnail, $DIMthumbnailV);
-
-		// on prend la miniature au milieu de l'image
-		if ($FileInfos['Height'] >= $FileInfos['Width']) {
-			$resize_param = $max.' 0';
-			$tmp_x = $max;
-			$tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width'];
-		} else {
-			$resize_param = '0 '.$max;
-			$tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height'];
-			$tmp_y = $max;
-		}
-		
-		$offset_x = ($tmp_x - $DIMthumbnail) / 2;
-		$offset_y = ($tmp_y - $DIMthumbnailV) / 2;
-		
-		exec('files\nconvert.exe -overwrite -q '.$Qthumbnail.' -out jpeg -o "'.$FileFolder.'/thumbnail/'.$prefixe_mini.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$DIMthumbnail.' '.$DIMthumbnailV.' -rmeta -rexifthumb 	"'.$FileSource.'"');
-		
-		$BlockThumbnail = true;
-		$FileSource = $FileFolder.'/thumbnail/'.$prefixe_mini.$FileName;
-	}
-
-	// Cadre autour de la miniature
-	if ($FRAMEparams != '0') {
-		// Si la miniature n'a pas encore été générée il faut le faire
-		if ($FileSource == $FilesSource[$i]) {
-			exec('files\nconvert.exe -q '.$Qthumbnail.' -out jpeg -o "'.$FileFolder.'/thumbnail/'.$prefixe_mini.$FileName.'" -dpi 72 '.$convOptions.' -resize '.$DIMthumbnail.' '.$DIMthumbnail.' -rmeta -rexifthumb 	"'.$FilesSource[$i].'"');
-			$FileSource = $FileFolder.'/thumbnail/'.$prefixe_mini.$FileName;
-		}
-
-		$FRAMEparams = ExplodeString($FRAMEparams);
-		$colors['name'] = array_keys($FRAMEparams);
-		$colors['size'] = array_values($FRAMEparams);
-		
-		$img = imagecreatefromjpeg($FileSource);
-		$x = imagesx($img)-1;
-		$y = imagesy($img)-1;
-		
-		$colors[0] = hex2RGB(substr($colors['name'][0],1));
-		$colors[1] = hex2RGB(substr($colors['name'][1],1));
-		$colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']);
-		$colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']);
-
-		for ($m=0; $m<$colors['size'][0]; $m++) {
-			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]);
-		}
-		for ($m=$colors['size'][0]; $m<$colors['size'][0]+$colors['size'][1]; $m++) {
-			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]);
-		}
-		
-		imagejpeg($img, $FileFolder.'/thumbnail/'.$prefixe_mini.$FileName, $Qthumbnail);
-		imagedestroy($img);
-		
-		$BlockThumbnail = true;
-		$FileSource = $FileFolder.'/thumbnail/'.$prefixe_mini.$FileName;
-	}
-}
-
-?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs.xml	(revision 9200)
+++ 	(revision )
@@ -1,6 +1,0 @@
-<create_custom_thumbs>
-	<mode>PluginsProcess</mode>
-	<active>false</active>
-	<DIMthumbnailV>120</DIMthumbnailV>
-	<FRAMEparams>#c8c8c8:1;#0a0a0a:4</FRAMEparams>
-</create_custom_thumbs>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/config.xml	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/config.xml	(revision 9201)
@@ -0,0 +1,11 @@
+<plugin>
+	<name>Create Custom Thumbs</name>
+	<mode>Process</mode>
+	<DIMthumbnailV>120</DIMthumbnailV>
+	<FRAMEparams>
+		<color1>c8c8c8</color1>
+		<size1>1</size1>
+		<color2>0a0a0a</color2>
+		<size2>4</size2>
+	</FRAMEparams>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/en.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/en.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/en.php	(revision 9201)
@@ -0,0 +1,5 @@
+<?php
+$Lang['create_custom_thumbs.unactive'] = "&nbsp;&nbsp;'0' to unactive";
+$Lang['create_custom_thumbs.DIMthumbnailV'] = "Thumbnails height";
+$Lang['create_custom_thumbs.FRAMEparams'] = "Border";
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/fr.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/fr.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/lang/fr.php	(revision 9201)
@@ -0,0 +1,5 @@
+<?php
+$Lang['create_custom_thumbs.unactive'] = "&nbsp;&nbsp;'0' pour désactiver";
+$Lang['create_custom_thumbs.DIMthumbnailV'] = "Hauteur des miniatures";
+$Lang['create_custom_thumbs.FRAMEparams'] = "Bordure";
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php	(revision 9201)
@@ -0,0 +1,73 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|	  Plugin CreateCustomThumbs 1.0		|
+\***************************************/
+
+## Différents traitements sur les miniatures : taille fixe & cadre (2 couleurs)
+## Dépend de la valeur de $CONF['DIMthumbnail']
+
+// CreateCustomThumbs à la priorité sur ConvertPan
+if (isset($CONF['Plugins']['convert_pan']) OR !isset($BlockThumbnail)) { 
+
+	$FileSource = $FilesSource[$i]; // fichier de travail
+	$DIMthumbnailV = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
+	$FRAMEparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre
+	
+	// Miniature de taille personnalisée
+	if ($DIMthumbnailV != 0) {
+		$max = max($CONF['DIMthumbnail'], $DIMthumbnailV);
+
+		// on prend la miniature au milieu de l'image
+		if ($FileInfos['Height'] >= $FileInfos['Width']) {
+			$resize_param = $max.' 0';
+			$tmp_x = $max;
+			$tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width'];
+		} else {
+			$resize_param = '0 '.$max;
+			$tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height'];
+			$tmp_y = $max;
+		}
+		
+		$offset_x = ($tmp_x - $CONF['DIMthumbnail']) / 2;
+		$offset_y = ($tmp_y - $DIMthumbnailV) / 2;
+		
+		exec('files\nconvert.exe -overwrite -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$CONF['DIMthumbnail'].' '.$DIMthumbnailV.' -rmeta -rexifthumb 	"'.$FileSource.'"');
+		
+		$BlockThumbnail = true;
+		$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName;
+	}
+
+	// Cadre autour de la miniature
+	if ($FRAMEparams['size1'] != 0 OR $FRAMEparams['size2'] != 0) {
+		// Si la miniature n'a pas encore été générée il faut le faire
+		if ($FileSource == $FilesSource[$i]) {
+			exec('files\nconvert.exe -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName.'" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb 	"'.$FilesSource[$i].'"');
+			$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName;
+		}
+
+		$img = imagecreatefromjpeg($FileSource);
+		$x = imagesx($img)-1;
+		$y = imagesy($img)-1;
+		
+		$colors[0] = hex2RGB($FRAMEparams['color1']);
+		$colors[1] = hex2RGB($FRAMEparams['color2']);
+		$colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']);
+		$colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']);
+
+		for ($m=0; $m<$FRAMEparams['size1']; $m++) {
+			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]);
+		}
+		for ($m=$FRAMEparams['size1']; $m<$FRAMEparams['size1']+$FRAMEparams['size2']; $m++) {
+			imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]);
+		}
+		
+		imagejpeg($img, $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName, $CONF['Qthumbnail']);
+		imagedestroy($img);
+		
+		$BlockThumbnail = true;
+		$FileSource = $FileFolder.'thumbnail/'.$CONF['prefixe_mini'].$FileName;
+	}
+}
+
+?>
Index: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_custom_thumbs/setup.php	(revision 9201)
@@ -0,0 +1,102 @@
+<?php
+switch ($PLUGIN_ACTION) {
+	// Affichage simple de la configuration
+	case 'read_config':
+		load_plugin_lang('create_custom_thumbs');
+		
+		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
+		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
+		
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
+				<td>'.bool_to_string($plugin_config['DIMthumbnailV']).'</td>
+			</tr>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
+				<td>
+					#'.$plugin_config['FRAMEparams']['color1'].'
+					<span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color1']).';">&nbsp;</span>
+					'.$plugin_config['FRAMEparams']['size1'].'px
+				</td>
+			</tr>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
+				<td>
+					#'.$plugin_config['FRAMEparams']['color2'].'
+					<span class="color-display" style="background-color:#'.nice_hex_color($plugin_config['FRAMEparams']['color2']).';">&nbsp;</span>
+					'.$plugin_config['FRAMEparams']['size2'].'px
+				</td>
+			</tr>
+		</table>';
+		break;
+	
+	
+	// Actions avant enregistrement
+	case 'save_config':
+		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color1']);
+		$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2'] = str_replace('#','', $_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['color2']);
+		
+		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'])) {
+			$_POST['Plugins']['create_custom_thumbs']['DIMthumbnailV'] = 0;
+			$Errors['ErrorConfig'] = 'notice';
+		}
+		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'])) {
+			$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size1'] = 0;
+			$Errors['ErrorConfig'] = 'notice';
+		}
+		if (!is_decimal($_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'])) {
+			$_POST['Plugins']['create_custom_thumbs']['FRAMEparams']['size2'] = 0;
+			$Errors['ErrorConfig'] = 'notice';
+		}
+		
+		break;
+
+		
+	// Formulaire d'édition
+	case 'edit_config':
+		load_plugin_lang('create_custom_thumbs');
+
+		$plugin_config['FRAMEparams']['color1'] = nice_hex_color($plugin_config['FRAMEparams']['color1']);
+		$plugin_config['FRAMEparams']['color2'] = nice_hex_color($plugin_config['FRAMEparams']['color2']);
+		
+		$PAGE_CONTENT[0] .='<table>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.DIMthumbnailV').' :</td>
+				<td>
+					<input type="text" name="Plugins[create_custom_thumbs][DIMthumbnailV]" value="'.$plugin_config['DIMthumbnailV'].'" size="3"/>
+					<i>'.l10n('create_custom_thumbs.unactive').'</i>
+				</td>
+			</tr>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 1 :</td>
+				<td>
+					<input type="text" id="CCT-color1" name="Plugins[create_custom_thumbs][FRAMEparams][color1]" value="'.$plugin_config['FRAMEparams']['color1'].'" size="6"/>
+					<input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size1]" value="'.$plugin_config['FRAMEparams']['size1'].'" size="1"/>px
+					<i>'.l10n('create_custom_thumbs.unactive').'</i>
+				</td>
+			</tr>
+			<tr>
+				<td>'.l10n('create_custom_thumbs.FRAMEparams').' 2 :</td>
+				<td>
+					<input type="text" id="CCT-color2" name="Plugins[create_custom_thumbs][FRAMEparams][color2]" value="'.$plugin_config['FRAMEparams']['color2'].'" size="6"/>
+					<input type="text" name="Plugins[create_custom_thumbs][FRAMEparams][size2]" value="'.$plugin_config['FRAMEparams']['size2'].'" size="1"/>px
+					<i>'.l10n('create_custom_thumbs.unactive').'</i>
+				</td>
+			</tr>
+			<script type="text/javascript">
+				$("#CCT-color1").ColorPicker({
+					onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); $(el).ColorPickerHide(); },
+					onChange: function(hsb, hex, rgb, el) { $("#CCT-color1").val(hex); },
+					onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+				}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+				$("#CCT-color2").ColorPicker({
+					onSubmit: function(hsb, hex, rgb, el) { $(el).val(hex); (el).ColorPickerHide(); },
+					onChange: function(hsb, hex, rgb, el) { $("#CCT-color2").val(hex); },
+					onBeforeShow: function () { $(this).ColorPickerSetColor(this.value); }
+				}) .bind("keyup", function(){ $(this).ColorPickerSetColor(this.value); });
+			</script>
+		</table>';
+		break;
+} 
+?>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha.php	(revision 9200)
+++ 	(revision )
@@ -1,27 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin CreateFoldersAlpha 1.0		|
-\***************************************/
-
-## Crée une arborescence alphanumérique dans la dossier source
-## Ne supporte pas une arborescence pré-existante
-
-$handle = opendir($DIRsource);
-
-while ($file = readdir($handle)) {
-	if ($file != '.' && $file != '..' && !is_dir($DIRsource.'/'.$file)) {
-		// Récupère le parties du nom servant à créer les dossiers
-		if (preg_match('#(.{1})([0-9A-Za-z.-]*)_(.*)#', $file, $matches)) {
-
-			// Crée les dossier
-			if (!file_exists($DIRsource.strtoupper($matches[1]).'/'.$matches[1].$matches[2])) {
-				mkdir($DIRsource.strtoupper($matches[1]).'/'.$matches[1].$matches[2], 0777, true);
-			}
-			
-			// Déplace le fichier
-			rename($DIRsource.$file, $DIRsource.strtoupper($matches[1]).'/'.$matches[1].$matches[2].'/'.$file);
-		}
-	}	
-}
-?>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha.xml	(revision 9200)
+++ 	(revision )
@@ -1,4 +1,0 @@
-<create_folders_alpha>
-	<mode>PluginsBefore</mode>
-	<active>false</active>
-</create_folders_alpha>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha/config.xml	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_folders_alpha/config.xml	(revision 9201)
@@ -0,0 +1,4 @@
+<plugin>
+	<name>Create Folders Alpha</name>
+	<mode>Before</mode>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/create_folders_alpha/main.php	(revision 9201)
@@ -0,0 +1,29 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|	  Plugin CreateFoldersAlpha 1.1		|
+\***************************************/
+
+## Crée une arborescence alphanumérique dans la dossier source
+## Ne supporte pas une arborescence pré-existante
+
+$handle = opendir($CONF['DIRsource']);
+
+while ($file = readdir($handle)) {
+	if ($file != '.' && $file != '..' && !is_dir($CONF['DIRsource'].'/'.$file)) {
+		// Récupère le parties du nom servant à créer les dossiers
+		if (preg_match('#^(.{1})([^_.]*)_(.*)#', $file, $matches)) {
+			$Letter = strtoupper($matches[1]);
+			$FolderName = $matches[1].$matches[2];
+
+			// Crée les dossier
+			if (!file_exists($CONF['DIRsource'].$Letter.'/'.$FolderName)) {
+				mkdir($CONF['DIRsource'].$Letter.'/'.$FolderName, 0777, true);
+			}
+			
+			// Déplace le fichier
+			rename($CONF['DIRsource'].$file, $CONF['DIRsource'].$Letter.'/'.$FolderName.'/'.$file);
+		}
+	}	
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support.php	(revision 9200)
+++ 	(revision )
@@ -1,48 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|	  Plugin Front2Back Support 1.1		|
-\***************************************/
-
-## Déplace les versions alternatives dans 'thumbnail/verso'
-## Crée la version alternative hd dans 'pwg_high/verso'
-## Supprime le suffixe et déplace aussi les fichiers du repertoire source
-
-$NAMEverso = $PluginsProcess['front2back_support']['NAMEverso']; // Suffixe des versions alternatives
-$MOVEverso = $PluginsProcess['front2back_support']['MOVEverso']; // Déplacer les images originales dans un sous dosssier 'verso'
-
-if (strpos($FileName, $NAMEverso) !== false) {
-	$FileNameClean = str_replace($NAMEverso, '', $FileName);
-	
-	// Image normale
-	if (!file_exists($FileFolder.'/thumbnail/verso')) {
-		mkdir($FileFolder.'/thumbnail/verso');
-	}
-	exec('files\nconvert.exe -q '.$Qnormal.' -out jpeg -o "'.$FileFolder.'/thumbnail/verso/'.$FileNameClean.'" -dpi 72 '.$convOptions.' -resize '.$DIMnormal.' '.$DIMnormal.' '.$copyNormal.' "'.$FilesSource[$i].'"');
-	
-	// Image hd
-	if ($DIRhighORNOT) {
-		if (!file_exists($FileFolder.'/pwg_high/verso')) {
-			mkdir($FileFolder.'/pwg_high/verso');
-		}
-		if ($DIMhdORNOT) {
-			exec('files\nconvert.exe -q '.$Qhd.' -out jpeg -o "'.$FileFolder.'/pwg_high/verso/'.$FileNameClean.'" -dpi '.$DPI.' '.$convOptions.' -resize '.$DIMhd.' '.$DIMhd.' '.$copyHD.' "'.$FilesSource[$i].'"');
-		} else {
-			copy($FilesSource[$i], $FileFolder.'/pwg_high/verso/'.$FileNameClean);
-		}
-	}
-	
-	// Déplacement de l'image originale
-	if ($MOVEverso) {
-		$FileFolderSource = str_replace(substr($DIRsortie,0,-1), substr($DIRsource,0,-1), $FileFolder);
-		if (!file_exists($FileFolderSource.'/verso')) {
-			mkdir($FileFolderSource.'/verso', 0777, true);
-		}
-		rename($FileFolderSource.'/'.$FileName, $FileFolderSource.'/verso/'.$FileNameClean);
-	}
-	
-	$BlockNormal = true;
-	$BlockThumbnail = true;
-	$BlockHigh = true;
-}
-?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support.xml	(revision 9200)
+++ 	(revision )
@@ -1,6 +1,0 @@
-<front2back_support>
-	<mode>PluginsProcess</mode>
-	<active>false</active>
-	<NAMEverso>_verso</NAMEverso>
-	<MOVEverso>true</MOVEverso>
-</front2back_support>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/config.xml	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/config.xml	(revision 9201)
@@ -0,0 +1,6 @@
+<plugin>
+	<name>Front2Back Support</name>
+	<mode>Process</mode>
+	<NAMEverso>_verso</NAMEverso>
+	<MOVEverso>true</MOVEverso>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/lang/en.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/lang/en.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/lang/en.php	(revision 9201)
@@ -0,0 +1,4 @@
+<?php
+$Lang['front2back_support.NAMEverso'] = "Distinctive suffix";
+$Lang['front2back_support.MOVEverso'] = "Move input file";
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/lang/fr.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/lang/fr.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/lang/fr.php	(revision 9201)
@@ -0,0 +1,4 @@
+<?php
+$Lang['front2back_support.NAMEverso'] = "Suffixe distinctif";
+$Lang['front2back_support.MOVEverso'] = "Déplacer le fichier source";
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/main.php	(revision 9201)
@@ -0,0 +1,48 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|	  Plugin Front2Back Support 1.1		|
+\***************************************/
+
+## Déplace les versions alternatives dans 'thumbnail/verso'
+## Crée la version alternative hd dans 'pwg_high/verso'
+## Supprime le suffixe et déplace aussi les fichiers du repertoire source
+
+$NAMEverso = $CONF['Plugins']['front2back_support']['NAMEverso']; // Suffixe des versions alternatives
+$MOVEverso = $CONF['Plugins']['front2back_support']['MOVEverso']; // Déplacer les images originales dans un sous dosssier 'verso'
+
+if (strpos($FileName, $NAMEverso) !== false) {
+	$FileNameClean = str_replace($NAMEverso, '', $FileName);
+	
+	// Image normale
+	if (!file_exists($FileFolder.'thumbnail/verso')) {
+		mkdir($FileFolder.'thumbnail/verso');
+	}
+	exec('files\nconvert.exe -q '.$CONF['Qnormal'].' -out jpeg -o "'.$FileFolder.'thumbnail/verso/'.$FileNameClean.'" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMnormal'].' '.$CONF['DIMnormal'].' '.$CONF['copyNormal'].' "'.$FilesSource[$i].'"');
+	
+	// Image hd
+	if ($CONF['DIRhighORNOT']) {
+		if (!file_exists($FileFolder.'pwg_high/verso')) {
+			mkdir($FileFolder.'pwg_high/verso');
+		}
+		if ($CONF['DIMhdORNOT']) {
+			exec('files\nconvert.exe -q '.$CONF['Qhd'].' -out jpeg -o "'.$FileFolder.'pwg_high/verso/'.$FileNameClean.'" -dpi '.$CONF['DPI'].' '.$CONF['convOptions'].' -resize '.$CONF['DIMhd'].' '.$CONF['DIMhd'].' '.$CONF['copyHD'].' "'.$FilesSource[$i].'"');
+		} else {
+			copy($FilesSource[$i], $FileFolder.'pwg_high/verso/'.$FileNameClean);
+		}
+	}
+	
+	// Déplacement de l'image originale
+	if ($MOVEverso) {
+		$FileFolderSource = str_replace($CONF['DIRsortie'], $CONF['DIRsource'], $FileFolder);
+		if (!file_exists($FileFolderSource.'verso')) {
+			mkdir($FileFolderSource.'verso', 0777, true);
+		}
+		rename($FileFolderSource.$FileName, $FileFolderSource.'verso/'.$FileNameClean);
+	}
+	
+	$BlockNormal = true;
+	$BlockThumbnail = true;
+	$BlockHigh = true;
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/front2back_support/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/front2back_support/setup.php	(revision 9201)
@@ -0,0 +1,41 @@
+<?php
+switch ($PLUGIN_ACTION) {
+	// Affichage simple de la configuration
+	case 'read_config':
+		load_plugin_lang('front2back_support');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('front2back_support.NAMEverso').' :</td>
+				<td>'.$plugin_config['NAMEverso'].'</td>
+			</tr>
+			<tr>
+				<td>'.l10n('front2back_support.MOVEverso').' :</td>
+				<td>'.bool_to_string($plugin_config['MOVEverso']).'</td>
+			</tr>
+		</table>';
+		break;
+		
+	// Actions avant enregistrement
+	case 'save_config':
+		$_POST['Plugins']['front2back_support']['NAMEverso'] = delete_special_car($_POST['Plugins']['front2back_support']['NAMEverso']);
+		break;
+		
+	// Formulaire d'édition
+	case 'edit_config':
+		load_plugin_lang('front2back_support');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('front2back_support.NAMEverso').' :</td>
+				<td><input type="text" name="Plugins[front2back_support][NAMEverso]" value="'.$plugin_config['NAMEverso'].'" size="6"/></td>
+			</tr>
+			<tr>
+				<td>'.l10n('front2back_support.MOVEverso').' :</td>
+				<td>
+					<label><input type="radio" name="Plugins[front2back_support][MOVEverso]" value="true" '.(($plugin_config['MOVEverso'])?'checked="checked"':'').'/> '.l10n('yes').'</label>
+					<label><input type="radio" name="Plugins[front2back_support][MOVEverso]" value="false" '.((!$plugin_config['MOVEverso'])?'checked="checked"':'').'/> '.l10n('no').'</label>
+				</td>
+			</tr>
+		</table>';
+		break;
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark.php	(revision 9200)
+++ 	(revision )
@@ -1,22 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|		  Plugin Watermark 1.1			|
-\***************************************/
-
-## Replace le texte de copyright par une image
-## Dépend des valeurs de $copyONhd, $copyONnormal et $copyPOS
-
-$waterFILE = $PluginsBefore['watermark']['waterFILE']; // Fichier à incruster
-$waterALPHA = $PluginsBefore['watermark']['waterALPHA']; // Opacité
-
-if (file_exists($waterFILE)) {
-	if ($copyONhd) {
-		$copyHD = '-wmfile "'.$waterFILE.'" -wmflag '.$copyPOS.' -wmpos 0 0 -wmopacity '.$waterALPHA.'';
-	}
-	
-	if ($copyONnormal) {
-		$copyNormal = '-wmfile "'.$waterFILE.'" -wmflag '.$copyPOS.' -wmpos 0 0 -wmopacity '.$waterALPHA.'';
-	}
-}
-?>
Index: extensions/PHP_Optimisateur/plugins/watermark.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark.xml	(revision 9200)
+++ 	(revision )
@@ -1,6 +1,0 @@
-<watermark>
-	<mode>PluginsBefore</mode>
-	<active>false</active>
-	<waterFILE>logo.png</waterFILE>
-	<waterALPHA>80</waterALPHA>
-</watermark>
Index: extensions/PHP_Optimisateur/plugins/watermark/config.xml
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/config.xml	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/watermark/config.xml	(revision 9201)
@@ -0,0 +1,6 @@
+<plugin>
+	<name>Watermark</name>
+	<mode>Before</mode>
+	<waterFILE>logo.png</waterFILE>
+	<waterALPHA>80</waterALPHA>
+</plugin>
Index: extensions/PHP_Optimisateur/plugins/watermark/lang/en.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/lang/en.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/watermark/lang/en.php	(revision 9201)
@@ -0,0 +1,4 @@
+<?php
+$Lang['watermark.waterFILE'] = "File";
+$Lang['watermark.waterALPHA'] = "Opacity";
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark/lang/fr.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/lang/fr.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/watermark/lang/fr.php	(revision 9201)
@@ -0,0 +1,4 @@
+<?php
+$Lang['watermark.waterFILE'] = "Fichier";
+$Lang['watermark.waterALPHA'] = "Opacité";
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark/main.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/main.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/watermark/main.php	(revision 9201)
@@ -0,0 +1,22 @@
+<?php
+/***************************************\
+|			PHP OPTIMISATEUR			|
+|		  Plugin Watermark 1.1			|
+\***************************************/
+
+## Replace le texte de copyright par une image
+## Dépend des valeurs de $CONF['copyONhd'], $CONF['copyONnormal'] et $CONF['copyPOS']
+
+$waterFILE = $CONF['Plugins']['watermark']['waterFILE']; // Fichier à incruster
+$waterALPHA = $CONF['Plugins']['watermark']['waterALPHA']; // Opacité
+
+if (file_exists($waterFILE)) {
+	if ($CONF['copyONhd']) {
+		$CONF['copyHD'] = '-wmfile "'.$waterFILE.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$waterALPHA.'';
+	}
+	
+	if ($CONF['copyONnormal']) {
+		$CONF['copyNormal'] = '-wmfile "'.$waterFILE.'" -wmflag '.$CONF['copyPOS'].' -wmpos 0 0 -wmopacity '.$waterALPHA.'';
+	}
+}
+?>
Index: extensions/PHP_Optimisateur/plugins/watermark/setup.php
===================================================================
--- extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 9201)
+++ extensions/PHP_Optimisateur/plugins/watermark/setup.php	(revision 9201)
@@ -0,0 +1,42 @@
+<?php
+switch ($PLUGIN_ACTION) {
+	// Affichage simple de la configuration
+	case 'read_config':
+		load_plugin_lang('watermark');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('watermark.waterFILE').' :</td>
+				<td>'.$plugin_config['waterFILE'].'</td>
+			</tr>
+			<tr>
+				<td>'.l10n('watermark.waterALPHA').' :</td>
+				<td>'.$plugin_config['waterALPHA'].'%</td>
+			</tr>
+		</table>';
+		break;
+		
+	// Actions avant enregistrement
+	case 'save_config':
+		if (!is_decimal($_POST['Plugins']['watermark']['waterALPHA'])) {
+			$_POST['Plugins']['watermark']['waterALPHA'] = 80;
+			$Errors['ErrorConfig'] = 'notice';
+		}
+		
+		break;
+		
+	// Formulaire d'édition
+	case 'edit_config':
+		load_plugin_lang('watermark');
+		$PAGE_CONTENT[0] .= '<table>
+			<tr>
+				<td>'.l10n('watermark.waterFILE').' :</td>
+				<td><input type="text" name="Plugins[watermark][waterFILE]" value="'.$plugin_config['waterFILE'].'" size="10"/></td>
+			</tr>
+			<tr>
+				<td>'.l10n('watermark.waterALPHA').' :</td>
+				<td><input type="text" name="Plugins[watermark][waterALPHA]" value="'.$plugin_config['waterALPHA'].'" size="3"/>%</td>
+			</tr>
+		</table>';
+		break;
+}
+?>
Index: extensions/PHP_Optimisateur/setup.php
===================================================================
--- extensions/PHP_Optimisateur/setup.php	(revision 9200)
+++ 	(revision )
@@ -1,319 +1,0 @@
-<?php
-/***************************************\
-|			PHP OPTIMISATEUR			|
-|			   Version 1.2				|
-\***************************************/
-
-include('files/functions.php');
-
-
-### NOUVELLE CONFIGURATION ###
-if (isset($_POST['DIRsource'])) {
-	// Quelques traitements
-	$_POST['copyPOS'] = implode('-', $_POST['copyPOS']);
-	if (!preg_match('#^\#(.*)#', $_POST['copyCOLOR'])) $_POST['copyCOLOR'] = '#'.$_POST['copyCOLOR'];
-	
-	// Plugins : ensembles existants même si vides & supprime les plugins manquants
-	foreach (array('PluginsBefore','PluginsProcess','PluginsAfter') as $mode) {
-		if (!isset($_POST[$mode])) {
-			$_POST[$mode] = null;
-		} else {
-			foreach ($_POST[$mode] as $name => $config) {
-				if (isset($config['delete'])) unset($_POST[$mode][$name]);
-			}
-		}
-	}
-	
-	// Ajoute les / en fin d'URI
-	if (!preg_match('#(.*)/$#', $_POST['DIRsource'])) $_POST['DIRsource'] .= '/';
-	if (!preg_match('#(.*)/$#', $_POST['DIRsortie'])) $_POST['DIRsortie'] .= '/';
-	
-	// Contenu du fichier
-	$content = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".'<config>'."\r\n";
-	$content .= XMLcreate($_POST, 0);
-	$content .= '</config>';
-	file_put_contents('config.xml', $content);
-	
-	header('Location:index.php');
-}
-
-
-include('files/header.php');
-
-
-### CONFIGURATION ###
-if (!file_exists('config.xml')) {
-	$Errors['ErrorFile'] = true;
-} else {
-	extract(load_config());
-}
-
-
-
-### ERREURS ###
-if (isset($Errors)) {
-	foreach ($Errors as $key => $null) {
-		echo '<div class="error">'.l10n($key).'</div>';
-	}
-	echo '<div class="link"><a href="index.php">>&raquo; '.l10n('Back').'</a> <a href="setup.php">>&raquo; '.l10n('Config').'</a></div>';
-}
-
-
-
-### EXECUTION ###
-if (!isset($Errors)) {
-	### Gestion des nouveaux plugins ###
-	// Ajoute la configuration des plugins non-installés aux tableaux, il faut valider le formulaire pour les installer
-	$Plugins = glob('plugins/*.xml');
-
-	foreach ($Plugins as $plugin) {
-		// nom du plugin
-		preg_match('#plugins/(.*).xml#', $plugin, $matches);
-		$plugin_name = $matches[1];
-		// configuration du plugin
-		$plugin = XMLparse(simplexml_load_file($plugin));
-		// mode du plugin (effacage pour pas l'inscrire dans la config)
-		$plugin_mode = $plugin['mode'];
-		unset($plugin['mode']);
-		
-		if (!array_key_exists($plugin_name, ${$plugin_mode})) {
-			${$plugin_mode}[$plugin_name] = $plugin;
-			$NewPlugins[$plugin_name] = true;
-		}
-	}
-	
-	
-	### Gestion des plugins manquants ###
-	foreach (array('PluginsBefore','PluginsProcess','PluginsAfter') as $mode) {
-		foreach (${$mode} as $plugin_name => $config) {
-			if (!file_exists('plugins/'.$plugin_name.'.php')) {
-				$MissingPlugins[$plugin_name] = true;
-			}
-		}
-	}
-
-
-	### Formulaire ###
-	$copyPOS = explode('-', $copyPOS);
-	
-	echo '
-	<script type="text/javascript">
-		function suivant(enCours, suivant, limite) {
-			if (enCours.value.length == limite) {
-				enCours.form.elements[suivant].select();
-			}
-		}
-	</script>
-		
-	<form action="setup.php" method="post">
-		<div class="config">
-			<h2>'.l10n('Configuration').'</h2>
-			<ul>
-				<li>
-					<span class="title">'.l10n('Folders').'</span>
-					<table>
-						<tr>
-							<td><b>'.l10n('FolderIn').' :</b></td>
-							<td><input type="text" name="DIRsource" value="'.$DIRsource.'"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('FolderOut').' :</b></td>
-							<td><input type="text" name="DIRsortie" value="'.$DIRsortie.'"/></td>
-						</tr>
-					</table>
-				</li>
-				<li>
-					<span class="title">'.l10n('Options').'</span>
-					<table>
-						<tr>
-							<td><b>'.l10n('silentORNOT').' :</b></td>
-							<td>
-								<input type="radio" name="silentORNOT" value="erase" '.(($silentORNOT=='erase')?'checked':'').'/> '.l10n('erase').'
-								<input type="radio" name="silentORNOT" value="block" '.(($silentORNOT=='block')?'checked':'').'/> '.l10n('block').'
-								<input type="radio" name="silentORNOT" value="pass" '.(($silentORNOT=='pass')?'checked':'').'/> '.l10n('pass').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('DIRhighORNOT').' :</b></td>
-							<td>
-								<input type="radio" name="DIRhighORNOT" value="true" '.(($DIRhighORNOT)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="DIRhighORNOT" value="false" '.((!$DIRhighORNOT)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('DIMhdORNOT').' :</b></td>
-							<td>
-								<input type="radio" name="DIMhdORNOT" value="true" '.(($DIMhdORNOT)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="DIMhdORNOT" value="false" '.((!$DIMhdORNOT)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('renameORNOT').' :</b></td>
-							<td>
-								<input type="radio" name="renameORNOT" value="true" '.(($renameORNOT)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="renameORNOT" value="false" '.((!$renameORNOT)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('indexORNOT').' :</b></td>
-							<td>
-								<input type="radio" name="indexORNOT" value="true" '.(($indexORNOT)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="indexORNOT" value="false" '.((!$indexORNOT)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('prefixe_mini').' :</b></td>
-							<td><input type="text" name="prefixe_mini" value="'.$prefixe_mini.'" size="8"/></td>
-						</tr>
-					</table>
-				</li>
-				<li>
-					<span class="title">'.l10n('Sizes and quality').'</span>
-					<table>
-						<tr>
-							<td><b>'.l10n('DIMhd').' :</b></td>
-							<td><input type="text" name="DIMhd" value="'.$DIMhd.'" size="4"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('DIMnormal').' :</b></td>
-							<td><input type="text" name="DIMnormal" value="'.$DIMnormal.'" size="3"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('DIMthumbnail').' :</b></td>
-							<td><input type="text" name="DIMthumbnail" value="'.$DIMthumbnail.'" size="3"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('Qhd').' :</b></td>
-							<td><input type="text" name="Qhd" value="'.$Qhd.'" size="3"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('Qnormal').' :</b></td>
-							<td><input type="text" name="Qnormal" value="'.$Qnormal.'" size="3"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('Qthumbnail').' :</b></td>
-							<td><input type="text" name="Qthumbnail" value="'.$Qthumbnail.'" size="3"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('DPI').' :</b></td>
-							<td><input type="text" name="DPI" value="'.$DPI.'" size="3"/></td>
-						</tr>
-					</table>
-				</li>
-				<li>
-					<span class="title">'.l10n('Copyright').'</span>
-					<table>
-						<tr>
-							<td><b>'.l10n('Content').' :</b></td>
-							<td><input type="text" name="copyright" value="'.$copyright.'"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyONhd').' :</b></td>
-							<td>
-								<input type="radio" name="copyONhd" value="true" '.(($copyONhd)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="copyONhd" value="false" '.((!$copyONhd)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyONnormal').' :</b></td>
-							<td>
-								<input type="radio" name="copyONnormal" value="true" '.(($copyONnormal)?'checked':'').'/> '.l10n('yes').'
-								<input type="radio" name="copyONnormal" value="false" '.((!$copyONnormal)?'checked':'').'/> '.l10n('no').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyPOS%s', l10n('copyPOSv')).' :</b></td>
-							<td>
-								<input type="radio" name="copyPOS[0]" value="top" '.(($copyPOS[0]=='top')?'checked':'').'/> '.l10n('top').'
-								<input type="radio" name="copyPOS[0]" value="center" '.(($copyPOS[0]=='center')?'checked':'').'/> '.l10n('center').'
-								<input type="radio" name="copyPOS[0]" value="bottom" '.(($copyPOS[0]=='bottom')?'checked':'').'/> '.l10n('bottom').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyPOS%s', l10n('copyPOSh')).' :</b></td>
-							<td>
-								<input type="radio" name="copyPOS[1]" value="left" '.(($copyPOS[1]=='left')?'checked':'').'/> '.l10n('left').'
-								<input type="radio" name="copyPOS[1]" value="center" '.(($copyPOS[1]=='center')?'checked':'').'/> '.l10n('center').'
-								<input type="radio" name="copyPOS[1]" value="right" '.(($copyPOS[1]=='right')?'checked':'').'/> '.l10n('right').'
-							</td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copySIZE').' :</b></td>
-							<td><input type="text" name="copySIZE" value="'.$copySIZE.'" size="5"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyCOLOR').' :</b></td>
-							<td><input type="text" name="copyCOLOR" value="'.$copyCOLOR.'" size="6"/></td>
-						</tr>
-						<tr>
-							<td><b>'.l10n('copyFONT').' :</b></td>
-							<td><input type="text" name="copyFONT" value="'.$copyFONT.'"/></td>
-						</tr>
-					</table>
-				</li>
-			</ul>
-		</div>
-
-		<div class="config">
-			<h2>'.l10n('Plugins').'</h2>
-			<ul>';
-			
-				// Affichage des plugins, un bloc par mode
-				foreach (array('PluginsBefore','PluginsProcess','PluginsAfter') as $mode) {
-					echo '<li>
-						<span class="title">'.l10n($mode).'</span>
-						<ul>';
-							// Un bloc par plugin
-							foreach (${$mode} as $name => $config) {
-								echo '<li>';
-									echo '<b>'.$name.' :</b>';
-									
-									// Cas spéciaux dans le titre(nouveau, manquant)
-									if (isset($NewPlugins[$name])) {
-										echo ' <b class="new">'.l10n('New !').'</b>';
-									} else if (isset($MissingPlugins[$name])) {
-										echo ' <b class="miss">'.l10n('Missing !').'</b>';
-									}
-									
-									echo '<table>';
-										// Si il est manquant on ne met que la checkbox de suppression
-										if (isset($MissingPlugins[$name])) {
-											echo '<tr>
-												<td>'.l10n('erase').' :</td>
-												<td><input type="checkbox" name="'.$mode.'['.$name.'][delete]" value="true" checked/></td>
-											</tr>';
-										// sinon on affiche sa configuration
-										} else {
-											foreach ($config as $key => $value) {
-												$value = bool_to_string($value,1);
-												echo '<tr>
-													<td>'.$key.' :</td>
-													<td><input type="text" name="'.$mode.'['.$name.']['.$key.']" value="'.$value.'" size="'.strlen($value).'"/></td>
-												</tr>';
-											}
-										}
-									echo '</table>
-								</li>';
-							}
-						echo '</ul>
-					</li>';
-				}
-				
-			echo '</ul>
-		</div>
-
-		<div class="finish"><input type="submit" value="'.l10n('Valid').'"/> <input type="reset" value="'.l10n('Reset').'"/></div>
-		<div class="link"><a href="index.php">&raquo; '.l10n('Back').'</a></div>
-	</form>';
-}
-
-
-
-### FIN ###
-echo '<div class="footer">
-	2010 - <a href="http://www.strangeplanet.fr">Damien Sorel</a> - <a href="http://fr.piwigo.org/forum/viewtopic.php?id=19117">Forum</a>
-</div>
-
-</body>
-</html>';
-?>
Index: extensions/PHP_Optimisateur/template/css/colorpicker.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/colorpicker.css	(revision 9201)
+++ extensions/PHP_Optimisateur/template/css/colorpicker.css	(revision 9201)
@@ -0,0 +1,143 @@
+.colorpicker {
+	width: 286px;
+	height: 176px;
+	overflow: hidden;
+	position: absolute;
+	background: url(../images/colorpicker_background.png);
+	font-family: Arial, Helvetica, sans-serif;
+	display: none;
+}
+.colorpicker_color {
+	width: 150px;
+	height: 150px;
+	left: 14px;
+	top: 13px;
+	position: absolute;
+	background: #f00;
+	overflow: hidden;
+	cursor: crosshair;
+}
+.colorpicker_color div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 150px;
+	height: 150px;
+	background: url(../images/colorpicker_overlay.png);
+}
+.colorpicker_color div div {
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 11px;
+	height: 11px;
+	overflow: hidden;
+	background: url(../images/colorpicker_select.gif);
+	margin: -5px 0 0 -5px;
+}
+.colorpicker_hue {
+	position: absolute;
+	top: 13px;
+	left: 171px;
+	width: 35px;
+	height: 150px;
+	cursor: n-resize;
+}
+.colorpicker_hue div {
+	position: absolute;
+	width: 35px;
+	height: 9px;
+	overflow: hidden;
+	background: url(../images/colorpicker_indic.gif) left top;
+	margin: -4px 0 0 0;
+	left: 0px;
+}
+.colorpicker_new_color {
+	position: absolute;
+	width: 60px;
+	height: 30px;
+	left: 213px;
+	top: 13px;
+	background: #f00;
+}
+.colorpicker_current_color {
+	display:none;
+}
+.colorpicker input {
+	background-color: transparent;
+	border: 1px solid transparent;
+	position: absolute;
+	font-size: 10px;
+	font-family: Arial, Helvetica, sans-serif;
+	color: #898989;
+	top: 4px;
+	right: 11px;
+	text-align: right;
+	margin: 0;
+	padding: 0;
+	height: 11px;
+}
+/* annulation des styles généraux */
+.colorpicker input:hover, .colorpicker input:focus {
+	border:none;
+	background:none;
+	-moz-box-shadow:none;
+	-webkit-box-shadow:none;
+}
+.colorpicker_hex {
+	display:none;
+}
+.colorpicker_field {
+	height: 22px;
+	width: 62px;
+	background-position: top;
+	position: absolute;
+}
+.colorpicker_field span {
+	position: absolute;
+	width: 12px;
+	height: 22px;
+	overflow: hidden;
+	top: 0;
+	right: 0;
+	cursor: n-resize;
+}
+.colorpicker_rgb_r {
+	background-image: url(../images/colorpicker_rgb_r.png);
+	top: 52px;
+	left: 212px;
+}
+.colorpicker_rgb_g {
+	background-image: url(../images/colorpicker_rgb_g.png);
+	top: 82px;
+	left: 212px;
+}
+.colorpicker_rgb_b {
+	background-image: url(../images/colorpicker_rgb_b.png);
+	top: 112px;
+	left: 212px;
+}
+.colorpicker_hsb_h, .colorpicker_hsb_s, .colorpicker_hsb_b {
+	display:none;
+}
+.colorpicker_submit {
+	position: absolute;
+	width: 22px;
+	height: 22px;
+	background: url(../images/colorpicker_submit.png) top;
+	right: 6px;
+	bottom: 6px;
+	overflow: hidden;
+}
+.colorpicker_focus {
+	background-position: center;
+}
+.colorpicker_hex.colorpicker_focus {
+	background-position: bottom;
+}
+.colorpicker_submit.colorpicker_focus {
+	background-position: bottom;
+}
+.colorpicker_slider {
+	background-position: bottom;
+}
Index: extensions/PHP_Optimisateur/template/css/jqtransform.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/jqtransform.css	(revision 9201)
+++ extensions/PHP_Optimisateur/template/css/jqtransform.css	(revision 9201)
@@ -0,0 +1,31 @@
+form.jqtransformdone label{
+	display:block;
+	float:left;
+}
+.jqTransformRadioWrapper {
+	display:block;
+	float:left;
+	margin:2px 4px -2px 4px;
+}
+.jqTransformRadio {
+	background:url(../images/radio.png) no-repeat center top;
+	vertical-align:middle;
+	height:12px;
+	width:12px;
+	display:block;
+}
+.jqTransformCheckboxWrapper{
+	display:block;
+	float:left;
+	margin:2px 4px -2px 4px;
+}
+.jqTransformCheckbox {
+	background:url(../images/checkbox.png) no-repeat center top;
+	vertical-align:middle;
+	height:12px;
+	width:12px;
+	display:block;
+}
+.jqTransformChecked { background-position:center bottom; }
+
+.jqTransformHidden { display:none; }
Index: extensions/PHP_Optimisateur/template/css/neon.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/neon.css	(revision 9201)
+++ extensions/PHP_Optimisateur/template/css/neon.css	(revision 9201)
@@ -0,0 +1,233 @@
+* {
+	margin:0px;
+	padding:0px;
+	border:0px;
+}
+
+body {
+	font-size:13px;
+	font-family:"Calibri",sans-serif;
+	background:#0a0a0a;
+	color:#777;
+	width:990px;
+	margin:0 auto;
+}
+
+div.generic {
+	width:450px;
+	margin:10px;
+	padding:10px;
+	border:1px solid #333;
+	float:left;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+}
+	div.title {
+		float:none;
+		width:942px;
+		text-align:center;
+		font-weight:bold;
+		font-size:1.5em;
+		color:#eee;
+		text-shadow:0 0 4px #07f;
+		border-color:#07F;
+		-moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+		-webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+		background-color:#222;
+		background-image:-moz-linear-gradient(center bottom, #111, #333);
+		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+	}
+	div.footer {
+		clear:both;
+		width:942px;
+		text-align:center;
+		font-size:0.9em;
+		border:none;
+	}
+	div.files li {
+		margin-top:0;
+	}
+
+	div.finish  {
+		background:#030;
+		color:#eee;
+		text-shadow:0 0 4px #0b0;
+		border-color:#0b0;
+		-moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+		-webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+
+	div.error {
+		background:#300;
+		color:#eee;
+		text-shadow:0 0 4px #B00;
+		border-color:#B00;
+		-moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+		-webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+	div.notice {
+		background:#440;
+		color:#eee;
+		text-shadow:0 0 4px #ff0;
+		border-color:#ff0;
+		-moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+		-webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+	div.link {
+		float:right;
+		font-size:1.1em;
+		border:none;
+		text-align:center;
+	}
+	
+a {
+	text-decoration:none;
+	font-size:1.2em;
+	font-style:italic;
+	font-family:"Consolas";
+	color:#e80;
+	text-shadow:0 0 4px #f70;
+}
+	a:hover {
+		color:#07F;
+		text-shadow:0 0 4px #07f;
+	}
+	.link a {
+		margin:0 10px;
+		float:right;
+		margin-bottom:1px;
+	}
+	.lang a {
+		margin:-4px 10px;
+		float:right;
+		border:none;
+	}
+		.lang a:hover img {
+			-moz-box-shadow:0 0 4px #07f;
+			-webkit-box-shadow:0 0 4px #07f;
+		}
+	
+
+h2 {
+	margin-top:-5px;
+	color:#eee;
+	text-shadow:0 0 5px #ddd;
+}
+
+ul {
+	margin:0 0 0 20px;
+}
+	li {
+		margin-top:5px;
+	}
+		li ul li {
+			margin-top:0;
+		}
+		
+input[type="submit"], input[type="reset"], input[type="text"], a.input-submit {
+	color:#666;
+	border:1px solid #555;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+	background:#111;
+	font-family:"Calibri",sans-serif;
+}
+	input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover {
+		border-color:#07f;
+		-moz-box-shadow:0 0 3px #07f;
+		-webkit-box-shadow:0 0 3px #07f;
+	}
+	input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus {
+		color:#999;
+		background:#222;
+		border-color:#f70;
+		-moz-box-shadow:0 0 3px #F70;
+		-webkit-box-shadow:0 0 3px #F70;
+	}
+	input[type="submit"], input[type="reset"], a.input-submit  {
+		margin:-5px 10px 0 10px;
+		padding:3px 8px 3px 6px;
+		color:#777;
+		font-size:1.1em;
+		font-style:italic;
+		-moz-border-radius:20px;
+		-webkit-border-radius:20px;
+		background-image:-moz-linear-gradient(center bottom, #111, #333);
+		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+	}
+	input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover {
+		color:#07f;
+		text-shadow:0 0 3px #07f;
+		background-image:-moz-linear-gradient(center top, #111, #222);
+		background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222));
+	}
+	
+a.input-submit {
+	float:none;
+	display:inline-block;
+	margin-top:1px;
+	padding:3px 10px 5px 10px;
+	text-shadow:none;
+}
+
+
+b.new {
+	color:#0b0;
+	font-style:italic;
+}
+b.miss {
+	color:#B00;
+	font-style:italic;
+}
+
+span.title {
+	font-weight:bold;
+	text-decoration:underline;
+	font-size:1.1em;
+	color:#eee;
+	text-shadow:0 0 3px #ddd;
+}
+
+table {
+	min-width:50%;
+}
+	/* td {
+		width:50%;
+	} */
+		tr td:first-child {
+			text-align:right;
+			padding-right:5px;
+			font-weight:bold;
+		}
+	tr td.legend {
+		font-weight:normal;
+		text-align:left;
+	}
+		
+#loader {
+	float:right;
+	margin:-8px 0 -10px 0;
+}
+
+.plugin-title .plugin-active {
+	float:right;
+}
+
+.color-display {
+	width:30px;
+	height:15px;
+	margin:-10px 0;
+	display:inline-block;
+	vertical-align:middle;
+	border:1px solid #888;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+	-moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+	-webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+}
Index: extensions/PHP_Optimisateur/template/css/screen.css
===================================================================
--- extensions/PHP_Optimisateur/template/css/screen.css	(revision 9201)
+++ extensions/PHP_Optimisateur/template/css/screen.css	(revision 9201)
@@ -0,0 +1,245 @@
+* {
+	margin:0px;
+	padding:0px;
+	border:0px;
+}
+
+body {
+	font-size:13px;
+	font-family:"Calibri",sans-serif;
+	background:#0a0a0a;
+	color:#777;
+	width:990px;
+	margin:0 auto;
+}
+
+#overlay {
+	position:fixed;
+	z-index:9999;
+	top:0;
+	left:0;
+	width:100%;
+	height:100%;
+	background:#000;
+	opacity:0.3;
+	filter:alpha(opacity=30); 
+}
+
+div.generic {
+	width:450px;
+	margin:10px;
+	padding:10px;
+	border:1px solid #333;
+	float:left;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+}
+	div.title {
+		float:none;
+		width:942px;
+		text-align:center;
+		font-weight:bold;
+		font-size:1.5em;
+		color:#eee;
+		text-shadow:0 0 4px #07f;
+		border-color:#07F;
+		-moz-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+		-webkit-box-shadow:0 0 6px #07F, inset 0 0 5px #07F;
+		background-color:#222;
+		background-image:-moz-linear-gradient(center bottom, #111, #333);
+		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+	}
+	div.footer {
+		clear:both;
+		width:942px;
+		text-align:center;
+		font-size:0.9em;
+		border:none;
+	}
+	div.files li {
+		margin-top:0;
+	}
+
+	div.finish  {
+		background:#030;
+		color:#eee;
+		text-shadow:0 0 4px #0b0;
+		border-color:#0b0;
+		-moz-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+		-webkit-box-shadow:0 0 6px #0b0, inset 0 0 5px #0b0;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+
+	div.error {
+		background:#300;
+		color:#eee;
+		text-shadow:0 0 4px #B00;
+		border-color:#B00;
+		-moz-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+		-webkit-box-shadow:0 0 6px #B00, inset 0 0 5px #B00;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+	div.notice {
+		background:#440;
+		color:#eee;
+		text-shadow:0 0 4px #ff0;
+		border-color:#ff0;
+		-moz-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+		-webkit-box-shadow:0 0 6px #ff0, inset 0 0 5px #ff0;
+		font-weight:bold;
+		font-size:1.2em;
+	}
+	div.link {
+		float:right;
+		font-size:1.1em;
+		border:none;
+		text-align:center;
+	}
+	
+a {
+	text-decoration:none;
+	font-size:1.2em;
+	font-style:italic;
+	font-family:"Consolas";
+	color:#e80;
+	text-shadow:0 0 4px #f70;
+}
+	a:hover {
+		color:#07F;
+		text-shadow:0 0 4px #07f;
+	}
+	.link a {
+		margin:0 10px;
+		float:right;
+		margin-bottom:1px;
+	}
+	.lang a {
+		margin:-4px 10px;
+		float:right;
+		border:none;
+	}
+		.lang a:hover img {
+			-moz-box-shadow:0 0 4px #07f;
+			-webkit-box-shadow:0 0 4px #07f;
+		}
+	
+
+h2 {
+	margin-top:-5px;
+	color:#eee;
+	text-shadow:0 0 5px #ddd;
+}
+
+ul {
+	margin:0 0 0 20px;
+}
+	li {
+		margin-top:5px;
+	}
+		li ul li {
+			margin-top:0;
+		}
+		
+input[type="submit"], input[type="reset"], input[type="text"], a.input-submit {
+	color:#666;
+	border:1px solid #555;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+	background:#111;
+	font-family:"Calibri",sans-serif;
+}
+	input[type="submit"]:hover, input[type="reset"]:hover, input[type="text"]:hover, a.input-submit:hover {
+		border-color:#07f;
+		-moz-box-shadow:0 0 3px #07f;
+		-webkit-box-shadow:0 0 3px #07f;
+	}
+	input[type="submit"]:focus, input[type="reset"]:focus, input[type="text"]:focus {
+		color:#999;
+		background:#222;
+		border-color:#f70;
+		-moz-box-shadow:0 0 3px #F70;
+		-webkit-box-shadow:0 0 3px #F70;
+	}
+	input[type="submit"], input[type="reset"], a.input-submit  {
+		margin:-5px 10px 0 10px;
+		padding:3px 8px 3px 6px;
+		color:#777;
+		font-size:1.1em;
+		font-style:italic;
+		-moz-border-radius:20px;
+		-webkit-border-radius:20px;
+		background-image:-moz-linear-gradient(center bottom, #111, #333);
+		background-image:-webkit-gradient(linear,center bottom,center top,color-stop(0, #111),color-stop(1, #333));
+	}
+	input[type="submit"]:hover, input[type="reset"]:hover, a.input-submit:hover {
+		color:#07f;
+		text-shadow:0 0 3px #07f;
+		background-image:-moz-linear-gradient(center top, #111, #222);
+		background-image:-webkit-gradient(linear,center top,center bottom,color-stop(0, #111),color-stop(1, #222));
+	}
+	
+a.input-submit {
+	float:none;
+	display:inline-block;
+	margin-top:1px;
+	padding:3px 10px 5px 10px;
+	text-shadow:none;
+}
+
+
+b.new {
+	color:#0b0;
+	font-style:italic;
+}
+b.miss {
+	color:#B00;
+	font-style:italic;
+}
+
+span.title {
+	font-weight:bold;
+	text-decoration:underline;
+	font-size:1.1em;
+	color:#eee;
+	text-shadow:0 0 3px #ddd;
+}
+
+table {
+	min-width:50%;
+}
+	/* td {
+		width:50%;
+	} */
+		tr td:first-child {
+			text-align:right;
+			padding-right:5px;
+			font-weight:bold;
+		}
+	tr td.legend {
+		font-weight:normal;
+		text-align:left;
+	}
+		
+#loader {
+	float:right;
+	margin:-8px 0 -10px 0;
+}
+
+.plugin-title .plugin-active {
+	float:right;
+}
+
+.color-display {
+	width:30px;
+	height:15px;
+	margin:-10px 0;
+	display:inline-block;
+	vertical-align:middle;
+	border:1px solid #888;
+	-moz-border-radius:3px;
+	-webkit-border-radius:3px;
+	-moz-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+	-webkit-box-shadow: 0 0 2px #888, inset 0 0 2px #888;
+}
Index: extensions/PHP_Optimisateur/template/js/colorpicker.js
===================================================================
--- extensions/PHP_Optimisateur/template/js/colorpicker.js	(revision 9201)
+++ extensions/PHP_Optimisateur/template/js/colorpicker.js	(revision 9201)
@@ -0,0 +1,35 @@
+/*
+ * Color picker
+ * Author: Stefan Petre www.eyecon.ro
+ * Dual licensed under the MIT and GPL licenses
+ */
+(function($){var ColorPicker=function(){var
+ids={},inAction,charMin=65,visible,tpl='<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',defaults={eventName:'click',onShow:function(){},onBeforeShow:function(){},onHide:function(){},onChange:function(){},onSubmit:function(){},color:'ff0000',livePreview:true,flat:false},fillRGBFields=function(hsb,cal){var rgb=HSBToRGB(hsb);$(cal).data('colorpicker').fields.eq(1).val(rgb.r).end().eq(2).val(rgb.g).end().eq(3).val(rgb.b).end();},fillHSBFields=function(hsb,cal){$(cal).data('colorpicker').fields.eq(4).val(hsb.h).end().eq(5).val(hsb.s).end().eq(6).val(hsb.b).end();},fillHexFields=function(hsb,cal){$(cal).data('colorpicker').fields.eq(0).val(HSBToHex(hsb)).end();},setSelector=function(hsb,cal){$(cal).data('colorpicker').selector.css('backgroundColor','#'+HSBToHex({h:hsb.h,s:100,b:100}));$(cal).data('colorpicker').selectorIndic.css({left:parseInt(150*hsb.s/100,10),top:parseInt(150*(100-hsb.b)/100,10)});},setHue=function(hsb,cal){$(cal).data('colorpicker').hue.css('top',parseInt(150-150*hsb.h/360,10));},setCurrentColor=function(hsb,cal){$(cal).data('colorpicker').currentColor.css('backgroundColor','#'+HSBToHex(hsb));},setNewColor=function(hsb,cal){$(cal).data('colorpicker').newColor.css('backgroundColor','#'+HSBToHex(hsb));},keyDown=function(ev){var pressedKey=ev.charCode||ev.keyCode||-1;if((pressedKey>charMin&&pressedKey<=90)||pressedKey==32){return false;}
+var cal=$(this).parent().parent();if(cal.data('colorpicker').livePreview===true){change.apply(this);}},change=function(ev){var cal=$(this).parent().parent(),col;if(this.parentNode.className.indexOf('_hex')>0){cal.data('colorpicker').color=col=HexToHSB(fixHex(this.value));}else if(this.parentNode.className.indexOf('_hsb')>0){cal.data('colorpicker').color=col=fixHSB({h:parseInt(cal.data('colorpicker').fields.eq(4).val(),10),s:parseInt(cal.data('colorpicker').fields.eq(5).val(),10),b:parseInt(cal.data('colorpicker').fields.eq(6).val(),10)});}else{cal.data('colorpicker').color=col=RGBToHSB(fixRGB({r:parseInt(cal.data('colorpicker').fields.eq(1).val(),10),g:parseInt(cal.data('colorpicker').fields.eq(2).val(),10),b:parseInt(cal.data('colorpicker').fields.eq(3).val(),10)}));}
+if(ev){fillRGBFields(col,cal.get(0));fillHexFields(col,cal.get(0));fillHSBFields(col,cal.get(0));}
+setSelector(col,cal.get(0));setHue(col,cal.get(0));setNewColor(col,cal.get(0));cal.data('colorpicker').onChange.apply(cal,[col,HSBToHex(col),HSBToRGB(col)]);},blur=function(ev){var cal=$(this).parent().parent();cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');},focus=function(){charMin=this.parentNode.className.indexOf('_hex')>0?70:65;$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');$(this).parent().addClass('colorpicker_focus');},downIncrement=function(ev){var field=$(this).parent().find('input').focus();var current={el:$(this).parent().addClass('colorpicker_slider'),max:this.parentNode.className.indexOf('_hsb_h')>0?360:(this.parentNode.className.indexOf('_hsb')>0?100:255),y:ev.pageY,field:field,val:parseInt(field.val(),10),preview:$(this).parent().parent().data('colorpicker').livePreview};$(document).bind('mouseup',current,upIncrement);$(document).bind('mousemove',current,moveIncrement);},moveIncrement=function(ev){ev.data.field.val(Math.max(0,Math.min(ev.data.max,parseInt(ev.data.val+ev.pageY-ev.data.y,10))));if(ev.data.preview){change.apply(ev.data.field.get(0),[true]);}
+return false;},upIncrement=function(ev){change.apply(ev.data.field.get(0),[true]);ev.data.el.removeClass('colorpicker_slider').find('input').focus();$(document).unbind('mouseup',upIncrement);$(document).unbind('mousemove',moveIncrement);return false;},downHue=function(ev){var current={cal:$(this).parent(),y:$(this).offset().top};current.preview=current.cal.data('colorpicker').livePreview;$(document).bind('mouseup',current,upHue);$(document).bind('mousemove',current,moveHue);},moveHue=function(ev){change.apply(ev.data.cal.data('colorpicker').fields.eq(4).val(parseInt(360*(150-Math.max(0,Math.min(150,(ev.pageY-ev.data.y))))/150,10)).get(0),[ev.data.preview]);return false;},upHue=function(ev){fillRGBFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));fillHexFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));$(document).unbind('mouseup',upHue);$(document).unbind('mousemove',moveHue);return false;},downSelector=function(ev){var current={cal:$(this).parent(),pos:$(this).offset()};current.preview=current.cal.data('colorpicker').livePreview;$(document).bind('mouseup',current,upSelector);$(document).bind('mousemove',current,moveSelector);},moveSelector=function(ev){change.apply(ev.data.cal.data('colorpicker').fields.eq(6).val(parseInt(100*(150-Math.max(0,Math.min(150,(ev.pageY-ev.data.pos.top))))/150,10)).end().eq(5).val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX-ev.data.pos.left))))/150,10)).get(0),[ev.data.preview]);return false;},upSelector=function(ev){fillRGBFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));fillHexFields(ev.data.cal.data('colorpicker').color,ev.data.cal.get(0));$(document).unbind('mouseup',upSelector);$(document).unbind('mousemove',moveSelector);return false;},enterSubmit=function(ev){$(this).addClass('colorpicker_focus');},leaveSubmit=function(ev){$(this).removeClass('colorpicker_focus');},clickSubmit=function(ev){var cal=$(this).parent();var col=cal.data('colorpicker').color;cal.data('colorpicker').origColor=col;setCurrentColor(col,cal.get(0));cal.data('colorpicker').onSubmit(col,HSBToHex(col),HSBToRGB(col),cal.data('colorpicker').el);},show=function(ev){var cal=$('#'+$(this).data('colorpickerId'));cal.data('colorpicker').onBeforeShow.apply(this,[cal.get(0)]);var pos=$(this).offset();var viewPort=getViewport();var top=pos.top+this.offsetHeight;var left=pos.left;if(top+176>viewPort.t+viewPort.h){top-=this.offsetHeight+176;}
+if(left+356>viewPort.l+viewPort.w){left-=356;}
+cal.css({left:left+'px',top:top+'px'});if(cal.data('colorpicker').onShow.apply(this,[cal.get(0)])!=false){cal.show();}
+$(document).bind('mousedown',{cal:cal},hide);return false;},hide=function(ev){if(!isChildOf(ev.data.cal.get(0),ev.target,ev.data.cal.get(0))){if(ev.data.cal.data('colorpicker').onHide.apply(this,[ev.data.cal.get(0)])!=false){ev.data.cal.hide();}
+$(document).unbind('mousedown',hide);}},isChildOf=function(parentEl,el,container){if(parentEl==el){return true;}
+if(parentEl.contains){return parentEl.contains(el);}
+if(parentEl.compareDocumentPosition){return!!(parentEl.compareDocumentPosition(el)&16);}
+var prEl=el.parentNode;while(prEl&&prEl!=container){if(prEl==parentEl)
+return true;prEl=prEl.parentNode;}
+return false;},getViewport=function(){var m=document.compatMode=='CSS1Compat';return{l:window.pageXOffset||(m?document.documentElement.scrollLeft:document.body.scrollLeft),t:window.pageYOffset||(m?document.documentElement.scrollTop:document.body.scrollTop),w:window.innerWidth||(m?document.documentElement.clientWidth:document.body.clientWidth),h:window.innerHeight||(m?document.documentElement.clientHeight:document.body.clientHeight)};},fixHSB=function(hsb){return{h:Math.min(360,Math.max(0,hsb.h)),s:Math.min(100,Math.max(0,hsb.s)),b:Math.min(100,Math.max(0,hsb.b))};},fixRGB=function(rgb){return{r:Math.min(255,Math.max(0,rgb.r)),g:Math.min(255,Math.max(0,rgb.g)),b:Math.min(255,Math.max(0,rgb.b))};},fixHex=function(hex){var len=6-hex.length;if(len>0){var o=[];for(var i=0;i<len;i++){o.push('0');}
+o.push(hex);hex=o.join('');}
+return hex;},HexToRGB=function(hex){var hex=parseInt(((hex.indexOf('#')>-1)?hex.substring(1):hex),16);return{r:hex>>16,g:(hex&0x00FF00)>>8,b:(hex&0x0000FF)};},HexToHSB=function(hex){return RGBToHSB(HexToRGB(hex));},RGBToHSB=function(rgb){var hsb={h:0,s:0,b:0};var min=Math.min(rgb.r,rgb.g,rgb.b);var max=Math.max(rgb.r,rgb.g,rgb.b);var delta=max-min;hsb.b=max;if(max!=0){}
+hsb.s=max!=0?255*delta/max:0;if(hsb.s!=0){if(rgb.r==max){hsb.h=(rgb.g-rgb.b)/delta;}else if(rgb.g==max){hsb.h=2+(rgb.b-rgb.r)/delta;}else{hsb.h=4+(rgb.r-rgb.g)/delta;}}else{hsb.h=-1;}
+hsb.h*=60;if(hsb.h<0){hsb.h+=360;}
+hsb.s*=100/255;hsb.b*=100/255;return hsb;},HSBToRGB=function(hsb){var rgb={};var h=Math.round(hsb.h);var s=Math.round(hsb.s*255/100);var v=Math.round(hsb.b*255/100);if(s==0){rgb.r=rgb.g=rgb.b=v;}else{var t1=v;var t2=(255-s)*v/255;var t3=(t1-t2)*(h%60)/60;if(h==360)h=0;if(h<60){rgb.r=t1;rgb.b=t2;rgb.g=t2+t3}
+else if(h<120){rgb.g=t1;rgb.b=t2;rgb.r=t1-t3}
+else if(h<180){rgb.g=t1;rgb.r=t2;rgb.b=t2+t3}
+else if(h<240){rgb.b=t1;rgb.r=t2;rgb.g=t1-t3}
+else if(h<300){rgb.b=t1;rgb.g=t2;rgb.r=t2+t3}
+else if(h<360){rgb.r=t1;rgb.g=t2;rgb.b=t1-t3}
+else{rgb.r=0;rgb.g=0;rgb.b=0}}
+return{r:Math.round(rgb.r),g:Math.round(rgb.g),b:Math.round(rgb.b)};},RGBToHex=function(rgb){var hex=[rgb.r.toString(16),rgb.g.toString(16),rgb.b.toString(16)];$.each(hex,function(nr,val){if(val.length==1){hex[nr]='0'+val;}});return hex.join('');},HSBToHex=function(hsb){return RGBToHex(HSBToRGB(hsb));},restoreOriginal=function(){var cal=$(this).parent();var col=cal.data('colorpicker').origColor;cal.data('colorpicker').color=col;fillRGBFields(col,cal.get(0));fillHexFields(col,cal.get(0));fillHSBFields(col,cal.get(0));setSelector(col,cal.get(0));setHue(col,cal.get(0));setNewColor(col,cal.get(0));};return{init:function(opt){opt=$.extend({},defaults,opt||{});if(typeof opt.color=='string'){opt.color=HexToHSB(opt.color);}else if(opt.color.r!=undefined&&opt.color.g!=undefined&&opt.color.b!=undefined){opt.color=RGBToHSB(opt.color);}else if(opt.color.h!=undefined&&opt.color.s!=undefined&&opt.color.b!=undefined){opt.color=fixHSB(opt.color);}else{return this;}
+return this.each(function(){if(!$(this).data('colorpickerId')){var options=$.extend({},opt);options.origColor=opt.color;var id='collorpicker_'+parseInt(Math.random()*1000);$(this).data('colorpickerId',id);var cal=$(tpl).attr('id',id);if(options.flat){cal.appendTo(this).show();}else{cal.appendTo(document.body);}
+options.fields=cal.find('input').bind('keyup',keyDown).bind('change',change).bind('blur',blur).bind('focus',focus);cal.find('span').bind('mousedown',downIncrement).end().find('>div.colorpicker_current_color').bind('click',restoreOriginal);options.selector=cal.find('div.colorpicker_color').bind('mousedown',downSelector);options.selectorIndic=options.selector.find('div div');options.el=this;options.hue=cal.find('div.colorpicker_hue div');cal.find('div.colorpicker_hue').bind('mousedown',downHue);options.newColor=cal.find('div.colorpicker_new_color');options.currentColor=cal.find('div.colorpicker_current_color');cal.data('colorpicker',options);cal.find('div.colorpicker_submit').bind('mouseenter',enterSubmit).bind('mouseleave',leaveSubmit).bind('click',clickSubmit);fillRGBFields(options.color,cal.get(0));fillHSBFields(options.color,cal.get(0));fillHexFields(options.color,cal.get(0));setHue(options.color,cal.get(0));setSelector(options.color,cal.get(0));setCurrentColor(options.color,cal.get(0));setNewColor(options.color,cal.get(0));if(options.flat){cal.css({position:'relative',display:'block'});}else{$(this).bind(options.eventName,show);}}});},showPicker:function(){return this.each(function(){if($(this).data('colorpickerId')){show.apply(this);}});},hidePicker:function(){return this.each(function(){if($(this).data('colorpickerId')){$('#'+$(this).data('colorpickerId')).hide();}});},setColor:function(col){if(typeof col=='string'){col=HexToHSB(col);}else if(col.r!=undefined&&col.g!=undefined&&col.b!=undefined){col=RGBToHSB(col);}else if(col.h!=undefined&&col.s!=undefined&&col.b!=undefined){col=fixHSB(col);}else{return this;}
+return this.each(function(){if($(this).data('colorpickerId')){var cal=$('#'+$(this).data('colorpickerId'));cal.data('colorpicker').color=col;cal.data('colorpicker').origColor=col;fillRGBFields(col,cal.get(0));fillHSBFields(col,cal.get(0));fillHexFields(col,cal.get(0));setHue(col,cal.get(0));setSelector(col,cal.get(0));setCurrentColor(col,cal.get(0));setNewColor(col,cal.get(0));}});}};}();$.fn.extend({ColorPicker:ColorPicker.init,ColorPickerHide:ColorPicker.hidePicker,ColorPickerShow:ColorPicker.showPicker,ColorPickerSetColor:ColorPicker.setColor});})(jQuery)
Index: extensions/PHP_Optimisateur/template/js/jqtransform.js
===================================================================
--- extensions/PHP_Optimisateur/template/js/jqtransform.js	(revision 9201)
+++ extensions/PHP_Optimisateur/template/js/jqtransform.js	(revision 9201)
@@ -0,0 +1,15 @@
+/*
+ * jqTransform
+ * by mathieu vilaplana mvilaplana@dfc-e.com
+ * Designer ghyslain armand garmand@dfc-e.com
+ * modified version : just checkboxes and radio
+ */
+ 
+(function($){var defaultOptions={preloadImg:true};var jqTransformImgPreloaded=false;var jqTransformPreloadHoverFocusImg=function(strImgUrl){strImgUrl=strImgUrl.replace(/^url\((.*)\)/,'$1').replace(/^\"(.*)\"$/,'$1');var imgHover=new Image();imgHover.src=strImgUrl.replace(/\.([a-zA-Z]*)$/,'-hover.$1');var imgFocus=new Image();imgFocus.src=strImgUrl.replace(/\.([a-zA-Z]*)$/,'-focus.$1');};var jqTransformGetLabel=function(objfield){var selfForm=$(objfield.get(0).form);var oLabel=objfield.next();if(!oLabel.is('label')){oLabel=objfield.prev();if(oLabel.is('label')){var inputname=objfield.attr('id');if(inputname){oLabel=selfForm.find('label[for="'+inputname+'"]');}}}
+if(oLabel.is('label')){return oLabel.css('cursor','pointer');}
+return false;};var jqTransformHideSelect=function(oTarget){var ulVisible=$('.jqTransformSelectWrapper ul:visible');ulVisible.each(function(){var oSelect=$(this).parents(".jqTransformSelectWrapper:first").find("select").get(0);if(!(oTarget&&oSelect.oLabel&&oSelect.oLabel.get(0)==oTarget.get(0))){$(this).hide();}});};var jqTransformCheckExternalClick=function(event){if($(event.target).parents('.jqTransformSelectWrapper').length===0){jqTransformHideSelect($(event.target));}};var jqTransformAddDocumentListener=function(){$(document).mousedown(jqTransformCheckExternalClick);};var jqTransformReset=function(f){var sel;$('.jqTransformSelectWrapper select',f).each(function(){sel=(this.selectedIndex<0)?0:this.selectedIndex;$('ul',$(this).parent()).each(function(){$('a:eq('+sel+')',this).click();});});$('a.jqTransformCheckbox, a.jqTransformRadio',f).removeClass('jqTransformChecked');$('input:checkbox, input:radio',f).each(function(){if(this.checked){$('a',$(this).parent()).addClass('jqTransformChecked');}});};$.fn.jqTransCheckBox=function(){return this.each(function(){if($(this).hasClass('jqTransformHidden')){return;}
+var $input=$(this);var inputSelf=this;var oLabel=jqTransformGetLabel($input);oLabel&&oLabel.click(function(){aLink.trigger('click');});var aLink=$('<a href="#" class="jqTransformCheckbox"></a>');$input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink);$input.change(function(){this.checked&&aLink.addClass('jqTransformChecked')||aLink.removeClass('jqTransformChecked');return true;});aLink.click(function(){if($input.attr('disabled')){return false;}
+$input.trigger('click').trigger("change");return false;});this.checked&&aLink.addClass('jqTransformChecked');});};$.fn.jqTransRadio=function(){return this.each(function(){if($(this).hasClass('jqTransformHidden')){return;}
+var $input=$(this);var inputSelf=this;oLabel=jqTransformGetLabel($input);oLabel&&oLabel.click(function(){aLink.trigger('click');});var aLink=$('<a href="#" class="jqTransformRadio" rel="'+this.name+'"></a>');$input.addClass('jqTransformHidden').wrap('<span class="jqTransformRadioWrapper"></span>').parent().prepend(aLink);$input.change(function(){inputSelf.checked&&aLink.addClass('jqTransformChecked')||aLink.removeClass('jqTransformChecked');return true;});aLink.click(function(){if($input.attr('disabled')){return false;}
+$input.trigger('click').trigger('change');$('input[name="'+$input.attr('name')+'"]',inputSelf.form).not($input).each(function(){$(this).attr('type')=='radio'&&$(this).trigger('change');});return false;});inputSelf.checked&&aLink.addClass('jqTransformChecked');});};$.fn.jqTransform=function(options){var opt=$.extend({},defaultOptions,options);return this.each(function(){var selfForm=$(this);if(selfForm.hasClass('jqtransformdone')){return;}
+selfForm.addClass('jqtransformdone');$('input:checkbox',this).jqTransCheckBox();$('input:radio',this).jqTransRadio();});};})(jQuery);
Index: extensions/PHP_Optimisateur/template/js/jquery.js
===================================================================
--- extensions/PHP_Optimisateur/template/js/jquery.js	(revision 9201)
+++ extensions/PHP_Optimisateur/template/js/jquery.js	(revision 9201)
@@ -0,0 +1,164 @@
+/*
+ * jQuery JavaScript Library v1.4.4
+ * http://jquery.com/
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * Date: Thu Nov 11 19:04:53 2010 -0500
+ */
+(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
+h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
+h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
+"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
+e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
+"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
+s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
+j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
+toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
+-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
+if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
+if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
+b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
+!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
+l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
+z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
+s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
+s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
+[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
+false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
+k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
+scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
+1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
+"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
+c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
+else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
+a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
+c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
+a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
+colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
+1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
+l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
+"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
+if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
+a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
+attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
+b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
+c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
+arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
+d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
+c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
+w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
+8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
+"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
+Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
+c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
+var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
+"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
+xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
+B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
+"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
+0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
+a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
+1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
+"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
+c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
+(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
+[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
+break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
+q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
+l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
+return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
+B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
+POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
+i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
+i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
+"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
+m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
+true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
+g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
+0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
+"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
+i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
+if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
+g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
+for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
+i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
+n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
+function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
+p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
+t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
+function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
+c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
+not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
+h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
+c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
+2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
+b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
+e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
+"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
+else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
+c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
+b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
+this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
+prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
+b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
+1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
+d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
+jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
+zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
+h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
+if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
+d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
+e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
+"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
+!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
+getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
+script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
+!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
+false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
+A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
+b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
+c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
+c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
+encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
+[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
+e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
+if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
+3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
+d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
+d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
+"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
+1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
+d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
+Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
+var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
+this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
+this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
+c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
+b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
+h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
+for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
+parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
+height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
+f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
+"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
+e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
+c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
+c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
+b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);
