Index: /extensions/GrumPluginClasses/admin.php
===================================================================
--- /extensions/GrumPluginClasses/admin.php	(revision 15340)
+++ /extensions/GrumPluginClasses/admin.php	(revision 15340)
@@ -0,0 +1,34 @@
+<?php
+/* -----------------------------------------------------------------------------
+  Plugin     : Grum Plugin Class
+  Author     : Grum
+    email    : grum@piwigo.org
+    website  : http://photos.grum.fr
+    PWG user : http://forum.phpwebgallery.net/profile.php?id=3706
+
+    << May the Little SpaceFrog be with you ! >>
+  ------------------------------------------------------------------------------
+  See main.inc.php for release information
+
+  --------------------------------------------------------------------------- */
+
+if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!'); }
+
+
+global $prefixeTable;
+
+load_language('plugin.lang', GPC_PATH);
+
+
+
+include(GPC_PATH."gpc_aip.class.inc.php");
+
+$main_plugin_object = get_plugin_data($plugin_id);
+
+$plugin_ai = new GPC_AIP($prefixeTable, $main_plugin_object->getFileLocation());
+$plugin_ai->manage();
+
+
+
+
+?>
Index: /extensions/GrumPluginClasses/admin/index.php
===================================================================
--- /extensions/GrumPluginClasses/admin/index.php	(revision 15340)
+++ /extensions/GrumPluginClasses/admin/index.php	(revision 15340)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: tensions/GrumPluginClasses/admin/plugin_admin.php
===================================================================
--- /extensions/GrumPluginClasses/admin/plugin_admin.php	(revision 15339)
+++ 	(revision )
@@ -1,34 +1,0 @@
-<?php
-/* -----------------------------------------------------------------------------
-  Plugin     : Grum Plugin Class
-  Author     : Grum
-    email    : grum@piwigo.org
-    website  : http://photos.grum.fr
-    PWG user : http://forum.phpwebgallery.net/profile.php?id=3706
-
-    << May the Little SpaceFrog be with you ! >>
-  ------------------------------------------------------------------------------
-  See main.inc.php for release information
-
-  --------------------------------------------------------------------------- */
-
-if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!'); }
-
-
-global $prefixeTable;
-
-load_language('plugin.lang', GPC_PATH);
-
-
-
-include(GPC_PATH."gpc_aip.class.inc.php");
-
-$main_plugin_object = get_plugin_data($plugin_id);
-
-$plugin_ai = new GPC_AIP($prefixeTable, $main_plugin_object->getFileLocation());
-$plugin_ai->manage();
-
-
-
-
-?>
Index: /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php	(revision 15339)
+++ /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php	(revision 15340)
@@ -129,5 +129,6 @@
     $this->fileLocation=$filelocation;
     $this->prefixeTable=$prefixeTable;
-    $this->page_link="admin.php?page=plugin&section=".basename(dirname($this->getFileLocation()))."/admin/".$this->plugin_admin_file.".php";
+    $this->page_link=get_root_url().'admin.php?page=plugin-'.basename(dirname($this->getFileLocation()));
+    //$this->page_link="admin.php?page=plugin&section=".basename(dirname($this->getFileLocation()))."/admin/".$this->plugin_admin_file.".php";
     $this->initConfig();
     $this->displayResult_ok="OK";
@@ -253,4 +254,12 @@
   public function pluginAdminMenu($menu)
   {
+    array_push(
+      $menu,
+      array(
+        'NAME' => $this->plugin_name,
+        'URL' => get_root_url().'admin.php?page=plugin-'.basename(dirname($this->getFileLocation()))
+        )
+    );
+    /*
     array_push($menu,
                array(
@@ -258,5 +267,5 @@
                   'URL' => get_admin_plugin_menu_link(dirname($this->getFileLocation()).
                                 '/admin/'.$this->plugin_admin_file.'.php')
-                   ));
+                   ));*/
     return $menu;
   }
Index: /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php	(revision 15339)
+++ /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php	(revision 15340)
@@ -56,4 +56,12 @@
 |         |            |
 | 1.4.1   | 2011/09/19 | * Add [var] and [form_mail] markup interpreter
+|         |            |
+|         | 2012/05/25 | * Add GPCUserAgent class
+|         |            |
+|         |            | * Compatibility with jquery 1.7.2 & jquery-ui 1.8.16
+|         |            |   . implement getMinified() & setMinifiedState() functions
+|         |            |        (let piwigo combined function manage the minified
+|         |            |         state)
+|         |            |   . add manually each component for ui functionnalities
 |         |            |
 |         |            |
@@ -75,6 +83,4 @@
     - static function addHeaderJS
     - static function addUI
-    - static function getMinified
-    - static function setMinifiedState
     - static function getUserLanguageDesc
     - static function getPiwigoSystemPath
@@ -89,5 +95,4 @@
 {
   static private $piwigoSystemPath;
-  static private $minified='.min';
 
   static public $pluginName = "GPCCore";
@@ -102,6 +107,4 @@
 
     self::$piwigoSystemPath=dirname(dirname(dirname(dirname(__FILE__))));
-
-    if(isset($conf['gpc.script.minify'])) self::setMinifiedState($conf['gpc.script.minify']);
 
     if((isset($conf['gpc.markup.bb']) && $conf['gpc.markup.bb']) ||
@@ -135,5 +138,6 @@
         Array('name' => "GPCTabSheet", 'version' => "1.1.1"),
         Array('name' => "GPCTranslate", 'version' => "2.1.1"),
-        Array('name' => "GPCUsersGroups", 'version' => "2.1.0")
+        Array('name' => "GPCUsersGroups", 'version' => "2.1.0"),
+        Array('name' => "GPCUserAgent", 'version' => "1.0.0")
       )
     );
@@ -448,5 +452,5 @@
     if(preg_match($patterns[0], $text)>0)
     {
-      GPCCore::addHeaderJS('gpc.markup.formMail', GPC_PATH.'js/markup.formMail'.self::$minified.'.js', array('jquery'));
+      GPCCore::addHeaderJS('gpc.markup.formMail', GPC_PATH.'js/markup.formMail.js', array('jquery'));
       return(preg_replace($patterns, $replacements, $text));
     }
@@ -490,5 +494,5 @@
     if(preg_match($patterns[0], $text)>0)
     {
-      GPCCore::addHeaderJS('gpc.markup.tabs', GPC_PATH.'js/markup.tabs'.self::$minified.'.js', array('jquery'));
+      GPCCore::addHeaderJS('gpc.markup.tabs', GPC_PATH.'js/markup.tabs.js', array('jquery'));
       GPCCore::addHeaderCSS('gpc.markup.tabs', GPC_PATH.'css/gpcTabs.css');
       return(preg_replace($patterns, $replacements, $text));
@@ -591,13 +595,17 @@
         case 'googleTranslate':
           self::addHeaderJS('google.jsapi', 'http://www.google.com/jsapi');
-          self::addHeaderJS('gpc.googleTranslate', 'plugins/GrumPluginClasses/js/google_translate'.self::$minified.'.js', array('jquery', 'google.jsapi'));
+          self::addHeaderJS('gpc.googleTranslate', 'plugins/GrumPluginClasses/js/google_translate.js', array('jquery', 'google.jsapi'));
         case 'categorySelector':
           self::addHeaderCSS('gpc.categorySelector', GPC_PATH.'css/categorySelector.css');
           self::addHeaderCSS('gpc.categorySelectorT', sprintf($themeFile, 'categorySelector'));
-          self::addHeaderJS('gpc.categorySelector', GPC_PATH.'js/ui.categorySelector'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.categorySelector', GPC_PATH.'js/ui.categorySelector.js', array('jquery.ui.widget'));
           break;
         case 'inputCheckbox':
           self::addHeaderCSS('gpc.inputCheckbox', GPC_PATH.'css/inputCheckbox.css');
-          self::addHeaderJS('gpc.inputCheckbox', GPC_PATH.'js/ui.inputCheckbox'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('gpc.inputCheckbox', GPC_PATH.'js/ui.inputCheckbox.js', array('jquery.ui'));
           break;
         case 'inputColorPicker':
@@ -612,90 +620,96 @@
           self::addHeaderCSS('gpc.inputDotAreaT', sprintf($themeFile, 'inputDotArea'));
           self::addHeaderCSS('gpc.inputColorPickerT', sprintf($themeFile, 'inputColorPicker'));
-          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/minified/jquery.ui.core.min.js', array('jquery'));
-          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/minified/jquery.ui.slider.min.js', array('jquery.ui'));
-          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/minified/jquery.ui.draggable.min.js', array('jquery.ui'));
-          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/minified/jquery.ui.slider.dialog.js', array('jquery.ui'));
-          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText'.self::$minified.'.js', array('jquery'));
-          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum'.self::$minified.'.js', array('jquery'));
-          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB'.self::$minified.'.js', array('jquery'));
-          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea'.self::$minified.'.js', array('jquery'));
-          self::addHeaderJS('gpc.inputColorPicker', GPC_PATH.'js/ui.inputColorPicker'.self::$minified.'.js', array('jquery.ui.slider','gpc.inputText','gpc.inputNum','gpc.inputColorsFB','gpc.inputDotArea'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget'));
+          self::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.widget'));
+          self::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.widget'));
+          self::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.widget'));
+          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/jquery.ui.slider.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputColorPicker', GPC_PATH.'js/ui.inputColorPicker.js', array('jquery.ui.slider','gpc.inputText','gpc.inputNum','gpc.inputColorsFB','gpc.inputDotArea'));
           break;
         case 'inputColorsFB':
           self::addHeaderCSS('gpc.inputColorsFB', GPC_PATH.'css/inputColorsFB.css');
           self::addHeaderCSS('gpc.inputColorsFBT', sprintf($themeFile, 'inputColorsFB'));
-          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputColorsFB', GPC_PATH.'js/ui.inputColorsFB.js', array('jquery.ui.widget'));
           break;
         case 'inputConsole':
           self::addHeaderCSS('gpc.inputConsole', GPC_PATH.'css/inputConsole.css');
           self::addHeaderCSS('gpc.inputConsoleT', sprintf($themeFile, 'inputConsole'));
-          self::addHeaderJS('gpc.inputConsole', GPC_PATH.'js/ui.inputConsole'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputConsole', GPC_PATH.'js/ui.inputConsole.js', array('jquery.ui.widget'));
           break;
         case 'inputDotArea':
           self::addHeaderCSS('gpc.inputDotArea', GPC_PATH.'css/inputDotArea.css');
           self::addHeaderCSS('gpc.inputDotAreaT', sprintf($themeFile, 'inputDotArea'));
-          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputDotArea', GPC_PATH.'js/ui.inputDotArea.js', array('jquery.ui.widget'));
           break;
         case 'inputList':
           self::addHeaderCSS('gpc.inputList', GPC_PATH.'css/inputList.css');
           self::addHeaderCSS('gpc.inputListT', sprintf($themeFile, 'inputList'));
-          self::addHeaderJS('gpc.inputList', GPC_PATH.'js/ui.inputList'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputList', GPC_PATH.'js/ui.inputList.js', array('jquery.ui.widget'));
           break;
         case 'inputNum':
           self::addHeaderCSS('gpc.inputNum', GPC_PATH.'css/inputNum.css');
           self::addHeaderCSS('gpc.inputNumT', sprintf($themeFile, 'inputNum'));
-          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/minified/jquery.ui.core.min.js', array('jquery'));
-          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/minified/jquery.ui.slider.min.js', array('jquery.ui'));
-          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum'.self::$minified.'.js', array('jquery','jquery.ui.slider'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget'));
+          self::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/jquery.ui.slider.js', array('jquery.ui.widget'));
+          self::addHeaderJS('gpc.inputNum', GPC_PATH.'js/ui.inputNum.js', array('jquery','jquery.ui.slider'));
           break;
         case 'inputPosition':
           self::addHeaderCSS('gpc.inputPosition', GPC_PATH.'css/inputPosition.css');
           self::addHeaderCSS('gpc.inputPositionT', sprintf($themeFile, 'inputPosition'));
-          self::addHeaderJS('gpc.inputPosition', GPC_PATH.'js/ui.inputPosition'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputPosition', GPC_PATH.'js/ui.inputPosition.js', array('jquery.ui.widget'));
           break;
         case 'inputRadio':
-          self::addHeaderJS('gpc.inputRadio', GPC_PATH.'js/ui.inputRadio'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputRadio', GPC_PATH.'js/ui.inputRadio.js', array('jquery.ui.widget'));
           break;
         case 'inputStatusBar':
           self::addHeaderCSS('gpc.inputStatusBar', GPC_PATH.'css/inputStatusBar.css');
           self::addHeaderCSS('gpc.inputStatusBarT', sprintf($themeFile, 'inputStatusBar'));
-          self::addHeaderJS('gpc.inputStatusBar', GPC_PATH.'js/ui.inputStatusBar'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputStatusBar', GPC_PATH.'js/ui.inputStatusBar.js', array('jquery.ui.widget'));
+          break;
+        case 'inputSwitchButton':
+          self::addHeaderCSS('gpc.inputSwitchButton', GPC_PATH.'css/inputSwitchButton.css');
+          self::addHeaderCSS('gpc.inputSwitchButtonT', sprintf($themeFile, 'inputSwitchButton'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputSwitchButton', GPC_PATH.'js/ui.inputSwitchButton.js', array('jquery.ui.widget'));
           break;
         case 'inputText':
           self::addHeaderCSS('gpc.inputText', GPC_PATH.'css/inputText.css');
           self::addHeaderCSS('gpc.inputTextT', sprintf($themeFile, 'inputText'));
-          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText'.self::$minified.'.js', array('jquery'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.inputText', GPC_PATH.'js/ui.inputText.js', array('jquery.ui.widget'));
+          break;
+        case 'simpleTip':
+          self::addHeaderCSS('gpc.simpleTip', GPC_PATH.'css/simpleTip.css');
+          self::addHeaderCSS('gpc.simpleTipT', sprintf($themeFile, 'simpleTip'));
+          self::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+          self::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+          self::addHeaderJS('gpc.simpleTip', GPC_PATH.'js/simpleTip.js', array('jquery.ui.widget'));
           break;
       }
     }
-  }
-
-  /**
-   * return the minified value
-   *
-   * @return String
-   */
-  static public function getMinified()
-  {
-    return(self::$minified);
-  }
-
-  /**
-   * set the minified state
-   *
-   * @param Bool $state
-   * @return Bool
-   */
-  static public function setMinifiedState($state)
-  {
-    if($state)
-    {
-      self::$minified='.min';
-    }
-    else
-    {
-      self::$minified='';
-    }
-    return(self::$minified!='');
   }
 
Index: /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php	(revision 15339)
+++ /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php	(revision 15340)
@@ -47,5 +47,5 @@
   }
 
-  static public function applyCSSFile($fileName="")
+  static public function applyCSSFile($fileName="", $dependencies=array())
   {
     global $template;
@@ -60,5 +60,5 @@
     elseif(file_exists($fileName))
     {
-      GPCCore::addHeaderCSS(basename(dirname($fileName)), 'plugins/'.basename(dirname($fileName)).'/'.basename($fileName).'');
+      GPCCore::addHeaderCSS(basename(dirname($fileName)), 'plugins/'.basename(dirname($fileName)).'/'.basename($fileName).'', array_merge(array('gpc', 'gpc_theme'),$dependencies) );
     }
   }
Index: /extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php	(revision 15339)
+++ /extensions/GrumPluginClasses/classes/GPCRequestBuilder.class.inc.php	(revision 15340)
@@ -541,7 +541,15 @@
 
     $baseName=basename(dirname(dirname(__FILE__))).'/js/';
-    GPCCore::addHeaderJS('jquery', 'themes/default/js/jquery.min.js');
-    GPCCore::addHeaderJS('gpc.external.inestedsortable', 'plugins/'.$baseName.'external/iNestedSortablePack'.GPCCore::getMinified().'.js', array('jquery', 'jquery.ui'));
-    GPCCore::addHeaderJS('gpc.rbCriteriaBuilder', 'plugins/'.$baseName.'rbCriteriaBuilder'.GPCCore::getMinified().'.js', array('gpc.external.inestedsortable'));
+    GPCCore::addHeaderJS('jquery', 'themes/default/js/jquery.js');
+    GPCCore::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+    GPCCore::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+    GPCCore::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/jquery.ui.slider.js', array('jquery.ui.widget'));
+
+    GPCCore::addHeaderJS('gpc.external.inestedsortable', 'plugins/'.$baseName.'external/iNestedSortablePack.js', array('jquery', 'jquery.ui'));
+    GPCCore::addHeaderJS('gpc.rbCriteriaBuilder', 'plugins/'.$baseName.'rbCriteriaBuilder.js', array('gpc.external.inestedsortable'));
 
     $template->append('head_elements',
@@ -959,5 +967,5 @@
       {
         // affect standard datas
-        $datas['imageThumbnail']=dirname($row['imagePath'])."/".$conf['dir_thumbnail']."/".$conf['prefix_thumbnail'].basename($row['imagePath']);
+        $datas['imageThumbnail']=DerivativeImage::thumb_url(array('id'=>$row['imageId'], 'path'=>$row['imagePath']));
         $datas['imageId']=$row['imageId'];
         $datas['imagePath']=$row['imagePath'];
@@ -1395,9 +1403,13 @@
     $filter=array_flip($filter);
 
-    GPCCore::addHeaderJS('jquery.ui', 'themes/default/js/ui/minified/jquery.ui.core.packed.js');
-    GPCCore::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/minified/jquery.ui.dialog.packed.js');
-    GPCCore::addHeaderJS('gpc.pagesNavigator', 'plugins/GrumPluginClasses/js/pagesNavigator'.GPCCore::getMinified().'.js');
-    GPCCore::addHeaderJS('gpc.rbSearch', 'plugins/GrumPluginClasses/js/rbSearch'.GPCCore::getMinified().'.js');
-
+    GPCCore::addHeaderJS('jquery.ui', 'themes/default/js/ui/jquery.ui.core.js', array('jquery'));
+    GPCCore::addHeaderJS('jquery.ui.widget', 'themes/default/js/ui/jquery.ui.widget.js', array('jquery.ui'));
+    GPCCore::addHeaderJS('jquery.ui.mouse', 'themes/default/js/ui/jquery.ui.mouse.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.position', 'themes/default/js/ui/jquery.ui.position.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.draggable', 'themes/default/js/ui/jquery.ui.draggable.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.dialog', 'themes/default/js/ui/jquery.ui.dialog.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('jquery.ui.slider', 'themes/default/js/ui/jquery.ui.slider.js', array('jquery.ui.widget'));
+    GPCCore::addHeaderJS('gpc.pagesNavigator', 'plugins/GrumPluginClasses/js/pagesNavigator.js');
+    GPCCore::addHeaderJS('gpc.rbSearch', 'plugins/GrumPluginClasses/js/rbSearch.js');
 
     $template->set_filename('gpc_search_page',
Index: /extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php	(revision 15340)
+++ /extensions/GrumPluginClasses/classes/GPCUserAgent.class.inc.php	(revision 15340)
@@ -0,0 +1,414 @@
+<?php
+/* -----------------------------------------------------------------------------
+  class name: GPCUserAgent
+  class version  : 1.0.0
+  plugin version : 3.5.2
+  date           : 2012-05-25
+  ------------------------------------------------------------------------------
+  author: grum at piwog.org
+  << May the Little SpaceFrog be with you >>
+  ------------------------------------------------------------------------------
+
+  this classes provides base functions to parse User Agent string and retrieve
+  properties: Browser, OS, Engine
+
+
+  (static public) function parse($userAgent)
+
+| release | date       |
+| 1.0.0   | 2012-05-25 | * implementation of the class
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+
+----------------------------------------------------------------------------- */
+
+require_once('GPCUserAgent.const.inc.php');
+
+
+class GPCUserAgent
+{
+  /**
+   * returned result is ana array with the following properties:
+   *  'os'              => Operating System id on which the browser run; integer => UA_OS_*
+   *  'os_version'      => Version of the OS; string
+   *
+   *  'browser'         => browser id; integer => UA_BROWSER_*
+   *  'brower_name'     => browser name; string
+   *  'browser_type'    => browser type id (crawler, computer, mobile, ...); integer => UA_PROP_TYPE_*
+   *  'browser_version' => browser version; string
+   *
+   *  'engine'          => engine used by the browser (gecko, khtml, ...); integer => UA_ENGINE_*
+   *
+   * @param String $userAgent: a user agent string
+   * @return Array: array of properties
+   */
+  static public function parse($userAgent)
+  {
+    global $UA_BrowserInfo;
+
+    $returned=array(
+      'os' => '',
+      'os_version' => '',
+
+      'browser' => '',
+      'browser_name' => '',
+      'browser_type' => '',
+      'browser_version' => '',
+
+      'engine' => '',
+      'engine_version' => ''
+    );
+
+    $bot=self::getBot($userAgent);
+    if($bot['crawler']!=='')
+    {
+      $returned['browser']=$bot['crawler'];
+      $returned['browser_name']=$bot['name'];
+      $returned['browser_type']=UA_PROP_TYPE_CRAWLER;
+      $returned['browser_version']=str_replace(array(';', '(', ')'), array('', '', ''), $bot['version']);
+      return($returned);
+    }
+
+    $tmp=self::getBrowser($userAgent);
+    $returned['browser']=$tmp['browser'];
+    $returned['browser_name']=$tmp['name'];
+    $returned['browser_type']=$UA_BrowserInfo[UA_DATA_BROWSER][$tmp['browser']][UA_PROP_TYPE];
+    $returned['browser_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']);
+
+    $tmp=self::getOs($userAgent);
+    $returned['os']=$tmp['os'];
+    $returned['os_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']);
+
+    $tmp=self::getEngine($userAgent);
+    $returned['engine']=$tmp['engine'];
+    $returned['engine_version']=str_replace(array(';', '(', ')'), array('', '', ''), $tmp['version']);
+
+    return($returned);
+  }
+
+
+  /**
+   * return bot properties
+   * if user agent is not a bot, properties are filled with string
+   *
+   * @param String $userAgent : user agent string to parse
+   * @return Array
+   */
+  static private function getBot($userAgent)
+  {
+    $botList=array(
+      '(008)\/(\S*)[\;]'                                => UA_BOT_008,
+      '(abachobot)'                                     => UA_BOT_ABACHOBOT,
+      '(accoona-ai-agent)(?:\/(\S*))*'                  => UA_BOT_ACCOONA_AI_AGENT,
+      '(arachmo)'                                       => UA_BOT_ARACHMO,
+      '(b-l-i-t-z-b-o-t)'                               => UA_BOT_BLITZBOT,
+      '(blitzbot)'                                      => UA_BOT_BLITZBOT,
+      '(bingbot)\/(\S*)[\;]'                            => UA_BOT_MICROSOFT_BING,
+      '(bingbot)(?:\/(\S*))*'                           => UA_BOT_MICROSOFT_BING,
+      '(charlotte)\/(\S*)[\;]'                          => UA_BOT_CHARLOTTE,
+      '(charlotte)(?:\/(\S*))*'                         => UA_BOT_CHARLOTTE,
+      '(cerberian drtrs)\sversion-(\S*)[\)]'            => UA_BOT_CERBERIAN_DRTRS,
+      '(cosmos)\/(\S*)[\_]'                             => UA_BOT_COSMOS,
+      '(covario-ids)(?:\/(\S*))*'                       => UA_BOT_COVARIO_IDS,
+      '(dataparksearch)\/(\S*)[\-]'                     => UA_BOT_DATAPARKSEARCH,
+      '(dataparksearch)(?:\/(\S*))*'                    => UA_BOT_DATAPARKSEARCH,
+      '(gaisbot)\/(\S*)[\(\s]'                          => UA_BOT_GAISBOT,
+      '(google)(?:\/(\S*))*'                            => UA_BOT_GOOGLE,
+      '(googlebot)\/(\S*);'                             => UA_BOT_GOOGLE,
+      '(googlebot)(?:\/(\S*))*'                         => UA_BOT_GOOGLE,
+      '(googlebot-image)(?:\/(\S*))*'                   => UA_BOT_GOOGLE,
+      '(gurujibot)\/(\S*);'                             => UA_BOT_GURUJIBOT,
+      '(gurujibot)(?:\/(\S*))*'                         => UA_BOT_GURUJIBOT,
+      '(holmes)(?:\/(\S*))*'                            => UA_BOT_HOLMES,
+      '(htdig)(?:\/(\S*))*'                             => UA_BOT_HTDIG,
+      '(ia_archiver)\/(\S*)'                            => UA_BOT_IA_ARCHIVER,
+      '(ia_archiver)'                                   => UA_BOT_IA_ARCHIVER,
+      '(iccrawler)'                                     => UA_BOT_ICCRAWLER,
+      '(ichiro)\/(\S*)\('                               => UA_BOT_ICHIRO,
+      '(ichiro)(?:\/(\S*))*'                            => UA_BOT_ICHIRO,
+      '(baiduspider)'                                   => UA_BOT_BAIDU,
+      '(msnbot)\/(\d+(?:\.\d+)*)'                       => UA_BOT_MSN_SEARCH,
+      '(exabot)\/(\d+(?:\.\d+)*)'                       => UA_BOT_EXALEAD,
+      '(gamespyhttp)\/(\d+(?:\.\d+)*)'                  => UA_BOT_GAMESPY,
+      '(gigabot)\/(\d+(?:\.\d+)*)'                      => UA_BOT_GIGABLAST,
+      '(inktomi)'                                       => UA_BOT_INKTOMI,
+      '(Yahoo! Slurp)'                                  => UA_BOT_YAHOO_SEARCH,
+      '\s*([a-z]*(?:bot|spyder|crawl|crawler|spider)[a-z]*)'  => UA_BOT_UNKNOWN
+    );
+
+    $returned=array(
+      'crawler' => '',
+      'name' => '',
+      'version' => ''
+    );
+
+    $result=array();
+    foreach($botList as $regExp => $crawler)
+    {
+      if(preg_match('/'.$regExp.'/i',$userAgent,$result))
+      {
+        $returned=array(
+          'crawler' => $crawler,
+          'name' => $result[1],
+          'version' => isset($result[2])?$result[2]:''
+        );
+        return($returned);
+      }
+    }
+
+    return($returned);
+  }
+
+
+  /**
+   * return browser properties
+   *
+   * @param String $userAgent : user agent string to parse
+   * @return Array
+   */
+  static private function getBrowser($userAgent)
+  {
+    $browserList=array(
+      '(android).*applewebkit.*(?:version\/(\S*))(?:safari)?' => UA_BROWSER_ANDROID_WEBKIT,
+      '(opera mini)\/(\S*)\/'                                 => UA_BROWSER_OPERA_MINI,
+      '(opera mini)\/(\S*)'                                   => UA_BROWSER_OPERA_MINI,
+      '(opera mobi).*(?:version\/(\S*))'                      => UA_BROWSER_OPERA_MOBILE,
+      '(opera mobi)'                                          => UA_BROWSER_OPERA_MOBILE,
+      '(blackberry).*version\/(\S*)'                          => UA_BROWSER_BLACKBERRY,
+      '(blackberry\d*)\/(\S*)'                                => UA_BROWSER_BLACKBERRY,
+      '(blackberry)'                                          => UA_BROWSER_BLACKBERRY,
+      '(bunjalloo)\/(\S*)[\;\(]'                              => UA_BROWSER_BUNJALLOO,
+      '(Fennec)\/(\S*)'                                       => UA_BROWSER_FENNEC,
+      '(gobrowser)\/(\S*)'                                    => UA_BROWSER_GOBROWSER,
+      '(gobrowser)'                                           => UA_BROWSER_GOBROWSER,
+      '(iemobile)\/(\S*)[\;\)]'                               => UA_BROWSER_IEMOBILE,
+      '(iemobile)\s(\S*)[\;\)]'                               => UA_BROWSER_IEMOBILE,
+      '(iris)\/(\S*)'                                         => UA_BROWSER_IRIS,
+      '(maemo browser)\s(\S*)'                                => UA_BROWSER_MAEMO_BROWSER,
+      '(mib)\/(\S*)'                                          => UA_BROWSER_MIB,
+      '(minimo)\/(\S*)'                                       => UA_BROWSER_MINIMO,
+      '(netfront)\/(\S*)'                                     => UA_BROWSER_NETFRONT,
+      '(SEMC-Browser)\/(\S*)'                                 => UA_BROWSER_SEMC,
+      '(teashark)\/(\S*)'                                     => UA_BROWSER_TEASHARK,
+
+      '(playstation 3);\s*(\S*)[\;\)]'                        => UA_BROWSER_PS3,
+      '(playstation 3)'                                       => UA_BROWSER_PS3,
+      '(PSP \(PlayStation Portable\));\s*(\S*)[\;\)]'         => UA_BROWSER_PSP,
+      '(PSP \(PlayStation Portable\));\s*(\S*)'               => UA_BROWSER_PSP,
+
+      '(opera)\/(\S*)\s.*(?:nintendo)'                        => UA_BROWSER_OPERA_WII,
+      '(opera).*(?:version\/(\S*))'                           => UA_BROWSER_OPERA,
+      '(opera)\/(\S*)'                                        => UA_BROWSER_OPERA,
+      '(opera)\s(\S*)'                                        => UA_BROWSER_OPERA,
+      '(shiira)\/(\S*)'                                       => UA_BROWSER_SHIIRA,
+      '(shiira)'                                              => UA_BROWSER_SHIIRA,
+      '(skyfire)\/(\S*)'                                      => UA_BROWSER_SKYFIRE,
+      '(thunderbird)\/(\S*)'                                  => UA_BROWSER_THUNDERBIRD,
+      '(namoroka)\/(\S*)'                                     => UA_BROWSER_NAMOROKA,
+      '(minefield)\/(\S*)'                                    => UA_BROWSER_MINEFIELD,
+      '(lunascape)\/(\S*)'                                    => UA_BROWSER_LUNASCAPE,
+      '(lunascape)\s(\S*)[\;\)]'                              => UA_BROWSER_LUNASCAPE,
+      '(lunascape)\s(.*)[\;\)]'                               => UA_BROWSER_LUNASCAPE,
+      '(lunascape)'                                           => UA_BROWSER_LUNASCAPE,
+      '(arora)\/(\S*)'                                        => UA_BROWSER_ARORA,
+      '(camino)\/(\S*)'                                       => UA_BROWSER_CAMINO,
+      '(kapiko)\/(\S*)'                                       => UA_BROWSER_KAPIKO,
+      '(kazehakase)\/(\S*)'                                   => UA_BROWSER_KAZEHAKAZE,
+      '(chromeplus)\/(\S*)'                                   => UA_BROWSER_CHROMEPLUS,
+      '(chrome)\/(\S*)'                                       => UA_BROWSER_CHROME,
+      '(epiphany)\/(\S*)'                                     => UA_BROWSER_EPIPHANY,
+      '(galeon)\/(\S*)'                                       => UA_BROWSER_GALEON,
+      '(orca)\/(\S*)'                                         => UA_BROWSER_ORCA,
+      '(lobo)\/(\S*)'                                         => UA_BROWSER_LOBO,
+      '(seamonkey)\/(\S*)'                                    => UA_BROWSER_SEAMONKEY,
+      '(midori)\/(\S*)'                                       => UA_BROWSER_MIDORI,
+      '(midori)'                                              => UA_BROWSER_MIDORI,
+      '(maxthon)\/(\S*)'                                      => UA_BROWSER_MAXTHON,
+      '(maxthon)\s?(\S*)[\);]'                                => UA_BROWSER_MAXTHON,
+      '(iceape)\/(\S*)'                                       => UA_BROWSER_ICEAPE,
+      '(iceweasel)\/(\S*)'                                    => UA_BROWSER_ICEWEASEL,
+      '(netscape\d?)\/(\S*)'                                  => UA_BROWSER_NETSCAPE,
+      '(navigator)\/(\S*)'                                    => UA_BROWSER_NETSCAPE,
+      '(firebird)\/(\S*)'                                     => UA_BROWSER_FIREBIRD,
+      '(firefox)\/(\S*)'                                      => UA_BROWSER_FIREFOX,
+      '(msie)\s?(\S*)[\);]'                                   => UA_BROWSER_INTERNET_EXPLORER,
+      '(konqueror)\/(\S*)[\);]'                               => UA_BROWSER_KONQUEROR,
+      '(links)\s?\((\S*)[\);]'                                => UA_BROWSER_LINKS,
+      '(lynx)\/(\S*)'                                         => UA_BROWSER_LYNX,
+      '(safari)|version\/(\S*)'                               => UA_BROWSER_SAFARI,
+      '(mozilla)\/(\S*)'                                      => UA_BROWSER_NETSCAPE
+    );
+
+    $returned=array(
+      'browser' => UA_BROWSER_UNKNOWN,
+      'name' => '',
+      'version' => ''
+    );
+
+    $result=array();
+    foreach($browserList as $regExp => $browser)
+    {
+      if(preg_match('/'.$regExp.'/i',$userAgent,$result))
+      {
+        //echo print_r($userAgent, true).print_r($result, true);
+        if(is_array($result) and count($result)>2)
+        {
+          $returned=array(
+            'browser' => $browser,
+            'name' => $result[1],
+            'version' => isset($result[2])?$result[2]:''
+          );
+        }
+        else
+        {
+          $returned=array(
+            'browser' => UA_BROWSER_UNKNOWN,
+            'name' => '',
+            'version' => ''
+          );
+        }
+        return($returned);
+      }
+    }
+    return($returned);
+  }
+
+
+  /**
+   * return OS properties
+   *
+   * @param String $userAgent : user agent string to parse
+   * @return Array
+   */
+  static private function getOs($userAgent)
+  {
+    $osList=array(
+      '(android)\s?(\S*)[\;\)]'                               => UA_OS_ANDROID,
+      '(android)\s?(\S*)'                                     => UA_OS_ANDROID,
+      '(linux)'                                               => UA_OS_LINUX,
+      '(freebsd)'                                             => UA_OS_FREEBSD,
+      '(openbsd)'                                             => UA_OS_OPENBSD,
+      '(netbsd)'                                              => UA_OS_NETBSD,
+      '(sunos)'                                               => UA_OS_SUNOS,
+      '(blackberry)\s?([^;.]*);'                              => UA_OS_BLACKBERRY,
+      '(symbianos)'                                           => UA_OS_SYMBIAN_OS,
+      '(symbos)'                                              => UA_OS_SYMBOS,
+      '(windows)\s?(phone\sos\s\S*)[\;\)]'                    => UA_OS_WINDOWS,
+      '(windows)\s?(phone\sos\s\S*)'                          => UA_OS_WINDOWS,
+      '(windows)\s?(ce\s?\S*)[\;\)]'                          => UA_OS_WINDOWS,
+      '(windows)\s?(ce\s?\S*)'                                => UA_OS_WINDOWS,
+      '(windows)\s?(NT\s?\S*)[\;\)]'                          => UA_OS_WINDOWS,
+      '(windows)\s?(NT\s?\S*)'                                => UA_OS_WINDOWS,
+      '(windows)\s?(\S*)[\;\)]'                               => UA_OS_WINDOWS,
+      '(windows)\s?(\S*)'                                     => UA_OS_WINDOWS,
+      '(mac_powerpc)'                                         => UA_OS_MACINTOSH,
+      '(cpu\siphone\sos)\s?(\S*)'                             => UA_OS_IOS,
+      '(iphone|ipad|ipod);.*(?:cpu\sos\s(\S*))'               => UA_OS_IOS,
+      '(mac\sos\sx)\s(\S*)[\;\)]'                             => UA_OS_MAC_OS_X,
+      '(mac\sos\sx)\s(\S*)'                                   => UA_OS_MAC_OS_X,
+      '(mac\sos\sx)'                                          => UA_OS_MAC_OS_X,
+      '(nintendo\swii).*;\s([0-9\-]*);'                       => UA_OS_NINTENDO_WII,
+      '(playstation\s3)'                                      => UA_OS_SONY_PS3,
+      '(playstation\sportable)'                               => UA_OS_SONY_PSP,
+      '(nintendo\sds)'                                        => UA_OS_NINTENDO_DS
+
+    );
+
+    $returned=array(
+      'os' => UA_OS_UNKNOWN,
+      'name' => '',
+      'version' => ''
+    );
+
+    $result=array();
+    foreach($osList as $regExp => $os)
+    {
+      if(preg_match('/'.$regExp.'/i',$userAgent,$result))
+      {
+        $returned=array(
+          'os' => $os,
+          'name' => $result[1],
+          'version' => isset($result[2])?$result[2]:''
+        );
+        switch($os)
+        {
+          case UA_OS_WINDOWS:
+            switch($returned['version'])
+            {
+              case 'NT 5.0':
+                  $returned['version']='2000';
+                break;
+              case 'NT 5.1':
+                  $returned['version']='XP';
+                break;
+              case 'NT 5.2':
+                  $returned['version']='Server 2003';
+                break;
+              case 'NT 6.0':
+                  $returned['version']='Vista';
+                break;
+              case 'NT 6.1':
+                  $returned['version']='Seven';
+                break;
+              default;
+                break;
+            }
+            break;
+        }
+
+        return($returned);
+      }
+    }
+
+    return($returned);
+  }
+
+  /**
+   * return engine properties
+   *
+   * @param String $userAgent : user agent string to parse
+   * @return Array
+   */
+  static private function getEngine($userAgent)
+  {
+    $engineList=array(
+      '(presto)\/(\S*)'           => UA_ENGINE_PRESTO,
+      '(gecko)\/(\S*)'            => UA_ENGINE_GECKO,
+      '(applewebkit)\/(\S*)'      => UA_ENGINE_APPLEWEBKIT,
+      '(webkit)\/(\S*)'           => UA_ENGINE_WEBKIT,
+      '(khtml)\/(\S*)'            => UA_ENGINE_KHTML,
+      '(trident)\/(\S*)'          => UA_ENGINE_TRIDENT
+    );
+
+    $returned=array(
+      'engine' => UA_ENGINE_UNKNOWN,
+      'name' => '',
+      'version' => ''
+    );
+
+    $result=array();
+    foreach($engineList as $regExp => $engine)
+    {
+      if(preg_match('/'.$regExp.'/i',$userAgent,$result))
+      {
+        $returned=array(
+          'engine' => $engine,
+          'name' => $result[1],
+          'version' => isset($result[2])?$result[2]:''
+        );
+        return($returned);
+      }
+    }
+
+    return($returned);
+  }
+
+
+}
+
+
+?>
Index: /extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php	(revision 15340)
+++ /extensions/GrumPluginClasses/classes/GPCUserAgent.const.inc.php	(revision 15340)
@@ -0,0 +1,288 @@
+<?php
+
+/**
+ * -- UA_DATA --
+ * Data types : bot, browser, engine, os
+ */
+define('UA_DATA',                     0x00);
+
+define('UA_DATA_BROWSER',             0x01);
+define('UA_DATA_ENGINE',              0x02);
+define('UA_DATA_OS',                  0x03);
+define('UA_DATA_BOT',                 0x04);
+
+define('UA_DATA_PROP_NAME',           0x10);
+
+/**
+ * -- UA_PROP --
+ * Index properties for bot, browser, engine, ...
+ */
+define('UA_PROP_NAME',                0x01);
+define('UA_PROP_URL',                 0x02);
+define('UA_PROP_TYPE',                0x03);
+
+/**
+ * -- UA_PROP_TYPE --
+ * Indexes for UA_PROP_TYPE information (computer, mobile, console, ...)
+ */
+define('UA_PROP_TYPE_UNKNOWN',          0x00);
+define('UA_PROP_TYPE_BROWSER_COMPUTER', 0x01);
+define('UA_PROP_TYPE_BROWSER_MOBILE',   0x02);
+define('UA_PROP_TYPE_BROWSER_CONSOLE',  0x03);
+define('UA_PROP_TYPE_CRAWLER',          0x04);
+
+/**
+ * -- UA_BOT --
+ * Known bots
+ */
+define('UA_BOT_UNKNOWN',              0x0000);
+define('UA_BOT_008',                  0x0001);
+define('UA_BOT_ABACHOBOT',            0x0002);
+define('UA_BOT_ARACHMO',              0x0003);
+define('UA_BOT_BLITZBOT',             0x0004);
+define('UA_BOT_MICROSOFT_BING',       0x0005);
+define('UA_BOT_CHARLOTTE',            0x0006);
+define('UA_BOT_CERBERIAN_DRTRS',      0x0007);
+define('UA_BOT_COSMOS',               0x0008);
+define('UA_BOT_COVARIO_IDS',          0x0009);
+define('UA_BOT_DATAPARKSEARCH',       0x000A);
+define('UA_BOT_GAISBOT',              0x000B);
+define('UA_BOT_GOOGLE',               0x000C);
+define('UA_BOT_GURUJIBOT',            0x000D);
+define('UA_BOT_HOLMES',               0x000E);
+define('UA_BOT_HTDIG',                0x000F);
+define('UA_BOT_IA_ARCHIVER',          0x0010);
+define('UA_BOT_ICCRAWLER',            0x0011);
+define('UA_BOT_ICHIRO',               0x0012);
+define('UA_BOT_BAIDU',                0x0013);
+define('UA_BOT_MSN_SEARCH',           0x0014);
+define('UA_BOT_EXALEAD',              0x0015);
+define('UA_BOT_GAMESPY',              0x0016);
+define('UA_BOT_GIGABLAST',            0x0017);
+define('UA_BOT_INKTOMI',              0x0018);
+define('UA_BOT_YAHOO_SEARCH',         0x0019);
+define('UA_BOT_ACCOONA_AI_AGENT',     0x0020);
+
+/**
+ * -- UA_BROWSER --
+ * Known browsers
+ */
+define('UA_BROWSER_UNKNOWN',          0x1000);
+define('UA_BROWSER_ANDROID_WEBKIT',   0x1001);
+define('UA_BROWSER_OPERA_MINI',       0x1002);
+define('UA_BROWSER_OPERA_MOBILE',     0x1003);
+define('UA_BROWSER_BLACKBERRY',       0x1004);
+define('UA_BROWSER_BUNJALLOO',        0x1005);
+define('UA_BROWSER_FENNEC',           0x1006);
+define('UA_BROWSER_GOBROWSER',        0x1007);
+define('UA_BROWSER_IEMOBILE',         0x1008);
+define('UA_BROWSER_IRIS',             0x1009);
+define('UA_BROWSER_MAEMO_BROWSER',    0x100A);
+define('UA_BROWSER_MIB',              0x1010);
+define('UA_BROWSER_MINIMO',           0x1011);
+define('UA_BROWSER_NETFRONT',         0x1012);
+define('UA_BROWSER_SEMC',             0x1013);
+define('UA_BROWSER_TEASHARK',         0x1014);
+define('UA_BROWSER_PS3',              0x1015);
+define('UA_BROWSER_PSP',              0x1016);
+define('UA_BROWSER_OPERA',            0x1017);
+define('UA_BROWSER_SHIIRA',           0x1018);
+define('UA_BROWSER_SKYFIRE',          0x1019);
+define('UA_BROWSER_THUNDERBIRD',      0x101A);
+define('UA_BROWSER_NAMOROKA',         0x101B);
+define('UA_BROWSER_MINEFIELD',        0x101C);
+define('UA_BROWSER_LUNASCAPE',        0x101D);
+define('UA_BROWSER_ARORA',            0x101E);
+define('UA_BROWSER_CAMINO',           0x101F);
+define('UA_BROWSER_KAPIKO',           0x1020);
+define('UA_BROWSER_KAZEHAKAZE',       0x1021);
+define('UA_BROWSER_CHROMEPLUS',       0x1022);
+define('UA_BROWSER_CHROME',           0x1023);
+define('UA_BROWSER_EPIPHANY',         0x1024);
+define('UA_BROWSER_GALEON',           0x1025);
+define('UA_BROWSER_ORCA',             0x1026);
+define('UA_BROWSER_LOBO',             0x1027);
+define('UA_BROWSER_SEAMONKEY',        0x1028);
+define('UA_BROWSER_MIDORI',           0x1029);
+define('UA_BROWSER_MAXTHON',          0x102A);
+define('UA_BROWSER_ICEAPE',           0x102B);
+define('UA_BROWSER_ICEWEASEL',        0x102C);
+define('UA_BROWSER_NETSCAPE',         0x102D);
+define('UA_BROWSER_FIREBIRD',         0x102E);
+define('UA_BROWSER_INTERNET_EXPLORER',0x102F);
+define('UA_BROWSER_KONQUEROR',        0x1030);
+define('UA_BROWSER_LINKS',            0x1031);
+define('UA_BROWSER_LYNX',             0x1032);
+define('UA_BROWSER_SAFARI',           0x1033);
+define('UA_BROWSER_FIREFOX',          0x1034);
+define('UA_BROWSER_OPERA_WII',        0x1035);
+
+
+/**
+ * -- UA_OS --
+ * Known OS
+ */
+define('UA_OS_UNKNOWN',               0x00);
+define('UA_OS_LINUX',                 0x01);
+define('UA_OS_FREEBSD',               0x02);
+define('UA_OS_OPENBSD',               0x03);
+define('UA_OS_NETBSD',                0x04);
+define('UA_OS_WINDOWS',               0x05);
+define('UA_OS_SUNOS',                 0x06);
+define('UA_OS_BLACKBERRY',            0x07);
+define('UA_OS_SYMBIAN_OS',            0x08);
+define('UA_OS_SYMBOS',                0x09);
+define('UA_OS_MACINTOSH',             0x0A);
+define('UA_OS_MAC_OS_X',              0x0B);
+define('UA_OS_ANDROID',               0x0C);
+define('UA_OS_IOS',                   0x0D);
+define('UA_OS_NINTENDO_DS',           0x0E);
+define('UA_OS_NINTENDO_WII',          0x0F);
+define('UA_OS_SONY_PS3',              0x10);
+define('UA_OS_SONY_PSP',              0x11);
+
+/**
+ * -- UA_ENGINE --
+ * Known engine
+ */
+define('UA_ENGINE_UNKNOWN',           0x00);
+define('UA_ENGINE_PRESTO',            0x01);
+define('UA_ENGINE_GECKO',             0x02);
+define('UA_ENGINE_APPLEWEBKIT',       0x03);
+define('UA_ENGINE_KHTML',             0x04);
+define('UA_ENGINE_TRIDENT',           0x05);
+define('UA_ENGINE_WEBKIT',            0x06);
+
+$UA_BrowserInfo=array(
+  UA_DATA => array(
+            UA_DATA_BOT     => array(UA_PROP_NAME => 'Robot'),
+            UA_DATA_BROWSER => array(UA_PROP_NAME => 'Browser'),
+            UA_DATA_ENGINE  => array(UA_PROP_NAME => 'Engine'),
+            UA_DATA_OS      => array(UA_PROP_NAME => 'Operating System')
+          ),
+  UA_DATA_BROWSER=> array(
+            UA_BOT_UNKNOWN           => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+
+            UA_BOT_008               => array(UA_PROP_NAME => '008',                  UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_ABACHOBOT         => array(UA_PROP_NAME => 'ABACHOBot',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_ACCOONA_AI_AGENT  => array(UA_PROP_NAME => 'Accoona-AI-Agent',     UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_ARACHMO           => array(UA_PROP_NAME => 'Arachmo',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_BLITZBOT          => array(UA_PROP_NAME => 'BlitzBOT',             UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_MICROSOFT_BING    => array(UA_PROP_NAME => 'Microsoft Bing',       UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_CHARLOTTE         => array(UA_PROP_NAME => 'Charlotte',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_CERBERIAN_DRTRS   => array(UA_PROP_NAME => 'Cerberian Drtrs',      UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_COSMOS            => array(UA_PROP_NAME => 'Cosmos',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_COVARIO_IDS       => array(UA_PROP_NAME => 'Covario IDS',          UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_DATAPARKSEARCH    => array(UA_PROP_NAME => 'DataparkSearch',       UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_GAISBOT           => array(UA_PROP_NAME => 'Gaisbot',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_GOOGLE            => array(UA_PROP_NAME => 'Google',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_GURUJIBOT         => array(UA_PROP_NAME => 'GurujiBot',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_HOLMES            => array(UA_PROP_NAME => 'Holmes',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_HTDIG             => array(UA_PROP_NAME => 'htdig',                UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_IA_ARCHIVER       => array(UA_PROP_NAME => 'ia_archiver',          UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_ICCRAWLER         => array(UA_PROP_NAME => 'iCCrawler',            UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_ICHIRO            => array(UA_PROP_NAME => 'Ichiro',               UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_BAIDU             => array(UA_PROP_NAME => 'Baidu',                UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_MSN_SEARCH        => array(UA_PROP_NAME => 'Microsoft MSN Search', UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_EXALEAD           => array(UA_PROP_NAME => 'Exalead',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_GAMESPY           => array(UA_PROP_NAME => 'GameSpy',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_INKTOMI           => array(UA_PROP_NAME => 'Inktomi',              UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+            UA_BOT_YAHOO_SEARCH      => array(UA_PROP_NAME => 'Yahoo! Search',        UA_PROP_TYPE=>UA_PROP_TYPE_CRAWLER, UA_PROP_URL => ''),
+
+
+            UA_BROWSER_UNKNOWN       => array(UA_PROP_NAME => 'Unknown',              UA_PROP_TYPE=>UA_PROP_TYPE_UNKNOWN, UA_PROP_URL => ''),
+
+            UA_BROWSER_ANDROID_WEBKIT=> array(UA_PROP_NAME => 'Android WebKit Browser',  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_OPERA_MINI    => array(UA_PROP_NAME => 'Opera Mini',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.opera.com/'),
+            UA_BROWSER_OPERA_MOBILE  => array(UA_PROP_NAME => 'Opera Mobile',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.opera.com/'),
+            UA_BROWSER_BLACKBERRY    => array(UA_PROP_NAME => 'BlackBerry',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://worldwide.blackberry.com/'),
+            UA_BROWSER_FENNEC        => array(UA_PROP_NAME => 'Fennec',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_GOBROWSER     => array(UA_PROP_NAME => 'Go Browser',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.3g.cn/'),
+            UA_BROWSER_IEMOBILE      => array(UA_PROP_NAME => 'IE Mobile',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_IRIS          => array(UA_PROP_NAME => 'Iris',                    UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.torchmobile.com/'),
+            UA_BROWSER_MAEMO_BROWSER => array(UA_PROP_NAME => 'Maemo Browser',           UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_MIB           => array(UA_PROP_NAME => 'MIB',                     UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.useragentstring.com/pages/MIB/www.motorola.com'),
+            UA_BROWSER_MINIMO        => array(UA_PROP_NAME => 'Minimo',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_NETFRONT      => array(UA_PROP_NAME => 'NetFront',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => 'http://www.access-company.com/'),
+            UA_BROWSER_SEMC          => array(UA_PROP_NAME => 'SEMC-Browser',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_TEASHARK      => array(UA_PROP_NAME => 'TeaShark',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+            UA_BROWSER_SKYFIRE       => array(UA_PROP_NAME => 'Skyfire',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_MOBILE, UA_PROP_URL => ''),
+
+            UA_BROWSER_PS3           => array(UA_PROP_NAME => 'Playstation 3',           UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''),
+            UA_BROWSER_PSP           => array(UA_PROP_NAME => 'Playstation Portable',    UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''),
+            UA_BROWSER_BUNJALLOO     => array(UA_PROP_NAME => 'Bunjalloo',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''),
+            UA_BROWSER_OPERA_WII     => array(UA_PROP_NAME => 'Opera',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_CONSOLE, UA_PROP_URL => ''),
+
+            UA_BROWSER_OPERA         => array(UA_PROP_NAME => 'Opera',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.opera.com/'),
+            UA_BROWSER_SHIIRA        => array(UA_PROP_NAME => 'Shiira',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://shiira.jp/en'),
+            UA_BROWSER_THUNDERBIRD   => array(UA_PROP_NAME => 'Thunderbird',            UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_NAMOROKA      => array(UA_PROP_NAME => 'Namoroka',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'https://wiki.mozilla.org/Firefox/Namoroka'),
+            UA_BROWSER_MINEFIELD     => array(UA_PROP_NAME => 'Minefield',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.mozilla.org/projects/minefield/'),
+            UA_BROWSER_LUNASCAPE     => array(UA_PROP_NAME => 'Lunascape',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_ARORA         => array(UA_PROP_NAME => 'Arora',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_CAMINO        => array(UA_PROP_NAME => 'Camino',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://caminobrowser.org/'),
+            UA_BROWSER_KAPIKO        => array(UA_PROP_NAME => 'Kapiko',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://ufoxlab.googlepages.com/cooperation'),
+            UA_BROWSER_KAZEHAKAZE    => array(UA_PROP_NAME => 'Kazehakase',             UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_CHROMEPLUS    => array(UA_PROP_NAME => 'ChromePlus',             UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_CHROME        => array(UA_PROP_NAME => 'Chrome',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.google.com/chrome'),
+            UA_BROWSER_EPIPHANY      => array(UA_PROP_NAME => 'Epiphany',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_GALEON        => array(UA_PROP_NAME => 'Galeon',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_ORCA          => array(UA_PROP_NAME => 'Orca',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_LOBO          => array(UA_PROP_NAME => 'Lobo',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_SEAMONKEY     => array(UA_PROP_NAME => 'SeaMonkey',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_MIDORI        => array(UA_PROP_NAME => 'Midori',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_MAXTHON       => array(UA_PROP_NAME => 'Maxthon',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_ICEAPE        => array(UA_PROP_NAME => 'Iceape',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_ICEWEASEL     => array(UA_PROP_NAME => 'Iceweasel',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_NETSCAPE      => array(UA_PROP_NAME => 'Netscape',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_FIREBIRD      => array(UA_PROP_NAME => 'Firebird',               UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_FIREFOX       => array(UA_PROP_NAME => 'Firefox',                UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.firefox.com/'),
+            UA_BROWSER_INTERNET_EXPLORER=> array(UA_PROP_NAME => 'Internet Explorer',   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => 'http://www.getthunderbird.com/'),
+            UA_BROWSER_KONQUEROR     => array(UA_PROP_NAME => 'Konqueror',              UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_LINKS         => array(UA_PROP_NAME => 'Links',                  UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_LYNX          => array(UA_PROP_NAME => 'Lynx',                   UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => ''),
+            UA_BROWSER_SAFARI        => array(UA_PROP_NAME => 'Safari',                 UA_PROP_TYPE=>UA_PROP_TYPE_BROWSER_COMPUTER, UA_PROP_URL => '')
+          ),
+
+  UA_DATA_OS => array(
+            UA_OS_UNKNOWN            => array(UA_PROP_NAME => 'Unknown',                UA_PROP_URL=>''),
+            UA_OS_LINUX              => array(UA_PROP_NAME => 'Linux',                  UA_PROP_URL=>'http://www.linux.com'),
+            UA_OS_FREEBSD            => array(UA_PROP_NAME => 'FreeBSD',                UA_PROP_URL=>'http://www.freebsd.org/'),
+            UA_OS_OPENBSD            => array(UA_PROP_NAME => 'OpenBSD',                UA_PROP_URL=>'http://www.openbsd.org/'),
+            UA_OS_NETBSD             => array(UA_PROP_NAME => 'NetBSD',                 UA_PROP_URL=>'http://www.netbsd.org/'),
+            UA_OS_WINDOWS            => array(UA_PROP_NAME => 'Windows',                UA_PROP_URL=>'http://windows.microsoft.com/'),
+            UA_OS_SUNOS              => array(UA_PROP_NAME => 'SunOS',                  UA_PROP_URL=>''),
+            UA_OS_BLACKBERRY         => array(UA_PROP_NAME => 'Blackberry OS',          UA_PROP_URL=>'http://us.blackberry.com/apps-software/devices'),
+            UA_OS_SYMBIAN_OS         => array(UA_PROP_NAME => 'Symbian OS',             UA_PROP_URL=>'http://symbian.nokia.com/'),
+            UA_OS_SYMBOS             => array(UA_PROP_NAME => 'SymbOS',                 UA_PROP_URL=>'http://www.symbos.de/'),
+            UA_OS_MACINTOSH          => array(UA_PROP_NAME => 'Macintosh',              UA_PROP_URL=>'http://www.apple.com/'),
+            UA_OS_MAC_OS_X           => array(UA_PROP_NAME => 'Mac OS X',               UA_PROP_URL=>'http://www.apple.com/'),
+            UA_OS_ANDROID            => array(UA_PROP_NAME => 'Android',                UA_PROP_URL=>'http://www.android.com/'),
+            UA_OS_IOS                => array(UA_PROP_NAME => 'iOS',                    UA_PROP_URL=>'http://www.apple.com/'),
+            UA_OS_NINTENDO_DS        => array(UA_PROP_NAME => 'Nintendo DS',            UA_PROP_URL=>''),
+            UA_OS_NINTENDO_WII       => array(UA_PROP_NAME => 'Nintendo Wii',           UA_PROP_URL=>''),
+            UA_OS_SONY_PS3           => array(UA_PROP_NAME => 'Sony PS3',               UA_PROP_URL=>''),
+            UA_OS_SONY_PSP           => array(UA_PROP_NAME => 'Sony PSP',               UA_PROP_URL=>'')
+          ),
+  UA_DATA_ENGINE => array(
+            UA_ENGINE_UNKNOWN        => array(UA_PROP_NAME => 'Unknown'),
+            UA_ENGINE_GECKO          => array(UA_PROP_NAME => 'Gecko'),
+            UA_ENGINE_KHTML          => array(UA_PROP_NAME => 'KHTML'),
+            UA_ENGINE_PRESTO         => array(UA_PROP_NAME => 'Presto'),
+            UA_ENGINE_APPLEWEBKIT    => array(UA_PROP_NAME => 'AppleWebKit'),
+            UA_ENGINE_WEBKIT         => array(UA_PROP_NAME => 'WebKit'),
+            UA_ENGINE_TRIDENT        => array(UA_PROP_NAME => 'Trident')
+          ),
+
+  UA_DATA_PROP_NAME => array(
+            UA_PROP_TYPE_UNKNOWN          => 'Unknown',
+            UA_PROP_TYPE_BROWSER_COMPUTER => 'Computer',
+            UA_PROP_TYPE_BROWSER_CONSOLE  => 'Console',
+            UA_PROP_TYPE_BROWSER_MOBILE   => 'Mobile',
+            UA_PROP_TYPE_CRAWLER          => 'Crawler'
+          )
+);
+
+
+
+?>
Index: /extensions/GrumPluginClasses/css/gpc.css
===================================================================
--- /extensions/GrumPluginClasses/css/gpc.css	(revision 15339)
+++ /extensions/GrumPluginClasses/css/gpc.css	(revision 15340)
@@ -41,6 +41,6 @@
 display:table;
 font-family:verdana,arial,helvetica,sans-serif; font-size:8px;
-list-style:none; padding: 0 0 0 10px; position:relative; text-decoration:none;
-white-space:nowrap; margin: 0 0 0 -6px;top:-21px;border-bottom:1px solid;
+list-style:none; padding: 0 0 0 6px; position:relative; text-decoration:none;
+white-space:nowrap; margin: 0 0 0 0px;top:-21px;border-bottom:1px solid;
 width:100%;
 }
@@ -94,2 +94,7 @@
   color:#800000;
 }
+
+
+
+
+
Index: /extensions/GrumPluginClasses/css/gpc_clear.css
===================================================================
--- /extensions/GrumPluginClasses/css/gpc_clear.css	(revision 15339)
+++ /extensions/GrumPluginClasses/css/gpc_clear.css	(revision 15340)
@@ -13,2 +13,3 @@
 .gcBorder2   { border-color: #666666; }       /* used for widgets borders */
 .gcBorderInput { border-color:#777777; }      /* used for inputs */
+
Index: /extensions/GrumPluginClasses/css/inputSwitchButton.css
===================================================================
--- /extensions/GrumPluginClasses/css/inputSwitchButton.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/inputSwitchButton.css	(revision 15340)
@@ -0,0 +1,13 @@
+/* for inputSwitchButton plugin */
+.ui-inputSwitchButton {
+  border-style: solid;
+  border-width: 1px;
+  cursor: pointer;
+  display: inline-block;
+  font-size: 10px;
+  font-weight: normal;
+  height: 14px;
+  margin: 1px;
+  padding: 0 3px 0;
+  text-align: center;
+}
Index: /extensions/GrumPluginClasses/css/inputSwitchButton_clear.css
===================================================================
--- /extensions/GrumPluginClasses/css/inputSwitchButton_clear.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/inputSwitchButton_clear.css	(revision 15340)
@@ -0,0 +1,13 @@
+
+/* clear css */
+.ui-inputSwitchButton-unchecked {
+  background:none repeat scroll 0 0 #999999;
+  border-color:#DDDDDD #666666 #666666 #DDDDDD;
+  color:#005E89;
+}
+
+.ui-inputSwitchButton-checked {
+  background:none repeat scroll 0 0 #666666;
+  border-color:#666666 #DDDDDD #DDDDDD #666666;
+  color:#ff3363;
+}
Index: /extensions/GrumPluginClasses/css/inputSwitchButton_roma.css
===================================================================
--- /extensions/GrumPluginClasses/css/inputSwitchButton_roma.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/inputSwitchButton_roma.css	(revision 15340)
@@ -0,0 +1,15 @@
+
+/* roma css */
+
+.ui-inputSwitchButton-unchecked {
+  background:none repeat scroll 0 0 #666666;
+  border-color:#999999 #444444 #444444 #999999;
+  color:#ff3363;
+}
+
+.ui-inputSwitchButton-checked {
+  background:none repeat scroll 0 0 #555555;
+  border-color:#444444 #999999 #999999 #444444;
+  color:#ff3363;
+}
+
Index: /extensions/GrumPluginClasses/css/simpleTip.css
===================================================================
--- /extensions/GrumPluginClasses/css/simpleTip.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/simpleTip.css	(revision 15340)
@@ -0,0 +1,77 @@
+
+
+/*
+ * tips
+ */
+
+.cSimpleTipContent {
+  border: none;
+  font-family: sans-serif;
+  font-size: 11px;
+  max-width: 200px;
+  padding: 4px;
+  min-height: 15px;
+}
+.cSimpleTipShadow {
+  background-color: #000000;
+  display: block;
+  height: 100%;
+  margin-left: 2px;
+  margin-top: 2px;
+  opacity: 0.4;
+  position: absolute;
+  width: 100%;
+  z-index: -1;
+}
+.cSimpleTipShadow, .cSimpleTipContent {
+  -moz-border-radius:4px;
+  -webkit-border-radius:4px;
+  -khtml-border-radius:4px;
+  border-radius:4px;
+}
+
+.cSimpleTipContent span.title {
+  font-weight:bold;
+}
+.cSimpleTipContent ul, .cSimpleTipContent ol {
+  margin:4px;
+  padding-left:15px;
+}
+
+.cSimpleTipContent img {
+  margin:8px;
+}
+
+.cSimpleTipContent span.navDesc {
+  text-align:center;
+  display:block;
+}
+
+.cSimpleTipArrow {
+  background-repeat:no-repeat;
+  width:12px;
+  height:12px;
+  position:absolute;
+}
+
+.cSimpleTipArrowDown {
+  background-position:0px 0px;
+}
+.cSimpleTipArrowUp {
+  background-position:-12px 0px;
+}
+.cSimpleTipArrowRight {
+  background-position:-12px -12px;
+}
+.cSimpleTipArrowLeft {
+  background-position:0px -12px;
+}
+
+
+.cSimpleTipContent span.navAction {
+  font-weight:bold;
+}
+.cSimpleTipContent span.navTitle {
+  font-style:italic;
+}
+
Index: /extensions/GrumPluginClasses/css/simpleTip_clear.css
===================================================================
--- /extensions/GrumPluginClasses/css/simpleTip_clear.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/simpleTip_clear.css	(revision 15340)
@@ -0,0 +1,12 @@
+.cSimpleTipContent {
+  background: none repeat scroll 0 0 #f1f1f1;
+  border: 2px solid #AAAAAA;
+  color: #777777;
+}
+.cSimpleTipShadow {
+  opacity: 0.1;
+}
+.cSimpleTipArrow {
+  background-image:url(./../icons/sTipArrows_clear.png);
+}
+
Index: /extensions/GrumPluginClasses/css/simpleTip_roma.css
===================================================================
--- /extensions/GrumPluginClasses/css/simpleTip_roma.css	(revision 15340)
+++ /extensions/GrumPluginClasses/css/simpleTip_roma.css	(revision 15340)
@@ -0,0 +1,8 @@
+.cSimpleTipContent {
+  background: none repeat scroll 0 0 #202020;
+  border: 2px solid #c0c0c0;
+  color: #c0c0c0;
+}
+.cSimpleTipArrow {
+  background-image:url(./../icons/sTipArrows_roma.png);
+}
Index: tensions/GrumPluginClasses/js/google_translate.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/google_translate.min.js	(revision 15339)
+++ 	(revision )
@@ -1,14 +1,0 @@
-/* file: google_translate.js - v2.1.0 | minified on 2011/01/27 with http://jscompress.com/ */
-google.load("language","1");var global_google_translate_plugin_objdest;var global_google_translate_plugin_callback;var global_google_translate_plugin_objproperty;function google_translate(text,pfrom,pto,objdest,objproperty)
-{global_google_translate_plugin_objdest=objdest;global_google_translate_plugin_objproperty=objproperty;google.language.translate(text,pfrom,pto,google_translate_do);}
-function google_translate_do(result)
-{if(!result.error)
-{if(global_google_translate_plugin_objproperty=='value')
-{global_google_translate_plugin_objdest.value=result.translation;}
-else if(global_google_translate_plugin_objproperty=='innerHTML')
-{global_google_translate_plugin_objdest.innerHTML=result.translation;}}}
-function googleTranslate(text,pfrom,pto,callback)
-{global_google_translate_plugin_callback=callback;google.language.translate(text,pfrom,pto,googleTranslateDo);}
-function googleTranslateDo(result)
-{if(!result.error)
-{global_google_translate_plugin_callback(result.translation);}}
Index: tensions/GrumPluginClasses/js/markup.formMail.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/markup.formMail.min.js	(revision 15339)
+++ 	(revision )
@@ -1,2 +1,0 @@
-/* file: markup.formMail.js - v1.0.0 | minified on 2011/09/20 with http://jscompress.com/ */
-$(window).bind("load",function(){$("#iSubmit").bind("click",function(){var a={email:$("#iEmail").val(),subject:$("#iSubject").val(),msg:$("#iMessageContent").val(),token:$("#iToken").val(),ajaxfct:"public.contact.sendMsg"};$.ajax({type:"POST",url:"plugins/GrumPluginClasses/gpc_ajax.php",async:true,data:a,success:function(a){result=$.parseJSON(a);if(result.result){$("#iGpcFormMail").html(result.msg)}else{alert(result.msg)}}})})})
Index: tensions/GrumPluginClasses/js/markup.tabs.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/markup.tabs.min.js	(revision 15339)
+++ 	(revision )
@@ -1,2 +1,0 @@
-/* file: markup.tabs.js - v1.0.0 | minified on 2011/09/21 with http://jscompress.com/ */
-$(window).bind("load",function(){$("#iGpcTabs a").bind("click",function(){if($(this).hasClass("gpcTabSelected"))return false;$("#iGpcTabs a.gpcTabSelected").removeClass("gpcTabSelected").addClass("gpcTabNotSelected");$(this).removeClass("gpcTabNotSelected").addClass("gpcTabSelected");$("div.gpcTabContent").css("display","none");$($(this).attr("tabId")).css("display","block")})})
Index: tensions/GrumPluginClasses/js/pagesNavigator.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/pagesNavigator.min.js	(revision 15339)
+++ 	(revision )
@@ -1,57 +1,0 @@
-/* file: pageNavigator.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-function pagesNavigator(container)
-{var itemsId={first:'iNavFirst',last:'iNavLast',previous:'iNavPrevious',next:'iNavNext',pageNumber:'iNavPage',morePrevious:'iNavPrevMore',moreNext:'iNavNextMore',container:container,},pages={num:0,current:1,},options={numberItem:0,itemPerPage:25,defaultPage:0,displayNumPage:7,displayFirst:true,displayLast:true,displayPrevious:true,displayNext:true,hideMode:'1,<',textFirst:'<<',textLast:'>>',textPrevious:'<',textNext:'>',textMore:'...',onPageChange:null,classActive:'',classInactive:'',classDisabled:'',};this.doAction=function(fct)
-{switch(fct)
-{case'setOptions':if(arguments.length==2)
-{setOptions(arguments[1]);}
-break;}};var calcNumPages=function(numItems,numPerPage)
-{return(Math.ceil(numItems/numPerPage));};var setOptions=function(optionsToSet)
-{if(typeof optionsToSet=='object')
-{options=jQuery.extend(options,optionsToSet);if(options.numberItem<=0)options.numberItem=0;if(options.itemPerPage<=0)options.itemPerPage=25;if(options.displayNumPage<=2)options.displayNumPage=8;pages.num=calcNumPages(options.numberItem,options.itemPerPage);if(options.defaultPage>0&&options.defaultPage<=pages.num)pages.current=options.defaultPage;build();}};var build=function()
-{re=/1/;if((re.exec(options.hideMode)==null)==false&&pages.num==1)
-{$('#'+itemsId.container).html('');return('');}
-var content="<ul id='"+container+"PageNavigator'>";styleLI=" list-style:none;float:left; ";re=/</;if((re.exec(options.hideMode)==null)==false&&pages.num<=options.displayNumPage)
-{hideFPNL='display:none;';}
-else
-{hideFPNL='';}
-pnClass="class='cPnInactive "+options.classInactive+"'";if(options.displayFirst)content+="<li style='"+styleLI+hideFPNL+"' id='"+itemsId.first+"' "+pnClass+">"+options.textFirst+"</li>";if(options.displayPrevious)content+="<li style='"+styleLI+hideFPNL+"' id='"+itemsId.previous+"' "+pnClass+">"+options.textPrevious+"</li>";content+="<li style='"+styleLI+"display:none;' id='"+itemsId.morePrevious+"' class='cPnDisabled "+options.classDisabled+"'>"+options.textMore+"</li>";for(i=1;i<=pages.num;i++)
-{content+="<li style='"+styleLI+"display:none;' id='"+itemsId.pageNumber+i+"' "+pnClass+">"+i+"</li>";}
-content+="<li style='"+styleLI+";display:none;' id='"+itemsId.moreNext+"' class='cPnDisabled "+options.classDisabled+"'>"+options.textMore+"</li>";if(options.displayNext)content+="<li style='"+styleLI+hideFPNL+"' id='"+itemsId.next+"' "+pnClass+">"+options.textNext+"</li>";if(options.displayLast)content+="<li style='"+styleLI+hideFPNL+"' id='"+itemsId.last+"' "+pnClass+">"+options.textLast+"</li>";content+="</ul>";$('#'+itemsId.container).css('visibility','hidden').html(content);$('.cPnInactive').bind('click',onChangePage);displayNav();$('#'+itemsId.container).css('visibility','visible');};var displayNav=function()
-{prev=Math.ceil((options.displayNumPage-1)/2);if(pages.current-prev<=0)
-{prev=pages.current-1;}
-next=options.displayNumPage-1-prev;if(pages.current+next>=pages.num)
-{prev+=(pages.current+next-pages.num);next=pages.num-pages.current;}
-prev=pages.current-prev;next=pages.current+next;if(prev>1)
-{$('#'+itemsId.morePrevious).css('display','block');}
-else
-{$('#'+itemsId.morePrevious).css('display','none');}
-if(next<pages.num)
-{$('#'+itemsId.moreNext).css('display','block');}
-else
-{$('#'+itemsId.moreNext).css('display','none');}
-$('#'+itemsId.container+' ul li').each(function()
-{id=-1;if(!(this.id==itemsId.first||this.id==itemsId.previous||this.id==itemsId.next||this.id==itemsId.last||this.id==itemsId.morePrevious||this.id==itemsId.moreNext))
-{re=/[0-9]*$/i;id=re.exec(this.id)[0];if(id>=prev&&id<=next)
-{$(this).css('display','block');}
-else
-{$(this).css('display','none');}
-if(id==pages.current)
-{$(this).addClass('cPnActive '+options.classActive).removeClass('cPnInactive '+options.classInactive);}
-else
-{$(this).addClass('cPnInactive '+options.classInactive).removeClass('cPnActive '+options.classActive);}}
-if(((this.id==itemsId.first||this.id==itemsId.previous)&&pages.current==1)||((this.id==itemsId.last||this.id==itemsId.next)&&pages.current==pages.num)||(this.id==itemsId.morePrevious||this.id==itemsId.moreNext))
-{$(this).addClass('cPnDisabled '+options.classDisabled).removeClass('cPnInactive '+options.classInactive);}
-else
-{$(this).addClass('cPnInactive '+options.classInactive).removeClass('cPnDisabled '+options.classDisabled);}});};var onChangePage=function(event)
-{if(event.target.id==itemsId.first)
-{pages.current=1;}
-else if(event.target.id==itemsId.previous)
-{pages.current--;}
-else if(event.target.id==itemsId.next)
-{pages.current++;}
-else if(event.target.id==itemsId.last)
-{pages.current=pages.num;}
-else
-{re=/[0-9]*$/i;page=re.exec(event.target.id)[0];if(page==pages.current)return(false);pages.current=eval(page);}
-if(pages.current<=0)pages.current=1;if(pages.current>=pages.num)pages.current=pages.num;displayNav();if(options.onPageChange!=null&&jQuery.isFunction(options.onPageChange))options.onPageChange(pages.current);};if(arguments.length==2)
-{setOptions(arguments[1]);}}
Index: tensions/GrumPluginClasses/js/rbCriteriaBuilder.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/rbCriteriaBuilder.min.js	(revision 15339)
+++ 	(revision )
@@ -1,91 +1,0 @@
-/* file: rbCriteriaBuilder.js - v1.1.2 | minified on 2011/05/15 with http://jscompress.com/ */
-function criteriaBuilder(container)
-{var itemsId={group:'iCbGroup',item:'iCbItem',container:container},counters={group:0,item:0},options={textAND:'AND',textOR:'OR',textNoCriteria:'There is no criteria ! At least, one criteria is required to do search...',textHint:'',textSomethingWrong:'An error has occured on the server-side',textCaddieUpdated:'Caddie was updated',classGroup:'',classItem:'',classOperator:'',classHelper:'helper',opacity:0.8,onEdit:null,onDelete:null,onRequestSuccess:null,onRequestError:null,onGetPageSuccess:null,onGetPageError:null,helpEditUrl:'',helpDeleteUrl:'',helpMove:'',helpSwitchCondition:'',ajaxUrl:''},extraData=new Array();if(arguments.length==2)
-{if(typeof arguments[1]=='object')
-{options=jQuery.extend(options,arguments[1]);}}
-this.doAction=function(fct)
-{switch(fct)
-{case'add':if(arguments.length==3)
-{if(typeof arguments[1]=='string')
-{addItem(arguments[1],arguments[2]);}}
-break;case'delete':if(arguments.length==2)
-{if(typeof arguments[1]=='string')
-{deleteItem(arguments[1]);}}
-break;case'edit':if(arguments.length==4)
-{if(typeof arguments[1]=='string'&&typeof arguments[2]=='string')
-{editItem(arguments[1],arguments[2],arguments[3]);}}
-break;case'get':return(getItems());break;case'getExtraData':if(arguments.length==2)
-{return(getExtraData(arguments[1]));}
-else
-{return(null);}
-break;case'clear':clearItems();break;case'send':sendRequest();break;case'getPage':if(arguments.length==4)
-{getPage(arguments[1],arguments[2],arguments[3]);}
-break;case'setOptions':if(arguments.length==2)
-{return(setOptions(arguments[1]));}
-break;}};var addGroup=function(itemId)
-{counters.group++;var content="<li id='"+itemsId.group+counters.group+"' class='cbGroup cbSortable cbOpAND "+options.classGroup+" cbItemUnique'>";content+="<ul></ul></li>";$('#'+itemId).wrap(content);content="<div class='cbSortHandle' style='display:none;'>";content+="<div class='cbItemButtons' style='float:left;'>";content+="<div class='iconMove' id='iImgMoveItem"+counters.item+"' title=\""+options.helpMove+"\"></div>";content+="<div class='iconSwitchCondition' id='iImgSwitchCItem"+counters.item+"' title=\""+options.helpSwitchCondition+"\"></div>";content+="</div>";content+="<div id='"+itemsId.group+counters.group+"OpAND' class='"+options.classOperator+"' style='display:none;'>"+options.textAND+"</div>";content+="<div id='"+itemsId.group+counters.group+"OpOR' class='"+options.classOperator+"' style='display:none;'>"+options.textOR+"</div>";content+="</div>";$("#"+itemsId.group+counters.group).prepend(content);$('#'+itemsId.group+counters.group+'OpOR, #'+itemsId.group+counters.group+'OpAND, #'+itemsId.group+counters.group+' div.iconSwitchCondition ').bind('click',itemsId.group+counters.group,onSwitchOperator);applyNested();};var removeGroup=function(groupId)
-{$('#'+groupId).remove();};var addItem=function(itemContent,data)
-{counters.item++;var content="<li id='"+itemsId.item+counters.item+"' class='cbItem cbSortable "+options.classItem+"'>";content+="<div class='cbItemButtons' style='float:right;'>";if(options.onEdit!=null&&jQuery.isFunction(options.onEdit))content+="<div class='iconEdit' id='iImgEdit"+counters.item+"' title=\""+options.helpEdit+"\"></div>";if(options.onDelete!=null&&jQuery.isFunction(options.onDelete))content+="<div class='iconDelete' id='iImgDelete"+counters.item+"' title=\""+options.helpDelete+"\"></div>";content+="</div><div class='cbSortHandle'>";content+="<div class='cbItemButtons' style='float:left;'> <div class='iconMove' id='iImgMoveItem"+counters.item+"' title=\""+options.helpMove+"\"></div></div>";content+="<div class='itemContent'>"+itemContent+"</div></div></li>";$('#'+itemsId.container).append(content);addGroup(itemsId.item+counters.item);if(options.onEdit!=null)$('#iImgEdit'+counters.item).bind('click',itemsId.item+counters.item,options.onEdit);if(options.onDelete!=null)$('#iImgDelete'+counters.item).bind('click',itemsId.item+counters.item,options.onDelete);extraData[counters.item]=data;};var deleteItem=function(itemId)
-{if($('#'+itemId).length!=0)
-{$('#'+itemId).remove();var re=/[0-9]*$/;extraData[eval(re.exec(itemId)[0])]=null;manage();}};var editItem=function(itemId,content,data)
-{if($('#'+itemId).length!=0)
-{$('#'+itemId+' .itemContent').html(content);var re=/[0-9]*$/;extraData[eval(re.exec(itemId)[0])]=data;}};var clearItems=function()
-{$('#'+itemsId.container).NestedSortableDestroy();$('#'+itemsId.container).html("");counters.item=0;counters.group=0;extraData=new Array();};var serializeData=function(prefix,value)
-{var returned='';if(typeof value=='object')
-{for(var key in value)
-{if(typeof value[key]=='object')
-{returned+=serializeData(prefix+'['+key+']',value[key]);}
-else if(typeof value[key]=='string'||typeof value[key]=='number'||typeof value[key]=='boolean')
-{returned+='&'+prefix+'['+key+']='+value[key];}}}
-else if(typeof value=='string'||typeof value=='number'||typeof value=='boolean')
-{returned+='&'+prefix+'='+value;}
-return(returned);};var getItems=function()
-{var serialized=jQuery.iNestedSortable.serialize(itemsId.container)['hash'],tmp=Array();for(i=0;i<extraData.length;i++)
-{if(extraData[i]!=null)
-{serialized+=serializeData('extraData['+i+']',extraData[i]);}}
-$('#'+itemsId.container+' .cbGroup').each(function()
-{re=/[0-9]*$/;serialized+='&operator['+re.exec(this.id)[0]+']=';if($(this).hasClass('cbOpOR'))
-{serialized+='OR';}
-else
-{serialized+='AND';}});return(serialized);};var getExtraData=function(itemId)
-{var re=/[0-9]*$/;extraDataNumber=re.exec(itemId)[0];return(extraData[extraDataNumber]);};var setOptions=function(optionsToSet)
-{options=jQuery.extend(options,optionsToSet);};var displayOperator=function(groupId,visible)
-{if($('#'+groupId).hasClass('cbOpAND'))
-{if(visible)
-{$('#'+groupId+'OpAND').css('display','block');}
-else
-{$('#'+groupId+'OpAND').css('display','none');}}
-else
-{if(visible)
-{$('#'+groupId+'OpOR').css('display','block');}
-else
-{$('#'+groupId+'OpOR').css('display','none');}}
-if(visible)
-{$('#'+groupId).children('div.cbSortHandle').css('display','block');}
-else
-{$('#'+groupId).children('div.cbSortHandle').css('display','none');}};var manage=function()
-{$('#'+itemsId.container+' li').each(function()
-{if($(this).hasClass('cbGroup'))
-{if($('#'+this.id+' li.cbItem').length==0)
-{removeGroup(this.id);}
-else if($('#'+this.id+' li.cbItem').length==1)
-{$('#'+this.id).addClass('cbItemUnique').removeClass('cbItemMultiple');displayOperator(this.id,false);}
-else
-{$('#'+this.id).removeClass('cbItemUnique').addClass('cbItemMultiple');displayOperator(this.id,true);}}
-else if($(this).hasClass('cbItem'))
-{if($(this).parent().get(0).id==itemsId.container)
-{addGroup(this.id);}}});};var applyNested=function()
-{$('#'+itemsId.container).NestedSortableDestroy();$('#'+itemsId.container).NestedSortable({accept:'cbSortable',noNestingClass:'cbItem',opacity:options.opacity,helperclass:options.classHelper,serializeRegExp:/.*/i,autoScroll:true,handle:'.cbSortHandle:first',ghosting:false,nestingPxSpace:15,currentNestingClass:'cbItemOverGroup',onChange:function(serialized){manage();}});};onSwitchOperator=function(event)
-{var groupId=event.data;if($('#'+groupId).hasClass('cbOpAND'))
-{$('#'+groupId).removeClass('cbOpAND').addClass('cbOpOR');$('#'+groupId+'OpAND').css('display','none');$('#'+groupId+'OpOR').css('display','block');}
-else
-{$('#'+groupId).removeClass('cbOpOR').addClass('cbOpAND');$('#'+groupId+'OpAND').css('display','block');$('#'+groupId+'OpOR').css('display','none');}};var sendRequest=function()
-{if(extraData.length==0)
-{alert(options.textNoCriteria);return(false);}
-var datas=encodeURI('ajaxfct=public.rbuilder.searchExecute&requestName='+itemsId.container+'&'+getItems());$.ajax({type:"POST",url:options.ajaxUrl,async:true,data:datas,success:function(msg)
-{if(options.onRequestSuccess!=null&&jQuery.isFunction(options.onRequestSuccess))options.onRequestSuccess(msg);},error:function(msg)
-{if(options.onRequestError!=null&&jQuery.isFunction(options.onRequestError))options.onRequestError(msg);}});};var getPage=function(requestNumber,pageNumber,numberPerPage)
-{$.ajax({type:"POST",url:options.ajaxUrl,async:true,data:{ajaxfct:'public.rbuilder.searchGetPage',page:pageNumber,requestNumber:requestNumber,numPerPage:numberPerPage},success:function(msg)
-{if(options.onGetPageSuccess!=null&&jQuery.isFunction(options.onGetPageSuccess))options.onGetPageSuccess(msg);},error:function(msg)
-{if(options.onGetPageError!=null&&jQuery.isFunction(options.onGetPageError))options.onGetPageError(msg);}});};applyNested();};criteriaBuilder.makeExtendedData=function(owner,data)
-{return({owner:owner,param:data});}
Index: tensions/GrumPluginClasses/js/rbSearch.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/rbSearch.min.js	(revision 15339)
+++ 	(revision )
@@ -1,37 +1,0 @@
-/* file: rbSearch.js - v1.1.1 | minified on 2011/05/15 with http://jscompress.com/ */
-var cb=null;var interfaceManager=function(optionsToSet)
-{var pn=null,requestNumber=0,options={requestCriterionsVisible:'',requestCriterionsHidden:'',requestResult:'',requestResultContent:'',requestResultNfo:'',requestResultPagesNavigator:'',requestResultRequestNumber:0,onPageChange:null,numberPerPage:30};this.doAction=function(fct)
-{switch(fct)
-{case'queryResult':if(arguments.length==3)
-{displayQueryResult(arguments[1],arguments[2]);}
-break;case'queryPage':if(arguments.length==3)
-{displayQueryPage(arguments[1],arguments[2]);}
-break;case'show':if(arguments.length==2)
-{show(arguments[1]);}
-break;case'setOptions':if(arguments.length==2)
-{setOptions(arguments[1]);}
-break;case'fillCaddie':if(arguments.length==2)
-{fillCaddie(arguments[1],this.getRequestNumber());}
-break;}};this.getRequestNumber=function()
-{return(requestNumber);};this.getNumberPerPage=function()
-{return(options.numberPerPage);};var show=function(mode)
-{switch(mode)
-{case'buildQuery':$('.'+options.requestCriterionsVisible).css('display','block');$('.'+options.requestCriterionsHidden).css('display','none');$('.'+options.requestResult).css('display','none');break;case'resultQuery':$('#iResultQueryContent').html("<br><img class='waitingResult' src='./plugins/GrumPluginClasses/icons/processing.gif'>");$('.'+options.requestCriterionsVisible).css('display','none');$('.'+options.requestCriterionsHidden).css('display','block');$('.'+options.requestResult).css('display','block');break;}},displayQueryResult=function(isSuccess,nfo)
-{if(isSuccess)
-{nfo=nfo.split(';');requestNumber=nfo[0];$('#iResultQueryNfo').html(nfo[1]);pn.doAction('setOptions',{numberItem:nfo[1],defaultPage:1});show('resultQuery');}
-else
-{show('buildQuery');alert(requestBuilderOptions.textSomethingWrong);}},displayQueryPage=function(isSuccess,nfo)
-{if(isSuccess)
-{$('#iResultQueryContent').html(nfo);}
-else
-{alert(requestBuilderOptions.textSomethingWrong);}},setOptions=function(optionsToSet)
-{if(typeof optionsToSet=='object')
-{options=jQuery.extend(options,optionsToSet);}},init=function(optionsToSet)
-{setOptions(optionsToSet);pn=new pagesNavigator(options.requestResultPagesNavigator,{itemPerPage:options.numberPerPage,displayNumPage:9,classActive:'pnActive',classInactive:'pnInactive',onPageChange:function(page)
-{if(options.onPageChange!=null&&jQuery.isFunction(options.onPageChange))
-{options.onPageChange(requestNumber,page,options.numberPerPage);}}});requestNumber=options.requestResultRequestNumber;},fillCaddie=function(mode,requestNumber)
-{$('#iMenuCaddieImg').css('display','inline-block');$('#iMenuCaddieItems ul').css('display','none');$.ajax({type:"POST",url:"plugins/GrumPluginClasses/gpc_ajax.php",async:true,data:{ajaxfct:"admin.rbuilder.fillCaddie",fillMode:mode,requestNumber:requestNumber},success:function(msg)
-{$('#iMenuCaddieImg').css('display','none');$('#iMenuCaddieItems ul').css('display','block');alert(requestBuilderOptions.textCaddieUpdated);},error:function(msg)
-{$('#iMenuCaddieImg').css('display','none');$('#iMenuCaddieItems ul').css('display','block');alert(requestBuilderOptions.textSomethingWrong);}});};init(optionsToSet);};function init()
-{im=new interfaceManager({requestCriterionsVisible:'cRequestCriterions',requestCriterionsHidden:'cModifyRequest',requestResult:'cResultQuery',requestResultContent:'iResultQueryContent',requestResultNfo:'iResultQueryNfo',requestResultPagesNavigator:'iPagesNavigator'});requestBuilderOptions.classGroup='gcBorderInput gcTextInput';requestBuilderOptions.classItem='gcBgInput gcTextInput';requestBuilderOptions.classOperator='cbOperator cbOperatorBg gcLinkHover';requestBuilderOptions.onRequestSuccess=function(msg){im.doAction('queryResult',true,msg);cb.doAction('getPage',im.getRequestNumber(),1,im.getNumberPerPage());};requestBuilderOptions.onRequestError=function(msg){im.doAction('queryResult',false,msg);};requestBuilderOptions.onGetPageSuccess=function(msg){im.doAction('queryPage',true,msg);};requestBuilderOptions.onGetPageError=function(msg){im.doAction('queryPage',false,msg);};cb=new criteriaBuilder('iListSelectedCriterions',requestBuilderOptions);im.doAction('setOptions',{onPageChange:function(requestNumber,page,numberPerPage)
-{$('#iResultQueryContent').html("<br><img class='waitingResult' src='./plugins/GrumPluginClasses/icons/processing.gif'>");cb.doAction('getPage',requestNumber,page,numberPerPage);}});}
Index: /extensions/GrumPluginClasses/js/simpleTip.js
===================================================================
--- /extensions/GrumPluginClasses/js/simpleTip.js	(revision 15339)
+++ /extensions/GrumPluginClasses/js/simpleTip.js	(revision 15340)
@@ -70,5 +70,4 @@
       offsetY:0,
       classes:'',
-      arrowImgDir: '',
       arrowWidth: 12,
       arrowHeight: 12
@@ -322,5 +321,5 @@
         arrowX=-bwX;
         arrowY=-items[itemIndex].options.arrowHeight+bwY;
-        arrowModel='up';
+        arrowModel='Up';
         break;
 
@@ -330,5 +329,5 @@
         arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2;
         arrowY=-items[itemIndex].options.arrowHeight+bwY;
-        arrowModel='up';
+        arrowModel='Up';
         break;
 
@@ -338,5 +337,5 @@
         arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX;
         arrowY=-items[itemIndex].options.arrowHeight+bwY;
-        arrowModel='up';
+        arrowModel='Up';
         break;
 
@@ -346,5 +345,5 @@
         arrowX=-items[itemIndex].options.arrowWidth+bwX;
         arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY;
-        arrowModel='left';
+        arrowModel='Left';
         break;
 
@@ -359,5 +358,5 @@
         arrowX=stWidthI+bwX;
         arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY;
-        arrowModel='right';
+        arrowModel='Right';
         break;
 
@@ -367,5 +366,5 @@
         arrowX=-bwX;
         arrowY=stHeightI+bwY;
-        arrowModel='down';
+        arrowModel='Down';
         break;
 
@@ -375,5 +374,5 @@
         arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2+bwX;
         arrowY=stHeightI+bwY;
-        arrowModel='down';
+        arrowModel='Down';
         break;
 
@@ -383,5 +382,5 @@
         arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX;
         arrowY=stHeightI+bwY;
-        arrowModel='down';
+        arrowModel='Down';
         break;
     }
@@ -389,8 +388,23 @@
     if(items[itemIndex].options.drawArrow & arrowModel!='')
     {
+      switch(arrowModel)
+      {
+        case 'Up':
+          bgp='-'+items[itemIndex].options.arrowHeight+'px 0px';
+          break;
+        case 'Left':
+          bgp='0px -'+items[itemIndex].options.arrowWeight+'px';
+          break;
+        case 'Down':
+          bgp='0px 0px';
+          break;
+        case 'Right':
+          bgp='-'+items[itemIndex].options.arrowHeight+'px -'+items[itemIndex].options.arrowWeight+'px';
+          break;
+      }
       $('#iSimpleTipArrow'+options.name).css(
         {
           display: 'block',
-          background: 'url("'+items[itemIndex].options.arrowImgDir+'/arrow_'+arrowModel+'.png") no-repeat scroll 0 0 transparent',
+          backgroundPosition: bgp,
           marginLeft: arrowX+'px',
           marginTop: arrowY+'px',
@@ -434,5 +448,5 @@
     if($('#iSimpleTip'+options.name).length==0)
     {
-      text="<div id='iSimpleTip"+options.name+"' style='z-index:15000;display:none;position:absolute;left:0px;top:0px;'><div id='iSimpleTipShadow"+options.name+"' style='position:absolute;width:100%;height:100%;background:#000000;opacity:0.4;filter:alpha(opacity:40);display:block;z-index:-1;margin-left:2px;margin-top:2px;'></div><div id='iSimpleTipArrow"+options.name+"' style='position:absolute;'></div><div id='iSimpleTipContent"+options.name+"'></div></div>";
+      text="<div class='cSimpleTip' id='iSimpleTip"+options.name+"' style='z-index:15000;display:none;position:absolute;left:0px;top:0px;'><div class='cSimpleTipShadow' id='iSimpleTipShadow"+options.name+"'></div><div class='cSimpleTipArrow' id='iSimpleTipArrow"+options.name+"'></div><div class='cSimpleTipContent' id='iSimpleTipContent"+options.name+"'></div></div>";
       $('body').append(text);
     }
Index: tensions/GrumPluginClasses/js/simpleTip.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/simpleTip.min.js	(revision 15339)
+++ 	(revision )
@@ -1,44 +1,0 @@
-/* file: simpleTip.js - v1.0.1 | minified on 2011/01/27 with http://jscompress.com/ */
-function tipItem(item,index,options)
-{this.item=item;this.content=item.title;this.index=index;this.options=jQuery.extend({targetPos:'bottom-middle',tipPos:'top-middle',drawArrow:false,offsetX:0,offsetY:0,classes:'',arrowImgDir:'',arrowWidth:12,arrowHeight:12},options);}
-function simpleTip()
-{var items=new Array(),itemIndexInc=0,options={name:''};if(arguments.length>=1)
-{options.name=arguments[0];}
-this.doAction=function(fct)
-{switch(fct)
-{case'add':if(arguments.length==2)
-{add(arguments[1],{});}
-else
-{add(arguments[1],arguments[2]);}
-break;case'remove':if(arguments.length==2)
-{remove(arguments[1]);}
-break;case'clear':clear();break;case'hide':hide();break;case'show':show();break;case'prepare':if(arguments.length==4)
-{prepare(arguments[1],arguments[2],arguments[3]);}
-break;}};var add=function(item,options)
-{index=getIndex(item);if(index==-1&item.title!='')
-{tip=new tipItem(item,itemIndexInc,options);$(item).attr({title:'',simpleTip:tip.index}).bind('mouseover',{index:tip.index},function(event)
-{prepare($(this).offset().left,$(this).offset().top,$(this).innerWidth(),$(this).innerHeight(),event.data.index);show();}).bind('mouseout',function(event)
-{hide();});items.push(tip);itemIndexInc++;}};var remove=function(item)
-{index=getIndex(item);if(index!=-1)
-{$(item).attr({title:items[index].content,simpleTip:''}).unbind('mouseover').unbind('mouseout');items[index].item=null;items.splice(index,1);}};var clear=function()
-{hide();while(items.length>0)
-{if(items[0].item!=null)
-{$(items[0].item).attr({title:items[0].content,simpleTip:''}).unbind('mouseover').unbind('mouseout');items[0].item=null;}
-items.shift();}
-itemIndexInc=0;};var getIndex=function(item)
-{searched=$(item).attr('simpleTip');for(i=0;i<items.length;i++)
-{if(items[i].index==searched)return(i);}
-return(-1);};var prepare=function(posX,posY,width,height,index)
-{itemIndex=index;arrowX=0;arrowY=0;$('#iSimpleTipContent'+options.name).html(items[itemIndex].content);$('#iSimpleTip'+options.name).css({left:'-1500px',top:'-1500px',display:'block'});switch(items[itemIndex].options.targetPos)
-{case'top-left':x=posX;y=posY;break;case'top-middle':x=posX+width/2;y=posY;break;case'top-right':x=posX+width;y=posY;break;case'middle-left':x=posX;y=posY+height/2;break;case'middle-middle':x=posX+width/2;y=posY+height/2;break;case'middle-right':x=posX+width;y=posY+height/2;break;case'bottom-left':x=posX;y=posY+height;break;case'bottom-middle':x=posX+width/2;y=posY+height;break;case'bottom-right':x=posX+width;y=posY+height;break;}
-stWidth=$('#iSimpleTipContent'+options.name).outerWidth();stHeight=$('#iSimpleTipContent'+options.name).outerHeight();stWidthI=$('#iSimpleTipContent'+options.name).innerWidth();stHeightI=$('#iSimpleTipContent'+options.name).innerHeight();bwX=(stWidth-stWidthI)/2;bwY=(stHeight-stHeightI)/2;arrowModel='';switch(items[itemIndex].options.tipPos)
-{case'top-left':x+=items[itemIndex].options.offsetX;y+=items[itemIndex].options.offsetY;arrowX=-bwX;arrowY=-items[itemIndex].options.arrowHeight+bwY;arrowModel='up';break;case'top-middle':x-=stWidth/2;y+=items[itemIndex].options.offsetY;arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2;arrowY=-items[itemIndex].options.arrowHeight+bwY;arrowModel='up';break;case'top-right':x-=stWidth+items[itemIndex].options.offsetX;y+=items[itemIndex].options.offsetY;arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX;arrowY=-items[itemIndex].options.arrowHeight+bwY;arrowModel='up';break;case'middle-left':x+=items[itemIndex].options.offsetX;y-=stHeight/2;arrowX=-items[itemIndex].options.arrowWidth+bwX;arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY;arrowModel='left';break;case'middle-middle':x-=stWidth/2;y-=stHeight/2;break;case'middle-right':x-=stWidth+items[itemIndex].options.offsetX;y-=stHeight/2;arrowX=stWidthI+bwX;arrowY=(stHeightI-items[itemIndex].options.arrowHeight)/2+bwY;arrowModel='right';break;case'bottom-left':x+=items[itemIndex].options.offsetX;y-=stHeight+items[itemIndex].options.offsetY;arrowX=-bwX;arrowY=stHeightI+bwY;arrowModel='down';break;case'bottom-middle':x-=stWidth/2;y-=stHeight+items[itemIndex].options.offsetY;arrowX=(stWidthI-items[itemIndex].options.arrowWidth)/2+bwX;arrowY=stHeightI+bwY;arrowModel='down';break;case'bottom-right':x-=stWidth+items[itemIndex].options.offsetX;y-=stHeight+items[itemIndex].options.offsetY;arrowX=stWidthI-items[itemIndex].options.arrowWidth+bwX;arrowY=stHeightI+bwY;arrowModel='down';break;}
-if(items[itemIndex].options.drawArrow&arrowModel!='')
-{$('#iSimpleTipArrow'+options.name).css({display:'block',background:'url("'+items[itemIndex].options.arrowImgDir+'/arrow_'+arrowModel+'.png") no-repeat scroll 0 0 transparent',marginLeft:arrowX+'px',marginTop:arrowY+'px',width:items[itemIndex].options.arrowWidth+'px',height:items[itemIndex].options.arrowHeight+'px'});}
-else
-{$('#iSimpleTipArrow'+options.name).css('display','none');}
-$('#iSimpleTip'+options.name).css({left:x+'px',top:y+'px',display:'none'}).removeClass().addClass(items[itemIndex].options.classes);};var show=function()
-{$('#iSimpleTip'+options.name).css('display','block');};var hide=function()
-{$('#iSimpleTip'+options.name).css('display','none');};var init=function()
-{if($('#iSimpleTip'+options.name).length==0)
-{text="<div id='iSimpleTip"+options.name+"' style='z-index:15000;display:none;position:absolute;left:0px;top:0px;'><div id='iSimpleTipShadow"+options.name+"' style='position:absolute;width:100%;height:100%;background:#000000;opacity:0.4;filter:alpha(opacity:40);display:block;z-index:-1;margin-left:2px;margin-top:2px;'></div><div id='iSimpleTipArrow"+options.name+"' style='position:absolute;'></div><div id='iSimpleTipContent"+options.name+"'></div></div>";$('body').append(text);}};init();}
Index: /extensions/GrumPluginClasses/js/ui.categorySelector.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.categorySelector.js	(revision 15339)
+++ /extensions/GrumPluginClasses/js/ui.categorySelector.js	(revision 15340)
@@ -2,6 +2,6 @@
  * -----------------------------------------------------------------------------
  * file: ui.categorySelector.js
- * file version: 1.1.0
- * date: 2011-01-12
+ * file version: 1.1.1
+ * date: 2012-05-25
  *
  * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses"
@@ -40,4 +40,9 @@
  * |         |            | * add 'displayPath' property
  * |         |            |
+ * | 1.1.1   | 2012-05-25 | * fix bug with jquery 1.7.2
+ * |         |            |   . display list now works :)
+ * |         |            |
+ * |         |            |
+ * |         |            |
  * |         |            |
  *
@@ -123,5 +128,5 @@
                         {
                           privateMethods.displaySelector($this, !$this.data('properties').selectorVisible);
-                          $(this).focus();
+                          //$(this).focus(); // if get the focus, it hide the dorp-down list.. ?
                         }
                       ),
@@ -783,5 +788,5 @@
             return(null);
           }
-        } // numberOfCategories
+        }, // numberOfCategories
     }; // methods
 
@@ -1618,5 +1623,5 @@
                 {
                   objects.listContainer.html('Error ! '+msg);
-                }
+                },
             }
          );
Index: tensions/GrumPluginClasses/js/ui.categorySelector.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.categorySelector.min.js	(revision 15339)
+++ 	(revision )
@@ -1,393 +1,0 @@
-/* file: ui.categorySelector.js - v1.1.0 | minified on 2011/01/28 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={autoLoad:true,galleryRoot:true,displayStatus:true,listMaxWidth:0,listMaxHeight:0,levelIndent:16,iconWidthEC:15,serverUrl:'plugins/GrumPluginClasses/gpc_ajax.php',filter:'accessible',popup:null,change:null,load:null,multiple:false,userMode:'public',popupMode:'click',displayPath:false,downArrow:'⇓'};$this.data('options',options);if(!properties)
-{$this.data('properties',{index:-1,initialized:false,selectorVisible:false,categories:[],labelStatus:['',''],mouseOver:false,isValid:true});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-category-selector',tabindex:0,css:{width:'100%'}}).bind('click.categorySelector',function()
-{privateMethods.displaySelector($this,!$this.data('properties').selectorVisible);$(this).focus();}),containerName:$('<div/>',{html:' ','class':'ui-category-selector-name'}),containerList:null,containerStatus:$('<div/>',{'class':'ui-category-selector-status',css:{float:'right',display:(options.displayStatus)?'block':'none'}}),containerArrow:$('<div/>',{html:'⇓','class':'ui-category-selector-arrow',css:{'float':'right',cursor:'pointer'}}).bind('mousedown',function()
-{$(this).addClass('ui-category-selector-arrow-active');}).bind('mouseup',function()
-{$(this).removeClass('ui-category-selector-arrow-active');}),listContainer:$('<div/>',{html:"",'class':'ui-category-selector-list',css:{overflow:"auto",display:'none',position:'absolute'}}),list:$('<ul/>',{css:{listStyle:'none',padding:'0px',margin:'0px'}})};}
-$this.data('objects',objects);privateMethods.setOptions($this,opt);if($this.html()!='')privateMethods.setItems($this,$this.html());$this.html('').append(objects.container.append(objects.containerArrow).append(objects.containerStatus).append(objects.containerName)).append(objects.listContainer.append(objects.list));});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.container.unbind().remove();objects.list.children().unbind();objects.listContainer.remove();$this.unbind('.categorySelector').css({width:'',height:''});});},options:function(value)
-{return this.each(function()
-{privateMethods.setOptions($(this),value);});},autoLoad:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setAutoLoad($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.autoLoad);}
-else
-{return(true);}}},galleryRoot:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setGalleryRoot($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.galleryRoot);}
-else
-{return(true);}}},listMaxWidth:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxWidth);}
-else
-{return(0);}}},listMaxHeight:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxHeight($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxHeight);}
-else
-{return(0);}}},displayStatus:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDisplayStatus($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.displayStatus);}
-else
-{return(true);}}},levelIndent:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setLevelIndent($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.levelIndent);}
-else
-{return(0);}}},serverUrl:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setServerUrl($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.serverUrl);}
-else
-{return('');}}},filter:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setFilter($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.filter);}
-else
-{return('');}}},collapse:function(value)
-{return this.each(function()
-{if(!value)value=':all';privateMethods.setExpandCollapse($(this),value,'C');});},expand:function(value)
-{return this.each(function()
-{if(!value)value=':all';privateMethods.setExpandCollapse($(this),value,'E');});},iconWidthEC:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIconWidthEC($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.iconWidthEC);}
-else
-{return(0);}}},userMode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setUserMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.userMode);}
-else
-{return(0);}}},name:function()
-{var options=this.data('options'),properties=this.data('properties');if(!options.multiple)
-{return(properties.categories[properties.index].name);}
-else
-{var listNames=[];for(var i=0;i<properties.index.length;i++)
-{listNames.push(properties.categories[properties.index[i]].name);}
-return(listNames);}},popupMode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setPopupMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popupMode);}
-else
-{return(0);}}},displayPath:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDisplayPath($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.displayPath);}
-else
-{return(0);}}},downArrow:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDownArrow($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.downArrow);}
-else
-{return('');}}},value:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValue($(this),value);});}
-else
-{var properties=this.data('properties'),options=this.data('options');if(properties&&properties.index!=null&&!options.multiple&&properties.index>-1&&properties.index<properties.categories.length)
-{return(properties.categories[properties.index].id);}
-else if(properties&&properties.index!=null&&options.multiple)
-{var returned=[];for(var i=0;i<properties.index.length;i++)
-{if(properties.index[i]>-1&&properties.index[i]<properties.categories.length)
-returned.push(properties.categories[properties.index[i]].id);}
-return(returned);}
-else
-{return(null);}}},isValid:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIsValid($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.isValid);}},load:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventLoad($(this),value);});}
-else
-{privateMethods.load(this);}},popup:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventPopup($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popup);}
-else
-{return(null);}}},change:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventChange($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}},numberOfCategories:function()
-{var properties=this.data('properties');if(properties)
-{return(properties.categories.length);}
-else
-{return(null);}},properties:function(value)
-{var properties=this.data('properties'),options=this.data('options');if(properties&&value==':first'&&properties.categories.length>0)
-{return(properties.categories[0]);}
-else if(properties&&properties.index!=null&&(value==':selected'||value==null)&&properties.categories.length>0)
-{if(!options.multiple&&properties.index>-1&&properties.index<properties.categories.length)
-{return(properties.categories[properties.index]);}
-else if(options.multiple)
-{var returned=[];for(var i=0;i<properties.index.length;i++)
-{if(properties.index[i]>-1&&properties.index<properties.categories.length)
-returned.push(properties.categories[properties.index[i]]);}
-return(returned);}
-return(null);}
-else if(properties&&value>-1)
-{var index=privateMethods.findIndexByValue(this,value);if(index>-1)
-{return(properties.categories[index]);}
-return(null);}
-else
-{return(null);}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setAutoLoad(object,(value.autoLoad!=null)?value.autoLoad:options.autoLoad);privateMethods.setGalleryRoot(object,(value.galleryRoot!=null)?value.galleryRoot:options.galleryRoot);privateMethods.setDisplayStatus(object,(value.displayStatus!=null)?value.displayStatus:options.displayStatus);privateMethods.setListMaxWidth(object,(value.listMaxWidth!=null)?value.listMaxWidth:options.listMaxWidth);privateMethods.setListMaxHeight(object,(value.listMaxHeight!=null)?value.listMaxHeight:options.listMaxHeight);privateMethods.setLevelIndent(object,(value.levelIndent!=null)?value.levelIndent:options.levelIndent);privateMethods.setIconWidthEC(object,(value.iconWidthEC!=null)?value.iconWidthEC:options.iconWidthEC);privateMethods.setServerUrl(object,(value.serverUrl!=null)?value.serverUrl:options.serverUrl);privateMethods.setFilter(object,(value.filter!=null)?value.filter:options.filter);privateMethods.setUserMode(object,(value.userMode!=null)?value.userMode:options.userMode);privateMethods.setPopupMode(object,(value.popupMode!=null)?value.popupMode:options.popupMode);privateMethods.setDisplayPath(object,(value.displayPath!=null)?value.displayPath:options.displayPath);privateMethods.setDownArrow(object,(value.downArrow!=null)?value.downArrow:options.downArrow);privateMethods.setEventPopup(object,(value.popup!=null)?value.popup:options.popup);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.setEventLoad(object,(value.load!=null)?value.load:options.load);privateMethods.setMultiple(object,(value.multiple!=null)?value.multiple:options.multiple);if(options.autoLoad)privateMethods.load(object);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');}}
-return(properties.isValid);},setAutoLoad:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.autoLoad!=value)&&(value==true||value==false))
-{options.autoLoad=value;}
-return(options.autoLoad);},setGalleryRoot:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.galleryRoot!=value)&&(value==true||value==false))
-{options.galleryRoot=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.galleryRoot);},setListMaxWidth:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxWidth!=value)&&value>=0)
-{options.listMaxWidth=value;if(options.listMaxWidth>0)
-{objects.listContainer.css('max-width',options.listMaxWidth+'px');}
-else
-{objects.listContainer.css('max-width','');}}
-return(options.listMaxWidth);},setListMaxHeight:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxHeight!=value)&&value>=0)
-{options.listMaxHeight=value;if(options.listMaxHeight>0)
-{objects.listContainer.css('max-height',options.listMaxHeight+'px');}
-else
-{objects.listContainer.css('max-height','');}}
-return(options.listMaxHeight);},setDisplayStatus:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.displayStatus!=value)&&(value==true||value==false))
-{options.displayStatus=value;if(options.displayStatus)
-{object.find('.ui-category-selector-status').show();}
-else
-{object.find('.ui-category-selector-status').hide();}}
-return(options.displayStatus);},setLevelIndent:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.levelIndent!=value)&&value>=0)
-{options.levelIndent=value;objects.list.find('.ui-category-selector-item').each(function()
-{$(this).css('padding-left',(options.iconWidthEC+$(this).attr('level')*options.levelIndent)+'px');});}
-return(options.levelIndent);},setServerUrl:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.serverUrl!=value)
-{options.serverUrl=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.serverUrl);},setFilter:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.filter!=value)&&(value=='none'||value=='accessible'||value=='public'))
-{options.filter=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.filter);},setIconWidthEC:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.iconWidthEC!=value)&&value>=0)
-{options.iconWidthEC=value;objects.list.find('.ui-category-selector-item').each(function()
-{$(this).css('padding-left',(options.iconWidthEC+$(this).attr('level')*options.levelIndent)+'px');});}
-return(options.iconWidthEC);},setMultiple:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.multiple!=value)&&(value==true||value==false))
-{if(!value)
-{properties.index=-1;if(objects.containerList!=null)
-{objects.containerList.remove();objects.containerList=null;}}
-else
-{properties.index=[];objects.listContainer.addClass('ui-category-selector-multiple');if(objects.containerList==null)
-{objects.containerList=$('<ul/>',{css:{listStyle:'none',padding:'0px',margin:'0px',overflow:"auto"},html:'<li> </li>'});objects.containerName.html('').append(objects.containerList);}}
-options.multiple=value;}
-return(options.multiple);},setUserMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.userMode!=value)&&(value=='admin'||value=='public'))
-{options.userMode=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.userMode);},setPopupMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.popupMode!=value)&&(value=='click'||value=='mouseout'))
-{options.popupMode=value;if(value=='mouseout')
-{objects.listContainer.unbind('mouseleave.categorySelector').unbind('mouseenter.categorySelector').bind('mouseleave.categorySelector',function()
-{privateMethods.displaySelector(object,false);});}
-else
-{objects.listContainer.unbind('mouseleave.categorySelector').bind('mouseleave.categorySelector',function()
-{properties.mouseOver=false;}).bind('mouseenter.categorySelector',function()
-{properties.mouseOver=true;});$(document).bind('focusout focusin',function(event)
-{if(!properties.mouseOver)privateMethods.displaySelector(object,false);});}}
-return(options.popupMode);},setDisplayPath:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.displayPath!=value)&&(value==true||value==false))
-{options.displayPath=value;}
-return(options.userMode);},setDownArrow:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(!properties.initialized||options.downArrow!=value)
-{options.downArrow=value;objects.containerArrow.html(options.downArrow);}
-return(options.downArrow);},setItems:function(object,value)
-{var properties=object.data('properties'),options=object.data('options'),objects=object.data('objects');if(value==''||value==null)
-{value={status:['',''],categories:[]}}
-else if($.isArray(value))
-{value={status:'public',categories:value}}
-else
-{try
-{value=$.parseJSON($.trim(value));}
-catch(e)
-{return(false);}}
-properties.labelStatus=value.status;privateMethods.listClear(object);if(value.categories.length>0)privateMethods.listAddItems(object,value.categories,objects.list);properties.initialized=false;if(options.multiple)
-{privateMethods.setValue(object,':none');}
-else
-{privateMethods.setValue(object,':first');}
-properties.initialized=true;if(options.load)object.trigger('categorySelectorLoad');},setExpandCollapse:function(object,value,mode)
-{var objects=object.data('objects');re=/^(?:(:all)(?:(=|<|>|\+)(\d+))?)|(?:(\d+)(<|>|\+))?$/i;target=re.exec(value);if(target!=null)
-{switch(mode)
-{case'C':applyExpandCollapse=privateMethods.applyCollapse;break;case'E':applyExpandCollapse=privateMethods.applyExpand;break;}
-if(target[1]==':all')
-{objects.list.find('.ui-category-selector-expandable-item, .ui-category-selector-collapsable-item').each(applyExpandCollapse);}
-else if(target[4]!=null)
-{switch(target[5])
-{case'+':objects.list.find('.ui-category-selector-expandable-item, .ui-category-selector-collapsable-item').each(privateMethods.applyCollapse);objects.list.find(':has([catId='+target[4]+'])').prev().each(privateMethods.applyExpand);objects.list.find('[catId='+target[4]+']').each(applyExpandCollapse);break;case'>':objects.list.find('[catId='+target[4]+'] + ul').find('.ui-category-selector-expandable-item, .ui-category-selector-collapsable-item').each(applyExpandCollapse);objects.list.find('[catId='+target[4]+']').each(applyExpandCollapse);break;case'<':objects.list.find(':has([catId='+target[4]+'])').prev().each(applyExpandCollapse);objects.list.find('[catId='+target[4]+']').each(applyExpandCollapse);break;default:objects.list.find('[catId='+target[4]+']').each(applyExpandCollapse);break;}}}},applyExpand:function(index,domElt)
-{privateMethods.applyExpandCollapse(index,domElt,'E');},applyCollapse:function(index,domElt)
-{privateMethods.applyExpandCollapse(index,domElt,'C');},applyExpandCollapse:function(index,domElt,mode)
-{action='';var $domElt=$(domElt);if(target.length>2&&target[2]!=null&&target[3]!=null)
-{switch(target[2])
-{case'=':if($domElt.attr('level')==target[3])action=mode;break;case'>':if($domElt.attr('level')>=target[3])action=mode;break;case'<':if($domElt.attr('level')<=target[3])action=mode;break;case'+':if((mode=='E'&&$domElt.attr('level')<=target[3])||(mode=='C'&&$domElt.attr('level')>=target[3]))
-{action=mode;}
-else
-{action=(mode=='C')?'E':'C';}
-break;}}
-else action=mode;switch(action)
-{case'C':$domElt.removeClass('ui-category-selector-expandable-item ui-category-selector-collapsable-item').addClass('ui-category-selector-expandable-item').next().hide();break;case'E':$domElt.removeClass('ui-category-selector-expandable-item ui-category-selector-collapsable-item').addClass('ui-category-selector-collapsable-item').next().show();break;}},setValue:function(object,value,trigger)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),index=-1;re=/^(:invert|:all|:none)(?:(=|<|>)(\d+))$/i;target=re.exec(value);if(target!=null)value=target[1];switch(value)
-{case':first':if(properties.categories.length>0)index=0;break;case':last':index=properties.categories.length-1;break;case':invert':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-category-selector-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)
-{if($this.hasClass('ui-category-selector-selected-item'))
-{$this.removeClass('ui-category-selector-selected-item');}
-else
-{$this.addClass('ui-category-selector-selected-item');tmp=privateMethods.findIndexByValue(object,$this.attr('catId'));if(tmp>-1)properties.index.push(tmp);}}});privateMethods.setValue(object,[],false);return(false);break;case':none':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-category-selector-selected-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)$this.removeClass('ui-category-selector-selected-item');});privateMethods.setValue(object,[],false);return(false);break;case':all':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-category-selector-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)
-{tmp=privateMethods.findIndexByValue(object,$this.attr('catId'));if(tmp>-1)properties.index.push(tmp);$this.addClass('ui-category-selector-selected-item');}});privateMethods.setValue(object,[],false);return(false);break;default:if($.isArray(value)&&options.multiple)
-{index=[];for(var i=0;i<value.length;i++)
-{tmp=privateMethods.findIndexByValue(object,value[i]);if(tmp>-1)index.push(tmp);}}
-else
-{index=privateMethods.findIndexByValue(object,value);}
-break;}
-if(!options.multiple&&(!properties.initialized||properties.index!=index)&&index>-1)
-{objects.list.find('.ui-category-selector-selected-item').removeClass('ui-category-selector-selected-item');objects.list.find('[catId="'+value+'"]').addClass('ui-category-selector-selected-item');title=privateMethods.getParentName(object,objects.list.find('[catId="'+value+'"] div.ui-category-selector-name')).replace('&','&').replace('>','>').replace('<','<');properties.index=index;objects.containerName.html(properties.categories[properties.index].name).attr('title',title);objects.containerStatus.html(properties.labelStatus[properties.categories[properties.index].status]);if(trigger&&options.change)object.trigger('categorySelectorChange',[properties.categories[properties.index].id]);if(properties.index>-1)return(properties.categories[properties.index].id);}
-else if(options.multiple)
-{if(!$.isArray(index))
-{if(index<0||index==null)return(-1);index=[index];}
-tmp=[];for(var i=0;i<index.length;i++)
-{var item=objects.list.find('[catId="'+properties.categories[index[i]].id+'"]');if(item.hasClass('ui-category-selector-selected-item'))
-{item.removeClass('ui-category-selector-selected-item');tmpIndex=$.inArray(index[i],properties.index);if(tmpIndex>-1)properties.index.splice(tmpIndex,1);}
-else
-{item.addClass('ui-category-selector-selected-item');properties.index.push(index[i]);}
-tmp.push(properties.categories[index[i]].id);}
-objects.containerList.html('');objects.list.find('.ui-category-selector-selected-item div.ui-category-selector-name').each(function()
-{var path='';title=privateMethods.getParentName(object,$(this)).replace('&','&').replace('>','>').replace('<','<');if(!options.displayPath)
-{path=$(this).html();}
-else
-{path=title;}
-objects.containerList.append($('<li/>',{html:path,title:title,'class':'ui-category-selector-selected-cat'}).prepend($('<span/>',{html:'x'}).bind('click.categorySelector',{object:object,value:$(this).parent().parent().attr('catid')},function(event)
-{event.stopPropagation();privateMethods.setValue(event.data.object,event.data.value);})))});if(objects.containerList.children().length==0)objects.containerList.append('<li> </li>');if(trigger&&options.change)object.trigger('categorySelectorChange',[tmp]);return(tmp);}
-return(null);},getParentName:function(object,item)
-{if(item==null||item.length==0)return('');foundItem=item.parent().parent().parent().prev().find('div.ui-category-selector-name');if(foundItem.length==0)return(item.html());return(privateMethods.getParentName(object,foundItem)+' / '+item.html());},displaySelector:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(properties.selectorVisible!=value)
-{properties.selectorVisible=value;if(properties.selectorVisible&&properties.categories.length>0)
-{var index=0;objects.listContainer.css({display:'block','min-width':objects.listContainer.parent().css('width')});if($.isArray(properties.index))
-{if(properties.index.length>0)index=properties.index[0];}
-else if(properties.index>-1)
-{index=properties.index;}
-objects.listContainer.scrollTop(objects.listContainer.scrollTop()+objects.list.find('[catId="'+properties.categories[index].id+'"]').position().top);}
-else
-{objects.listContainer.css('display','none');}
-if(options.popup)object.trigger('categorySelectorPopup',[properties.selectorVisible]);}
-return(properties.selectorVisible);},load:function(object)
-{var options=object.data('options'),objects=object.data('objects');if(options.serverUrl=='')return(false);$.ajax({type:"POST",url:options.serverUrl,async:true,data:{ajaxfct:options.userMode+'.categorySelector.getList',filter:options.filter,galleryRoot:options.galleryRoot?'y':'n',tree:'y'},success:function(msg)
-{privateMethods.setItems(object,msg);},error:function(msg)
-{objects.listContainer.html('Error ! '+msg);}});},listClear:function(object)
-{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');objects.list.children().unbind();objects.list.html('');if(options.multiple)
-{properties.index=[];}
-else
-{properties.index=-1;}
-properties.categories=[];},listAddItems:function(object,listItems,parent)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');var previousLevel=-1;for(var i=0;i<listItems.length;i++)
-{properties.categories.push({id:listItems[i].id,level:listItems[i].level,name:listItems[i].name,status:listItems[i].status,childs:listItems[i].childs.length});if(options.displayStatus)
-{status="<div class='ui-category-selector-status'>"+properties.labelStatus[listItems[i].status]+"</div>";}
-else
-{status="";}
-var spaceWidth=(options.iconWidthEC+listItems[i].level*options.levelIndent),li=$('<li/>',{'class':'ui-category-selector-item',html:"<div>"+status+"<div class='ui-category-selector-name'>"+listItems[i].name+"</div></div>",catId:listItems[i].id,level:listItems[i].level,css:{'padding-left':spaceWidth+'px'}}).bind('click.categorySelector',{object:object,expandArea:spaceWidth,nbchilds:listItems[i].childs.length},function(event)
-{event.layerX=event.pageX-$(event.currentTarget).offset().left;event.layerY=event.pageY-$(event.currentTarget).offset().top;if(event.layerX<event.data.expandArea&&event.data.nbchilds>0)
-{if($(this).hasClass('ui-category-selector-expandable-item'))
-{$(this).removeClass('ui-category-selector-expandable-item').addClass('ui-category-selector-collapsable-item').next().show();}
-else
-{$(this).removeClass('ui-category-selector-collapsable-item').addClass('ui-category-selector-expandable-item').next().hide();}}
-else
-{privateMethods.setValue(event.data.object,$(this).attr('catId'),true);if(options.multiple)
-{}
-else
-{privateMethods.displaySelector(event.data.object,false);}}
-if(options.multiple)objects.container.focus();});if(listItems[i].childs.length>0)
-{li.addClass('ui-category-selector-collapsable-item').css('background-position',(options.levelIndent*listItems[i].level)+'px 0px');}
-if(options.multiple)
-{li.children().prepend('<div class="ui-category-selector-check"></div>');}
-parent.append(li);if(listItems[i].childs.length>0)
-{var ul=$('<ul/>',{'class':'ui-category-selector-group',css:{listStyle:'none',padding:'0px',margin:'0px','font-size':(100-listItems[i].level*2)+'%'}});li.after(ul);privateMethods.listAddItems(object,listItems[i].childs,ul);}}},findIndexByValue:function(object,value)
-{var properties=object.data('properties');for(var i=0;i<properties.categories.length;i++)
-{if(properties.categories[i].id==value)return(i);}
-return(-1);},setEventPopup:function(object,value)
-{var options=object.data('options');options.popup=value;object.unbind('categorySelectorPopup');if(value)object.bind('categorySelectorPopup',options.popup);return(options.popup);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('categorySelectorChange');if(value)object.bind('categorySelectorChange',options.change);return(options.change);},setEventLoad:function(object,value)
-{var options=object.data('options');options.load=value;object.unbind('categorySelectorLoad');if(value)object.bind('categorySelectorLoad',options.load);return(options.load);}};$.fn.categorySelector=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.categorySelector');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.iconSelector.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.iconSelector.min.js	(revision 15339)
+++ 	(revision )
@@ -1,120 +1,0 @@
-/* file: ui.iconSelector.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={images:[],numCols:1,numRows:8,cellWidth:32,cellHeight:32,popup:null,change:null};if(opt)$.extend(options,opt);$this.data('options',options);if(!properties)
-{$this.data('properties',{index:-1,initialized:false,selectorVisible:false});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':' ui-icon-selector '}).bind('click.iconSelector',function()
-{privateMethods.displaySelector($this,!$this.data('properties').selectorVisible);}),listContainer:$('<div/>',{html:"",'class':' ui-icon-selector-list ',css:{overflow:"auto",width:'0px',height:'0px',display:'none',position:'absolute'}}).bind('mouseleave.iconSelector',function()
-{privateMethods.displaySelector($this,false);}),list:$('<ul/>',{css:{listStyle:'none',padding:'0px',margin:'0px'}})};$this.html('').append(objects.container).append(objects.listContainer.append(objects.list));$this.data('objects',objects);}
-privateMethods.setImages($this,options.images);privateMethods.setCellWidth($this,options.cellWidth);privateMethods.setCellHeight($this,options.cellHeight);privateMethods.setNumCols($this,options.numCols);privateMethods.setNumRows($this,options.numRows);privateMethods.setEventPopup($this,options.popup);privateMethods.setEventChange($this,options.change);if(options.images.length>0)privateMethods.setValue($this,options.images[0]);properties.initialized=true;});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.container.unbind().remove();objects.list.children().unbind();objects.listContainer.remove();$this.unbind('.iconSelector').css({width:'',height:'',backgroundImage:''});});},images:function(list)
-{if(list)
-{return this.each(function()
-{privateMethods.setImages($(this),list);});}
-else
-{var options=this.data('options');if(options)
-{return(options.images);}
-else
-{return([]);}}},numCols:function(value)
-{if(value)
-{return this.each(function()
-{privateMethods.setCols($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.numCols);}
-else
-{return(0);}}},numRows:function(value)
-{if(value)
-{return this.each(function()
-{privateMethods.setRows($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.numRows);}
-else
-{return(0);}}},cellWidth:function(value)
-{if(value)
-{return this.each(function()
-{privateMethods.setCellWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.cellWidth);}
-else
-{return(0);}}},cellHeight:function(value)
-{if(value)
-{return this.each(function()
-{privateMethods.setCellHeight($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.cellHeight);}
-else
-{return(0);}}},value:function(value)
-{if(value)
-{return this.each(function()
-{privateMethods.setValue($(this),value);});}
-else
-{var options=this.data('options'),properties=this.data('properties');if(options&&properties&&properties.index>-1&&properties.index<options.images.length)
-{return(options.images[properties.index]);}
-else
-{return('');}}},popup:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventPopup($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popup);}
-else
-{return(null);}}},change:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventChange($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={updateListArea:function(object)
-{var options=object.data('options'),objects=object.data('objects'),icon=objects.list.children().first(),width=icon.outerWidth()*options.numCols,height=icon.outerHeight()*options.numRows;objects.listContainer.css({width:width+'px',height:height+'px'});delta=width-objects.listContainer.get(0).clientWidth;if(delta>0)
-{objects.listContainer.css('width',(width+delta)+'px');}},setImages:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');options.images=value;objects.list.children().unbind();objects.list.html('');for(var i=0;i<options.images.length;i++)
-{liClass=' ui-icon-selector-icon ';if(i==properties.index)
-{liClass+=' ui-icon-selector-selected-icon ';}
-objects.list.append($('<li indexValue="'+i+'" class="'+liClass+'" style="display:inline-block;width:'+options.cellWidth+'px;height:'+options.cellHeight+'px;background-image:url('+options.images[i]+');"></li>').bind('click',{object:object},function(event)
-{privateMethods.setValueByIndex(event.data.object,$(this).attr('indexValue'),true);privateMethods.displaySelector(event.data.object,false);}));}
-return(options.images);},setNumCols:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.numCols!=value)&&value>0)
-{options.numCols=value;}
-return(options.numCols);},setNumRows:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.numRows!=value)&&value>0)
-{options.numRows=value;}
-return(options.numRows);},setCellWidth:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.cellWidth!=value)&&value>=0)
-{options.cellWidth=value;objects.container.css('width',value+'px');}
-return(options.cellWidth);},setCellHeight:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.cellHeight!=value)&&value>=0)
-{options.cellHeight=value;objects.container.css('height',value+'px');}
-return(options.cellHeight);},setValue:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),index=-1;switch(value)
-{case':first':if(options.images.length>0)index=0;break;case':last':index=options.images.length-1;break;default:index=$.inArray(value,options.images);break;}
-if((!properties.initialized||properties.index!=index)&&index>-1)
-{privateMethods.setValueByIndex(object,index,false);}
-return(options.images[properties.index]);},setValueByIndex:function(object,value,trigger)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||properties.index!=value)&&value>-1&&value<options.images.length)
-{objects.list.children('.ui-icon-selector-selected-icon').removeClass('ui-icon-selector-selected-icon');objects.list.children('[indexValue="'+value+'"]').addClass('ui-icon-selector-selected-icon');properties.index=value;objects.container.css('background-image','url('+options.images[properties.index]+')');if(trigger&&options.change)object.trigger('iconSelectorChange',[properties.index]);}
-return(options.images[properties.index]);},displaySelector:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(properties.selectorVisible!=value)
-{properties.selectorVisible=value;if(properties.selectorVisible)
-{objects.listContainer.css('display','block').scrollTop(objects.listContainer.scrollTop()+objects.list.children('[indexValue="'+properties.index+'"]').position().top);privateMethods.updateListArea(object);}
-else
-{objects.listContainer.css('display','none');}
-if(options.popup)object.trigger('iconSelectorPopup',[properties.selectorVisible]);}
-return(properties.selectorVisible);},setEventPopup:function(object,value)
-{var options=object.data('options');options.popup=value;object.unbind('iconSelectorPopup');if(value)object.bind('iconSelectorPopup',options.popup);return(options.popup);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('iconSelectorChange');if(value)object.bind('iconSelectorChange',options.change);return(options.change);}};$.fn.iconSelector=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.iconSelector');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputCheckbox.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputCheckbox.min.js	(revision 15339)
+++ 	(revision )
@@ -1,115 +1,0 @@
-/* file: ui.inputCheckbox.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={values:{forced:false,checked:'yes',unchecked:'no'},returnMode:'selected',change:null};$this.data('options',options).addClass('ui-inputCheckbox');if(!properties)
-{$this.data('properties',{initialized:false,isValid:true,checkboxList:null,isCB:true});properties=$this.data('properties');}
-if($this.get(0).tagName=='INPUT'&&$this.get(0).type=='checkbox')
-{properties.checkboxList=$this;}
-else
-{properties.checkboxList=$this.find('input[type=checkbox]');properties.isCB=false;}
-properties.checkboxList.bind('click.inputCheckbox',function(event)
-{privateMethods.setValue($this,$(this).attr('id'),$(this).attr('checked')?options.values.checked:options.values.unchecked,false);});privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var properties=this.data('properties');properties.checkboxList.unbind('.inputCheckbox');this.removeClass('ui-inputCheckbox');});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},disabled:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisabled($(this),value);}));}
-else
-{return(privateMethods.getDisabled($(this)));}},values:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setValues($(this),value);}));}
-else
-{var options=this.data('options');return(options.values);}},value:function(id,value)
-{var properties=this.data('properties');if(properties.isCB)
-{value=id;id=$(this).get(0).id;}
-if(value!=null||id==':all'||id==':invert'||id==':none')
-{return(this.each(function()
-{privateMethods.setValue($(this),id,value,true);}));}
-else if(id!=null&&id!='')
-{var options=this.data('options');return($(this).find('#'+id).attr('checked')?options.values.checked:options.values.unchecked);}
-else
-{var options=this.data('options'),returned=[];if(options.values.forced)
-{$(this).find('input').each(function()
-{returned.push({id:$(this).attr('id'),value:$(this).attr('checked')?options.values.checked:options.values.unchecked});});}
-else
-{var filter=(options.returnMode=='selected'?':checked':':not(:checked)');$(this).find('input'+filter).each(function()
-{returned.push($(this).attr('value'));});}
-return(returned);}},returnMode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setReturnMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.returnMode);}
-else
-{return('selected');}}},isValid:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setIsValid($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setReturnMode(object,(value.returnMode!=null)?value.returnMode:options.returnMode);privateMethods.setValues(object,(value.values!=null)?value.values:options.values);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setIsValid:function(object,value)
-{var properties=object.data('properties');if(properties.isValid!=value&&properties.initialized)
-{properties.isValid=value;if(properties.isValid)
-{if(properties.isCB)
-{object.parent().removeClass('ui-inputCheckbox ui-error');}
-else
-{object.removeClass('ui-error');}}
-else
-{if(properties.isCB)
-{object.parent().addClass('ui-inputCheckbox ui-error');}
-else
-{object.addClass('ui-error');}}}
-return(properties.isValid);},setReturnMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.returnMode!=value)&&(value=='selected'||value=='notSelected'))
-{options.returnMode=value;}
-return(options.returnMode);},setValues:function(object,value)
-{var options=object.data('options');if(value.forced!=null)options.values.forced=value.forced;if(value.checked!=null)options.values.checked=value.checked;if(value.unchecked!=null)options.values.unchecked=value.unchecked;return(options.values);},setValue:function(object,id,value,apply)
-{var options=object.data('options'),properties=object.data('properties');if(apply)
-{if(id==':all'||id==':none'||id==':invert')
-{switch(id)
-{case':all':properties.checkboxList.attr('checked',true);break;case':none':properties.checkboxList.attr('checked',false);break;case':invert':properties.checkboxList.each(function()
-{$(this).attr('checked',!$(this).attr('checked'));});break;}}
-else if($.isArray(value)&&!properties.isCB)
-{properties.checkboxList.attr('checked',false);for(var i=0;i<value.length;i++)
-{if(value[i].id!=null&&value[i].value!=null)
-{if($('#'+value[i].id).attr('value')==value[i].value)$('#'+value[i].id).attr('checked',true);}
-else
-{properties.checkboxList.filter('[value='+value[i]+']').attr('checked',true);}}}
-else
-{if(options.values.checked==value)
-{if(properties.isCB)
-{properties.checkboxList.attr('checked',true);}
-else
-{if(id=='')
-{properties.checkboxList.attr('checked',true);}
-else
-{properties.checkboxList.filter('#'+id).attr('checked',true);}}}
-else
-{if(properties.isCB)
-{properties.checkboxList.attr('checked',false);}
-else
-{if(id=='')
-{properties.checkboxList.attr('checked',false);}
-else
-{properties.checkboxList.filter('#'+id).attr('checked',false);}}}}}
-if(options.change)object.trigger('inputCheckboxChange',{id:id,state:value});return(true);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputCheckboxChange');if(value)object.bind('inputCheckboxChange',options.change);return(options.change);}};$.fn.inputCheckbox=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputCheckbox');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputColorPicker.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputColorPicker.min.js	(revision 15339)
+++ 	(revision )
@@ -1,184 +1,0 @@
-/* file: ui.inputColorPicker.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={colors:{fg:{color:'#ffffff',opacity:1},bg:{color:'#000000',opacity:1}},alpha:true,texts:{r:'R',g:'G',b:'B',a:'A',color:'#',h:'H',s:'S',v:'V'},mode:2,selected:'fg',change:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,refreshing:false});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputColorPicker'}),dotAreaSV:$('<div/>',{'class':'ui-inputColorPicker-dotAreaSV'}),dotAreaH:$('<div/>',{'class':'ui-inputColorPicker-dotAreaH'}),inputContainer:$('<table>',{'class':'ui-inputColorPicker-inputContainer'}),inputCRL:$('<td/>',{'class':'label'}),inputCRI:$('<td/>',{'class':'input'}),inputCGL:$('<td/>',{'class':'label'}),inputCGI:$('<td/>',{'class':'input'}),inputCBL:$('<td/>',{'class':'label'}),inputCBI:$('<td/>',{'class':'input'}),inputCHL:$('<td/>',{'class':'label'}),inputCHI:$('<td/>',{'class':'input'}),inputCSL:$('<td/>',{'class':'label'}),inputCSI:$('<td/>',{'class':'input'}),inputCVL:$('<td/>',{'class':'label'}),inputCVI:$('<td/>',{'class':'input'}),inputCAL:$('<td/>',{'class':'label'}),inputCAI:$('<td/>',{'class':'input'}),inputCcolorL:$('<td/>',{'class':'label'}),inputCcolorI:$('<td/>',{'class':'input'}),inputCFB:$('<td/>',{colspan:2,rowspan:2})};$this.html('').append(objects.container.append(objects.dotAreaSV).append(objects.dotAreaH).append(objects.inputContainer.append($('<tr/>').append(objects.inputCRL).append(objects.inputCRI).append(objects.inputCHL).append(objects.inputCHI)).append($('<tr/>').append(objects.inputCGL).append(objects.inputCGI).append(objects.inputCSL).append(objects.inputCSI)).append($('<tr/>').append(objects.inputCBL).append(objects.inputCBI).append(objects.inputCVL).append(objects.inputCVI)).append($('<tr/>').append(objects.inputCAL).append(objects.inputCAI).append(objects.inputCFB)).append($('<tr/>').append(objects.inputCcolorL).append(objects.inputCcolorI))));objects.dotAreaSV.inputDotArea({range:{x:[0,100],y:[0,100]},width:132,height:132,change:function(event,value)
-{privateMethods.computeCurrentColor($this,'dotAreaSV');}});objects.dotAreaH.inputDotArea({range:{x:false,y:[0,359]},width:20,height:132,change:function(event,value)
-{privateMethods.computeCurrentColor($this,'dotAreaH');}});objects.inputCRI.inputNum({minValue:0,maxValue:255,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'rgbR');}});objects.inputCGI.inputNum({minValue:0,maxValue:255,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'rgbG');}});objects.inputCBI.inputNum({minValue:0,maxValue:255,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'rgbB');}});objects.inputCAI.inputNum({minValue:0,maxValue:100,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'alpha');}});objects.inputCHI.inputNum({minValue:0,maxValue:359,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'hsvH');}});objects.inputCSI.inputNum({minValue:0,maxValue:100,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'hsvS');}});objects.inputCVI.inputNum({minValue:0,maxValue:100,stepValue:1,numDec:0,unitValue:'',btInc:'+',btDec:'-',value:0,showSlider:'auto',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'hsvV');}});objects.inputCcolorI.inputText({value:'',displayChar:6,maxChar:6,regExp:'/^(?:[a-f0-9]{2}){3}$/i',change:function(event,value)
-{privateMethods.computeCurrentColor($this,'color');}});objects.inputCFB.inputColorsFB({width:40,height:40,change:function(event,value)
-{privateMethods.computeCurrentColor($this,'fb');}});$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.dotAreaSV.remove();objects.dotAreaH.remove();objects.inputCRL.remove();objects.inputCRI.remove();objects.inputCHL.remove();objects.inputCHI.remove();objects.inputCGL.remove();objects.inputCGI.remove();objects.inputCSL.remove();objects.inputCSI.remove();objects.inputCBL.remove();objects.inputCBI.remove();objects.inputCVL.remove();objects.inputCVI.remove();objects.inputCAL.remove();objects.inputCAI.remove();objects.inputCFB.remove();objects.inputCcolorL.remove();objects.inputCcolorI.remove();objects.inputContainer.remove();objects.container.remove();});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},colors:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setColors($(this),value);}));}
-else
-{var options=this.data('options');return(options.colors);}},texts:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setTexts($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.texts);}},alpha:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setAlpha($(this),value);}));}
-else
-{var options=this.data('options');return(options.alpha);}},selected:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setSelected($(this),value);}));}
-else
-{var options=this.data('options');return(options.selected);}},mode:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setMode($(this),value);}));}
-else
-{var options=this.data('options');return(options.mode);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setMode(object,(value.mode!=null)?value.mode:options.mode);privateMethods.setSelected(object,(value.selected!=null)?value.selected:options.selected);privateMethods.setColors(object,(value.colors!=null)?value.colors:options.colors);privateMethods.setAlpha(object,(value.alpha!=null)?value.alpha:options.alpha);privateMethods.setTexts(object,(value.texts!=null)?value.texts:options.texts);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setAlpha:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if((!properties.initialized||options.alpha!=value)&&(value==true||value==false))
-{options.alpha=value;if(options.alpha)
-{objects.inputCAI.css('visibility','visible');objects.inputCAL.css('visibility','visible');}
-else
-{objects.inputCAI.css('visibility','hidden');objects.inputCAL.css('visibility','hidden');}}
-return(options.alpha);},setMode:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if((!properties.initialized||options.mode!=value)&&(value==1||value==2))
-{options.mode=value;objects.inputCFB.inputColorsFB('mode',options.mode);}
-return(options.mode);},setSelected:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if((!properties.initialized||options.selected!=value)&&(value=='fg'||value=='bg'))
-{options.selected=value;objects.inputCFB.inputColorsFB('selected',options.selected);}
-return(options.selected);},setTexts:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if(value.r!=null)
-{options.texts.r=value.r;objects.inputCRL.html(options.texts.r);}
-if(value.g!=null)
-{options.texts.g=value.g;objects.inputCGL.html(options.texts.g);}
-if(value.b!=null)
-{options.texts.b=value.b;objects.inputCBL.html(options.texts.b);}
-if(value.h!=null)
-{options.texts.h=value.h;objects.inputCHL.html(options.texts.h);}
-if(value.s!=null)
-{options.texts.s=value.s;objects.inputCSL.html(options.texts.s);}
-if(value.v!=null)
-{options.texts.v=value.v;objects.inputCVL.html(options.texts.v);}
-if(value.a!=null)
-{options.texts.a=value.a;objects.inputCAL.html(options.texts.a);}
-if(value.color!=null)
-{options.texts.color=value.color;objects.inputCcolorL.html(options.texts.color);}
-return(options.texts);},setColor:function(object,color,opacity,target,from)
-{var objects=object.data('objects'),properties=object.data('properties'),options=object.data('options'),rgbColor={r:0,g:0,b:0},hsvColor={h:0,s:0,v:0},svColorHue=0;if(properties.refreshing||!(target=='fg'||target=='bg'))return(false);properties.refreshing=true;rgbColor=privateMethods.strToRGB(color);hsvColor=privateMethods.RGBtoHSV(rgbColor);if(from=='hsvH')hsvColor.h=objects.inputCHI.inputNum('value');if(from=='hsvS')hsvColor.s=objects.inputCSI.inputNum('value');if(from=='hsvV')hsvColor.v=objects.inputCVI.inputNum('value');if(from=='dotAreaSV')
-{sv=objects.dotAreaSV.inputDotArea('values');hsvColor.s=100-Math.round(sv.y);hsvColor.v=Math.round(sv.x);}
-if(from=='dotAreaH')hsvColor.h=360-Math.round(objects.dotAreaH.inputDotArea('values').y);svColorHue=hsvColor.h;if(from==''||from=='fb')objects.inputCAI.inputNum('value',opacity);if(from!='hsvH'&&from!='dotAreaSV'&&from!='alpha')objects.dotAreaSV.inputDotArea('values',{x:hsvColor.v,y:100-hsvColor.s});if(from!='dotAreaH'&&from!='alpha'&&from!='hsvS'&&from!='hsvV'&&color!='#000000')objects.dotAreaH.inputDotArea('values',{y:360-hsvColor.h});if(from!='rgbR'&&from!='rgbG'&&from!='rgbB'&&from!='alpha')
-{objects.inputCRI.inputNum('value',rgbColor.r);objects.inputCGI.inputNum('value',rgbColor.g);objects.inputCBI.inputNum('value',rgbColor.b);}
-if(from!='hsvH'&&from!='hsvS'&&from!='hsvV'&&from!='alpha')
-{if(color!='#000000')
-{objects.inputCHI.inputNum('value',hsvColor.h);}
-else
-{svColorHue=objects.inputCHI.inputNum('value');}
-objects.inputCSI.inputNum('value',hsvColor.s);objects.inputCVI.inputNum('value',hsvColor.v);}
-if(from!='color'&&from!='alpha')objects.inputCcolorI.inputText('value',color.substr(1));if(from!='alpha')objects.dotAreaSV.find('div.ui-inputDotArea').css('background-color',privateMethods.RGBToStr(privateMethods.HSVtoRGB({h:svColorHue,s:100,v:100})));if(from!='fb')objects.inputCFB.inputColorsFB(target,{color:color,opacity:opacity/100});if(from!='')
-{if(target=='fg')
-{options.colors.fg.color=color;options.colors.fg.opacity=opacity/100;}
-else
-{options.colors.bg.color=color;options.colors.bg.opacity=opacity/100;}}
-properties.refreshing=false;if(options.change)object.trigger('inputColorPickerChange',{target:target,color:{color:color,opacity:opacity/100}});},setColors:function(object,value)
-{var objects=object.data('objects'),options=object.data('options');if(value.fg!=null)
-{if(value.fg.color!=null)options.colors.fg.color=value.fg.color;if(value.fg.opacity!=null)options.colors.fg.opacity=value.fg.opacity;if(objects.inputCFB.inputColorsFB('selected')=='fg')
-{privateMethods.setColor(object,options.colors.fg.color,Math.round(options.colors.fg.opacity*100),'fg','');}
-else
-{objects.inputCFB.inputColorsFB('fg',options.colors.fg);}}
-if(value.bg!=null)
-{if(value.bg.color!=null)options.colors.bg.color=value.bg.color;if(value.bg.opacity!=null)options.colors.bg.opacity=value.bg.opacity;if(objects.inputCFB.inputColorsFB('selected')=='bg')
-{privateMethods.setColor(object,options.colors.bg.color,Math.round(options.colors.bg.opacity*100),'bg','');}
-else
-{objects.inputCFB.inputColorsFB('bg',options.colors.bg);}}
-return(options.colors);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputColorPickerChange');if(value)object.bind('inputColorPickerChange',options.change);return(options.change);},computeCurrentColor:function(object,from)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties'),colors={},target=objects.inputCFB.inputColorsFB('selected');if(properties.refreshing)return(false);switch(from)
-{case'dotAreaSV':case'dotAreaH':var sv=objects.dotAreaSV.inputDotArea('values');colors.color=privateMethods.RGBToStr(privateMethods.HSVtoRGB({h:360-objects.dotAreaH.inputDotArea('values').y,s:100-sv.y,v:sv.x}));if(target=='fg')
-{colors.opacity=Math.round(options.colors.fg.opacity*100);}
-else
-{colors.opacity=Math.round(options.colors.bg.opacity*100);}
-break;case'hsvH':case'hsvS':case'hsvV':colors.color=privateMethods.RGBToStr(privateMethods.HSVtoRGB({h:objects.inputCHI.inputNum('value'),s:objects.inputCSI.inputNum('value'),v:objects.inputCVI.inputNum('value')}));if(target=='fg')
-{colors.opacity=Math.round(options.colors.fg.opacity*100);}
-else
-{colors.opacity=Math.round(options.colors.bg.opacity*100);}
-break;case'rgbR':case'rgbG':case'rgbB':colors.color=privateMethods.RGBToStr({r:objects.inputCRI.inputNum('value'),g:objects.inputCGI.inputNum('value'),b:objects.inputCBI.inputNum('value')});if(target=='fg')
-{colors.opacity=Math.round(options.colors.fg.opacity*100);}
-else
-{colors.opacity=Math.round(options.colors.bg.opacity*100);}
-break;case'alpha':if(target=='fg')
-{colors.color=options.colors.fg.color;}
-else
-{colors.color=options.colors.bg.color;}
-colors.opacity=objects.inputCAI.inputNum('value');break;case'fb':if(target=='fg')
-{colors.color=options.colors.fg.color;colors.opacity=Math.round(options.colors.fg.opacity*100);}
-else
-{colors.color=options.colors.bg.color;colors.opacity=Math.round(options.colors.bg.opacity*100);}
-break;case'color':colors.color='#'+objects.inputCcolorI.inputText('value');if(target=='fg')
-{colors.opacity=Math.round(options.colors.fg.opacity*100);}
-else
-{colors.opacity=Math.round(options.colors.bg.opacity*100);}
-break;}
-privateMethods.setColor(object,colors.color,colors.opacity,target,from);},RGBToStr:function(color)
-{var r=color.r.toString(16),g=color.g.toString(16),b=color.b.toString(16);if(r.length<2)r='0'+r;if(g.length<2)g='0'+g;if(b.length<2)b='0'+b;return('#'+r+g+b);},strToRGB:function(color)
-{var returned={r:0,g:0,b:0},re1=/^rgb\((\d){1,3},(\d){1,3},(\d){1,3}\)$/i,re2=/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,colors=re1.exec(color);if(colors!=null)
-{returned.r=parseInt(colors[1]);returned.g=parseInt(colors[2]);returned.b=parseInt(colors[3]);}
-else
-{colors=re2.exec(color);if(colors!=null)
-{returned.r=parseInt('0x'+colors[1]);returned.g=parseInt('0x'+colors[2]);returned.b=parseInt('0x'+colors[3]);}}
-return(returned);},RGBtoHSV:function(color)
-{var returned={h:0,s:0,v:0},color={r:color.r/255,g:color.g/255,b:color.b/255},max=Math.max(color.r,color.g,color.b),min=Math.min(color.r,color.g,color.b);if(max==min)
-{returned.h=0;}
-else if(max==color.r)
-{returned.h=Math.round((60*(color.g-color.b)/(max-min)+360)%360);}
-else if(max==color.g)
-{returned.h=Math.round((60*(color.b-color.r)/(max-min)+120));}
-else if(max==color.b)
-{returned.h=Math.round((60*(color.r-color.g)/(max-min)+240));}
-returned.s=Math.round(100*(max==0?0:1-min/max));returned.v=Math.round(100*max);return(returned);},HSVtoRGB:function(color)
-{var h=Math.floor(Math.abs(color.h/60))%6,f=color.h/60-h,l=Math.round(2.55*color.v*(1-color.s/100)),m=Math.round(2.55*color.v*(1-f*color.s/100)),n=Math.round(2.55*color.v*(1-(1-f)*color.s/100)),v=Math.round(2.55*color.v);switch(h)
-{case 0:return({r:v,g:n,b:l});break;case 1:return({r:m,g:v,b:l});break;case 2:return({r:l,g:v,b:n});break;case 3:return({r:l,g:m,b:v});break;case 4:return({r:n,g:l,b:v});break;case 5:return({r:v,g:l,b:m});break;}
-return({r:0,g:0,b:0});}};$.fn.inputColorPicker=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputColorPicker');}}})(jQuery);$.inputDialogColor=function(opt)
-{var options={modal:true,mode:2,alpha:true,colors:{fg:{color:'#ffffff',opacity:1},bg:{color:'#000000',opacity:1}},title:'Colors selector',texts:null,buttons:{ok:'Ok',cancel:'Cancel'},selected:'fg',change:null},objects={dialogBox:$('<div/>'),colorPicker:$('<div/>',{'class':'dialogColor'})},setOptions=function(opt)
-{if(opt.modal==true||opt.modal==false)options.modal=opt.modal;if(opt.mode==1||opt.mode==2)options.mode=opt.mode;if(opt.alpha==true||opt.alpha==false)options.alpha=opt.alpha;if(opt.colors!=null)options.colors=opt.colors;options.texts=opt.texts;if(opt.selected=='fg'||opt.selected=='bg')options.selected=opt.selected;if(opt.title)options.title=opt.title;if(opt.buttons&&opt.buttons.ok)options.buttons.ok=opt.buttons.ok;if(opt.buttons&&opt.buttons.cancel)options.buttons.cancel=opt.buttons.cancel;if(opt.change&&$.isFunction(opt.change))options.change=opt.change;},initDialog=function()
-{var dialogOpt={buttons:{},width:354,closeText:'x',dialogClass:'ui-inputDialogColor',modal:options.modal,resizable:false,title:options.title,open:null,close:function()
-{objects.colorPicker.inputColorPicker('destroy').remove();$(this).dialog('destroy');}};if(options.modal)
-{dialogOpt.buttons={'ok':function(event)
-{if(options.change)
-{if(options.mode==1)
-{options.change(event,objects.colorPicker.inputColorPicker('colors').fg);}
-else
-{options.change(event,objects.colorPicker.inputColorPicker('colors'));}}
-$(this).dialog('close');},'cancel':function(event)
-{$(this).dialog('close');}};dialogOpt.open=function()
-{objects.colorPicker.inputColorPicker({mode:options.mode,alpha:options.alpha,texts:options.texts,colors:options.colors,selected:options.selected});};}
-else
-{dialogOpt.open=function()
-{objects.colorPicker.inputColorPicker({mode:options.mode,alpha:options.alpha,texts:options.texts,colors:options.colors,change:options.change,selected:options.selected});};}
-objects.dialogBox.append(objects.colorPicker).dialog(dialogOpt);};setOptions(opt);initDialog();}
Index: tensions/GrumPluginClasses/js/ui.inputColorsFB.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputColorsFB.min.js	(revision 15339)
+++ 	(revision )
@@ -1,127 +1,0 @@
-/* file: ui.inputColorsFB.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={width:0,height:0,disabled:false,fg:{color:'#ffffff',opacity:1},bg:{color:'#000000',opacity:1},selected:'fg',mode:2,boxSize:0.6,change:null,click:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputColorsFB',css:{width:'100%',height:'100%'}}),fg:$('<div/>',{'class':'ui-inputColorsFB-fg'}).bind('click.inputColorsFB',function(event)
-{if(options.mode==2)privateMethods.setSelected($this,'fg');if(options.click)$this.trigger('inputColorsFBClick',{target:'fg',color:options.fg});}),bg:$('<div/>',{'class':'ui-inputColorsFB-bg'}).bind('click.inputColorsFB',function(event)
-{if(options.mode==2)privateMethods.setSelected($this,'bg');if(options.click)$this.trigger('inputColorsFBClick',{target:'bg',color:options.bg});}),fgopacity:$('<div/>',{'class':'ui-inputColorsFB-fgopacity'}),bgopacity:$('<div/>',{'class':'ui-inputColorsFB-bgopacity'})};$this.html('').append(objects.container.append(objects.fgopacity.append(objects.fg)).append(objects.bgopacity.append(objects.bg)));$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.dot.remove();objects.container.unbind().remove();$this.unbind('.inputColorsFB').css({width:'',height:''});});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},disabled:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisabled($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.disabled);}
-else
-{return('');}}},mode:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setMode($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.mode);}},boxSize:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setBoxSize($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.boxSize);}},width:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setWidth($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.width);}},height:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setHeight($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.height);}},fg:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setFG($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.fg);}},bg:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setBG($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.bg);}},selected:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setSelected($(this),value);}));}
-else
-{var options=this.data('options');return(options.selected);}},isValid:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setIsValid($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}},click:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventClick($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.click);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setMode(object,(value.mode!=null)?value.mode:options.mode);privateMethods.setBoxSize(object,(value.boxSize!=null)?value.boxSize:options.boxSize);privateMethods.setWidth(object,(value.width!=null)?value.width:options.width);privateMethods.setHeight(object,(value.height!=null)?value.height:options.height);privateMethods.setFG(object,(value.fg!=null)?value.fg:options.fg);privateMethods.setBG(object,(value.bg!=null)?value.bg:options.bg);privateMethods.setSelected(object,(value.selected!=null)?value.selected:options.selected,true);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.setEventClick(object,(value.click!=null)?value.click:options.click);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');return(properties.isValid);},setMode:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.mode!=value)&&(value==1||value==2))
-{options.mode=value;privateMethods.setSelected(object,'fg');if(options.mode==1)
-{objects.bg.css('display','none');objects.bgopacity.css('display','none');objects.fgopacity.removeClass('ui-inputColorsFB-selected');if(options.click==null)objects.fgopacity.removeClass('ui-inputColorsFB-clickable');}
-else
-{objects.bg.css('display','block');objects.bgopacity.css('display','block').addClass('ui-inputColorsFB-clickable');objects.fgopacity.addClass('ui-inputColorsFB-clickable');}
-privateMethods.updateSizes(object);}
-return(options.mode);},setBoxSize:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.boxSize!=value)&&(value>0&&value<=1))
-{options.boxSize=value;privateMethods.updateSizes(object);}
-return(options.boxSize);},setWidth:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.width!=value)&&value>0)
-{options.width=value;privateMethods.updateSizes(object);}
-return(options.width);},setHeight:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.height!=value)&&value>0)
-{options.height=value;privateMethods.updateSizes(object);}
-return(options.height);},setDisabled:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
-{options.disabled=value;objects.input.attr('disabled',options.disabled);}
-return(options.disabled);},setSelected:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.selected!=value)&&(value=='fg'||value=='bg')&&options.mode==2)
-{options.selected=value;if(options.selected=='fg')
-{objects.fgopacity.addClass('ui-inputColorsFB-selected');objects.bgopacity.removeClass('ui-inputColorsFB-selected');}
-else
-{objects.fgopacity.removeClass('ui-inputColorsFB-selected');objects.bgopacity.addClass('ui-inputColorsFB-selected');}
-if(options.change)object.trigger('inputColorsFBChange',options.selected);}
-return(options.selected);},setFG:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if(value.color==null||value.opacity==null)
-{return(false);}
-options.fg.color=value.color;options.fg.opacity=value.opacity;objects.fg.css({'background':options.fg.color,'opacity':options.fg.opacity});return(true);},setBG:function(object,value,apply)
-{var options=object.data('options'),objects=object.data('objects');if(value.color==null||value.opacity==null)
-{return(false);}
-options.bg.color=value.color;options.bg.opacity=value.opacity;objects.bg.css({'background':options.bg.color,'opacity':options.bg.opacity});return(true);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputColorsFBChange');if(value)object.bind('inputColorsFBChange',options.change);return(options.change);},setEventClick:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');options.click=value;object.unbind('inputColorsFBClick');if(value)
-{object.bind('inputColorsFBClick',options.click);objects.fgopacity.addClass('ui-inputColorsFB-clickable');}
-else if(options.mode==1)
-{objects.fgopacity.removeClass('ui-inputColorsFB-clickable');}
-return(options.click);},updateSizes:function(object)
-{var options=object.data('options'),objects=object.data('objects'),tmpSize=1;if(options.mode==2)tmpSize=options.boxSize;objects.container.css({'width':options.width+'px','height':options.height+'px'});objects.fgopacity.css({'width':(options.width*tmpSize)+'px','height':(options.height*tmpSize)+'px'});if(options.mode==2)
-{objects.bgopacity.css({'width':(options.width*options.boxSize)+'px','height':(options.height*options.boxSize)+'px','margin-left':(options.width*(1-options.boxSize))+'px','margin-top':(options.height*(1-options.boxSize))+'px'});}}};$.fn.inputColorsFB=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputColorsFB');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputConsole.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputConsole.min.js	(revision 15339)
+++ 	(revision )
@@ -1,2 +1,0 @@
-/* file: ui.inputConsole.js - v1.0.1 | minified on 2011/09/21 with http://jscompress.com/ */
-(function(a){var b={init:function(b){return this.each(function(){var d=a(this),e=d.data("options"),f=d.data("objects"),g=d.data("properties"),h={disabled:false,prompt:">",historySize:8,historyHeight:60,change:null,submit:null,submited:null,focusChanged:null};d.data("options",h);if(!g){d.data("properties",{initialized:false,value:"",isValid:true,mouseIsOver:false,historyIsVisible:false,inputMargins:0,focus:false});g=d.data("properties")}if(!f){f={container:a("<div/>",{"class":"ui-inputConsole",css:{width:"100%"}}).bind("click.inputConsole",function(){f.input.focus()}).bind("mouseenter",function(){g.mouseIsOver=true}).bind("mouseleave",function(){g.mouseIsOver=false}),inputContainer:a("<div/>",{"class":"ui-inputConsole-input"}),input:a("<input>",{type:"text",value:""}).bind("focusout.inputConsole",function(){c.lostFocus(d)}).bind("focus.inputConsole",function(){c.getFocus(d)}).bind("keyup.inputConsole",function(a){c.keyUp(d,a)}),prompt:a("<div/>",{html:h.prompt,"class":"ui-inputConsole-prompt"}),historyContainer:a("<div/>",{"class":"ui-inputConsole-history",css:{display:"none"}}),historyBackground:a("<div/>",{"class":"ui-inputConsole-historyBg"}),historyListContainer:a("<div/>",{"class":"ui-inputConsole-historyListContainer"}),historyList:a("<ul/>")};d.html("").append(f.container.append(f.historyContainer.append(f.historyBackground).append(f.historyListContainer.append(f.historyList))).append(f.inputContainer.append(f.prompt).append(f.input))).bind("resize.inputConsole",function(){c.setObjectsWidth(d)});g.inputMargins=f.input.outerWidth(true)-f.input.width();d.data("objects",f)}c.setOptions(d,b)})},destroy:function(){return this.each(function(){var b=a(this),c=b.data("objects");c.input.unbind().remove();c.container.unbind().remove();b.unbind(".inputConsole").css({width:"",height:""})})},options:function(b){return this.each(function(){c.setOptions(a(this),b)})},disabled:function(b){if(b!=null){return this.each(function(){c.setDisabled(a(this),b)})}else{var d=this.data("options");if(d){return d.disabled}else{return""}}},prompt:function(b){if(b!=null){return this.each(function(){c.setPrompt(a(this),b)})}else{var d=this.data("options");if(d){return d.prompt}else{return""}}},historySize:function(b){if(b!=null){return this.each(function(){c.setHistorySize(a(this),b)})}else{var d=this.data("options");if(d){return d.historySize}else{return""}}},historyHeight:function(b){if(b!=null){return this.each(function(){c.setHistoryHeight(a(this),b)})}else{var d=this.data("options");if(d){return d.historyHeight}else{return""}}},value:function(b){if(b!=null){return this.each(function(){c.setValue(a(this),b,true)})}else{var d=this.data("properties");return d.value}},history:function(b,d){var e=this.data("objects");if(b!=null){return this.each(function(){switch(b){case"clear":e.historyList.html("");break;case"addResult":c.updateHistoryResult(a(this),d);break}})}else{var f=[];e.historyList.children().each(function(b,c){f.push(a(c).text())});return f}},isValid:function(b){if(b!=null){return this.each(function(){c.setIsValid(a(this),b)})}else{var d=this.data("properties");return d.isValid}},focus:function(b){if(b!=null){return this.each(function(){c.setFocus(a(this),b)})}else{var d=this.data("properties");return d.focus}},change:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventChange(a(this),b)})}else{var d=this.data("options");if(d){return d.change}else{return null}}},submit:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventSubmit(a(this),b)})}else{var d=this.data("options");if(d){return d.submit}else{return null}}},submited:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventSubmited(a(this),b)})}else{var d=this.data("options");if(d){return d.submited}else{return null}}},focusChanged:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventFocusChanged(a(this),b)})}else{var d=this.data("options");if(d){return d.focusChanged}else{return null}}}};var c={setOptions:function(b,d){var e=b.data("properties"),f=b.data("options");if(!a.isPlainObject(d))return false;e.initialized=false;c.setHistoryHeight(b,d.historyHeight!=null?d.historyHeight:f.historyHeight);c.setHistorySize(b,d.historySize!=null?d.historySize:f.historySize);c.setPrompt(b,d.prompt!=null?d.prompt:f.prompt);c.setValue(b,d.value!=null?d.value:f.value,true);c.setDisabled(b,d.disabled!=null?d.disabled:f.disabled);c.setEventChange(b,d.change!=null?d.change:f.change);c.setEventSubmit(b,d.submit!=null?d.submit:f.submit);c.setEventSubmited(b,d.submited!=null?d.submited:f.submited);c.setEventFocusChanged(b,d.focusChanged!=null?d.focusChanged:f.focusChanged);e.initialized=true},setPrompt:function(a,b){var d=a.data("objects"),e=a.data("options"),f=a.data("properties");if(!f.initialized||e.prompt!=b){e.prompt=b;d.prompt.html(e.prompt);c.setObjectsWidth(a)}return e.prompt},setHistorySize:function(a,b){var d=a.data("options"),e=a.data("properties");if(!e.initialized||d.historySize!=b){d.historySize=b;c.updateHistory(a,null)}return d.historySize},setHistoryHeight:function(a,b){var c=a.data("objects"),d=a.data("options"),e=a.data("properties");if(!e.initialized||d.historyHeight!=b){d.historyHeight=b;c.historyContainer.css({height:d.historyHeight+"px","margin-top":-d.historyHeight+"px"})}return d.historyHeight},setIsValid:function(a,b){var c=a.data("objects"),d=a.data("properties");if(d.isValid!=b){d.isValid=b;if(d.isValid){c.container.removeClass("ui-error");c.input.removeClass("ui-error")}else{c.container.addClass("ui-error");c.input.addClass("ui-error")}}return d.isValid},setDisabled:function(a,b){var c=a.data("options"),d=a.data("properties");if((!d.initialized||c.disabled!=b)&&(b==true||b==false)){c.disabled=b}return c.disabled},setValue:function(a,b,c){var d=a.data("options"),e=a.data("properties"),f=a.data("objects");e.value=b;if(c)f.input.val(e.value);if(d.change)a.trigger("inputConsoleChange",e.value);return true},setFocus:function(a,b){var c=a.data("objects"),d=a.data("options"),e=a.data("properties");if(b===true||b===false){if(b){c.input.focus()}else{c.input.blur()}e.focus=b;if(d.focusChanged)a.trigger("inputConsoleFocusChanged",e.focus)}return e.focus},getFocus:function(a){var b=a.data("objects"),d=a.data("options"),e=a.data("properties");e.focus=true;b.historyContainer.css("display","block");c.setObjectsWidth(a);if(d.focusChanged)a.trigger("inputConsoleFocusChanged",e.focus)},lostFocus:function(a){var b=a.data("objects"),c=a.data("options"),d=a.data("properties");d.focus=false;b.historyContainer.css("display","none");if(c.focusChanged)a.trigger("inputConsoleFocusChanged",d.focus)},setEventChange:function(a,b){var c=a.data("options");c.change=b;a.unbind("inputConsoleChange");if(b)a.bind("inputConsoleChange",c.change);return c.change},setEventSubmit:function(a,b){var c=a.data("options");c.submit=b;a.unbind("inputConsoleSubmit");if(b)a.bind("inputConsoleSubmit",c.submit);return c.submit},setEventSubmited:function(a,b){var c=a.data("options");c.submited=b;a.unbind("inputConsoleSubmited");if(b)a.bind("inputConsoleSubmited",c.submited);return c.submited},setEventFocusChanged:function(a,b){var c=a.data("options");c.focusChanged=b;a.unbind("inputConsoleFocusChanged");if(b)a.bind("inputConsoleFocusChanged",c.focusChanged);return c.focusChanged},keyUp:function(a,b){var d=a.data("properties"),e=a.data("options"),f=a.data("objects");if(b.keyCode==13&&d.isValid){if(e.submit)a.trigger("inputConsoleSubmit",d.value);c.updateHistory(a,d.value);if(e.submited)a.trigger("inputConsoleSubmited",d.value);c.setValue(a,"",true)}else{c.setValue(a,f.input.val(),false)}},updateHistory:function(b,d){var e=b.data("options"),f=b.data("objects");if(d!=""&&d!=null)f.historyList.append(a("<li/>",{html:'<span class="ui-inputConsole-historyCmd">'+d+"</span>"}).bind("click",b,function(b){c.setValue(b.data,a(this).children(".ui-inputConsole-historyCmd").html(),true)}));while(f.historyList.children().length>e.historySize){f.historyList.children(":first").remove()}f.historyContainer.scrollTop(f.historyList.height())},updateHistoryResult:function(a,b){var c=a.data("options"),d=a.data("objects");if(b!=""&&b!=null){d.historyList.children(":last").html(d.historyList.children(":last").html()+"<span class='ui-inputConsole-historyResult'>"+b+"</span>")}d.historyListContainer.scrollTop(d.historyList.height())},setObjectsWidth:function(a){var b=a.data("objects");properties=a.data("properties");if(b.inputContainer.width()>0){b.input.css("width",b.inputContainer.innerWidth()-b.prompt.outerWidth(true)-properties.inputMargins+"px");b.historyContainer.css({width:b.inputContainer.innerWidth()+"px","margin-left":(b.historyContainer.width()-b.historyContainer.outerWidth())/2+"px"})}}};a.fn.inputConsole=function(c){if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.inputConsole")}}})(jQuery)
Index: tensions/GrumPluginClasses/js/ui.inputDotArea.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputDotArea.min.js	(revision 15339)
+++ 	(revision )
@@ -1,101 +1,0 @@
-/* file: ui.inputDotArea.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={range:{x:[0,100],y:[0,100]},width:0,height:0,disabled:false,change:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,values:{x:50,y:50},isValid:true,mouseIsDown:false});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputDotArea',css:{width:'100%',height:'100%'}}).bind('mousedown.inputDotArea',function(event)
-{privateMethods.mouseDown($this,event);}).bind('mouseup.inputDotArea',function(event)
-{privateMethods.mouseUp($this,event);}).bind('mousemove.inputDotArea',function(event)
-{privateMethods.mouseMove($this,event);}),dot:$('<div/>',{'class':'ui-inputDotArea-dot'})};$this.html('').append(objects.container.append(objects.dot));$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.dot.remove();objects.container.unbind().remove();$this.unbind('.inputDotArea').css({width:'',height:''});});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},disabled:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisabled($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.disabled);}
-else
-{return('');}}},width:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setWidth($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.width);}},height:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setHeight($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.height);}},range:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setRange($(this),value,true);}));}
-else
-{var options=this.data('options');return(options.range);}},values:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setValues($(this),value,true);}));}
-else
-{var properties=this.data('properties');return(properties.values);}},isValid:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setIsValid($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setWidth(object,(value.width!=null)?value.width:options.width);privateMethods.setHeight(object,(value.height!=null)?value.height:options.height);privateMethods.setRange(object,(value.range!=null)?value.range:options.range);privateMethods.setValues(object,(value.values!=null)?value.values:properties.values,true);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');return(properties.isValid);},setWidth:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.width!=value)&&value>0)
-{options.width=value;objects.container.css('width',options.width+'px');}
-return(options.width);},setHeight:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.height!=value)&&value>0)
-{options.height=value;objects.container.css('height',options.height+'px');}
-return(options.height);},setDisabled:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
-{options.disabled=value;objects.input.attr('disabled',options.disabled);}
-return(options.disabled);},setRange:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(value.x==false||($.isArray(value.x)&&value.x[0]<=value.x[1]))
-{options.range.x=value.x;}
-if(value.y==false||($.isArray(value.y)&&value.y[0]<=value.y[1]))
-{options.range.y=value.y;}
-return(options.range);},setValues:function(object,value,apply)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),tmp={x:'',y:''};if(!((value.x==null||(value.x!=null&&options.range.x[0]<=value.x&&value.x<=options.range.x[1]))&&(value.y==null||(value.y!=null&&options.range.y[0]<=value.y&&value.y<=options.range.y[1]))&&!(value.x==null&&value.y==null)))
-{return(false);}
-if(value.x!=null)properties.values.x=value.x;if(value.y!=null)properties.values.y=value.y;if(apply)
-{if(options.range.x==false)
-{tmp.x=options.width/2;}
-else
-{tmp.x=properties.values.x*options.width/(options.range.x[1]-options.range.x[0])+options.range.x[0];}
-tmp.x-=6;if(options.range.y==false)
-{tmp.y=options.height/2;}
-else
-{tmp.y=properties.values.y*options.height/(options.range.y[1]-options.range.y[0])+options.range.y[0];}
-tmp.y-=6;objects.dot.css({top:tmp.y+'px',left:tmp.x+'px'});}
-if(options.change)object.trigger('inputDotAreaChange',properties.values);return(true);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputDotAreaChange');if(value)object.bind('inputDotAreaChange',options.change);return(options.change);},mouseDown:function(object,event)
-{var properties=object.data('properties');properties.mouseIsDown=true;privateMethods.mouseMove(object,event);},mouseUp:function(object,event)
-{var properties=object.data('properties');properties.mouseIsDown=false;},mouseMove:function(object,event)
-{var properties=object.data('properties'),objects=object.data('objects'),options=object.data('options'),values={};if(properties.mouseIsDown)
-{event.layerX=event.pageX-objects.container.offset().left;event.layerY=event.pageY-objects.container.offset().top;if(options.range.x!=false)
-{values.x=options.range.x[0]+event.layerX*(options.range.x[1]-options.range.x[0])/options.width;}
-if(options.range.y!=false)
-{values.y=options.range.y[0]+event.layerY*(options.range.y[1]-options.range.y[0])/options.height;}
-privateMethods.setValues(object,values,true);}}};$.fn.inputDotArea=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputDotArea');}}})(jQuery);
Index: /extensions/GrumPluginClasses/js/ui.inputList.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputList.js	(revision 15339)
+++ /extensions/GrumPluginClasses/js/ui.inputList.js	(revision 15340)
@@ -2,6 +2,6 @@
  * -----------------------------------------------------------------------------
  * file: ui.inputList.js
- * file version: 1.0.0
- * date: 2010-11-02
+ * file version: 1.0.1
+ * date: 2012-05-25
  *
  * A jQuery plugin provided by the piwigo's plugin "GrumPluginClasses"
@@ -24,5 +24,6 @@
  * | 1.0.0   | 2010/10/10 | first release
  * |         |            |
- * |         |            |
+ * | 1.0.1   | 2012/05/25 | fix bug with jquery 1.7.2
+ * |         |            |  . display list now works :)
  * |         |            |
  * |         |            |
@@ -107,5 +108,5 @@
                         {
                           privateMethods.displaySelector($this, !$this.data('properties').selectorVisible);
-                          $(this).focus();
+                          //$(this).focus();  // if get the focus, it hide the dorp-down list.. ?
                         }
                       ),
@@ -166,5 +167,5 @@
               privateMethods.setOptions($this, opt);
 
-              if($this.text()!='') 
+              if($this.text()!='')
               {
                 var tmp=$.parseJSON($.trim($this.text())),
@@ -180,10 +181,10 @@
                   values=tmp.values;
                 }
-                
+
                 if(tmp.selected!=null) selectedValues=tmp.selected;
-                
-                privateMethods.setItems($this, values); 
-                privateMethods.setValue($this, selectedValues); 
-                
+
+                privateMethods.setItems($this, values);
+                privateMethods.setValue($this, selectedValues);
+
               }
 
@@ -560,5 +561,5 @@
               {
                 for(var i=0;i<properties.items.length;i++)
-                {    
+                {
                   if($.inArray(i, properties.index)==-1)
                     returned.push(properties.items[i].value);
Index: tensions/GrumPluginClasses/js/ui.inputList.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputList.min.js	(revision 15339)
+++ 	(revision )
@@ -1,351 +1,0 @@
-/* file: ui.inputList.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={serverUrl:'',autoLoad:true,listMaxWidth:0,listMaxHeight:0,multiple:false,downArrow:'⇓',popupMode:'click',colsWidth:[],colsDisplayed:[],colsCss:[],disabled:false,popup:null,change:null,load:null,returnMode:'selected'};$this.data('options',options);if(!properties)
-{$this.data('properties',{index:-1,initialized:false,selectorVisible:false,items:[],mouseOver:false,isValid:true,firstPopup:true});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputList',tabindex:0,css:{width:'100%'}}).bind('click.inputList',function()
-{privateMethods.displaySelector($this,!$this.data('properties').selectorVisible);$(this).focus();}),containerValue:$('<div/>',{html:' ','class':'ui-inputList-value',css:{overflow:'hidden'}}),containerList:null,containerArrow:$('<div/>',{html:'⇓','class':'ui-inputList-arrow',css:{'float':'right',cursor:'pointer'}}).bind('mousedown',function()
-{$(this).addClass('ui-inputList-arrow-active');}).bind('mouseup',function()
-{$(this).removeClass('ui-inputList-arrow-active');}),listContainer:$('<div/>',{html:"",'class':'ui-inputList-list',css:{overflow:"auto",display:'none',position:'absolute'}}),list:$('<ul/>',{css:{listStyle:'none',padding:'0px',margin:'0px'}})};}
-$this.data('objects',objects);privateMethods.setOptions($this,opt);if($this.text()!='')
-{var tmp=$.parseJSON($.trim($this.text())),selectedValues=[],values=[];if($.isArray(tmp))
-{values=tmp;}
-else if(tmp.values!=null)
-{values=tmp.values;}
-if(tmp.selected!=null)selectedValues=tmp.selected;privateMethods.setItems($this,values);privateMethods.setValue($this,selectedValues);}
-$this.html('').append(objects.container.append(objects.containerArrow).append(objects.containerValue)).append(objects.listContainer.append(objects.list));});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.container.unbind().remove();objects.list.children().unbind();objects.listContainer.remove();$this.unbind('.inputList').css({width:'',height:''});});},options:function(value)
-{return this.each(function()
-{privateMethods.setOptions($(this),value);});},autoLoad:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setAutoLoad($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.autoLoad);}
-else
-{return(true);}}},listMaxWidth:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxWidth);}
-else
-{return(0);}}},listMaxHeight:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxHeight($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxHeight);}
-else
-{return(0);}}},serverUrl:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setServerUrl($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.serverUrl);}
-else
-{return('');}}},cols:function()
-{var options=this.data('options'),properties=this.data('properties');if(!options.multiple)
-{return(properties.items[properties.index].cols);}
-else
-{var listCols=[];for(var i=0;i<properties.index.length;i++)
-{listCols.push(properties.items[properties.index[i]].cols);}
-return(listCols);}},popupMode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setPopupMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popupMode);}
-else
-{return(0);}}},downArrow:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDownArrow($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.downArrow);}
-else
-{return('');}}},returnMode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setReturnMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.returnMode);}
-else
-{return('selected');}}},colsWidth:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setColsWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.colsWidth);}
-else
-{return('');}}},colsDisplayed:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setColsDisplayed($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.colsDisplayed);}
-else
-{return('');}}},colsCss:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setColsCss($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.colsCss);}
-else
-{return('');}}},items:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setItems($(this),value);});}
-else
-{var properties=this.data('properties');if(properties)
-{return(properties.items);}
-else
-{return('');}}},value:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValue($(this),value);});}
-else
-{var properties=this.data('properties'),options=this.data('options');if(properties&&properties.index!=null&&!options.multiple&&properties.index>-1&&properties.index<properties.items.length)
-{return(properties.items[properties.index].value);}
-else if(properties&&properties.index!=null&&options.multiple)
-{var returned=[];if(options.returnMode=='selected')
-{for(var i=0;i<properties.index.length;i++)
-{if(properties.index[i]>-1&&properties.index[i]<properties.items.length)
-returned.push(properties.items[properties.index[i]].value);}}
-else
-{for(var i=0;i<properties.items.length;i++)
-{if($.inArray(i,properties.index)==-1)
-returned.push(properties.items[i].value);}}
-return(returned);}
-else
-{return(null);}}},isValid:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIsValid($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.isValid);}},load:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventLoad($(this),value);});}
-else
-{privateMethods.load(this);}},popup:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventPopup($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popup);}
-else
-{return(null);}}},change:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventChange($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}},numberOfItems:function()
-{var properties=this.data('properties');if(properties)
-{return(properties.items.length);}
-else
-{return(null);}},properties:function(value)
-{var properties=this.data('properties'),options=this.data('options');if(properties&&value==':first'&&properties.items.length>0)
-{return(properties.items[0]);}
-else if(properties&&properties.index!=null&&(value==':selected'||value==null)&&properties.items.length>0)
-{if(!options.multiple&&properties.index>-1&&properties.index<properties.items.length)
-{return(properties.items[properties.index]);}
-else if(options.multiple)
-{var returned=[];for(var i=0;i<properties.index.length;i++)
-{if(properties.index[i]>-1&&properties.index<properties.items.length)
-returned.push(properties.items[properties.index[i]]);}
-return(returned);}
-return(null);}
-else if(properties&&value!=null)
-{var index=privateMethods.findIndexByValue(this,value);if(index>-1)
-{return(properties.items[index]);}
-return(null);}
-else
-{return(null);}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setReturnMode(object,(value.returnMode!=null)?value.returnMode:options.returnMode);privateMethods.setAutoLoad(object,(value.autoLoad!=null)?value.autoLoad:options.autoLoad);privateMethods.setListMaxWidth(object,(value.listMaxWidth!=null)?value.listMaxWidth:options.listMaxWidth);privateMethods.setListMaxHeight(object,(value.listMaxHeight!=null)?value.listMaxHeight:options.listMaxHeight);privateMethods.setServerUrl(object,(value.serverUrl!=null)?value.serverUrl:options.serverUrl);privateMethods.setPopupMode(object,(value.popupMode!=null)?value.popupMode:options.popupMode);privateMethods.setDownArrow(object,(value.downArrow!=null)?value.downArrow:options.downArrow);privateMethods.setEventPopup(object,(value.popup!=null)?value.popup:options.popup);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.setEventLoad(object,(value.load!=null)?value.load:options.load);privateMethods.setColsWidth(object,(value.colsWidth!=null)?value.colsWidth:options.colsWidth);privateMethods.setColsDisplayed(object,(value.colsDisplayed!=null)?value.colsDisplayed:options.colsDisplayed);privateMethods.setColsCss(object,(value.colsCss!=null)?value.colsCss:options.colsCss);privateMethods.setItems(object,(value.items!=null)?value.items:options.items);privateMethods.setMultiple(object,(value.multiple!=null)?value.multiple:options.multiple);if(options.autoLoad)privateMethods.load(object);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');}}
-return(properties.isValid);},setAutoLoad:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.autoLoad!=value)&&(value==true||value==false))
-{options.autoLoad=value;}
-return(options.autoLoad);},setReturnMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.returnMode!=value)&&(value=='selected'||value=='notSelected'))
-{options.returnMode=value;}
-return(options.returnMode);},setColsWidth:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),width=0;if((!properties.initialized||options.colsWidth!=value)&&$.isArray(value))
-{options.colsWidth=value;}
-return(options.colsWidth);},setColsDisplayed:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.colsDisplayed!=value)&&$.isArray(value))
-{options.colsDisplayed=value;}
-return(options.colsDisplayed);},setColsCss:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.colsCss!=value)&&$.isArray(value))
-{options.colsCss=value;}
-return(options.colsCss);},setListMaxWidth:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxWidth!=value)&&value>=0)
-{options.listMaxWidth=value;if(options.listMaxWidth>0)
-{objects.listContainer.css('max-width',options.listMaxWidth+'px');}
-else
-{objects.listContainer.css('max-width','');}}
-return(options.listMaxWidth);},setListMaxHeight:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxHeight!=value)&&value>=0)
-{options.listMaxHeight=value;if(options.listMaxHeight>0)
-{objects.listContainer.css('max-height',options.listMaxHeight+'px');}
-else
-{objects.listContainer.css('max-height','');}}
-return(options.listMaxHeight);},setServerUrl:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.serverUrl!=value)
-{options.serverUrl=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.serverUrl);},setMultiple:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.multiple!=value)&&(value==true||value==false))
-{if(!value)
-{properties.index=-1;if(objects.containerList!=null)
-{objects.containerList.remove();objects.containerList=null;}}
-else
-{properties.index=[];objects.listContainer.addClass('ui-inputList-multiple');if(objects.containerList==null)
-{objects.containerList=$('<ul/>',{html:'<li> </li>'});objects.containerValue.html('').append(objects.containerList);}}
-options.multiple=value;}
-return(options.multiple);},setPopupMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.popupMode!=value)&&(value=='click'||value=='mouseout'))
-{options.popupMode=value;if(value=='mouseout')
-{objects.listContainer.unbind('mouseleave.inputList').unbind('mouseenter.inputList').bind('mouseleave.inputList',function()
-{privateMethods.displaySelector(object,false);});}
-else
-{objects.listContainer.unbind('mouseleave.inputList').bind('mouseleave.inputList',function()
-{properties.mouseOver=false;}).bind('mouseenter.inputList',function()
-{properties.mouseOver=true;});$(document).bind('focusout focusin',function(event)
-{if(!properties.mouseOver)privateMethods.displaySelector(object,false);event.stopPropagation();});}}
-return(options.popupMode);},setDownArrow:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(!properties.initialized||options.downArrow!=value)
-{options.downArrow=value;objects.containerArrow.html(options.downArrow);}
-return(options.downArrow);},setItems:function(object,value)
-{var properties=object.data('properties');if(value==''||value==null)
-{value=[];}
-else if(!$.isArray(value))
-{try
-{value=$.parseJSON($.trim(value));}
-catch(e)
-{return(false);}}
-privateMethods.listClear(object);if(value.length>0)privateMethods.listAddItems(object,value);},setValue:function(object,value,trigger)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),index=-1;re=/^(:invert|:all|:none)(?:(=|<|>)(\d+))$/i;target=re.exec(value);if(target!=null)value=target[1];switch(value)
-{case':first':if(properties.items.length>0)index=0;break;case':last':index=properties.items.length-1;break;case':invert':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-inputList-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)
-{if($this.hasClass('ui-inputList-selected-item'))
-{$this.removeClass('ui-inputList-selected-item');}
-else
-{$this.addClass('ui-inputList-selected-item');tmp=privateMethods.findIndexByValue(object,$this.attr('idvalue'));if(tmp>-1)properties.index.push(tmp);}}});privateMethods.setValue(object,[],false);return(false);break;case':none':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-inputList-selected-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)$this.removeClass('ui-inputList-selected-item');});privateMethods.setValue(object,[],false);return(false);break;case':all':if(!options.multiple)return(false);properties.index=[];objects.list.find('.ui-inputList-item').each(function()
-{var $this=$(this),apply=true;if(target!=null)
-{switch(target[2])
-{case'=':apply=($this.attr('level')==target[3]);break;case'>':apply=($this.attr('level')>=target[3]);break;case'<':apply=($this.attr('level')<=target[3]);break;}}
-if(apply)
-{tmp=privateMethods.findIndexByValue(object,$this.attr('idvalue'));if(tmp>-1)properties.index.push(tmp);$this.addClass('ui-inputList-selected-item');}});privateMethods.setValue(object,[],false);return(false);break;default:if($.isArray(value)&&options.multiple)
-{index=[];for(var i=0;i<value.length;i++)
-{tmp=privateMethods.findIndexByValue(object,value[i]);if(tmp>-1)index.push(tmp);}}
-else
-{index=privateMethods.findIndexByValue(object,value);}
-break;}
-if(!options.multiple&&(!properties.initialized||properties.index!=index)&&index>-1)
-{objects.list.find('.ui-inputList-selected-item').removeClass('ui-inputList-selected-item');objects.list.find('[idvalue="'+value+'"]').addClass('ui-inputList-selected-item');properties.index=index;privateMethods.setItemContent(object,index,objects.containerValue);if(trigger)object.trigger('inputListChange',[properties.items[properties.index].value]);if(properties.index>-1)return(properties.items[properties.index].value);}
-else if(options.multiple)
-{if(!$.isArray(index))
-{if(index<0||index==null)return(-1);index=[index];}
-tmp=[];for(var i=0;i<index.length;i++)
-{var item=objects.list.find('[idvalue="'+properties.items[index[i]].value+'"]');tmp.push(properties.items[index[i]].value);if(item.hasClass('ui-inputList-selected-item'))
-{item.removeClass('ui-inputList-selected-item');tmpIndex=$.inArray(index[i],properties.index);if(tmpIndex>-1)properties.index.splice(tmpIndex,1);}
-else
-{item.addClass('ui-inputList-selected-item');properties.index.push(index[i]);}}
-objects.containerList.html('');objects.list.children('.ui-inputList-selected-item').each(function()
-{var value=$(this).attr('idvalue'),index=privateMethods.findIndexByValue(object,value),li=$('<li/>',{'class':'ui-inputList-selected-item'});privateMethods.setItemContent(object,index,li);objects.containerList.append(li.prepend($('<span/>',{'html':'x','class':'ui-inputList-delete-item'}).bind('click.inputList',{object:object,value:value},function(event)
-{event.stopPropagation();privateMethods.setValue(event.data.object,event.data.value,true);})));});if(objects.containerList.children().length==0)objects.containerList.append('<li> </li>');if(trigger)object.trigger('inputListChange',[tmp]);return(tmp);}
-return(null);},displaySelector:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),scrollBarWidth=0;if(properties.selectorVisible!=value)
-{properties.selectorVisible=value;if(properties.selectorVisible&&properties.items.length>0)
-{var index=0;objects.listContainer.css({display:'block','min-width':objects.listContainer.parent().css('width')});if($.isArray(properties.index))
-{if(properties.index.length>0)index=properties.index[0];}
-else if(properties.index>-1)
-{index=properties.index;}
-scrollBarWidth=objects.listContainer.width()-objects.list.width();if(scrollBarWidth>0&&properties.firstPopup)
-{objects.listContainer.width(objects.listContainer.width()+scrollBarWidth);properties.firstPopup=false;}
-objects.listContainer.scrollTop(objects.listContainer.scrollTop()+objects.list.find('[idValue="'+properties.items[index].value+'"]').position().top);}
-else
-{objects.listContainer.css('display','none');}
-if(options.popup)object.trigger('inputListPopup',[properties.selectorVisible]);}
-return(properties.selectorVisible);},load:function(object)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(options.serverUrl=='')return(false);$.ajax({type:"POST",url:options.serverUrl,async:true,success:function(msg)
-{privateMethods.setItems(object,msg);properties.initialized=false;if(options.multiple)
-{privateMethods.setValue(object,':none');}
-else
-{privateMethods.setValue(object,':first');}
-properties.initialized=true;if(options.load)object.trigger('inputListLoad');},error:function(msg)
-{objects.listContainer.html('Error ! '+msg);}});},listClear:function(object)
-{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');objects.list.children().unbind();objects.list.html('');if(options.multiple)
-{properties.index=[];}
-else
-{properties.index=-1;}
-properties.items=[];properties.firstPopup=true;},listAddItems:function(object,listItems)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),width=0;for(var i=0;i<listItems.length;i++)
-{properties.items.push({value:listItems[i].value,cols:listItems[i].cols});var content=$('<div/>',{'class':'ui-inputList-value'}),li=$('<li/>',{'class':'ui-inputList-item','idValue':listItems[i].value}).bind('click.inputList',{object:object},function(event)
-{privateMethods.setValue(event.data.object,$(this).attr('idValue'),true);if(options.multiple)
-{}
-else
-{privateMethods.displaySelector(event.data.object,false);}
-if(options.multiple)objects.container.focus();});for(var j=0;j<listItems[i].cols.length;j++)
-{content.append($('<span/>',{html:listItems[i].cols[j],css:{width:privateMethods.getColWidth(object,j)},'class':privateMethods.getColCss(object,j)}));}
-li.append(content);if(options.multiple)
-{li.children().prepend('<div class="ui-inputList-check"></div>');}
-objects.list.append(li);}},findIndexByValue:function(object,value)
-{var properties=object.data('properties');for(var i=0;i<properties.items.length;i++)
-{if(properties.items[i].value==value)return(i);}
-return(-1);},setEventPopup:function(object,value)
-{var options=object.data('options');options.popup=value;object.unbind('inputListPopup');if(value)object.bind('inputListPopup',options.popup);return(options.popup);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputListChange');if(value)object.bind('inputListChange',options.change);return(options.change);},setEventLoad:function(object,value)
-{var options=object.data('options');options.load=value;object.unbind('inputListLoad');if(value)object.bind('inputListLoad',options.load);return(options.load);},getColWidth:function(object,index)
-{var options=object.data('options');if(index>=0&&index<options.colsWidth.length&&options.colsWidth[index]!=''&&options.colsWidth[index]!=0)
-{return(options.colsWidth[index]+'px');}
-return('');},getColCss:function(object,index)
-{var options=object.data('options');if(index>=0&&index<options.colsCss.length)
-{return(options.colsCss[index]);}
-return('');},getColContent:function(object,itemIndex,index)
-{var properties=object.data('properties');if(index>=0&&index<=properties.items[itemIndex].cols.length)
-{return(properties.items[itemIndex].cols[index]);}
-return('');},setItemContent:function(object,index,container)
-{var options=object.data('options'),properties=object.data('properties'),colContent='',colsDisplayed=[];container.html('');if(options.colsDisplayed.length==0)
-{for(var j=0;j<properties.items[index].cols.length;j++)
-{colsDisplayed.push(j);}}
-else
-{colsDisplayed=options.colsDisplayed;}
-for(var j=0;j<colsDisplayed.length;j++)
-{colContent=privateMethods.getColContent(object,index,colsDisplayed[j]);if(colContent!=null)
-{container.append($('<span/>',{'html':colContent,css:{width:privateMethods.getColWidth(object,colsDisplayed[j])},'class':privateMethods.getColCss(object,colsDisplayed[j])}));}}}};$.fn.inputList=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputList');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputNum.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputNum.min.js	(revision 15339)
+++ 	(revision )
@@ -1,208 +1,0 @@
-/* file: ui.inputNum.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={numDec:0,minValue:'none',maxValue:'none',stepValue:1,showSlider:'no',disabled:false,textAlign:'right',btInc:'+',btDec:'-',unitValue:'',change:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,re:/^\d+$/,value:0,factor:1,isSlider:false,isValid:true,mouseIsOver:false,isSliderCurrentlyVisible:false,inputMargins:0});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputNum',css:{width:'100%'}}).bind('click.inputNum',function()
-{objects.input.focus();}).bind('mouseenter',function()
-{properties.mouseIsOver=true;}).bind('mouseleave',function()
-{properties.mouseIsOver=false;}),input:$('<input>',{type:"text",value:''}).bind('focusout.inputNum',function()
-{privateMethods.lostFocus($this);}).bind('focus.inputNum',function()
-{privateMethods.getFocus($this);}).bind('keydown.inputNum',function(event)
-{return(privateMethods.keyDown($this,event));}).bind('keyup.inputNum',function(event)
-{privateMethods.keyUp($this,event);}),slider:$('<div/>',{css:{display:'none'}}),extraContainer:$('<div/>',{'class':'ui-inputNum-extra'}),unit:$('<div/>',{html:"",'class':'ui-inputNum-unit',css:{display:'none'}}),btInc:$('<div/>',{'class':'ui-inputNum-btInc',tabindex:0}).bind('click',function(event)
-{privateMethods.incValue($this);}).bind('mousedown',function(){$(this).addClass('ui-inputNum-btInc-active');}).bind('mouseup',function(){$(this).removeClass('ui-inputNum-btInc-active');}),btDec:$('<div/>',{'class':'ui-inputNum-btDec',tabindex:0}).bind('click',function(event)
-{privateMethods.decValue($this);}).bind('mousedown',function(){$(this).addClass('ui-inputNum-btDec-active');}).bind('mouseup',function(){$(this).removeClass('ui-inputNum-btDec-active');})};$this.html('').append(objects.container.append(objects.input).append(objects.extraContainer.append(objects.unit).append(objects.btInc).append(objects.btDec)).append(objects.slider));properties.inputMargins=objects.input.outerWidth(true)-objects.input.width();$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.input.unbind().remove();objects.btInc.unbind().remove();objects.btDec.unbind().remove();objects.container.unbind().remove();$this.unbind('.inputNum').css({width:'',height:''});});},options:function(value)
-{return this.each(function()
-{privateMethods.setOptions($(this),value);});},showSlider:function(value)
-{if(value!=null)
-{this.each(function()
-{privateMethods.setShowSlider($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.showSlider);}
-else
-{return('');}}},minValue:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setMinValue($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.minValue);}
-else
-{return('');}}},maxValue:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setMaxValue($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.maxValue);}
-else
-{return('');}}},stepValue:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setStepValue($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.stepValue);}
-else
-{return('');}}},numDec:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setNumDec($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.numDec);}
-else
-{return('');}}},unitValue:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setUnitValue($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.unitValue);}
-else
-{return('');}}},disabled:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDisabled($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.disabled);}
-else
-{return('');}}},textAlign:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setTextAlign($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.textAlign);}
-else
-{return('');}}},btInc:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setBtInc($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.btInc);}
-else
-{return('');}}},btDec:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setBtDec($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.btDec);}
-else
-{return('');}}},value:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValue($(this),value,true);});}
-else
-{var properties=this.data('properties');return(properties.value);}},isValid:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIsValid($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventChange($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={isValid:function(object,value)
-{var properties=object.data('properties');return(properties.re.exec(value))},setRE:function(object)
-{var properties=object.data('properties'),options=object.data('options'),tmpRe="\\d+";if(options.numDec>0)
-{tmpRe+="(\\.\\d{0,"+options.numDec+"})?";}
-tmpRe+="$";if(options.minValue=='none'||options.minValue!='none'&&options.minValue<0)
-{if(options.maxValue!='none'&&options.maxValue<0)
-{tmpRe="\\-"+tmpRe;}
-else
-{tmpRe="(\\-)?"+tmpRe;}}
-tmpRe="^"+tmpRe;properties.re=new RegExp(tmpRe);},setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setNumDec(object,(value.numDec!=null)?value.numDec:options.numDec);privateMethods.setStepValue(object,(value.stepValue!=null)?value.stepValue:options.stepValue);privateMethods.setMinValue(object,(value.minValue!=null)?value.minValue:options.minValue);privateMethods.setMaxValue(object,(value.maxValue!=null)?value.maxValue:options.maxValue);privateMethods.setValue(object,(value.value!=null)?value.value:options.value,true);privateMethods.setUnitValue(object,(value.unitValue!=null)?value.unitValue:options.unitValue);privateMethods.setShowSlider(object,(value.showSlider!=null)?value.showSlider:options.showSlider);privateMethods.setDisabled(object,(value.disabled!=null)?value.disabled:options.disabled);privateMethods.setBtInc(object,(value.btInc!=null)?value.btInc:options.btInc);privateMethods.setBtDec(object,(value.btDec!=null)?value.btDec:options.btDec);privateMethods.setTextAlign(object,(value.textAlign!=null)?value.textAlign:options.textAlign);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);privateMethods.calculateInputWidth(object);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
-return(properties.isValid);},setNumDec:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.numDec!=value)&&value>=0&&value<=15)
-{options.numDec=value;privateMethods.setRE(object);properties.factor=Math.pow(10,options.numDec);}
-return(options.numDec);},setStepValue:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.stepValue!=value)&&value>0&&privateMethods.isValid(object,value))
-{options.stepValue=value;}
-return(options.stepValue);},setShowSlider:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.showSlider!=value)&&(value=='no'||value=='yes'||value=='auto'))
-{options.showSlider=value;privateMethods.manageSlider(object);}
-return(options.showSlider);},setMinValue:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.minValue!=value)&&(value=='none'||privateMethods.isValid(object,value)))
-{options.minValue=value;if(options.minValue>options.maxValue)options.maxValue=options.minValue;privateMethods.setRE(object);privateMethods.manageSlider(object);}
-return(options.minValue);},setMaxValue:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.maxValue!=value)&&(value=='none'||privateMethods.isValid(object,value)&&(options.minValue<=value&&options.minValue!='none'||options.minValue=='none')))
-{options.maxValue=value;privateMethods.setRE(object);privateMethods.manageSlider(object);}
-return(options.maxValue);},setUnitValue:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if(!properties.initialized||options.unitValue!=value)
-{options.unitValue=value;objects.unit.html(options.unitValue).css('display',($.trim(value)=='')?'none':'');privateMethods.calculateInputWidth(object);}
-return(options.unitValue);},setBtInc:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if(!properties.initialized||options.btInc!=value)
-{options.btInc=value;objects.btInc.html(options.btInc);}
-return(options.btInc);},setBtDec:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if(!properties.initialized||options.btDec!=value)
-{options.btDec=value;objects.btDec.html(options.btDec);}
-return(options.btDec);},setDisabled:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
-{options.disabled=value;if(options.disabled)
-{objects.btDec.attr('disabled',true);objects.btInc.attr('disabled',true);objects.input.attr('disabled',true);}
-else
-{objects.input.attr('disabled',false);privateMethods.setButtonsState(object);}}
-return(options.disabled);},setTextAlign:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.textAlign!=value)&&(value=='left'||value=='right'))
-{options.textAlign=value;objects.input.css('text-align',options.textAlign);}
-return(options.textAlign);},setButtonsState:function(object)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if(options.minValue!='none'&&properties.value-options.stepValue<options.minValue)
-{objects.btDec.attr('disabled',true);}
-else
-{objects.btDec.attr('disabled',false);}
-if(options.maxValue!='none'&&properties.value+options.stepValue>options.maxValue)
-{objects.btInc.attr('disabled',true);}
-else
-{objects.btInc.attr('disabled',false);}},setValue:function(object,value,apply)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(!privateMethods.isValid(object,value)||(!apply&&(options.minValue!='none'&&value<options.minValue||options.maxValue!='none'&&value>options.maxValue)))
-{return(privateMethods.setIsValid(object,false));}
-else if(apply)
-{if(options.minValue!='none'&&value<options.minValue)value=options.minValue;if(options.maxValue!='none'&&value>options.maxValue)value=options.maxValue;}
-privateMethods.setIsValid(object,true);properties.value=value;privateMethods.setButtonsState(object);if(apply)objects.input.val(properties.value.toFixed(options.numDec));if(properties.isSlider&&properties.isSliderCurrentlyVisible)objects.slider.slider('value',properties.value);if(options.change)object.trigger('inputNumChange',properties.value);return(true);},getFocus:function(object)
-{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');if(properties.isSlider&&options.showSlider=='auto')
-{objects.slider.css('display','block').css('width',(objects.container.width()-objects.slider.children('.ui-slider-handle').outerWidth(true))+'px').slider('value',properties.value);properties.isSliderCurrentlyVisible=true;}},lostFocus:function(object)
-{var objects=object.data('objects'),options=object.data('options'),properties=object.data('properties');if(properties.mouseIsOver)
-{objects.input.focus();}
-else if(properties.isSlider&&options.showSlider=='auto')
-{objects.slider.css('display','none');properties.isSliderCurrentlyVisible=false;}},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputNumChange');if(value)object.bind('inputNumChange',options.change);return(options.change);},keyUp:function(object,event)
-{var properties=object.data('properties'),objects=object.data('objects');if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||event.keyCode==190||event.keyCode==109||event.keyCode==110||event.keyCode==8||event.keyCode==9||event.keyCode==12||event.keyCode==46))return(false);privateMethods.setValue(object,parseFloat(objects.input.val()),false);},keyDown:function(object,event)
-{var properties=object.data('properties'),objects=object.data('objects');if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||event.keyCode==190||event.keyCode==109||event.keyCode==110||event.keyCode==8||event.keyCode==9||event.keyCode==12||event.keyCode==16||event.keyCode==17||event.keyCode==18||event.keyCode==33||event.keyCode==34||event.keyCode==35||event.keyCode==36||event.keyCode==37||event.keyCode==38||event.keyCode==39||event.keyCode==40||event.keyCode==45||event.keyCode==46||event.keyCode==93))return(false);return(true);},incValue:function(object)
-{var options=object.data('options'),properties=object.data('properties');nextValue=Math.round(properties.value*properties.factor+options.stepValue*properties.factor)/properties.factor;if(options.maxValue=='none'||nextValue<=options.maxValue)
-{privateMethods.setValue(object,nextValue,true);}},decValue:function(object)
-{var options=object.data('options'),properties=object.data('properties');nextValue=Math.round(properties.value*properties.factor-options.stepValue*properties.factor)/properties.factor;if(options.minValue=='none'||nextValue>=options.minValue)
-{privateMethods.setValue(object,nextValue,true);}},manageSlider:function(object)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if(!properties.isSlider&&options.minValue!='none'&&options.maxValue!='none'&&(options.showSlider=='yes'||options.showSlider=='auto'))
-{properties.isSlider=true;objects.slider.slider({max:options.maxValue,min:options.minValue,step:options.stepValue,value:properties.value,slide:function(event,ui)
-{privateMethods.setValue(object,ui.value,true);}});objects.slider.children('.ui-slider-handle').bind('focusout',function(){privateMethods.lostFocus(object);});if(options.showSlider=='yes')
-{objects.slider.css('display','block').css('width',(objects.container.width()-objects.slider.children('.ui-slider-handle').outerWidth(true))+'px');properties.isSliderCurrentlyVisible=true;}}
-else if(properties.isSlider&&(options.minValue=='none'||options.maxValue=='none'||options.showSlider=='no'))
-{properties.isSlider=false;properties.isSliderCurrentlyVisible=false;objects.slider.slider('destroy');}},calculateInputWidth:function(object)
-{var objects=object.data('objects'),properties=object.data('properties');objects.input.css('width',(objects.container.width()-objects.extraContainer.outerWidth()-properties.inputMargins)+'px');}};$.fn.inputNum=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputNum');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputPosition.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputPosition.min.js	(revision 15339)
+++ 	(revision )
@@ -1,118 +1,0 @@
-/* file: ui.inputPosition.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={disabled:false,width:0,height:0,values:['center','corners','sides'],change:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,value:'',isValid:true,radioH:0,radioW:0});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputPosition',css:{width:'100%'}}),radios:{corners:[],sides:[],center:[]}};var name=$this.get(0).id,values=['TL','TR','BR','BL'];for(var i=0;i<values.length;i++)
-{objects.radios.corners.push($('<input>',{type:'radio',id:name+values[i],name:'ip_'+name,value:values[i],group:'corners'}).appendTo(objects.container));}
-values=['T','L','B','R'];for(var i=0;i<values.length;i++)
-{objects.radios.sides.push($('<input>',{type:'radio',id:name+values[i],name:'ip_'+name,value:values[i],group:'sides'}).appendTo(objects.container))}
-values=['C'];for(var i=0;i<values.length;i++)
-{objects.radios.center.push($('<input>',{type:'radio',id:name+values[i],name:'ip_'+name,value:values[i],group:'center'}).appendTo(objects.container))}
-objects.container.find('input').bind('click',function(event)
-{privateMethods.setValue($this,$(this).attr('value'),false);});$this.html('').append(objects.container);properties.radioW=objects.container.find('input').first().outerWidth()/2;properties.radioH=objects.container.find('input').first().outerHeight()/2;$this.css('padding',properties.radioH+'px '+properties.radioW+'px');$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.input.unbind().remove();objects.container.unbind().remove();$this.unbind('.inputPosition').css({width:'',height:''});});},options:function(value)
-{return this.each(function()
-{privateMethods.setOptions($(this),value);});},disabled:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setDisabled($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.disabled);}
-else
-{return('');}}},width:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.width);}
-else
-{return('');}}},height:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setHeight($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.height);}
-else
-{return('');}}},values:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValues($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.values);}
-else
-{return('');}}},value:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValue($(this),value,true);});}
-else
-{var properties=this.data('properties');return(properties.value);}},isValid:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIsValid($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventChange($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setValues(object,(value.values!=null)?value.values:options.values);privateMethods.setHeight(object,(value.height!=null)?value.height:options.height,true);privateMethods.setWidth(object,(value.width!=null)?value.width:options.width,true);privateMethods.setValue(object,(value.value!=null)?value.value:options.value,true);privateMethods.setDisabled(object,(value.disabled!=null)?value.disabled:options.disabled);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
-return(properties.isValid);},setDisabled:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
-{options.disabled=value;}
-return(options.disabled);},setHeight:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.height!=value)&&value>=0)
-{if(value==0)
-{options.height=value;objects.container.css('height','100%');}
-else
-{options.height=value;objects.container.css('height',options.height+'px');}}
-privateMethods.setRadioPosition(object);return(options.height);},setWidth:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.width!=value)&&value>=0)
-{if(value==0)
-{options.width=value;objects.container.css('width','100%');}
-else
-{options.width=value;objects.container.css('width',options.width+'px');}
-privateMethods.setRadioPosition(object);}
-return(options.width);},setValues:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');if(!$.isArray(value))value=[value];options.values=[];object.find('input').hide();for(var i=0;i<value.length;i++)
-{if(value[i]=='center'||value[i]=='corners'||value[i]=='sides')
-{options.values.push(value[i]);object.find('input[group='+value[i]+']').show();}}
-return(true);},setValue:function(object,value,apply)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(!(($.inArray('center',options.values)>-1&&value=='C')||($.inArray('corners',options.values)>-1&&(value=='TL'||value=='TR'||value=='BR'||value=='BL'))||($.inArray('sides',options.values)>-1&&(value=='L'||value=='R'||value=='B'||value=='T'))))return(false);properties.value=value;if(apply)
-{switch(properties.value)
-{case'TL':objects.radios.corners[0].attr('checked',true);break;case'TR':objects.radios.corners[1].attr('checked',true);break;case'BR':objects.radios.corners[2].attr('checked',true);break;case'BL':objects.radios.corners[3].attr('checked',true);break;case'T':objects.radios.sides[0].attr('checked',true);break;case'L':objects.radios.sides[1].attr('checked',true);break;case'B':objects.radios.sides[2].attr('checked',true);break;case'R':objects.radios.sides[3].attr('checked',true);break;case'C':objects.radios.center[0].attr('checked',true);break;}}
-if(options.change)object.trigger('inputPositionChange',properties.value);return(true);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputPositionChange');if(value)object.bind('inputPositionChange',options.change);return(options.change);},setRadioPosition:function(object)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if($.inArray('center',options.values)>-1)
-{objects.radios.center[0].css({'margin-left':(options.width/2-properties.radioW)+'px','margin-top':(options.height/2-properties.radioH)+'px'});}
-if($.inArray('corners',options.values)>-1)
-{for(var i=0;i<objects.radios.corners.length;i++)
-{switch(objects.radios.corners[i].attr('value'))
-{case'TL':objects.radios.corners[i].css({'margin-left':'-'+properties.radioW+'px','margin-top':'-'+properties.radioH+'px'});break;case'TR':objects.radios.corners[i].css({'margin-left':(options.width-properties.radioW)+'px','margin-top':'-'+properties.radioH+'px'});break;case'BR':objects.radios.corners[i].css({'margin-left':(options.width-properties.radioW)+'px','margin-top':(options.height-properties.radioH)+'px'});break;case'BL':objects.radios.corners[i].css({'margin-left':'-'+properties.radioW+'px','margin-top':(options.height-properties.radioH)+'px'});break;}}}
-if($.inArray('sides',options.values)>-1)
-{w=objects.radios.sides[0].width();h=objects.radios.sides[0].height();for(var i=0;i<objects.radios.sides.length;i++)
-{switch(objects.radios.sides[i].attr('value'))
-{case'L':objects.radios.sides[i].css({'margin-left':'-'+properties.radioW+'px','margin-top':(options.height/2-properties.radioH)+'px'});break;case'T':objects.radios.sides[i].css({'margin-left':(options.width/2-properties.radioW)+'px','margin-top':'-'+properties.radioH+'px'});break;case'R':objects.radios.sides[i].css({'margin-left':(options.width-properties.radioW)+'px','margin-top':(options.height/2-properties.radioH)+'px'});break;case'B':objects.radios.sides[i].css({'margin-left':(options.width/2-properties.radioW)+'px','margin-top':(options.height-properties.radioH)+'px'});break;}}}}};$.fn.inputPosition=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputPosition');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputRadio.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputRadio.min.js	(revision 15339)
+++ 	(revision )
@@ -1,86 +1,0 @@
-/* file: ui.inputRadio.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={disabled:[],hidden:[],value:'',change:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,value:'',isValid:true});properties=$this.data('properties');}
-if(!objects)
-{objects={radio:[]};$this.data('objects',objects);}
-$this.find('input[type=radio]').each(function(index,item)
-{objects.radio.push($(item));$(item).attr('name','ir_'+$this.get(0).id).bind('click',function(event)
-{privateMethods.setValue($this,$(this).attr('value'),false);});});privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');for(var i=0;i<objects.radio.length;i++)
-{objects.radio.unbind();}
-objects.container.unbind().remove();$this.unbind('.inputRadio').css({width:'',height:''});});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},disabled:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisabled($(this),value);}));}
-else
-{return(privateMethods.getDisabled($(this)));}},hidden:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setHidden($(this),value);}));}
-else
-{return(privateMethods.getHidden($(this)));}},value:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setValue($(this),value,true);}));}
-else
-{var properties=this.data('properties');return(properties.value);}},isValid:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setIsValid($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setDisabled(object,(value.disabled!=null)?value.disabled:options.disabled);privateMethods.setHidden(object,(value.hidden!=null)?value.hidden:options.hidden);privateMethods.setValue(object,(value.value!=null)?value.value:options.value,true);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value&&properties.initialized)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
-return(properties.isValid);},setDisabled:function(object,value)
-{var objects=object.data('objects'),index=-1;if(!$.isArray(value))value=[value];for(var i=0;i<objects.radio.length;i++)
-{index=$.inArray(objects.radio[i].attr('value'),value);objects.radio[i].attr('disabled',(index>-1));}
-return(privateMethods.getDisabled(object));},getDisabled:function(object)
-{var objects=object.data('objects'),returned=[];for(var i=0;i<objects.radio.length;i++)
-{if(objects.radio[i].attr('disabled'))returned.push(objects.radio[i].attr('value'));}
-return(returned);},setHidden:function(object,value)
-{var objects=object.data('objects');if(!$.isArray(value))value=[value];for(var i=0;i<objects.radio.length;i++)
-{if($.inArray(objects.radio[i].attr('value'),value)>-1)
-{if(objects.radio[i].parent().attr('nodeName')=='LABEL')
-{objects.radio[i].parent().hide();}
-else
-{objects.radio[i].hide();}}
-else
-{if(objects.radio[i].parent().attr('nodeName')=='LABEL')
-{objects.radio[i].parent().show();}
-else
-{objects.radio[i].show();}}}
-return(privateMethods.getHidden(object));},getHidden:function(object)
-{var objects=object.data('objects'),returned=[];for(var i=0;i<objects.radio.length;i++)
-{if(objects.radio[i].css('display')=='none')returned.push(objects.radio[i].attr('value'));}
-return(returned);},setValue:function(object,value,apply)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),index=privateMethods.findRadioByVal(object,value);if(index==-1)return(false);properties.value=value;if(apply)
-{objects.radio[index].attr('checked',true);}
-if(options.change)object.trigger('inputRadioChange',properties.value);return(true);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputRadioChange');if(value)object.bind('inputRadioChange',options.change);return(options.change);},findRadioByVal:function(object,value)
-{var objects=object.data('objects');for(var i=0;i<objects.radio.length;i++)
-{if(objects.radio[i].attr('value')==value)return(i);}
-return(-1);}};$.fn.inputRadio=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputRadio');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputStatusBar.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputStatusBar.min.js	(revision 15339)
+++ 	(revision )
@@ -1,41 +1,0 @@
-/* file: ui.inputStatusBar.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={items:[]};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,id:$this.get(0).id});properties=$this.data('properties');}
-if(!objects)
-{objects={table:$('<table/>',{'class':'ui-inputStatusBar',css:{width:'100%'}}),tr:$('<tr/>'),td:[]};$this.html('').append(objects.table.append(objects.tr));$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.tr.remove();objects.table.remove();$this.unbind('.inputStatusBar').css({width:'',height:''});});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},items:function(fct,value)
-{if((fct=='add'||fct=='remove'||fct=='set')&&value!=null)
-{return(this.each(function()
-{privateMethods.setItems($(this),fct,value);}));}
-else if(fct=='get'&&value!=null)
-{var options=this.data('options');return(options.items[value]);}
-else
-{var options=this.data('options');return(options.items);}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setItems(object,'init',(value.items!=null)?value.items:options.items);properties.initialized=true;},setItems:function(object,fct,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),index=-1;if(value.id==null&&!$.isArray(value))return(false);if(value.id!=null)index=privateMethods.findItemById(object,value.id);if(fct=='add'&&value.id!=null&&index==-1)
-{if(value.content==null)value.content=' ';if(value.width==null)value.width='';if(value.title==null)value.title='';var td=$('<td/>',{id:properties.id+value.id,html:value.content,title:value.title,css:{width:value.width}});objects.td.push({id:value.id,td:td});objects.tr.append(td);options.items.push(value);}
-else if(fct=='remove'&&value.id!=null&&index>-1)
-{if(index>-1)
-{objects.td[index].td.remove();objects.td.splice(index,1);options.items.splice(index,1);delete options.items[value.id];}}
-else if(fct=='set'&&value.id!=null&&index>-1&&value.content!=null)
-{if(value.title==null)value.title='';objects.td[index].td.html(value.content).attr('title',value.title);}
-else if(fct=='init')
-{for(var i in value)
-{privateMethods.setItems(object,'add',value[i]);}}
-return(true);},findItemById:function(object,id)
-{var objects=object.data('objects');for(var i=0;i<objects.td.length;i++)
-{if(objects.td[i].id==id)return(i);}
-return(-1);}};$.fn.inputStatusBar=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputStatusBar');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.inputSwitchButton.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputSwitchButton.min.js	(revision 15339)
+++ 	(revision )
@@ -1,2 +1,0 @@
-/* file: ui.inputSwitchButton.js - v1.0.0 | minified on 2011/09/21 with http://jscompress.com/ */
-(function(a){var b={init:function(b){return this.each(function(){var d=a(this),e=d.data("options"),f=d.data("objects"),g=d.data("properties"),h={values:{checked:"yes",unchecked:"no"},change:null,group:""};d.data("options",h).addClass("ui-inputSwitchButton ui-inputSwitchButton-unchecked");if(!g){d.data("properties",{initialized:false,checked:false});g=d.data("properties")}d.bind("click.inputSwitchButton",function(a){c.switchValue(d)});c.setOptions(d,b)})},destroy:function(){return this.each(function(){var a=this.data("properties");$this.unbind(".inputSwitchButton");this.removeClass("ui-inputSwitchButton")})},options:function(b){return this.each(function(){c.setOptions(a(this),b)})},disabled:function(b){if(b!=null){return this.each(function(){c.setDisabled(a(this),b)})}else{return c.getDisabled(a(this))}},values:function(b){if(value!=null){return this.each(function(){c.setValues(a(this),value)})}else{var d=this.data("options");return d.values}},switchValue:function(){return this.each(function(){c.switchValue(a(this))})},value:function(b){var d=this.data("properties");if(b!=null){return this.each(function(){c.setValue(a(this),b,true)})}else{var e=this.data("options");return d.checked?e.values.checked:e.values.unchecked}},group:function(b){var d=this.data("options");if(b!=null){return this.each(function(){c.setGroup(a(this),b)})}else{return d.group}},change:function(b){if(b!=null&&a.isFunction(b)){return this.each(function(){c.setEventChange(a(this),b)})}else{var d=this.data("options");if(d){return d.change}else{return null}}}};var c={setOptions:function(b,d){var e=b.data("properties"),f=b.data("options");if(!a.isPlainObject(d))return false;e.initialized=false;c.setGroup(b,d.group!=null?d.group:f.group,true);c.setValue(b,d.value!=null?d.value:f.value,true);c.setEventChange(b,d.change!=null?d.change:f.change);e.initialized=true},setValues:function(a,b){var c=a.data("options");if(b.checked!=null)c.values.checked=b.checked;if(b.unchecked!=null)c.values.unchecked=b.unchecked;return c.values},setGroup:function(b,c){var d=b.data("options"),e=b.data("properties");if(d.group!=c){if(d.group!=""){var f=a(document).data("isbGroup_"+d.group),g=-1;if(f==null)f=[];g=a.inArray(b.attr("id"),f);if(g>-1)f.splice(g,1);a(document).data("isbGroup_"+d.group,f)}d.group=c;f=a(document).data("isbGroup_"+c);if(f==null)f=[];f.push(b.attr("id"));a(document).data("isbGroup_"+c,f)}},switchValue:function(a){var b=a.data("options"),d=a.data("properties");if(b.values.checked==d.checked){c.setValue(a,b.values.unchecked,true)}else{c.setValue(a,b.values.checked,true)}},setValue:function(b,c,d){var e=b.data("options"),f=b.data("properties");if(e.values.checked==c){if(e.group!=""){listGroup=a(document).data("isbGroup_"+e.group);if(listGroup==null)listGroup=[];for(i=0;i<listGroup.length;i++){if(listGroup[i]!=b.attr("id"))a("#"+listGroup[i]).inputSwitchButton("value",e.values.unchecked)}}b.addClass("ui-inputSwitchButton-checked").removeClass("ui-inputSwitchButton-unchecked");f.checked=c}else if(e.values.unchecked==c){b.addClass("ui-inputSwitchButton-unchecked").removeClass("ui-inputSwitchButton-checked");f.checked=c}if(e.change)b.trigger("inputSwitchButtonChange",{checked:c});return true},setEventChange:function(a,b){var c=a.data("options");c.change=b;a.unbind("inputSwitchButtonChange");if(b)a.bind("inputSwitchButtonChange",c.change);return c.change}};a.fn.inputSwitchButton=function(c){if(b[c]){return b[c].apply(this,Array.prototype.slice.call(arguments,1))}else if(typeof c==="object"||!c){return b.init.apply(this,arguments)}else{a.error("Method "+c+" does not exist on jQuery.inputSwitchButton")}}})(jQuery)
Index: tensions/GrumPluginClasses/js/ui.inputText.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.inputText.min.js	(revision 15339)
+++ 	(revision )
@@ -1,200 +1,0 @@
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={languages:[],currentLanguage:'',languagesValues:{},languageSelector:'',multilines:false,disabled:false,textAlign:'left',displayChar:0,maxChar:0,numRows:1,regExp:'',value:'',change:null};if(options.value==''&&$.trim($this.html())!='')options.value=$.trim($this.html());$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,re:/.*/,value:0,isValid:true,languagesValues:{}});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-inputText',css:{width:'100%'}}).bind('click.inputText',function()
-{objects.input.focus();}),input:null};$this.html('').append(objects.container);$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.input.unbind().remove();objects.container.unbind().remove();$this.unbind('.inputText').css({width:'',height:''});});},options:function(value)
-{return(this.each(function()
-{privateMethods.setOptions($(this),value);}));},disabled:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisabled($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.disabled);}
-else
-{return('');}}},textAlign:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setTextAlign($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.textAlign);}
-else
-{return('');}}},displayChar:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setDisplayChar($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.displayChar);}
-else
-{return('');}}},maxChar:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setMaxChar($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.maxChar);}
-else
-{return('');}}},numRows:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setNumRows($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.numRows);}
-else
-{return('');}}},regExp:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setRegExp($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.regExp);}
-else
-{return('');}}},multilines:function()
-{var properties=this.data('properties');return(properties.multilines);},languages:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setLanguages($(this),value);}));}
-else
-{var options=this.data('options');return(options.languages);}},currentLanguage:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setCurrentLanguage($(this),value);}));}
-else
-{var options=this.data('options');return(options.currentLanguage);}},languageSelector:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setLanguageSelector($(this),value);}));}
-else
-{var options=this.data('options');return(options.languageSelector);}},languagesValues:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setLanguagesValues($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.languagesValues);}},value:function(value,language)
-{if(value!=null)
-{var options=this.data('options');return(this.each(function()
-{if(language!=null)
-{privateMethods.setLanguageValue($(this),language,value,options.currentLanguage==language);}
-else
-{privateMethods.setValue($(this),value,true);}}));}
-else
-{var properties=this.data('properties');return(properties.value);}},isValid:function(value)
-{if(value!=null)
-{return(this.each(function()
-{privateMethods.setIsValid($(this),value);}));}
-else
-{var properties=this.data('properties');return(properties.isValid);}},change:function(value)
-{if(value!=null&&$.isFunction(value))
-{return(this.each(function()
-{privateMethods.setEventChange($(this),value);}));}
-else
-{var options=this.data('options');if(options)
-{return(options.change);}
-else
-{return(null);}}},doTranslation:function()
-{return(this.each(function()
-{privateMethods.doTranslation($(this));}));}};var privateMethods={isValid:function(object,value)
-{var properties=object.data('properties');return(properties.re.exec(value))},setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setMultilines(object,(value.multilines!=null)?value.multilines:options.multilines);privateMethods.setDisplayChar(object,(value.displayChar!=null)?value.displayChar:options.displayChar);privateMethods.setMaxChar(object,(value.maxChar!=null)?value.maxChar:options.maxChar);privateMethods.setNumRows(object,(value.numRows!=null)?value.numRows:options.numRows);privateMethods.setRegExp(object,(value.regExp!=null)?value.regExp:options.regExp);privateMethods.setLanguages(object,(value.languages!=null)?value.languages:options.languages);privateMethods.setLanguagesValues(object,(value.languagesValues!=null)?value.languagesValues:options.languagesValues);privateMethods.setCurrentLanguage(object,(value.currentLanguage!=null)?value.currentLanguage:options.currentLanguage);privateMethods.setLanguageSelector(object,(value.languageSelector!=null)?value.languageSelector:options.languageSelector);if((properties.languagesValues[options.currentLanguage]!=null&&properties.languagesValues[options.currentLanguage]!=''||properties.languagesValues[options.currentLanguage]==null)&&(value.value!=null&&value.value!=''||options.value!=''))privateMethods.setValue(object,(value.value!=null)?value.value:options.value,true);privateMethods.setTextAlign(object,(value.textAlign!=null)?value.textAlign:options.textAlign);privateMethods.setEventChange(object,(value.change!=null)?value.change:options.change);properties.initialized=true;},setRegExp:function(object,value)
-{var properties=object.data('properties'),flagRE=/^\/(.*)\/(.*)$/,flags=flagRE.exec(value);if(flags==null)
-{flags=['.*',''];}
-delete properties.re;properties.re=new RegExp(flags[1],flags[2]);},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value&&properties.initialized)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
-return(properties.isValid);},setDisplayChar:function(object,value)
-{var options=object.data('options'),objects=object.data('objects');properties=object.data('properties');if((!properties.initialized||options.displayChar!=value)&&value>=0)
-{options.displayChar=value;if(options.displayChar>0)
-{if(options.multilines)
-{objects.input.attr('cols',options.displayChar);}
-else
-{objects.input.attr('size',options.displayChar);}}
-else
-{if(options.multilines)
-{objects.input.removeAttr('size');}
-else
-{objects.input.removeAttr('cols');}}}
-if(object.width()>0)
-{objects.input.css({'width':object.width()+'px','max-width':object.width()+'px'});}
-return(options.displayChar);},setMaxChar:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.maxChar!=value)&&value>=0)
-{options.maxChar=value;if(!options.multilines)
-{if(options.maxChar>0)
-{objects.input.attr('maxlength',options.maxChar);}
-else
-{objects.input.removeAttr('maxlength');}}}
-return(options.maxChar);},setNumRows:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.numRows!=value)&&value>0)
-{options.numRows=value;if(options.multilines)
-{objects.input.attr('rows',options.numRows);}}
-return(options.numRows);},setDisabled:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.disabled!=value)&&(value==true||value==false))
-{options.disabled=value;objects.input.attr('disabled',options.disabled);}
-return(options.disabled);},setTextAlign:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.textAlign!=value)&&(value=='left'||value=='right'))
-{options.textAlign=value;objects.input.css('text-align',options.textAlign);}
-return(options.textAlign);},setMultilines:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.multilines!=value)&&(value==true||value==false))
-{options.multilines=value;if(options.multilines)
-{objects.input=$('<textarea/>');}
-else
-{objects.input=$('<input>',{type:"text",value:''});}
-objects.container.append(objects.input.bind('keyup.inputText',function(event)
-{return(privateMethods.keyUp(object,event));}).bind('change.inputText',function(event)
-{return(privateMethods.change(object,event));}).bind('keydown.inputText',function(event)
-{return(privateMethods.keyDown(object,event));}));}
-return(options.textAlign);},setLanguages:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');options.languages=value;options.languagesValues={};if(options.languages.length>0)
-{if($.inArray(options.currentLanguage,options.languages)<0||options.currentLanguage=='')options.currentLanguage=options.languages[0];for(var i=0;i<options.languages.length;i++)
-{properties.languagesValues[options.languages[i]]='';}}
-else
-{options.currentLanguage='';}
-return(options.languages);},setLanguagesValues:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(value==':clear')
-{for(var langValue in properties.languagesValues)
-{privateMethods.setLanguageValue(object,langValue,'',langValue==options.currentLanguage);}}
-else if(!$.isEmptyObject(value))
-{for(var langValue in value)
-{if(properties.languagesValues[langValue]!=null)
-privateMethods.setLanguageValue(object,langValue,value[langValue],langValue==options.currentLanguage);}}
-return(properties.languagesValues);},setLanguageValue:function(object,language,value,updateInput)
-{var options=object.data('options'),properties=object.data('properties');if(properties.languagesValues[language]!=null)
-{properties.languagesValues[language]=value;if(updateInput)privateMethods.setValue(object,properties.languagesValues[options.currentLanguage],true);}
-return(options.languagesValues);},setCurrentLanguage:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.currentLanguage!=value)&&$.inArray(value,options.languages)>=0)
-{options.currentLanguage=value;privateMethods.setValue(object,properties.languagesValues[options.currentLanguage],true);}
-return(options.currentLanguage);},setLanguageSelector:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.languageSelector!=value)&&value!=''&&$('#'+value).length>0)
-{if(options.languageSelector!='')$('#'+options.languageSelector).unbind('inputListChange');options.languageSelector=value;if(options.languageSelector!='')
-$('#'+options.languageSelector).bind('inputListChange',function(event,lang)
-{privateMethods.setCurrentLanguage(object,lang);});}
-return(options.currentLanguage);},setValue:function(object,value,apply)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(properties.initialized&&properties.value==value)
-{return(properties.value);}
-privateMethods.setIsValid(object,true);properties.value=value;if(apply)
-{objects.input.val(properties.value);}
-if(options.currentLanguage!='')privateMethods.setLanguageValue(object,options.currentLanguage,value,false);if(options.change)object.trigger('inputTextChange',properties.value);return(properties.value);},setEventChange:function(object,value)
-{var options=object.data('options');options.change=value;object.unbind('inputTextChange');if(value)object.bind('inputTextChange',options.change);return(options.change);},keyUp:function(object,event)
-{var objects=object.data('objects');if(event.keyCode==9||event.keyCode==12||event.keyCode==16||event.keyCode==17||event.keyCode==18||event.keyCode==33||event.keyCode==34||event.keyCode==35||event.keyCode==36||event.keyCode==37||event.keyCode==38||event.keyCode==39||event.keyCode==40||event.keyCode==45||event.keyCode==93)return(false);return(privateMethods.setValue(object,objects.input.val(),false));},change:function(object,event)
-{var objects=object.data('objects');return(privateMethods.setValue(object,objects.input.val(),false))},keyDown:function(object,event)
-{var objects=object.data('objects'),options=object.data('options');if(options.maxChar>0&&objects.input.val().length>=options.maxChar&&!(event.keyCode==8||event.keyCode==9||event.keyCode==12||event.keyCode==16||event.keyCode==17||event.keyCode==18||event.keyCode==33||event.keyCode==34||event.keyCode==35||event.keyCode==36||event.keyCode==37||event.keyCode==38||event.keyCode==39||event.keyCode==40||event.keyCode==45||event.keyCode==46||event.keyCode==93||objects.input.get(0).selectionStart!=objects.input.get(0).selectionEnd))return(false);},doTranslation:function(object)
-{var objects=object.data('objects'),properties=object.data('properties'),options=object.data('options');if(googleTranslate!=null)
-{googleTranslate(properties.value,'',options.currentLanguage.substr(0,2),function(result)
-{privateMethods.setValue(object,result,true);});}}};$.fn.inputText=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.inputText');}}})(jQuery);
Index: tensions/GrumPluginClasses/js/ui.tagSelector.min.js
===================================================================
--- /extensions/GrumPluginClasses/js/ui.tagSelector.min.js	(revision 15339)
+++ 	(revision )
@@ -1,273 +1,0 @@
-/* file: ui.tagSelector.js - v1.0.0 | minified on 2011/01/27 with http://jscompress.com/ */
-(function($)
-{var publicMethods={init:function(opt)
-{return this.each(function()
-{var $this=$(this),data=$this.data('options'),objects=$this.data('objects'),properties=$this.data('properties'),options={ignoreCase:true,serverUrl:'plugins/GrumPluginClasses/gpc_ajax.php',serverCallDelay:250,listMaxWidth:0,listMaxHeight:0,maximumTagLoaded:0,textStart:'Start to type text...',textFound:'%s tags found',textDisplay:'display only %s tags',mode:'public',filter:'affected',inputNumCar:5,add:null,remove:null,popup:null,load:null};$this.data('options',options);if(!properties)
-{$this.data('properties',{initialized:false,selectorVisible:false,totalTags:0,tags:[],cache:[],timerHandle:null,isValid:true});properties=$this.data('properties');}
-if(!objects)
-{objects={container:$('<div/>',{'class':'ui-tag-selector-input',css:{width:'100%'}}).bind('click.tagSelector',function()
-{objects.input.focus();}),selectedTagList:$('<ul/>',{html:'','class':'ui-tag-selector-selected-tag-list'}),input:$('<input>',{type:"text",value:''}).bind('focusout.tagSelector',function()
-{privateMethods.lostFocus($this);}).bind('focus.tagSelector',function()
-{privateMethods.getFocus($this);}).bind('keypress.tagSelector',function()
-{privateMethods.setTimerHandle($this);}),selectorList:$('<div/>',{html:"",'class':'ui-tag-selector-list',css:{display:'none',position:'absolute',zIndex:9999}}).bind('mouseleave.tagSelector',function()
-{privateMethods.displaySelector($this,false);}),tagList:$('<ul/>',{css:{listStyle:'none',padding:'0px',margin:'0px',overflow:"auto"}}),textArea:$('<div/>',{html:'','class':'ui-tag-selector-text'})};$this.html('').append(objects.container.append(objects.selectedTagList.append($('<li/>').append(objects.input)))).append(objects.selectorList.append(objects.tagList).append(objects.textArea));$this.data('objects',objects);}
-privateMethods.setOptions($this,opt);});},destroy:function()
-{return this.each(function()
-{var $this=$(this),objects=$this.data('objects');objects.selectedTagList.children().unbind();objects.input.unbind().remove();objects.container.unbind().remove();objects.selectorList.unbind().remove();objects.tagList.remove();$this.unbind('.categorySelector').css({width:'',height:''});});},options:function(value)
-{return this.each(function()
-{privateMethods.setOptions($(this),value);});},ignoreCase:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIgnoreCase($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.ignoreCase);}
-else
-{return(true);}}},inputNumCar:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setInputNumCar($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.inputNumCar);}
-else
-{return(true);}}},maximumTagLoaded:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setMaximumTagLoaded($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.maximumTagLoaded);}
-else
-{return(0);}}},listMaxWidth:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxWidth($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxWidth);}
-else
-{return(0);}}},listMaxHeight:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setListMaxHeight($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.listMaxHeight);}
-else
-{return(0);}}},serverCallDelay:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setServerCallDelay($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.serverCallDelay);}
-else
-{return(0);}}},serverUrl:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setServerUrl($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.serverUrl);}
-else
-{return('');}}},textStart:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setTextStart($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.textStart);}
-else
-{return('');}}},textFound:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setTextFound($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.textFound);}
-else
-{return('');}}},textDisplay:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setTextDisplay($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.textDisplay);}
-else
-{return('');}}},filter:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setFilter($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.filter);}
-else
-{return(true);}}},mode:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setMode($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.mode);}
-else
-{return(true);}}},value:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setValue($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.tags);}},isValid:function(value)
-{if(value!=null)
-{return this.each(function()
-{privateMethods.setIsValid($(this),value);});}
-else
-{var properties=this.data('properties');return(properties.isValid);}},load:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventLoad($(this),value);});}
-else
-{privateMethods.load(this);}},popup:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventPopup($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.popup);}
-else
-{return(null);}}},add:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventAdd($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.add);}
-else
-{return(null);}}},remove:function(value)
-{if(value&&$.isFunction(value))
-{return this.each(function()
-{privateMethods.setEventRemove($(this),value);});}
-else
-{var options=this.data('options');if(options)
-{return(options.remove);}
-else
-{return(null);}}},numberOfTags:function()
-{var properties=this.data('properties');if(properties)
-{return(properties.tags.length);}
-else
-{return(null);}}};var privateMethods={setOptions:function(object,value)
-{var properties=object.data('properties'),options=object.data('options');if(!$.isPlainObject(value))return(false);properties.initialized=false;privateMethods.setIgnoreCase(object,(value.ignoreCase!=null)?value.ignoreCase:options.ignoreCase);privateMethods.setInputNumCar(object,(value.inputNumCar!=null)?value.inputNumCar:options.inputNumCar);privateMethods.setValue(object,(value.value!=null)?value.value:[]);privateMethods.setMaximumTagLoaded(object,(value.maximumTagLoaded!=null)?value.maximumTagLoaded:options.maximumTagLoaded);privateMethods.setTextStart(object,(value.textStart!=null)?value.textStart:options.textStart);privateMethods.setTextFound(object,(value.textFound!=null)?value.textFound:options.textFound);privateMethods.setTextDisplay(object,(value.textDisplay!=null)?value.textDisplay:options.textDisplay);privateMethods.setListMaxWidth(object,(value.listMaxWidth!=null)?value.listMaxWidth:options.listMaxWidth);privateMethods.setListMaxHeight(object,(value.listMaxHeight!=null)?value.listMaxHeight:options.listMaxHeight);privateMethods.setServerCallDelay(object,(value.serverCallDelay!=null)?value.serverCallDelay:options.serverCallDelay);privateMethods.setServerUrl(object,(value.serverUrl!=null)?value.serverUrl:options.serverUrl);privateMethods.setMode(object,(value.mode!=null)?value.mode:options.mode);privateMethods.setFilter(object,(value.filter!=null)?value.filter:options.filter);privateMethods.setEventPopup(object,(value.popup!=null)?value.popup:options.popup);privateMethods.setEventAdd(object,(value.add!=null)?value.add:options.add);privateMethods.setEventRemove(object,(value.remove!=null)?value.remove:options.remove);privateMethods.setEventLoad(object,(value.load!=null)?value.load:options.load);if(options.autoLoad)privateMethods.load(object);properties.initialized=true;},setIsValid:function(object,value)
-{var objects=object.data('objects'),properties=object.data('properties');if(properties.isValid!=value)
-{properties.isValid=value;if(properties.isValid)
-{objects.container.removeClass('ui-error');objects.input.removeClass('ui-error');}
-else
-{objects.container.addClass('ui-error');objects.input.addClass('ui-error');}}
-return(properties.isValid);},setIgnoreCase:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.ignoreCase!=value)&&(value==true||value==false))
-{options.ignoreCase=value;}
-return(options.ignoreCase);},setInputNumCar:function(object,value)
-{var options=object.data('options'),objects=object.data('objects'),properties=object.data('properties');if((!properties.initialized||options.inputNumCar!=value)&&value>0)
-{options.inputNumCar=value;objects.input.attr('size',options.inputNumCar);}
-return(options.inputNumCar);},setMaximumTagLoaded:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.setMaximumTagLoaded!=value)&&value>=0)
-{options.maximumTagLoaded=value;}
-return(options.maximumTagLoaded);},setTextStart:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.textStart!=value)
-{options.textStart=value;}
-return(options.textStart);},setTextFound:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.textFound!=value)
-{options.textFound=value;}
-return(options.textFound);},setTextDisplay:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.textDisplay!=value)
-{options.textDisplay=value;}
-return(options.textDisplay);},setListMaxWidth:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxWidth!=value)&&value>=0)
-{options.listMaxWidth=value;if(options.listMaxWidth>0)
-{objects.selectorList.css('max-width',options.listMaxWidth+'px');}
-else
-{objects.selectorList.css('max-width','');}}
-return(options.listMaxWidth);},setListMaxHeight:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if((!properties.initialized||options.listMaxHeight!=value)&&value>=0)
-{options.listMaxHeight=value;if(options.listMaxHeight>0)
-{objects.tagList.css('max-height',options.listMaxHeight+'px');}
-else
-{objects.tagList.css('max-height','');}}
-return(options.listMaxHeight);},setServerCallDelay:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.serverCallDelay!=value)&&value>0)
-{options.serverCallDelay=value;}
-return(options.serverCallDelay);},setServerUrl:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if(!properties.initialized||options.serverUrl!=value)
-{options.serverUrl=value;if(options.autoLoad&&properties.initialized)privateMethods.load(object);}
-return(options.serverUrl);},setMode:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.mode!=value)&&(value=='admin'||value=='public'))
-{options.mode=value;}
-return(options.mode);},setFilter:function(object,value)
-{var options=object.data('options'),properties=object.data('properties');if((!properties.initialized||options.filter!=value)&&(value=='all'||value=='affected'))
-{options.filter=value;}
-return(options.filter);},setValue:function(object,value)
-{var properties=object.data('properties'),objects=object.data('objects');if(value=='clear')
-{properties.tags=[];objects.selectedTagList.children('.ui-tag-selector-selected-tag').remove();privateMethods.cacheClear(object);objects.input.val('');}
-else
-{if(!$.isArray(value))
-{value=[value];}
-for(var i=0;i<value.length;i++)
-{if(value[i].id!=null&&value[i].name!=null)
-{if(privateMethods.removeTag(object,value[i].id)==-1)privateMethods.addTag(object,value[i].id,value[i].name);}
-else
-{privateMethods.removeTag(object,value[i]);}}}
-return(null);},displaySelector:function(object,value)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects'),popup=false;if(properties.selectorVisible!=value)popup=true;;properties.selectorVisible=value;if(properties.selectorVisible)
-{if(properties.cache.length>0)
-{objects.tagList.css('display','block');if(properties.cache.length<properties.totalTags)
-{objects.textArea.html(options.textFound.replace('%s',properties.totalTags)+', '+
-options.textDisplay.replace('%s',properties.cache.length)).css('display','block');}
-else
-{objects.textArea.html(options.textFound.replace('%s',properties.cache.length)).css('display','block');}}
-else if(options.textStart!='')
-{objects.tagList.css('display','none');objects.textArea.html(options.textStart).css('display','block');}
-else
-{objects.textArea.html('').css('display','none');}
-objects.selectorList.css({display:'block','min-width':objects.selectorList.parent().css('width')});}
-else
-{objects.selectorList.css('display','none');}
-if(options.popup&&popup)object.trigger('tagSelectorPopup',[properties.selectorVisible]);return(properties.selectorVisible);},load:function(object)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');privateMethods.clearTimerHandle(object);if(objects.input.val()=='')
-{privateMethods.cacheClear(object);privateMethods.displaySelector(object,true);return(false);}
-$.ajax({type:"POST",url:options.serverUrl,data:{ajaxfct:options.mode+'.tagSelector.get',filter:options.filter,maxTags:options.maximumTagLoaded,ignoreCase:options.ignoreCase,letters:objects.input.val()},async:true,success:function(msg)
-{list=$.parseJSON(msg);properties.totalTags=list.totalNbTags;privateMethods.cacheClear(object);privateMethods.cacheAddItems(object,list.tags);if(options.load)object.trigger('tagSelectorLoad');privateMethods.displaySelector(object,true);},error:function(msg)
-{objects.selectorList.html('Error ! '+msg);}});},cacheClear:function(object)
-{var objects=object.data('objects'),properties=object.data('properties');objects.tagList.children().unbind().remove();properties.cache=[];},cacheAddItems:function(object,listItems)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');for(var i=0;i<listItems.length;i++)
-{properties.cache.push({id:listItems[i].id,name:listItems[i].name});if(options.ignoreCase)
-{var re=new RegExp('(.*)('+objects.input.val()+')(.*)','i');}
-else
-{var re=new RegExp('(.*)('+objects.input.val()+')(.*)');}
-tmpResult=re.exec(listItems[i].name);if(tmpResult!=null)
-{tmpResult=tmpResult[1]+'<span class="ui-tag-selector-highlight">'+tmpResult[2]+'</span>'+tmpResult[3];}
-else
-{tmpResult=listItems[i].name;}
-var li=$('<li/>',{html:tmpResult,value:listItems[i].id,'class':'ui-tag-selector-list-item'}).bind('mousedown.tagSelector',{object:object},function(event)
-{privateMethods.addTag(event.data.object,$(this).attr('value'),$(this).text());});objects.tagList.append(li);}},addTag:function(object,id,name)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');if(privateMethods.findTagById(object,id)==-1)
-{properties.tags.push({id:id,name:name});var li=$('<li/>',{value:id,html:name,'class':'ui-tag-selector-selected-tag'}).prepend($('<span/>',{html:'x'}).bind('click.tagSelector',{object:object},function(event)
-{privateMethods.removeTag(event.data.object,$(this).parent().attr('value'));}));objects.input.val('').parent().before(li);if(options.add)object.trigger('tagSelectorAdd',id);}},removeTag:function(object,id)
-{var options=object.data('options'),properties=object.data('properties'),objects=object.data('objects');var index=privateMethods.findTagById(object,id);if(index>-1)
-{properties.tags.splice(index,1);objects.selectedTagList.children('[value='+id+']').remove();if(options.remove)object.trigger('tagSelectorRemove',id);}
-return(index);},findTagById:function(object,value)
-{var properties=object.data('properties');for(var i=0;i<properties.tags.length;i++)
-{if(properties.tags[i].id==value)return(i);}
-return(-1);},getFocus:function(object)
-{privateMethods.displaySelector(object,true);},lostFocus:function(object)
-{privateMethods.displaySelector(object,false);},setEventPopup:function(object,value)
-{var options=object.data('options');options.popup=value;object.unbind('tagSelectorPopup');if(value)object.bind('tagSelectorPopup',options.popup);return(options.popup);},setEventAdd:function(object,value)
-{var options=object.data('options');options.add=value;object.unbind('tagSelectorAdd');if(value)object.bind('tagSelectorAdd',options.add);return(options.add);},setEventRemove:function(object,value)
-{var options=object.data('options');options.remove=value;object.unbind('tagSelectorRemove');if(value)object.bind('tagSelectorRemove',options.remove);return(options.remove);},setEventLoad:function(object,value)
-{var options=object.data('options');options.load=value;object.unbind('categorySelectorLoad');if(value)object.bind('tagSelectorLoad',options.load);return(options.load);},clearTimerHandle:function(object)
-{var properties=object.data('properties');if(properties.timerHandle!=null)
-{window.clearInterval(properties.timerHandle);properties.timerHandle=null;}},setTimerHandle:function(object)
-{var properties=object.data('properties'),options=object.data('options');privateMethods.clearTimerHandle(object);properties.timerHandle=window.setInterval(function(){privateMethods.load(object);},options.serverCallDelay);},};$.fn.tagSelector=function(method)
-{if(publicMethods[method])
-{return publicMethods[method].apply(this,Array.prototype.slice.call(arguments,1));}
-else if(typeof method==='object'||!method)
-{return publicMethods.init.apply(this,arguments);}
-else
-{$.error('Method '+method+' does not exist on jQuery.tagSelector');}}})(jQuery);
Index: /extensions/GrumPluginClasses/main.inc.php
===================================================================
--- /extensions/GrumPluginClasses/main.inc.php	(revision 15339)
+++ /extensions/GrumPluginClasses/main.inc.php	(revision 15340)
@@ -169,7 +169,12 @@
 |         |            |   . [form_mail]
 |         |            |
+|         |            | * Add UserAgent classes
+|         |            |
 |         |            | * mantis bug:2160
 |         |            |   . CategorySelector : extended description are not
 |         |            |     managed
+|         |            |
+|         |            | * mantis feature:2634
+|         |            |   . Compatibility with Piwigo 2.4
 |         |            |
 |         |            |
