NextGEN Gallery – WordPress Gallery Plugin - Version 2.0.74

Version Description

  • 02.20.2015 =
  • Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
Download this release

Release Info

Developer photocrati
Plugin Icon 128x128 NextGEN Gallery – WordPress Gallery Plugin
Version 2.0.74
Comparing to
See all releases

Code changes from version 2.0.71 to 2.0.74

Files changed (50) hide show
  1. .hg_archival.txt +2 -3
  2. .hgtags +7 -0
  3. changelog.txt +3 -0
  4. nggallery.php +2 -2
  5. products/photocrati_nextgen/modules/lightbox/module.lightbox.php +2 -1
  6. products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php +38 -16
  7. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png +0 -0
  8. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png +0 -0
  9. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif +0 -0
  10. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png +0 -0
  11. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif +0 -0
  12. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif +0 -0
  13. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif +0 -0
  14. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif +0 -0
  15. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif +0 -0
  16. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif +0 -0
  17. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif +0 -0
  18. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png +0 -0
  19. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif +0 -0
  20. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif +0 -0
  21. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif +0 -0
  22. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd +0 -0
  23. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png +0 -0
  24. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png +0 -0
  25. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png +0 -0
  26. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png +0 -0
  27. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png +0 -0
  28. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png +0 -0
  29. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif +0 -0
  30. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png +0 -0
  31. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur +0 -0
  32. products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur +0 -0
  33. products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js +0 -3320
  34. products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js +0 -1
  35. products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css +0 -889
  36. products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.css +0 -1
  37. products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js +0 -48
  38. products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.min.js +0 -1
  39. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.css +0 -105
  40. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.min.css +0 -1
  41. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.min.js +0 -32
  42. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif +0 -0
  43. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif +0 -0
  44. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif +0 -0
  45. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif +0 -0
  46. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif +0 -0
  47. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js +0 -15
  48. products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.min.js +0 -1
  49. products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php +7 -1
  50. readme.txt +5 -2
.hg_archival.txt CHANGED
@@ -1,5 +1,4 @@
1
  repo: 2b82bc45fbe039c6f4c9f0c667e9cd1ee4d84cbb
2
- node: 9121ce58e2e2cbcab763df640a7a92a2fb38817e
3
  branch: no-input-file-fix
4
- latesttag: 2.0.71
5
- latesttagdistance: 1
1
  repo: 2b82bc45fbe039c6f4c9f0c667e9cd1ee4d84cbb
2
+ node: 9dc92ef331cf637549f71c6a6a057038d7abce88
3
  branch: no-input-file-fix
4
+ tag: 2.0.74
 
.hgtags CHANGED
@@ -249,3 +249,10 @@ ce5295230db4b8810fd10777a97cc73b73642714 2.0.67.62
249
  32c7eff8d9fcb236b61a1a88c7b854ab666bb014 2.0.68
250
  e614357ef4c42015595284ba805b88a440e10ca4 2.0.70
251
  4bdfeeddc58169e129fa414591440e1bf62f3365 2.0.71
 
 
 
 
 
 
 
249
  32c7eff8d9fcb236b61a1a88c7b854ab666bb014 2.0.68
250
  e614357ef4c42015595284ba805b88a440e10ca4 2.0.70
251
  4bdfeeddc58169e129fa414591440e1bf62f3365 2.0.71
252
+ 4d7a4df8f2588a8d4867a9730b3da0fc2dfd3487 2.0.72
253
+ 4d7a4df8f2588a8d4867a9730b3da0fc2dfd3487 2.0.72
254
+ 0000000000000000000000000000000000000000 2.0.72
255
+ 0000000000000000000000000000000000000000 2.0.72
256
+ c6e2e1431af5d6cd7bc49c07e167a71d937c921e 2.0.72
257
+ 2c16ebb1e99e48ad53b7c71865bdb4f828901a03 2.0.73
258
+ 4e20a2d2c0ca46a04c95f5487eabd8d02e1cbfd3 2.0.73.1
changelog.txt CHANGED
@@ -1,6 +1,9 @@
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
 
 
 
4
  = V2.0.71 - 02.19.2015 =
5
  * NEW: Module files are compiled into a single package file to reduce disk I/O
6
  * NEW: All CSS stylesheets and Javascript source files are minified to reduce latency
1
  NextGEN Gallery
2
  by Photocrati Media
3
 
4
+ = V2.0.74 - 02.20.2015 =
5
+ * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
6
+
7
  = V2.0.71 - 02.19.2015 =
8
  * NEW: Module files are compiled into a single package file to reduce disk I/O
9
  * NEW: All CSS stylesheets and Javascript source files are minified to reduce latency
nggallery.php CHANGED
@@ -4,7 +4,7 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You
4
  /**
5
  * Plugin Name: NextGEN Gallery by Photocrati
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 11 million downloads.
7
- * Version: 2.0.71
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
@@ -583,7 +583,7 @@ class C_NextGEN_Bootstrap
583
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
584
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
585
  define('NGG_PLUGIN_STARTED_AT', microtime());
586
- define('NGG_PLUGIN_VERSION', '2.0.71');
587
 
588
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
589
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
4
  /**
5
  * Plugin Name: NextGEN Gallery by Photocrati
6
  * Description: The most popular gallery plugin for WordPress and one of the most popular plugins of all time with over 11 million downloads.
7
+ * Version: 2.0.74
8
  * Author: Photocrati Media
9
  * Plugin URI: http://www.nextgen-gallery.com
10
  * Author URI: http://www.photocrati.com
583
  define('NGG_PRODUCT_URL', path_join(str_replace("\\", '/', NGG_PLUGIN_URL), 'products'));
584
  define('NGG_MODULE_URL', path_join(str_replace("\\", '/', NGG_PRODUCT_URL), 'photocrati_nextgen/modules'));
585
  define('NGG_PLUGIN_STARTED_AT', microtime());
586
+ define('NGG_PLUGIN_VERSION', '2.0.74');
587
 
588
  if (!defined('NGG_HIDE_STRICT_ERRORS')) {
589
  define('NGG_HIDE_STRICT_ERRORS', TRUE);
products/photocrati_nextgen/modules/lightbox/module.lightbox.php CHANGED
@@ -47,7 +47,8 @@ class M_Lightbox extends C_Base_Module
47
  function get_type_list()
48
  {
49
  return array(
50
- 'C_Lightbox_Library_Manager' => 'class.lightbox_library_manager.php',
 
51
  );
52
  }
53
  }
47
  function get_type_list()
48
  {
49
  return array(
50
+ 'C_Lightbox_Installer' => 'class.lightbox_legacy_installer.php',
51
+ 'C_Lightbox_Library_Manager' => 'class.lightbox_library_manager.php'
52
  );
53
  }
54
  }
products/photocrati_nextgen/modules/lightbox/package.module.lightbox.php CHANGED
@@ -1,4 +1,32 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  class C_Lightbox_Library_Manager
3
  {
4
  private $_lightboxes = array();
@@ -24,14 +52,6 @@ class C_Lightbox_Library_Manager
24
  $none = new stdClass();
25
  $none->title = __('None', 'nggallery');
26
  $this->register('none', $none);
27
- // Add JQuery Lightbox
28
- $lightbox = new stdClass();
29
- $lightbox->title = __('jQuery Lightbox', 'nggallery');
30
- $lightbox->code = 'class="ngg_lightbox"';
31
- $lightbox->styles = array('photocrati-lightbox#jquery.lightbox/jquery.lightbox.css');
32
- $lightbox->scripts = array('photocrati-lightbox#jquery.lightbox/jquery.lightbox.min.js', 'photocrati-lightbox#jquery.lightbox/nextgen_lightbox_init.js');
33
- $lightbox->values = array('nextgen_lightbox_loading_img_url' => $router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-ico-loading.gif'), 'nextgen_lightbox_close_btn_url' => $router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-close.gif'), 'nextgen_lightbox_btn_prev_url' => $router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-prev.gif'), 'nextgen_lightbox_btn_next_url' => $router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-btn-next.gif'), 'nextgen_lightbox_blank_img_url' => $router->get_static_url('photocrati-lightbox#jquery.lightbox/lightbox-blank.gif'));
34
- $this->register('lightbox', $lightbox);
35
  // Add Fancybox
36
  $fancybox = new stdClass();
37
  $fancybox->title = __('Fancybox', 'nggallery');
@@ -39,14 +59,6 @@ class C_Lightbox_Library_Manager
39
  $fancybox->styles = array('photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.css');
40
  $fancybox->scripts = array('photocrati-lightbox#fancybox/jquery.easing-1.3.pack.js', 'photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.pack.js', 'photocrati-lightbox#fancybox/nextgen_fancybox_init.js');
41
  $this->register('fancybox', $fancybox);
42
- // Add Highslide
43
- $highslide = new stdClass();
44
- $highslide->title = __('Highslide', 'nggallery');
45
- $highslide->code = 'class="highslide" onclick="return hs.expand(this, {slideshowGroup: ' . '\'%GALLERY_NAME%\'' . '});"';
46
- $highslide->styles = array('photocrati-lightbox#highslide/highslide.css');
47
- $highslide->scripts = array('photocrati-lightbox#highslide/highslide-full.js', 'photocrati-lightbox#highslide/nextgen_highslide_init.js');
48
- $highslide->values = array('nextgen_highslide_graphics_dir' => $router->get_static_url('photocrati-lightbox#highslide/graphics'), 'nextgen_highslide_i18n' => array('cssDirection' => __('ltr', 'nggallery'), 'loadingText' => __('Loading...', 'nggallery'), 'previousText' => __('Previous', 'nggallery'), 'nextText' => __('Next', 'nggallery'), 'moveText' => __('Move', 'nggallery'), 'closeText' => __('Close', 'nggallery'), 'resizeTitle' => __('Resize', 'nggallery'), 'playText' => __('Play', 'nggallery'), 'pauseText' => __('Pause', 'nggallery'), 'moveTitle' => __('Move', 'nggallery'), 'fullExpandText' => __('1:1', 'nggallery'), 'closeTitle' => __('Close (esc)', 'nggallery'), 'pauseTitle' => __('Pause slideshow (spacebar)', 'nggallery'), 'loadingTitle' => __('Click to cancel', 'nggallery'), 'focusTitle' => __('Click to bring to front', 'nggallery'), 'fullExpandTitle' => __('Expand to actual size (f)', 'nggallery'), 'creditsText' => __('Powered by Highslide JS', 'nggallery'), 'playTitle' => __('Play slideshow (spacebar)', 'nggallery'), 'previousTitle' => __('Previous (arrow left)', 'nggallery'), 'nextTitle' => __('Next (arrow right)', 'nggallery'), 'number' => __('Image %1 of %2', 'nggallery'), 'creditsTitle' => __('Go to the Highslide JS homepage', 'nggallery'), 'restoreTitle' => __('Click to close image, click and drag to move. Use arrow keys for next and previous.', 'nggallery')));
49
- $this->register('highslide', $highslide);
50
  // Add Shutter
51
  $shutter = new stdClass();
52
  $shutter->title = __('Shutter', 'nggallery');
@@ -126,9 +138,19 @@ class C_Lightbox_Library_Manager
126
  }
127
  return $retval;
128
  }
 
 
 
 
 
 
 
129
  public function get_selected()
130
  {
131
  $settings = C_NextGen_Settings::get_instance();
 
 
 
132
  return $this->get($settings->thumbEffect);
133
  }
134
  public function get_selected_context()
1
  <?php
2
+ class C_Lightbox_Installer_Mapper
3
+ {
4
+ public function find_by_name()
5
+ {
6
+ return NULL;
7
+ }
8
+ }
9
+ class C_Lightbox_Installer
10
+ {
11
+ public function __construct()
12
+ {
13
+ $this->mapper = new C_Lightbox_Installer_Mapper();
14
+ }
15
+ public function install_lightbox($name, $title, $code, $stylesheet_paths = array(), $script_paths = array(), $values = array(), $i18n = array())
16
+ {
17
+ $lightbox = new stdClass();
18
+ $lightbox->name = $name;
19
+ $lightbox->title = $title;
20
+ $lightbox->code = $code;
21
+ $lightbox->values = $values;
22
+ $lightbox->i18n = $i18n;
23
+ $lightbox->styles = implode('
24
+ ', $stylesheet_paths);
25
+ $lightbox->scripts = implode('
26
+ ', $script_paths);
27
+ C_Lightbox_Library_Manager::get_instance()->register($name, $lightbox);
28
+ }
29
+ }
30
  class C_Lightbox_Library_Manager
31
  {
32
  private $_lightboxes = array();
52
  $none = new stdClass();
53
  $none->title = __('None', 'nggallery');
54
  $this->register('none', $none);
 
 
 
 
 
 
 
 
55
  // Add Fancybox
56
  $fancybox = new stdClass();
57
  $fancybox->title = __('Fancybox', 'nggallery');
59
  $fancybox->styles = array('photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.css');
60
  $fancybox->scripts = array('photocrati-lightbox#fancybox/jquery.easing-1.3.pack.js', 'photocrati-lightbox#fancybox/jquery.fancybox-1.3.4.pack.js', 'photocrati-lightbox#fancybox/nextgen_fancybox_init.js');
61
  $this->register('fancybox', $fancybox);
 
 
 
 
 
 
 
 
62
  // Add Shutter
63
  $shutter = new stdClass();
64
  $shutter->title = __('Shutter', 'nggallery');
138
  }
139
  return $retval;
140
  }
141
+ /**
142
+ * Returns which lightbox effect has been chosen
143
+ *
144
+ * Highslide and jQuery.Lightbox were removed in 2.0.73 due to licensing. If a user has selected
145
+ * either of those options we silently make their selection fallback to Fancybox
146
+ * @return null|string
147
+ */
148
  public function get_selected()
149
  {
150
  $settings = C_NextGen_Settings::get_instance();
151
+ if (in_array($settings->thumbEffect, array('highslide', 'lightbox'))) {
152
+ $settings->thumbEffect = 'fancybox';
153
+ }
154
  return $this->get($settings->thumbEffect);
155
  }
156
  public function get_selected_context()
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/close.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/closeX.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-black-border.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-text-buttons.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white-small.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar-white.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar2.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar3.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4-hover.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/controlbar4.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/fullexpand.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/geckodimmer.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/icon.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/loader.white.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/Outlines.psd DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/beveled.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/drop-shadow.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/glossy-dark.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/outer-glow.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-black.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/outlines/rounded-white.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/resize.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/scrollarrows.png DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomin.cur DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/graphics/zoomout.cur DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.js DELETED
@@ -1,3320 +0,0 @@
1
- /**
2
- * Name: Highslide JS
3
- * Version: 4.1.13 (2011-10-06)
4
- * Config: default +events +unobtrusive +imagemap +slideshow +positioning +transitions +viewport +thumbstrip +inline +ajax +iframe +flash
5
- * Author: Torstein Hønsi
6
- * Support: www.highslide.com/support
7
- * License: www.highslide.com/#license
8
- */
9
- if (!hs) { var hs = {
10
- // Language strings
11
- lang : {
12
- cssDirection: 'ltr',
13
- loadingText : 'Loading...',
14
- loadingTitle : 'Click to cancel',
15
- focusTitle : 'Click to bring to front',
16
- fullExpandTitle : 'Expand to actual size (f)',
17
- creditsText : 'Powered by <i>Highslide JS</i>',
18
- creditsTitle : 'Go to the Highslide JS homepage',
19
- previousText : 'Previous',
20
- nextText : 'Next',
21
- moveText : 'Move',
22
- closeText : 'Close',
23
- closeTitle : 'Close (esc)',
24
- resizeTitle : 'Resize',
25
- playText : 'Play',
26
- playTitle : 'Play slideshow (spacebar)',
27
- pauseText : 'Pause',
28
- pauseTitle : 'Pause slideshow (spacebar)',
29
- previousTitle : 'Previous (arrow left)',
30
- nextTitle : 'Next (arrow right)',
31
- moveTitle : 'Move',
32
- fullExpandText : '1:1',
33
- number: 'Image %1 of %2',
34
- restoreTitle : 'Click to close image, click and drag to move. Use arrow keys for next and previous.'
35
- },
36
- // See http://highslide.com/ref for examples of settings
37
- graphicsDir : 'highslide/graphics/',
38
- expandCursor : 'zoomin.cur', // null disables
39
- restoreCursor : 'zoomout.cur', // null disables
40
- expandDuration : 250, // milliseconds
41
- restoreDuration : 250,
42
- marginLeft : 15,
43
- marginRight : 15,
44
- marginTop : 15,
45
- marginBottom : 15,
46
- zIndexCounter : 10001, // adjust to other absolutely positioned elements
47
- loadingOpacity : 0.75,
48
- allowMultipleInstances: true,
49
- numberOfImagesToPreload : 5,
50
- outlineWhileAnimating : 2, // 0 = never, 1 = always, 2 = HTML only
51
- outlineStartOffset : 3, // ends at 10
52
- padToMinWidth : false, // pad the popup width to make room for wide caption
53
- fullExpandPosition : 'bottom right',
54
- fullExpandOpacity : 1,
55
- showCredits : true, // you can set this to false if you want
56
- creditsHref : 'http://highslide.com/',
57
- creditsTarget : '_self',
58
- enableKeyListener : true,
59
- openerTagNames : ['a', 'area'], // Add more to allow slideshow indexing
60
- transitions : [],
61
- transitionDuration: 250,
62
- dimmingOpacity: 0, // Lightbox style dimming background
63
- dimmingDuration: 50, // 0 for instant dimming
64
-
65
- allowWidthReduction : false,
66
- allowHeightReduction : true,
67
- preserveContent : true, // Preserve changes made to the content and position of HTML popups.
68
- objectLoadTime : 'before', // Load iframes 'before' or 'after' expansion.
69
- cacheAjax : true, // Cache ajax popups for instant display. Can be overridden for each popup.
70
- anchor : 'auto', // where the image expands from
71
- align : 'auto', // position in the client (overrides anchor)
72
- targetX: null, // the id of a target element
73
- targetY: null,
74
- dragByHeading: true,
75
- minWidth: 200,
76
- minHeight: 200,
77
- allowSizeReduction: true, // allow the image to reduce to fit client size. If false, this overrides minWidth and minHeight
78
- outlineType : 'drop-shadow', // set null to disable outlines
79
- skin : {
80
- controls:
81
- '<div class="highslide-controls"><ul>'+
82
- '<li class="highslide-previous">'+
83
- '<a href="#" title="{hs.lang.previousTitle}">'+
84
- '<span>{hs.lang.previousText}</span></a>'+
85
- '</li>'+
86
- '<li class="highslide-play">'+
87
- '<a href="#" title="{hs.lang.playTitle}">'+
88
- '<span>{hs.lang.playText}</span></a>'+
89
- '</li>'+
90
- '<li class="highslide-pause">'+
91
- '<a href="#" title="{hs.lang.pauseTitle}">'+
92
- '<span>{hs.lang.pauseText}</span></a>'+
93
- '</li>'+
94
- '<li class="highslide-next">'+
95
- '<a href="#" title="{hs.lang.nextTitle}">'+
96
- '<span>{hs.lang.nextText}</span></a>'+
97
- '</li>'+
98
- '<li class="highslide-move">'+
99
- '<a href="#" title="{hs.lang.moveTitle}">'+
100
- '<span>{hs.lang.moveText}</span></a>'+
101
- '</li>'+
102
- '<li class="highslide-full-expand">'+
103
- '<a href="#" title="{hs.lang.fullExpandTitle}">'+
104
- '<span>{hs.lang.fullExpandText}</span></a>'+
105
- '</li>'+
106
- '<li class="highslide-close">'+
107
- '<a href="#" title="{hs.lang.closeTitle}" >'+
108
- '<span>{hs.lang.closeText}</span></a>'+
109
- '</li>'+
110
- '</ul></div>'
111
- ,
112
- contentWrapper:
113
- '<div class="highslide-header"><ul>'+
114
- '<li class="highslide-previous">'+
115
- '<a href="#" title="{hs.lang.previousTitle}" onclick="return hs.previous(this)">'+
116
- '<span>{hs.lang.previousText}</span></a>'+
117
- '</li>'+
118
- '<li class="highslide-next">'+
119
- '<a href="#" title="{hs.lang.nextTitle}" onclick="return hs.next(this)">'+
120
- '<span>{hs.lang.nextText}</span></a>'+
121
- '</li>'+
122
- '<li class="highslide-move">'+
123
- '<a href="#" title="{hs.lang.moveTitle}" onclick="return false">'+
124
- '<span>{hs.lang.moveText}</span></a>'+
125
- '</li>'+
126
- '<li class="highslide-close">'+
127
- '<a href="#" title="{hs.lang.closeTitle}" onclick="return hs.close(this)">'+
128
- '<span>{hs.lang.closeText}</span></a>'+
129
- '</li>'+
130
- '</ul></div>'+
131
- '<div class="highslide-body"></div>'+
132
- '<div class="highslide-footer"><div>'+
133
- '<span class="highslide-resize" title="{hs.lang.resizeTitle}"><span></span></span>'+
134
- '</div></div>'
135
- },
136
- // END OF YOUR SETTINGS
137
-
138
-
139
- // declare internal properties
140
- preloadTheseImages : [],
141
- continuePreloading: true,
142
- expanders : [],
143
- overrides : [
144
- 'allowSizeReduction',
145
- 'useBox',
146
- 'anchor',
147
- 'align',
148
- 'targetX',
149
- 'targetY',
150
- 'outlineType',
151
- 'outlineWhileAnimating',
152
- 'captionId',
153
- 'captionText',
154
- 'captionEval',
155
- 'captionOverlay',
156
- 'headingId',
157
- 'headingText',
158
- 'headingEval',
159
- 'headingOverlay',
160
- 'creditsPosition',
161
- 'dragByHeading',
162
- 'autoplay',
163
- 'numberPosition',
164
- 'transitions',
165
- 'dimmingOpacity',
166
-
167
- 'width',
168
- 'height',
169
-
170
- 'contentId',
171
- 'allowWidthReduction',
172
- 'allowHeightReduction',
173
- 'preserveContent',
174
- 'maincontentId',
175
- 'maincontentText',
176
- 'maincontentEval',
177
- 'objectType',
178
- 'cacheAjax',
179
- 'objectWidth',
180
- 'objectHeight',
181
- 'objectLoadTime',
182
- 'swfOptions',
183
- 'wrapperClassName',
184
- 'minWidth',
185
- 'minHeight',
186
- 'maxWidth',
187
- 'maxHeight',
188
- 'pageOrigin',
189
- 'slideshowGroup',
190
- 'easing',
191
- 'easingClose',
192
- 'fadeInOut',
193
- 'src'
194
- ],
195
- overlays : [],
196
- idCounter : 0,
197
- oPos : {
198
- x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'],
199
- y: ['above', 'top', 'middle', 'bottom', 'below']
200
- },
201
- mouse: {},
202
- headingOverlay: {},
203
- captionOverlay: {},
204
- swfOptions: { flashvars: {}, params: {}, attributes: {} },
205
- timers : [],
206
-
207
- slideshows : [],
208
-
209
- pendingOutlines : {},
210
- sleeping : [],
211
- preloadTheseAjax : [],
212
- cacheBindings : [],
213
- cachedGets : {},
214
- clones : {},
215
- onReady: [],
216
- uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 :
217
- parseFloat((navigator.userAgent.toLowerCase().match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1]),
218
- ie : (document.all && !window.opera),
219
- //ie : navigator && /MSIE [678]/.test(navigator.userAgent), // ie9 compliant?
220
- safari : /Safari/.test(navigator.userAgent),
221
- geckoMac : /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),
222
-
223
- $ : function (id) {
224
- if (id) return document.getElementById(id);
225
- },
226
-
227
- push : function (arr, val) {
228
- arr[arr.length] = val;
229
- },
230
-
231
- createElement : function (tag, attribs, styles, parent, nopad) {
232
- var el = document.createElement(tag);
233
- if (attribs) hs.extend(el, attribs);
234
- if (nopad) hs.setStyles(el, {padding: 0, border: 'none', margin: 0});
235
- if (styles) hs.setStyles(el, styles);
236
- if (parent) parent.appendChild(el);
237
- return el;
238
- },
239
-
240
- extend : function (el, attribs) {
241
- for (var x in attribs) el[x] = attribs[x];
242
- return el;
243
- },
244
-
245
- setStyles : function (el, styles) {
246
- for (var x in styles) {
247
- if (hs.ieLt9 && x == 'opacity') {
248
- if (styles[x] > 0.99) el.style.removeAttribute('filter');
249
- else el.style.filter = 'alpha(opacity='+ (styles[x] * 100) +')';
250
- }
251
- else el.style[x] = styles[x];
252
- }
253
- },
254
- animate: function(el, prop, opt) {
255
- var start,
256
- end,
257
- unit;
258
- if (typeof opt != 'object' || opt === null) {
259
- var args = arguments;
260
- opt = {
261
- duration: args[2],
262
- easing: args[3],
263
- complete: args[4]
264
- };
265
- }
266
- if (typeof opt.duration != 'number') opt.duration = 250;
267
- opt.easing = Math[opt.easing] || Math.easeInQuad;
268
- opt.curAnim = hs.extend({}, prop);
269
- for (var name in prop) {
270
- var e = new hs.fx(el, opt , name );
271
-
272
- start = parseFloat(hs.css(el, name)) || 0;
273
- end = parseFloat(prop[name]);
274
- unit = name != 'opacity' ? 'px' : '';
275
-
276
- e.custom( start, end, unit );
277
- }
278
- },
279
- css: function(el, prop) {
280
- if (el.style[prop]) {
281
- return el.style[prop];
282
- } else if (document.defaultView) {
283
- return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop);
284
-
285
- } else {
286
- if (prop == 'opacity') prop = 'filter';
287
- var val = el.currentStyle[prop.replace(/\-(\w)/g, function (a, b){ return b.toUpperCase(); })];
288
- if (prop == 'filter')
289
- val = val.replace(/alpha\(opacity=([0-9]+)\)/,
290
- function (a, b) { return b / 100 });
291
- return val === '' ? 1 : val;
292
- }
293
- },
294
-
295
- getPageSize : function () {
296
- var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat'
297
- ? d.documentElement : d.body,
298
- ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined');
299
-
300
- var width = ieLt9 ? iebody.clientWidth :
301
- (d.documentElement.clientWidth || self.innerWidth),
302
- height = ieLt9 ? iebody.clientHeight : self.innerHeight;
303
- hs.page = {
304
- width: width,
305
- height: height,
306
- scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset,
307
- scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset
308
- };
309
- return hs.page;
310
- },
311
-
312
- getPosition : function(el) {
313
- if (/area/i.test(el.tagName)) {
314
- var imgs = document.getElementsByTagName('img');
315
- for (var i = 0; i < imgs.length; i++) {
316
- var u = imgs[i].useMap;
317
- if (u && u.replace(/^.*?#/, '') == el.parentNode.name) {
318
- el = imgs[i];
319
- break;
320
- }
321
- }
322
- }
323
- var p = { x: el.offsetLeft, y: el.offsetTop };
324
- while (el.offsetParent) {
325
- el = el.offsetParent;
326
- p.x += el.offsetLeft;
327
- p.y += el.offsetTop;
328
- if (el != document.body && el != document.documentElement) {
329
- p.x -= el.scrollLeft;
330
- p.y -= el.scrollTop;
331
- }
332
- }
333
- return p;
334
- },
335
-
336
- expand : function(a, params, custom, type) {
337
- if (!a) a = hs.createElement('a', null, { display: 'none' }, hs.container);
338
- if (typeof a.getParams == 'function') return params;
339
- if (type == 'html') {
340
- for (var i = 0; i < hs.sleeping.length; i++) {
341
- if (hs.sleeping[i] && hs.sleeping[i].a == a) {
342
- hs.sleeping[i].awake();
343
- hs.sleeping[i] = null;
344
- return false;
345
- }
346
- }
347
- hs.hasHtmlExpanders = true;
348
- }
349
- try {
350
- new hs.Expander(a, params, custom, type);
351
- return false;
352
- } catch (e) { return true; }
353
- },
354
-
355
- htmlExpand : function(a, params, custom) {
356
- return hs.expand(a, params, custom, 'html');
357
- },
358
-
359
- getSelfRendered : function() {
360
- return hs.createElement('div', {
361
- className: 'highslide-html-content',
362
- innerHTML: hs.replaceLang(hs.skin.contentWrapper)
363
- });
364
- },
365
- getElementByClass : function (el, tagName, className) {
366
- var els = el.getElementsByTagName(tagName);
367
- for (var i = 0; i < els.length; i++) {
368
- if ((new RegExp(className)).test(els[i].className)) {
369
- return els[i];
370
- }
371
- }
372
- return null;
373
- },
374
- replaceLang : function(s) {
375
- s = s.replace(/\s/g, ' ');
376
- var re = /{hs\.lang\.([^}]+)\}/g,
377
- matches = s.match(re),
378
- lang;
379
- if (matches) for (var i = 0; i < matches.length; i++) {
380
- lang = matches[i].replace(re, "$1");
381
- if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang]);
382
- }
383
- return s;
384
- },
385
-
386
-
387
- setClickEvents : function () {
388
- var els = document.getElementsByTagName('a');
389
- for (var i = 0; i < els.length; i++) {
390
- var type = hs.isUnobtrusiveAnchor(els[i]);
391
- if (type && !els[i].hsHasSetClick) {
392
- (function(){
393
- var t = type;
394
- if (hs.fireEvent(hs, 'onSetClickEvent', { element: els[i], type: t })) {
395
- els[i].onclick =(type == 'image') ?function() { return hs.expand(this) }:
396
- function() { return hs.htmlExpand(this, { objectType: t } );};
397
- }
398
- })();
399
- els[i].hsHasSetClick = true;
400
- }
401
- }
402
- hs.getAnchors();
403
- },
404
- isUnobtrusiveAnchor: function(el) {
405
- if (el.rel == 'highslide') return 'image';
406
- else if (el.rel == 'highslide-ajax') return 'ajax';
407
- else if (el.rel == 'highslide-iframe') return 'iframe';
408
- else if (el.rel == 'highslide-swf') return 'swf';
409
- },
410
-
411
- getCacheBinding : function (a) {
412
- for (var i = 0; i < hs.cacheBindings.length; i++) {
413
- if (hs.cacheBindings[i][0] == a) {
414
- var c = hs.cacheBindings[i][1];
415
- hs.cacheBindings[i][1] = c.cloneNode(1);
416
- return c;
417
- }
418
- }
419
- return null;
420
- },
421
-
422
- preloadAjax : function (e) {
423
- var arr = hs.getAnchors();
424
- for (var i = 0; i < arr.htmls.length; i++) {
425
- var a = arr.htmls[i];
426
- if (hs.getParam(a, 'objectType') == 'ajax' && hs.getParam(a, 'cacheAjax'))
427
- hs.push(hs.preloadTheseAjax, a);
428
- }
429
-
430
- hs.preloadAjaxElement(0);
431
- },
432
-
433
- preloadAjaxElement : function (i) {
434
- if (!hs.preloadTheseAjax[i]) return;
435
- var a = hs.preloadTheseAjax[i];
436
- var cache = hs.getNode(hs.getParam(a, 'contentId'));
437
- if (!cache) cache = hs.getSelfRendered();
438
- var ajax = new hs.Ajax(a, cache, 1);
439
- ajax.onError = function () { };
440
- ajax.onLoad = function () {
441
- hs.push(hs.cacheBindings, [a, cache]);
442
- hs.preloadAjaxElement(i + 1);
443
- };
444
- ajax.run();
445
- },
446
-
447
- focusTopmost : function() {
448
- var topZ = 0,
449
- topmostKey = -1,
450
- expanders = hs.expanders,
451
- exp,
452
- zIndex;
453
- for (var i = 0; i < expanders.length; i++) {
454
- exp = expanders[i];
455
- if (exp) {
456
- zIndex = exp.wrapper.style.zIndex;
457
- if (zIndex && zIndex > topZ) {
458
- topZ = zIndex;
459
- topmostKey = i;
460
- }
461
- }
462
- }
463
- if (topmostKey == -1) hs.focusKey = -1;
464
- else expanders[topmostKey].focus();
465
- },
466
-
467
- getParam : function (a, param) {
468
- a.getParams = a.onclick;
469
- var p = a.getParams ? a.getParams() : null;
470
- a.getParams = null;
471
-
472
- return (p && typeof p[param] != 'undefined') ? p[param] :
473
- (typeof hs[param] != 'undefined' ? hs[param] : null);
474
- },
475
-
476
- getSrc : function (a) {
477
- var src = hs.getParam(a, 'src');
478
- if (src) return src;
479
- return a.href;
480
- },
481
-
482
- getNode : function (id) {
483
- var node = hs.$(id), clone = hs.clones[id], a = {};
484
- if (!node && !clone) return null;
485
- if (!clone) {
486
- clone = node.cloneNode(true);
487
- clone.id = '';
488
- hs.clones[id] = clone;
489
- return node;
490
- } else {
491
- return clone.cloneNode(true);
492
- }
493
- },
494
-
495
- discardElement : function(d) {
496
- if (d) hs.garbageBin.appendChild(d);
497
- hs.garbageBin.innerHTML = '';
498
- },
499
- dim : function(exp) {
500
- if (!hs.dimmer) {
501
- isNew = true;
502
- hs.dimmer = hs.createElement ('div', {
503
- className: 'highslide-dimming highslide-viewport-size',
504
- owner: '',
505
- onclick: function() {
506
- if (hs.fireEvent(hs, 'onDimmerClick'))
507
-
508
- hs.close();
509
- }
510
- }, {
511
- visibility: 'visible',
512
- opacity: 0
513
- }, hs.container, true);
514
-
515
- if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) {
516
- var body = document.body;
517
- function pixDimmerSize() {
518
- hs.setStyles(hs.dimmer, {
519
- width: body.scrollWidth +'px',
520
- height: body.scrollHeight +'px'
521
- });
522
- }
523
- pixDimmerSize();
524
- hs.addEventListener(window, 'resize', pixDimmerSize);
525
- }
526
- }
527
- hs.dimmer.style.display = '';
528
-
529
- var isNew = hs.dimmer.owner == '';
530
- hs.dimmer.owner += '|'+ exp.key;
531
-
532
- if (isNew) {
533
- if (hs.geckoMac && hs.dimmingGeckoFix)
534
- hs.setStyles(hs.dimmer, {
535
- background: 'url('+ hs.graphicsDir + 'geckodimmer.png)',
536
- opacity: 1
537
- });
538
- else
539
- hs.animate(hs.dimmer, { opacity: exp.dimmingOpacity }, hs.dimmingDuration);
540
- }
541
- },
542
- undim : function(key) {
543
- if (!hs.dimmer) return;
544
- if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|'+ key, '');
545
-
546
- if (
547
- (typeof key != 'undefined' && hs.dimmer.owner != '')
548
- || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity'))
549
- ) return;
550
-
551
- if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none';
552
- else hs.animate(hs.dimmer, { opacity: 0 }, hs.dimmingDuration, null, function() {
553
- hs.dimmer.style.display = 'none';
554
- });
555
- },
556
- transit : function (adj, exp) {
557
- var last = exp || hs.getExpander();
558
- exp = last;
559
- if (hs.upcoming) return false;
560
- else hs.last = last;
561
- hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
562
- try {
563
- hs.upcoming = adj;
564
- adj.onclick();
565
- } catch (e){
566
- hs.last = hs.upcoming = null;
567
- }
568
- try {
569
- if (!adj || exp.transitions[1] != 'crossfade')
570
- exp.close();
571
- } catch (e) {}
572
- return false;
573
- },
574
-
575
- previousOrNext : function (el, op) {
576
- var exp = hs.getExpander(el);
577
- if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp);
578
- else return false;
579
- },
580
-
581
- previous : function (el) {
582
- return hs.previousOrNext(el, -1);
583
- },
584
-
585
- next : function (el) {
586
- return hs.previousOrNext(el, 1);
587
- },
588
-
589
- keyHandler : function(e) {
590
- if (!e) e = window.event;
591
- if (!e.target) e.target = e.srcElement; // ie
592
- if (typeof e.target.form != 'undefined') return true; // form element has focus
593
- if (!hs.fireEvent(hs, 'onKeyDown', e)) return true;
594
- var exp = hs.getExpander();
595
-
596
- var op = null;
597
- switch (e.keyCode) {
598
- case 70: // f
599
- if (exp) exp.doFullExpand();
600
- return true;
601
- case 32: // Space
602
- op = 2;
603
- break;
604
- case 34: // Page Down
605
- case 39: // Arrow right
606
- case 40: // Arrow down
607
- op = 1;
608
- break;
609
- case 8: // Backspace
610
- case 33: // Page Up
611
- case 37: // Arrow left
612
- case 38: // Arrow up
613
- op = -1;
614
- break;
615
- case 27: // Escape
616
- case 13: // Enter
617
- op = 0;
618
- }
619
- if (op !== null) {if (op != 2)hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
620
- if (!hs.enableKeyListener) return true;
621
-
622
- if (e.preventDefault) e.preventDefault();
623
- else e.returnValue = false;
624
- if (exp) {
625
- if (op == 0) {
626
- exp.close();
627
- } else if (op == 2) {
628
- if (exp.slideshow) exp.slideshow.hitSpace();
629
- } else {
630
- if (exp.slideshow) exp.slideshow.pause();
631
- hs.previousOrNext(exp.key, op);
632
- }
633
- return false;
634
- }
635
- }
636
- return true;
637
- },
638
-
639
-
640
- registerOverlay : function (overlay) {
641
- hs.push(hs.overlays, hs.extend(overlay, { hsId: 'hsId'+ hs.idCounter++ } ));
642
- },
643
-
644
-
645
- addSlideshow : function (options) {
646
- var sg = options.slideshowGroup;
647
- if (typeof sg == 'object') {
648
- for (var i = 0; i < sg.length; i++) {
649
- var o = {};
650
- for (var x in options) o[x] = options[x];
651
- o.slideshowGroup = sg[i];
652
- hs.push(hs.slideshows, o);
653
- }
654
- } else {
655
- hs.push(hs.slideshows, options);
656
- }
657
- },
658
-
659
- getWrapperKey : function (element, expOnly) {
660
- var el, re = /^highslide-wrapper-([0-9]+)$/;
661
- // 1. look in open expanders
662
- el = element;
663
- while (el.parentNode) {
664
- if (el.hsKey !== undefined) return el.hsKey;
665
- if (el.id && re.test(el.id)) return el.id.replace(re, "$1");
666
- el = el.parentNode;
667
- }
668
- // 2. look in thumbnail
669
- if (!expOnly) {
670
- el = element;
671
- while (el.parentNode) {
672
- if (el.tagName && hs.isHsAnchor(el)) {
673
- for (var key = 0; key < hs.expanders.length; key++) {
674
- var exp = hs.expanders[key];
675
- if (exp && exp.a == el) return key;
676
- }
677
- }
678
- el = el.parentNode;
679
- }
680
- }
681
- return null;
682
- },
683
-
684
- getExpander : function (el, expOnly) {
685
- if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null;
686
- if (typeof el == 'number') return hs.expanders[el] || null;
687
- if (typeof el == 'string') el = hs.$(el);
688
- return hs.expanders[hs.getWrapperKey(el, expOnly)] || null;
689
- },
690
-
691
- isHsAnchor : function (a) {
692
- return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/));
693
- },
694
-
695
- reOrder : function () {
696
- for (var i = 0; i < hs.expanders.length; i++)
697
- if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost();
698
- },
699
- fireEvent : function (obj, evt, args) {
700
- return obj && obj[evt] ? (obj[evt](obj, args) !== false) : true;
701
- },
702
-
703
- mouseClickHandler : function(e)
704
- {
705
- if (!e) e = window.event;
706
- if (e.button > 1) return true;
707
- if (!e.target) e.target = e.srcElement;
708
-
709
- var el = e.target;
710
- while (el.parentNode
711
- && !(/highslide-(image|move|html|resize)/.test(el.className)))
712
- {
713
- el = el.parentNode;
714
- }
715
- var exp = hs.getExpander(el);
716
- if (exp && (exp.isClosing || !exp.isExpanded)) return true;
717
-
718
- if (exp && e.type == 'mousedown') {
719
- if (e.target.form) return true;
720
- var match = el.className.match(/highslide-(image|move|resize)/);
721
- if (match) {
722
- hs.dragArgs = {
723
- exp: exp ,
724
- type: match[1],
725
- left: exp.x.pos,
726
- width: exp.x.size,
727
- top: exp.y.pos,
728
- height: exp.y.size,
729
- clickX: e.clientX,
730
- clickY: e.clientY
731
- };
732
-
733
-
734
- hs.addEventListener(document, 'mousemove', hs.dragHandler);
735
- if (e.preventDefault) e.preventDefault(); // FF
736
-
737
- if (/highslide-(image|html)-blur/.test(exp.content.className)) {
738
- exp.focus();
739
- hs.hasFocused = true;
740
- }
741
- return false;
742
- }
743
- else if (/highslide-html/.test(el.className) && hs.focusKey != exp.key) {
744
- exp.focus();
745
- exp.doShowHide('hidden');
746
- }
747
- } else if (e.type == 'mouseup') {
748
-
749
- hs.removeEventListener(document, 'mousemove', hs.dragHandler);
750
-
751
- if (hs.dragArgs) {
752
- if (hs.styleRestoreCursor && hs.dragArgs.type == 'image')
753
- hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor;
754
- var hasDragged = hs.dragArgs.hasDragged;
755
-
756
- if (!hasDragged &&!hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) {
757
- if (hs.fireEvent(exp, 'onImageClick'))
758
- exp.close();
759
- }
760
- else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) {
761
- hs.dragArgs.exp.doShowHide('hidden');
762
- }
763
-
764
- if (hs.dragArgs.exp.releaseMask)
765
- hs.dragArgs.exp.releaseMask.style.display = 'none';
766
-
767
- if (hasDragged) hs.fireEvent(hs.dragArgs.exp, 'onDrop', hs.dragArgs);
768
- hs.hasFocused = false;
769
- hs.dragArgs = null;
770
-
771
- } else if (/highslide-image-blur/.test(el.className)) {
772
- el.style.cursor = hs.styleRestoreCursor;
773
- }
774
- }
775
- return false;
776
- },
777
-
778
- dragHandler : function(e)
779
- {
780
- if (!hs.dragArgs) return true;
781
- if (!e) e = window.event;
782
- var a = hs.dragArgs, exp = a.exp;
783
- if (exp.iframe) {
784
- if (!exp.releaseMask) exp.releaseMask = hs.createElement('div', null,
785
- { position: 'absolute', width: exp.x.size+'px', height: exp.y.size+'px',
786
- left: exp.x.cb+'px', top: exp.y.cb+'px', zIndex: 4, background: (hs.ieLt9 ? 'white' : 'none'),
787
- opacity: 0.01 },
788
- exp.wrapper, true);
789
- if (exp.releaseMask.style.display == 'none')
790
- exp.releaseMask.style.display = '';
791
- }
792
-
793
- a.dX = e.clientX - a.clickX;
794
- a.dY = e.clientY - a.clickY;
795
-
796
- var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2));
797
- if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0)
798
- || (distance > (hs.dragSensitivity || 5));
799
-
800
- if (a.hasDragged && e.clientX > 5 && e.clientY > 5) {
801
- if (!hs.fireEvent(exp, 'onDrag', a)) return false;
802
-
803
- if (a.type == 'resize') exp.resize(a);
804
- else {
805
- exp.moveTo(a.left + a.dX, a.top + a.dY);
806
- if (a.type == 'image') exp.content.style.cursor = 'move';
807
- }
808
- }
809
- return false;
810
- },
811
-
812
- wrapperMouseHandler : function (e) {
813
- try {
814
- if (!e) e = window.event;
815
- var over = /mouseover/i.test(e.type);
816
- if (!e.target) e.target = e.srcElement; // ie
817
- if (!e.relatedTarget) e.relatedTarget =
818
- over ? e.fromElement : e.toElement; // ie
819
- var exp = hs.getExpander(e.target);
820
- if (!exp.isExpanded) return;
821
- if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp
822
- || hs.dragArgs) return;
823
- hs.fireEvent(exp, over ? 'onMouseOver' : 'onMouseOut', e);
824
- for (var i = 0; i < exp.overlays.length; i++) (function() {
825
- var o = hs.$('hsId'+ exp.overlays[i]);
826
- if (o && o.hideOnMouseOut) {
827
- if (over) hs.setStyles(o, { visibility: 'visible', display: '' });
828
- hs.animate(o, { opacity: over ? o.opacity : 0 }, o.dur);
829
- }
830
- })();
831
- } catch (e) {}
832
- },
833
- addEventListener : function (el, event, func) {
834
- if (el == document && event == 'ready') {
835
- hs.push(hs.onReady, func);
836
- }
837
- try {
838
- el.addEventListener(event, func, false);
839
- } catch (e) {
840
- try {
841
- el.detachEvent('on'+ event, func);
842
- el.attachEvent('on'+ event, func);
843
- } catch (e) {
844
- el['on'+ event] = func;
845
- }
846
- }
847
- },
848
-
849
- removeEventListener : function (el, event, func) {
850
- try {
851
- el.removeEventListener(event, func, false);
852
- } catch (e) {
853
- try {
854
- el.detachEvent('on'+ event, func);
855
- } catch (e) {
856
- el['on'+ event] = null;
857
- }
858
- }
859
- },
860
-
861
- preloadFullImage : function (i) {
862
- if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') {
863
- var img = document.createElement('img');
864
- img.onload = function() {
865
- img = null;
866
- hs.preloadFullImage(i + 1);
867
- };
868
- img.src = hs.preloadTheseImages[i];
869
- }
870
- },
871
- preloadImages : function (number) {
872
- if (number && typeof number != 'object') hs.numberOfImagesToPreload = number;
873
-
874
- var arr = hs.getAnchors();
875
- for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) {
876
- hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i]));
877
- }
878
-
879
- // preload outlines
880
- if (hs.outlineType) new hs.Outline(hs.outlineType, function () { hs.preloadFullImage(0)} );
881
- else
882
-
883
- hs.preloadFullImage(0);
884
-
885
- // preload cursor
886
- if (hs.restoreCursor) var cur = hs.createElement('img', { src: hs.graphicsDir + hs.restoreCursor });
887
- },
888
-
889
-
890
- init : function () {
891
- if (!hs.container) {
892
-
893
- hs.ieLt7 = hs.ie && hs.uaVersion < 7;
894
- hs.ieLt9 = hs.ie && hs.uaVersion < 9;
895
-
896
- hs.getPageSize();
897
- hs.ie6SSL = hs.ieLt7 && location.protocol == 'https:';
898
- for (var x in hs.langDefaults) {
899
- if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x];
900
- else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined')
901
- hs.lang[x] = hs.langDefaults[x];
902
- }
903
-
904
- hs.container = hs.createElement('div', {
905
- className: 'highslide-container'
906
- }, {
907
- position: 'absolute',
908
- left: 0,
909
- top: 0,
910
- width: '100%',
911
- zIndex: hs.zIndexCounter,
912
- direction: 'ltr'
913
- },
914
- document.body,
915
- true
916
- );
917
- hs.loading = hs.createElement('a', {
918
- className: 'highslide-loading',
919
- title: hs.lang.loadingTitle,
920
- innerHTML: hs.lang.loadingText,
921
- href: 'javascript:;'
922
- }, {
923
- position: 'absolute',
924
- top: '-9999px',
925
- opacity: hs.loadingOpacity,
926
- zIndex: 1
927
- }, hs.container
928
- );
929
- hs.garbageBin = hs.createElement('div', null, { display: 'none' }, hs.container);
930
- hs.viewport = hs.createElement('div', {
931
- className: 'highslide-viewport highslide-viewport-size'
932
- }, {
933
- visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden'
934
- }, hs.container, 1
935
- );
936
- hs.clearing = hs.createElement('div', null,
937
- { clear: 'both', paddingTop: '1px' }, null, true);
938
-
939
- // http://www.robertpenner.com/easing/
940
- Math.linearTween = function (t, b, c, d) {
941
- return c*t/d + b;
942
- };
943
- Math.easeInQuad = function (t, b, c, d) {
944
- return c*(t/=d)*t + b;
945
- };
946
- Math.easeOutQuad = function (t, b, c, d) {
947
- return -c *(t/=d)*(t-2) + b;
948
- };
949
-
950
- hs.hideSelects = hs.ieLt7;
951
- hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE'
952
- || (hs.ieLt7 && hs.uaVersion < 5.5));
953
- hs.fireEvent(this, 'onActivate');
954
- }
955
- },
956
- ready : function() {
957
- if (hs.isReady) return;
958
- hs.isReady = true;
959
- for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i]();
960
- },
961
-
962
- updateAnchors : function() {
963
- var el, els, all = [], images = [], htmls = [],groups = {}, re;
964
-
965
- for (var i = 0; i < hs.openerTagNames.length; i++) {
966
- els = document.getElementsByTagName(hs.openerTagNames[i]);
967
- for (var j = 0; j < els.length; j++) {
968
- el = els[j];
969
- re = hs.isHsAnchor(el);
970
- if (re) {
971
- hs.push(all, el);
972
- if (re[0] == 'hs.expand') hs.push(images, el);
973
- else if (re[0] == 'hs.htmlExpand') hs.push(htmls, el);
974
- var g = hs.getParam(el, 'slideshowGroup') || 'none';
975
- if (!groups[g]) groups[g] = [];
976
- hs.push(groups[g], el);
977
- }
978
- }
979
- }
980
- hs.anchors = { all: all, groups: groups, images: images, htmls: htmls };
981
- return hs.anchors;
982
-
983
- },
984
-
985
- getAnchors : function() {
986
- return hs.anchors || hs.updateAnchors();
987
- },
988
-
989
-
990
- close : function(el) {
991
- var exp = hs.getExpander(el);
992
- if (exp) exp.close();
993
- return false;
994
- }
995
- }; // end hs object
996
- hs.fx = function( elem, options, prop ){
997
- this.options = options;
998
- this.elem = elem;
999
- this.prop = prop;
1000
-
1001
- if (!options.orig) options.orig = {};
1002
- };
1003
- hs.fx.prototype = {
1004
- update: function(){
1005
- (hs.fx.step[this.prop] || hs.fx.step._default)(this);
1006
-
1007
- if (this.options.step)
1008
- this.options.step.call(this.elem, this.now, this);
1009
-
1010
- },
1011
- custom: function(from, to, unit){
1012
- this.startTime = (new Date()).getTime();
1013
- this.start = from;
1014
- this.end = to;
1015
- this.unit = unit;// || this.unit || "px";
1016
- this.now = this.start;
1017
- this.pos = this.state = 0;
1018
-
1019
- var self = this;
1020
- function t(gotoEnd){
1021
- return self.step(gotoEnd);
1022
- }
1023
-
1024
- t.elem = this.elem;
1025
-
1026
- if ( t() && hs.timers.push(t) == 1 ) {
1027
- hs.timerId = setInterval(function(){
1028
- var timers = hs.timers;
1029
-
1030
- for ( var i = 0; i < timers.length; i++ )
1031
- if ( !timers[i]() )
1032
- timers.splice(i--, 1);
1033
-
1034
- if ( !timers.length ) {
1035
- clearInterval(hs.timerId);
1036
- }
1037
- }, 13);
1038
- }
1039
- },
1040
- step: function(gotoEnd){
1041
- var t = (new Date()).getTime();
1042
- if ( gotoEnd || t >= this.options.duration + this.startTime ) {
1043
- this.now = this.end;
1044
- this.pos = this.state = 1;
1045
- this.update();
1046
-
1047
- this.options.curAnim[ this.prop ] = true;
1048
-
1049
- var done = true;
1050
- for ( var i in this.options.curAnim )
1051
- if ( this.options.curAnim[i] !== true )
1052
- done = false;
1053
-
1054
- if ( done ) {
1055
- if (this.options.complete) this.options.complete.call(this.elem);
1056
- }
1057
- return false;
1058
- } else {
1059
- var n = t - this.startTime;
1060
- this.state = n / this.options.duration;
1061
- this.pos = this.options.easing(n, 0, 1, this.options.duration);
1062
- this.now = this.start + ((this.end - this.start) * this.pos);
1063
- this.update();
1064
- }
1065
- return true;
1066
- }
1067
-
1068
- };
1069
-
1070
- hs.extend( hs.fx, {
1071
- step: {
1072
-
1073
- opacity: function(fx){
1074
- hs.setStyles(fx.elem, { opacity: fx.now });
1075
- },
1076
-
1077
- _default: function(fx){
1078
- try {
1079
- if ( fx.elem.style && fx.elem.style[ fx.prop ] != null )
1080
- fx.elem.style[ fx.prop ] = fx.now + fx.unit;
1081
- else
1082
- fx.elem[ fx.prop ] = fx.now;
1083
- } catch (e) {}
1084
- }
1085
- }
1086
- });
1087
-
1088
- hs.Outline = function (outlineType, onLoad) {
1089
- this.onLoad = onLoad;
1090
- this.outlineType = outlineType;
1091
- var v = hs.uaVersion, tr;
1092
-
1093
- this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7;
1094
- if (!outlineType) {
1095
- if (onLoad) onLoad();
1096
- return;
1097
- }
1098
-
1099
- hs.init();
1100
- this.table = hs.createElement(
1101
- 'table', {
1102
- cellSpacing: 0
1103
- }, {
1104
- visibility: 'hidden',
1105
- position: 'absolute',
1106
- borderCollapse: 'collapse',
1107
- width: 0
1108
- },
1109
- hs.container,
1110
- true
1111
- );
1112
- var tbody = hs.createElement('tbody', null, null, this.table, 1);
1113
-
1114
- this.td = [];
1115
- for (var i = 0; i <= 8; i++) {
1116
- if (i % 3 == 0) tr = hs.createElement('tr', null, { height: 'auto' }, tbody, true);
1117
- this.td[i] = hs.createElement('td', null, null, tr, true);
1118
- var style = i != 4 ? { lineHeight: 0, fontSize: 0} : { position : 'relative' };
1119
- hs.setStyles(this.td[i], style);
1120
- }
1121
- this.td[4].className = outlineType +' highslide-outline';
1122
-
1123
- this.preloadGraphic();
1124
- };
1125
-
1126
- hs.Outline.prototype = {
1127
- preloadGraphic : function () {
1128
- var src = hs.graphicsDir + (hs.outlinesDir || "outlines/")+ this.outlineType +".png";
1129
-
1130
- var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null;
1131
- this.graphic = hs.createElement('img', null, { position: 'absolute',
1132
- top: '-9999px' }, appendTo, true); // for onload trigger
1133
-
1134
- var pThis = this;
1135
- this.graphic.onload = function() { pThis.onGraphicLoad(); };
1136
-
1137
- this.graphic.src = src;
1138
- },
1139
-
1140
- onGraphicLoad : function () {
1141
- var o = this.offset = this.graphic.width / 4,
1142
- pos = [[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],
1143
- dim = { height: (2*o) +'px', width: (2*o) +'px' };
1144
- for (var i = 0; i <= 8; i++) {
1145
- if (pos[i]) {
1146
- if (this.hasAlphaImageLoader) {
1147
- var w = (i == 1 || i == 7) ? '100%' : this.graphic.width +'px';
1148
- var div = hs.createElement('div', null, { width: '100%', height: '100%', position: 'relative', overflow: 'hidden'}, this.td[i], true);
1149
- hs.createElement ('div', null, {
1150
- filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='"+ this.graphic.src + "')",
1151
- position: 'absolute',
1152
- width: w,
1153
- height: this.graphic.height +'px',
1154
- left: (pos[i][0]*o)+'px',
1155
- top: (pos[i][1]*o)+'px'
1156
- },
1157
- div,
1158
- true);
1159
- } else {
1160
- hs.setStyles(this.td[i], { background: 'url('+ this.graphic.src +') '+ (pos[i][0]*o)+'px '+(pos[i][1]*o)+'px'});
1161
- }
1162
-
1163
- if (window.opera && (i == 3 || i ==5))
1164
- hs.createElement('div', null, dim, this.td[i], true);
1165
-
1166
- hs.setStyles (this.td[i], dim);
1167
- }
1168
- }
1169
- this.graphic = null;
1170
- if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy();
1171
- hs.pendingOutlines[this.outlineType] = this;
1172
- if (this.onLoad) this.onLoad();
1173
- },
1174
-
1175
- setPosition : function (pos, offset, vis, dur, easing) {
1176
- var exp = this.exp,
1177
- stl = exp.wrapper.style,
1178
- offset = offset || 0,
1179
- pos = pos || {
1180
- x: exp.x.pos + offset,
1181
- y: exp.y.pos + offset,
1182
- w: exp.x.get('wsize') - 2 * offset,
1183
- h: exp.y.get('wsize') - 2 * offset
1184
- };
1185
- if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset)
1186
- ? 'visible' : 'hidden';
1187
- hs.setStyles(this.table, {
1188
- left: (pos.x - this.offset) +'px',
1189
- top: (pos.y - this.offset) +'px',
1190
- width: (pos.w + 2 * this.offset) +'px'
1191
- });
1192
-
1193
- pos.w -= 2 * this.offset;
1194
- pos.h -= 2 * this.offset;
1195
- hs.setStyles (this.td[4], {
1196
- width: pos.w >= 0 ? pos.w +'px' : 0,
1197
- height: pos.h >= 0 ? pos.h +'px' : 0
1198
- });
1199
- if (this.hasAlphaImageLoader) this.td[3].style.height
1200
- = this.td[5].style.height = this.td[4].style.height;
1201
-
1202
- },
1203
-
1204
- destroy : function(hide) {
1205
- if (hide) this.table.style.visibility = 'hidden';
1206
- else hs.discardElement(this.table);
1207
- }
1208
- };
1209
-
1210
- hs.Dimension = function(exp, dim) {
1211
- this.exp = exp;
1212
- this.dim = dim;
1213
- this.ucwh = dim == 'x' ? 'Width' : 'Height';
1214
- this.wh = this.ucwh.toLowerCase();
1215
- this.uclt = dim == 'x' ? 'Left' : 'Top';
1216
- this.lt = this.uclt.toLowerCase();
1217
- this.ucrb = dim == 'x' ? 'Right' : 'Bottom';
1218
- this.rb = this.ucrb.toLowerCase();
1219
- this.p1 = this.p2 = 0;
1220
- };
1221
- hs.Dimension.prototype = {
1222
- get : function(key) {
1223
- switch (key) {
1224
- case 'loadingPos':
1225
- return this.tpos + this.tb + (this.t - hs.loading['offset'+ this.ucwh]) / 2;
1226
- case 'loadingPosXfade':
1227
- return this.pos + this.cb+ this.p1 + (this.size - hs.loading['offset'+ this.ucwh]) / 2;
1228
- case 'wsize':
1229
- return this.size + 2 * this.cb + this.p1 + this.p2;
1230
- case 'fitsize':
1231
- return this.clientSize - this.marginMin - this.marginMax;
1232
- case 'maxsize':
1233
- return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2 ;
1234
- case 'opos':
1235
- return this.pos - (this.exp.outline ? this.exp.outline.offset : 0);
1236
- case 'osize':
1237
- return this.get('wsize') + (this.exp.outline ? 2*this.exp.outline.offset : 0);
1238
- case 'imgPad':
1239
- return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0;
1240
-
1241
- }
1242
- },
1243
- calcBorders: function() {
1244
- // correct for borders
1245
- this.cb = (this.exp.content['offset'+ this.ucwh] - this.t) / 2;
1246
-
1247
- this.marginMax = hs['margin'+ this.ucrb];
1248
- },
1249
- calcThumb: function() {
1250
- this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) :
1251
- this.exp.el['offset'+ this.ucwh];
1252
- this.tpos = this.exp.tpos[this.dim];
1253
- this.tb = (this.exp.el['offset'+ this.ucwh] - this.t) / 2;
1254
- if (this.tpos == 0 || this.tpos == -1) {
1255
- this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll'+ this.uclt];
1256
- };
1257
- },
1258
- calcExpanded: function() {
1259
- var exp = this.exp;
1260
- this.justify = 'auto';
1261
-
1262
- // get alignment
1263
- if (exp.align == 'center') this.justify = 'center';
1264
- else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null;
1265
- else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max';
1266
-
1267
-
1268
- // size and position
1269
- this.pos = this.tpos - this.cb + this.tb;
1270
-
1271
- if (this.maxHeight && this.dim == 'x')
1272
- exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full);
1273
-
1274
- this.size = Math.min(this.full, exp['max'+ this.ucwh] || this.full);
1275
- this.minSize = exp.allowSizeReduction ?
1276
- Math.min(exp['min'+ this.ucwh], this.full) :this.full;
1277
- if (exp.isImage && exp.useBox) {
1278
- this.size = exp[this.wh];
1279
- this.imgSize = this.full;
1280
- }
1281
- if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth;
1282
- this.target = exp['target'+ this.dim.toUpperCase()];
1283
- this.marginMin = hs['margin'+ this.uclt];
1284
- this.scroll = hs.page['scroll'+ this.uclt];
1285
- this.clientSize = hs.page[this.wh];
1286
- },
1287
- setSize: function(i) {
1288
- var exp = this.exp;
1289
- if (exp.isImage && (exp.useBox || hs.padToMinWidth)) {
1290
- this.imgSize = i;
1291
- this.size = Math.max(this.size, this.imgSize);
1292
- exp.content.style[this.lt] = this.get('imgPad')+'px';
1293
- } else
1294
- this.size = i;
1295
-
1296
- exp.content.style[this.wh] = i +'px';
1297
- exp.wrapper.style[this.wh] = this.get('wsize') +'px';
1298
- if (exp.outline) exp.outline.setPosition();
1299
- if (exp.releaseMask) exp.releaseMask.style[this.wh] = i +'px';
1300
- if (this.dim == 'y' && exp.iDoc && exp.body.style.height != 'auto') try {
1301
- exp.iDoc.body.style.overflow = 'auto';
1302
- } catch (e) {}
1303
- if (exp.isHtml) {
1304
- var d = exp.scrollerDiv;
1305
- if (this.sizeDiff === undefined)
1306
- this.sizeDiff = exp.innerContent['offset'+ this.ucwh] - d['offset'+ this.ucwh];
1307
- d.style[this.wh] = (this.size - this.sizeDiff) +'px';
1308
-
1309
- if (this.dim == 'x') exp.mediumContent.style.width = 'auto';
1310
- if (exp.body) exp.body.style[this.wh] = 'auto';
1311
- }
1312
- if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true);
1313
- if (this.dim == 'x' && exp.slideshow && exp.isImage) {
1314
- if (i == this.full) exp.slideshow.disable('full-expand');
1315
- else exp.slideshow.enable('full-expand');
1316
- }
1317
- },
1318
- setPos: function(i) {
1319
- this.pos = i;
1320
- this.exp.wrapper.style[this.lt] = i +'px';
1321
-
1322
- if (this.exp.outline) this.exp.outline.setPosition();
1323
-
1324
- }
1325
- };
1326
-
1327
- hs.Expander = function(a, params, custom, contentType) {
1328
- if (document.readyState && hs.ie && !hs.isReady) {
1329
- hs.addEventListener(document, 'ready', function() {
1330
- new hs.Expander(a, params, custom, contentType);
1331
- });
1332
- return;
1333
- }
1334
- this.a = a;
1335
- this.custom = custom;
1336
- this.contentType = contentType || 'image';
1337
- this.isHtml = (contentType == 'html');
1338
- this.isImage = !this.isHtml;
1339
-
1340
- hs.continuePreloading = false;
1341
- this.overlays = [];
1342
- this.last = hs.last;
1343
- hs.last = null;
1344
- hs.init();
1345
- var key = this.key = hs.expanders.length;
1346
- // override inline parameters
1347
- for (var i = 0; i < hs.overrides.length; i++) {
1348
- var name = hs.overrides[i];
1349
- this[name] = params && typeof params[name] != 'undefined' ?
1350
- params[name] : hs[name];
1351
- }
1352
- if (!this.src) this.src = a.href;
1353
-
1354
- // get thumb
1355
- var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a;
1356
- el = this.thumb = el.getElementsByTagName('img')[0] || el;
1357
- this.thumbsUserSetId = el.id || a.id;
1358
- if (!hs.fireEvent(this, 'onInit')) return true;
1359
-
1360
- // check if already open
1361
- for (var i = 0; i < hs.expanders.length; i++) {
1362
- if (hs.expanders[i] && hs.expanders[i].a == a
1363
- && !(this.last && this.transitions[1] == 'crossfade')) {
1364
- hs.expanders[i].focus();
1365
- return false;
1366
- }
1367
- }
1368
-
1369
- // cancel other
1370
- if (!hs.allowSimultaneousLoading) for (var i = 0; i < hs.expanders.length; i++) {
1371
- if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) {
1372
- hs.expanders[i].cancelLoading();
1373
- }
1374
- }
1375
- hs.expanders[key] = this;
1376
- if (!hs.allowMultipleInstances && !hs.upcoming) {
1377
- if (hs.expanders[key-1]) hs.expanders[key-1].close();
1378
- if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey])
1379
- hs.expanders[hs.focusKey].close();
1380
- }
1381
-
1382
- // initiate metrics
1383
- this.el = el;
1384
- this.tpos = this.pageOrigin || hs.getPosition(el);
1385
- hs.getPageSize();
1386
- var x = this.x = new hs.Dimension(this, 'x');
1387
- x.calcThumb();
1388
- var y = this.y = new hs.Dimension(this, 'y');
1389
- y.calcThumb();
1390
- if (/area/i.test(el.tagName)) this.getImageMapAreaCorrection(el);
1391
- this.wrapper = hs.createElement(
1392
- 'div', {
1393
- id: 'highslide-wrapper-'+ this.key,
1394
- className: 'highslide-wrapper '+ this.wrapperClassName
1395
- }, {
1396
- visibility: 'hidden',
1397
- position: 'absolute',
1398
- zIndex: hs.zIndexCounter += 2
1399
- }, null, true );
1400
-
1401
- this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler;
1402
- if (this.contentType == 'image' && this.outlineWhileAnimating == 2)
1403
- this.outlineWhileAnimating = 0;
1404
-
1405
- // get the outline
1406
- if (!this.outlineType
1407
- || (this.last && this.isImage && this.transitions[1] == 'crossfade')) {
1408
- this[this.contentType +'Create']();
1409
-
1410
- } else if (hs.pendingOutlines[this.outlineType]) {
1411
- this.connectOutline();
1412
- this[this.contentType +'Create']();
1413
-
1414
- } else {
1415
- this.showLoading();
1416
- var exp = this;
1417
- new hs.Outline(this.outlineType,
1418
- function () {
1419
- exp.connectOutline();
1420
- exp[exp.contentType +'Create']();
1421
- }
1422
- );
1423
- }
1424
- return true;
1425
- };
1426
-
1427
- hs.Expander.prototype = {
1428
- error : function(e) {
1429
- if (hs.debug) alert ('Line '+ e.lineNumber +': '+ e.message);
1430
- else window.location.href = this.src;
1431
- },
1432
-
1433
- connectOutline : function() {
1434
- var outline = this.outline = hs.pendingOutlines[this.outlineType];
1435
- outline.exp = this;
1436
- outline.table.style.zIndex = this.wrapper.style.zIndex - 1;
1437
- hs.pendingOutlines[this.outlineType] = null;
1438
- },
1439
-
1440
- showLoading : function() {
1441
- if (this.onLoadStarted || this.loading) return;
1442
-
1443
- this.loading = hs.loading;
1444
- var exp = this;
1445
- this.loading.onclick = function() {
1446
- exp.cancelLoading();
1447
- };
1448
-
1449
-
1450
- if (!hs.fireEvent(this, 'onShowLoading')) return;
1451
- var exp = this,
1452
- l = this.x.get('loadingPos') +'px',
1453
- t = this.y.get('loadingPos') +'px';
1454
- if (!tgt && this.last && this.transitions[1] == 'crossfade')
1455
- var tgt = this.last;
1456
- if (tgt) {
1457
- l = tgt.x.get('loadingPosXfade') +'px';
1458
- t = tgt.y.get('loadingPosXfade') +'px';
1459
- this.loading.style.zIndex = hs.zIndexCounter++;
1460
- }
1461
- setTimeout(function () {
1462
- if (exp.loading) hs.setStyles(exp.loading, { left: l, top: t, zIndex: hs.zIndexCounter++ })}
1463
- , 100);
1464
- },
1465
-
1466
- imageCreate : function() {
1467
- var exp = this;
1468
-
1469
- var img = document.createElement('img');
1470
- this.content = img;
1471
- img.onload = function () {
1472
- if (hs.expanders[exp.key]) exp.contentLoaded();
1473
- };
1474
- if (hs.blockRightClick) img.oncontextmenu = function() { return false; };
1475
- img.className = 'highslide-image';
1476
- hs.setStyles(img, {
1477
- visibility: 'hidden',
1478
- display: 'block',
1479
- position: 'absolute',
1480
- maxWidth: '9999px',
1481
- zIndex: 3
1482
- });
1483
- img.title = hs.lang.restoreTitle;
1484
- if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img);
1485
- if (hs.ie && hs.flushImgSize) img.src = null;
1486
- img.src = this.src;
1487
-
1488
- this.showLoading();
1489
- },
1490
-
1491
- htmlCreate : function () {
1492
- if (!hs.fireEvent(this, 'onBeforeGetContent')) return;
1493
-
1494
- this.content = hs.getCacheBinding(this.a);
1495
- if (!this.content)
1496
- this.content = hs.getNode(this.contentId);
1497
- if (!this.content)
1498
- this.content = hs.getSelfRendered();
1499
- this.getInline(['maincontent']);
1500
- if (this.maincontent) {
1501
- var body = hs.getElementByClass(this.content, 'div', 'highslide-body');
1502
- if (body) body.appendChild(this.maincontent);
1503
- this.maincontent.style.display = 'block';
1504
- }
1505
- hs.fireEvent(this, 'onAfterGetContent');
1506
-
1507
- var innerContent = this.innerContent = this.content;
1508
-
1509
- if (/(swf|iframe)/.test(this.objectType)) this.setObjContainerSize(innerContent);
1510
-
1511
- // the content tree
1512
- hs.container.appendChild(this.wrapper);
1513
- hs.setStyles( this.wrapper, {
1514
- position: 'static',
1515
- padding: '0 '+ hs.marginRight +'px 0 '+ hs.marginLeft +'px'
1516
- });
1517
- this.content = hs.createElement(
1518
- 'div', {
1519
- className: 'highslide-html'
1520
- }, {
1521
- position: 'relative',
1522
- zIndex: 3,
1523
- height: 0,
1524
- overflow: 'hidden'
1525
- },
1526
- this.wrapper
1527
- );
1528
- this.mediumContent = hs.createElement('div', null, null, this.content, 1);
1529
- this.mediumContent.appendChild(innerContent);
1530
-
1531
- hs.setStyles (innerContent, {
1532
- position: 'relative',
1533
- display: 'block',
1534
- direction: hs.lang.cssDirection || ''
1535
- });
1536
- if (this.width) innerContent.style.width = this.width +'px';
1537
- if (this.height) hs.setStyles(innerContent, {
1538
- height: this.height +'px',
1539
- overflow: 'hidden'
1540
- });
1541
- if (innerContent.offsetWidth < this.minWidth)
1542
- innerContent.style.width = this.minWidth +'px';
1543
-
1544
-
1545
-
1546
- if (this.objectType == 'ajax' && !hs.getCacheBinding(this.a)) {
1547
- this.showLoading();
1548
- var exp = this;
1549
- var ajax = new hs.Ajax(this.a, innerContent);
1550
- ajax.src = this.src;
1551
- ajax.onLoad = function () { if (hs.expanders[exp.key]) exp.contentLoaded(); };
1552
- ajax.onError = function () { location.href = exp.src; };
1553
- ajax.run();
1554
- }
1555
- else
1556
-
1557
- if (this.objectType == 'iframe' && this.objectLoadTime == 'before') {
1558
- this.writeExtendedContent();
1559
- }
1560
- else
1561
- this.contentLoaded();
1562
- },
1563
-
1564
- contentLoaded : function() {
1565
- try {
1566
- if (!this.content) return;
1567
- this.content.onload = null;
1568
- if (this.onLoadStarted) return;
1569
- else this.onLoadStarted = true;
1570
-
1571
- var x = this.x, y = this.y;
1572
-
1573
- if (this.loading) {
1574
- hs.setStyles(this.loading, { top: '-9999px' });
1575
- this.loading = null;
1576
- hs.fireEvent(this, 'onHideLoading');
1577
- }
1578
- if (this.isImage) {
1579
- x.full = this.content.width;
1580
- y.full = this.content.height;
1581
-
1582
- hs.setStyles(this.content, {
1583
- width: x.t +'px',
1584
- height: y.t +'px'
1585
- });
1586
- this.wrapper.appendChild(this.content);
1587
- hs.container.appendChild(this.wrapper);
1588
- } else if (this.htmlGetSize) this.htmlGetSize();
1589
-
1590
- x.calcBorders();
1591
- y.calcBorders();
1592
-
1593
- hs.setStyles (this.wrapper, {
1594
- left: (x.tpos + x.tb - x.cb) +'px',
1595
- top: (y.tpos + x.tb - y.cb) +'px'
1596
- });
1597
-
1598
-
1599
- this.initSlideshow();
1600
- this.getOverlays();
1601
-
1602
- var ratio = x.full / y.full;
1603
- x.calcExpanded();
1604
- this.justify(x);
1605
-
1606
- y.calcExpanded();
1607
- this.justify(y);
1608
- if (this.isHtml) this.htmlSizeOperations();
1609
- if (this.overlayBox) this.sizeOverlayBox(0, 1);
1610
-
1611
-
1612
- if (this.allowSizeReduction) {
1613
- if (this.isImage)
1614
- this.correctRatio(ratio);
1615
- else this.fitOverlayBox();
1616
- var ss = this.slideshow;
1617
- if (ss && this.last && ss.controls && ss.fixedControls) {
1618
- var pos = ss.overlayOptions.position || '', p;
1619
- for (var dim in hs.oPos) for (var i = 0; i < 5; i++) {
1620
- p = this[dim];
1621
- if (pos.match(hs.oPos[dim][i])) {
1622
- p.pos = this.last[dim].pos
1623
- + (this.last[dim].p1 - p.p1)
1624
- + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i];
1625
- if (ss.fixedControls == 'fit') {
1626
- if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax)
1627
- p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2;
1628
- if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin;
1629
- }
1630
- }
1631
- }
1632
- }
1633
- if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) {
1634
- this.createFullExpand();
1635
- if (this.overlays.length == 1) this.sizeOverlayBox();
1636
- }
1637
- }
1638
- this.show();
1639
-
1640
- } catch (e) {
1641
- this.error(e);
1642
- }
1643
- },
1644
-
1645
-
1646
- setObjContainerSize : function(parent, auto) {
1647
- var c = hs.getElementByClass(parent, 'DIV', 'highslide-body');
1648
- if (/(iframe|swf)/.test(this.objectType)) {
1649
- if (this.objectWidth) c.style.width = this.objectWidth +'px';
1650
- if (this.objectHeight) c.style.height = this.objectHeight +'px';
1651
- }
1652
- },
1653
-
1654
- writeExtendedContent : function () {
1655
- if (this.hasExtendedContent) return;
1656
- var exp = this;
1657
- this.body = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body');
1658
- if (this.objectType == 'iframe') {
1659
- this.showLoading();
1660
- var ruler = hs.clearing.cloneNode(1);
1661
- this.body.appendChild(ruler);
1662
- this.newWidth = this.innerContent.offsetWidth;
1663
- if (!this.objectWidth) this.objectWidth = ruler.offsetWidth;
1664
- var hDiff = this.innerContent.offsetHeight - this.body.offsetHeight,
1665
- h = this.objectHeight || hs.page.height - hDiff - hs.marginTop - hs.marginBottom,
1666
- onload = this.objectLoadTime == 'before' ?
1667
- ' onload="if (hs.expanders['+ this.key +']) hs.expanders['+ this.key +'].contentLoaded()" ' : '';
1668
- this.body.innerHTML += '<iframe name="hs'+ (new Date()).getTime() +'" frameborder="0" key="'+ this.key +'" '
1669
- +' style="width:'+ this.objectWidth +'px; height:'+ h +'px" '
1670
- + onload +' src="'+ this.src +'" ></iframe>';
1671
- this.ruler = this.body.getElementsByTagName('div')[0];
1672
- this.iframe = this.body.getElementsByTagName('iframe')[0];
1673
-
1674
- if (this.objectLoadTime == 'after') this.correctIframeSize();
1675
-
1676
- }
1677
- if (this.objectType == 'swf') {
1678
- this.body.id = this.body.id || 'hs-flash-id-' + this.key;
1679
- var a = this.swfOptions;
1680
- if (!a.params) a.params = {};
1681
- if (typeof a.params.wmode == 'undefined') a.params.wmode = 'transparent';
1682
- if (swfobject) swfobject.embedSWF(this.src, this.body.id, this.objectWidth, this.objectHeight,
1683
- a.version || '7', a.expressInstallSwfurl, a.flashvars, a.params, a.attributes);
1684
- }
1685
- this.hasExtendedContent = true;
1686
- },
1687
- htmlGetSize : function() {
1688
- if (this.iframe && !this.objectHeight) { // loadtime before
1689
- this.iframe.style.height = this.body.style.height = this.getIframePageHeight() +'px';
1690
- }
1691
- this.innerContent.appendChild(hs.clearing);
1692
- if (!this.x.full) this.x.full = this.innerContent.offsetWidth;
1693
- this.y.full = this.innerContent.offsetHeight;
1694
- this.innerContent.removeChild(hs.clearing);
1695
- if (hs.ie && this.newHeight > parseInt(this.innerContent.currentStyle.height)) { // ie css bug
1696
- this.newHeight = parseInt(this.innerContent.currentStyle.height);
1697
- }
1698
- hs.setStyles( this.wrapper, { position: 'absolute', padding: '0'});
1699
- hs.setStyles( this.content, { width: this.x.t +'px', height: this.y.t +'px'});
1700
-
1701
- },
1702
-
1703
- getIframePageHeight : function() {
1704
- var h;
1705
- try {
1706
- var doc = this.iDoc = this.iframe.contentDocument || this.iframe.contentWindow.document;
1707
- var clearing = doc.createElement('div');
1708
- clearing.style.clear = 'both';
1709
- doc.body.appendChild(clearing);
1710
- h = clearing.offsetTop;
1711
- if (hs.ie) h += parseInt(doc.body.currentStyle.marginTop)
1712
- + parseInt(doc.body.currentStyle.marginBottom) - 1;
1713
- } catch (e) { // other domain
1714
- h = 300;
1715
- }
1716
- return h;
1717
- },
1718
- correctIframeSize : function () {
1719
- var wDiff = this.innerContent.offsetWidth - this.ruler.offsetWidth;
1720
- hs.discardElement(this.ruler);
1721
- if (wDiff < 0) wDiff = 0;
1722
-
1723
- var hDiff = this.innerContent.offsetHeight - this.iframe.offsetHeight;
1724
- if (this.iDoc && !this.objectHeight && !this.height && this.y.size == this.y.full) try {
1725
- this.iDoc.body.style.overflow = 'hidden';
1726
- } catch (e) {}
1727
- hs.setStyles(this.iframe, {
1728
- width: Math.abs(this.x.size - wDiff) +'px',
1729
- height: Math.abs(this.y.size - hDiff) +'px'
1730
- });
1731
- hs.setStyles(this.body, {
1732
- width: this.iframe.style.width,
1733
- height: this.iframe.style.height
1734
- });
1735
-
1736
- this.scrollingContent = this.iframe;
1737
- this.scrollerDiv = this.scrollingContent;
1738
-
1739
- },
1740
- htmlSizeOperations : function () {
1741
-
1742
- this.setObjContainerSize(this.innerContent);
1743
-
1744
-
1745
- if (this.objectType == 'swf' && this.objectLoadTime == 'before') this.writeExtendedContent();
1746
-
1747
- // handle minimum size
1748
- if (this.x.size < this.x.full && !this.allowWidthReduction) this.x.size = this.x.full;
1749
- if (this.y.size < this.y.full && !this.allowHeightReduction) this.y.size = this.y.full;
1750
- this.scrollerDiv = this.innerContent;
1751
- hs.setStyles(this.mediumContent, {
1752
- position: 'relative',
1753
- width: this.x.size +'px'
1754
- });
1755
- hs.setStyles(this.innerContent, {
1756
- border: 'none',
1757
- width: 'auto',
1758
- height: 'auto'
1759
- });
1760
- var node = hs.getElementByClass(this.innerContent, 'DIV', 'highslide-body');
1761
- if (node && !/(iframe|swf)/.test(this.objectType)) {
1762
- var cNode = node; // wrap to get true size
1763
- node = hs.createElement(cNode.nodeName, null, {overflow: 'hidden'}, null, true);
1764
- cNode.parentNode.insertBefore(node, cNode);
1765
- node.appendChild(hs.clearing); // IE6
1766
- node.appendChild(cNode);
1767
-
1768
- var wDiff = this.innerContent.offsetWidth - node.offsetWidth;
1769
- var hDiff = this.innerContent.offsetHeight - node.offsetHeight;
1770
- node.removeChild(hs.clearing);
1771
-
1772
- var kdeBugCorr = hs.safari || navigator.vendor == 'KDE' ? 1 : 0; // KDE repainting bug
1773
- hs.setStyles(node, {
1774
- width: (this.x.size - wDiff - kdeBugCorr) +'px',
1775
- height: (this.y.size - hDiff) +'px',
1776
- overflow: 'auto',
1777
- position: 'relative'
1778
- }
1779
- );
1780
- if (kdeBugCorr && cNode.offsetHeight > node.offsetHeight) {
1781
- node.style.width = (parseInt(node.style.width) + kdeBugCorr) + 'px';
1782
- }
1783
- this.scrollingContent = node;
1784
- this.scrollerDiv = this.scrollingContent;
1785
- }
1786
- if (this.iframe && this.objectLoadTime == 'before') this.correctIframeSize();
1787
- if (!this.scrollingContent && this.y.size < this.mediumContent.offsetHeight) this.scrollerDiv = this.content;
1788
-
1789
- if (this.scrollerDiv == this.content && !this.allowWidthReduction && !/(iframe|swf)/.test(this.objectType)) {
1790
- this.x.size += 17; // room for scrollbars
1791
- }
1792
- if (this.scrollerDiv && this.scrollerDiv.offsetHeight > this.scrollerDiv.parentNode.offsetHeight) {
1793
- setTimeout("try { hs.expanders["+ this.key +"].scrollerDiv.style.overflow = 'auto'; } catch(e) {}",
1794
- hs.expandDuration);
1795
- }
1796
- },
1797
-
1798
- getImageMapAreaCorrection : function(area) {
1799
- var c = area.coords.split(',');
1800
- for (var i = 0; i < c.length; i++) c[i] = parseInt(c[i]);
1801
-
1802
- if (area.shape.toLowerCase() == 'circle') {
1803
- this.x.tpos += c[0] - c[2];
1804
- this.y.tpos += c[1] - c[2];
1805
- this.x.t = this.y.t = 2 * c[2];
1806
- } else {
1807
- var maxX, maxY, minX = maxX = c[0], minY = maxY = c[1];
1808
- for (var i = 0; i < c.length; i++) {
1809
- if (i % 2 == 0) {
1810
- minX = Math.min(minX, c[i]);
1811
- maxX = Math.max(maxX, c[i]);
1812
- } else {
1813
- minY = Math.min(minY, c[i]);
1814
- maxY = Math.max(maxY, c[i]);
1815
- }
1816
- }
1817
- this.x.tpos += minX;
1818
- this.x.t = maxX - minX;
1819
- this.y.tpos += minY;
1820
- this.y.t = maxY - minY;
1821
- }
1822
- },
1823
- justify : function (p, moveOnly) {
1824
- var tgtArr, tgt = p.target, dim = p == this.x ? 'x' : 'y';
1825
-
1826
- if (tgt && tgt.match(/ /)) {
1827
- tgtArr = tgt.split(' ');
1828
- tgt = tgtArr[0];
1829
- }
1830
- if (tgt && hs.$(tgt)) {
1831
- p.pos = hs.getPosition(hs.$(tgt))[dim];
1832
- if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/))
1833
- p.pos += parseInt(tgtArr[1]);
1834
- if (p.size < p.minSize) p.size = p.minSize;
1835
-
1836
- } else if (p.justify == 'auto' || p.justify == 'center') {
1837
-
1838
- var hasMovedMin = false;
1839
-
1840
- var allowReduce = p.exp.allowSizeReduction;
1841
- if (p.justify == 'center')
1842
- p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2);
1843
- else
1844
- p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2));
1845
- if (p.pos < p.scroll + p.marginMin) {
1846
- p.pos = p.scroll + p.marginMin;
1847
- hasMovedMin = true;
1848
- }
1849
- if (!moveOnly && p.size < p.minSize) {
1850
- p.size = p.minSize;
1851
- allowReduce = false;
1852
- }
1853
- if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) {
1854
- if (!moveOnly && hasMovedMin && allowReduce) {
1855
- p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize'));
1856
- } else if (p.get('wsize') < p.get('fitsize')) {
1857
- p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize');
1858
- } else { // image larger than viewport
1859
- p.pos = p.scroll + p.marginMin;
1860
- if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize');
1861
- }
1862
- }
1863
-
1864
- if (!moveOnly && p.size < p.minSize) {
1865
- p.size = p.minSize;
1866
- allowReduce = false;
1867
- }
1868
-
1869
-
1870
- } else if (p.justify == 'max') {
1871
- p.pos = Math.floor(p.pos - p.size + p.t);
1872
- }
1873
-
1874
-
1875
- if (p.pos < p.marginMin) {
1876
- var tmpMin = p.pos;
1877
- p.pos = p.marginMin;
1878
-
1879
- if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin);
1880
-
1881
- }
1882
- },
1883
-
1884
- correctRatio : function(ratio) {
1885
- var x = this.x,
1886
- y = this.y,
1887
- changed = false,
1888
- xSize = Math.min(x.full, x.size),
1889
- ySize = Math.min(y.full, y.size),
1890
- useBox = (this.useBox || hs.padToMinWidth);
1891
-
1892
- if (xSize / ySize > ratio) { // width greater
1893
- xSize = ySize * ratio;
1894
- if (xSize < x.minSize) { // below minWidth
1895
- xSize = x.minSize;
1896
- ySize = xSize / ratio;
1897
- }
1898
- changed = true;
1899
-
1900
- } else if (xSize / ySize < ratio) { // height greater
1901
- ySize = xSize / ratio;
1902
- changed = true;
1903
- }
1904
-
1905
- if (hs.padToMinWidth && x.full < x.minSize) {
1906
- x.imgSize = x.full;
1907
- y.size = y.imgSize = y.full;
1908
- } else if (this.useBox) {
1909
- x.imgSize = xSize;
1910
- y.imgSize = ySize;
1911
- } else {
1912
- x.size = xSize;
1913
- y.size = ySize;
1914
- }
1915
- changed = this.fitOverlayBox(this.useBox ? null : ratio, changed);
1916
- if (useBox && y.size < y.imgSize) {
1917
- y.imgSize = y.size;
1918
- x.imgSize = y.size * ratio;
1919
- }
1920
- if (changed || useBox) {
1921
- x.pos = x.tpos - x.cb + x.tb;
1922
- x.minSize = x.size;
1923
- this.justify(x, true);
1924
-
1925
- y.pos = y.tpos - y.cb + y.tb;
1926
- y.minSize = y.size;
1927
- this.justify(y, true);
1928
- if (this.overlayBox) this.sizeOverlayBox();
1929
- }
1930
-
1931
-
1932
- },
1933
- fitOverlayBox : function(ratio, changed) {
1934
- var x = this.x, y = this.y;
1935
- if (this.overlayBox && (this.isImage || this.allowHeightReduction)) {
1936
- while (y.size > this.minHeight && x.size > this.minWidth
1937
- && y.get('wsize') > y.get('fitsize')) {
1938
- y.size -= 10;
1939
- if (ratio) x.size = y.size * ratio;
1940
- this.sizeOverlayBox(0, 1);
1941
- changed = true;
1942
- }
1943
- }
1944
- return changed;
1945
- },
1946
-
1947
- reflow : function () {
1948
- if (this.scrollerDiv) {
1949
- var h = /iframe/i.test(this.scrollerDiv.tagName) ? (this.getIframePageHeight() + 1) +'px' : 'auto';
1950
- if (this.body) this.body.style.height = h;
1951
- this.scrollerDiv.style.height = h;
1952
- this.y.setSize(this.innerContent.offsetHeight);
1953
- }
1954
- },
1955
-
1956
- show : function () {
1957
- var x = this.x, y = this.y;
1958
- this.doShowHide('hidden');
1959
- hs.fireEvent(this, 'onBeforeExpand');
1960
- if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb();
1961
-
1962
- // Apply size change
1963
- this.changeSize(
1964
- 1, {
1965
- wrapper: {
1966
- width : x.get('wsize'),
1967
- height : y.get('wsize'),
1968
- left: x.pos,
1969
- top: y.pos
1970
- },
1971
- content: {
1972
- left: x.p1 + x.get('imgPad'),
1973
- top: y.p1 + y.get('imgPad'),
1974
- width:x.imgSize ||x.size,
1975
- height:y.imgSize ||y.size
1976
- }
1977
- },
1978
- hs.expandDuration
1979
- );
1980
- },
1981
-
1982
- changeSize : function(up, to, dur) {
1983
- // transition
1984
- var trans = this.transitions,
1985
- other = up ? (this.last ? this.last.a : null) : hs.upcoming,
1986
- t = (trans[1] && other
1987
- && hs.getParam(other, 'transitions')[1] == trans[1]) ?
1988
- trans[1] : trans[0];
1989
-
1990
- if (this[t] && t != 'expand') {
1991
- this[t](up, to);
1992
- return;
1993
- }
1994
-
1995
- if (this.outline && !this.outlineWhileAnimating) {
1996
- if (up) this.outline.setPosition();
1997
- else this.outline.destroy(
1998
- (this.isHtml && this.preserveContent));
1999
- }
2000
-
2001
-
2002
- if (!up) this.destroyOverlays();
2003
-
2004
- var exp = this,
2005
- x = exp.x,
2006
- y = exp.y,
2007
- easing = this.easing;
2008
- if (!up) easing = this.easingClose || easing;
2009
- var after = up ?
2010
- function() {
2011
-
2012
- if (exp.outline) exp.outline.table.style.visibility = "visible";
2013
- setTimeout(function() {
2014
- exp.afterExpand();
2015
- }, 50);
2016
- } :
2017
- function() {
2018
- exp.afterClose();
2019
- };
2020
- if (up) hs.setStyles( this.wrapper, {
2021
- width: x.t +'px',
2022
- height: y.t +'px'
2023
- });
2024
- if (up && this.isHtml) {
2025
- hs.setStyles(this.wrapper, {
2026
- left: (x.tpos - x.cb + x.tb) +'px',
2027
- top: (y.tpos - y.cb + y.tb) +'px'
2028
- });
2029
- }
2030
- if (this.fadeInOut) {
2031
- hs.setStyles(this.wrapper, { opacity: up ? 0 : 1 });
2032
- hs.extend(to.wrapper, { opacity: up });
2033
- }
2034
- hs.animate( this.wrapper, to.wrapper, {
2035
- duration: dur,
2036
- easing: easing,
2037
- step: function(val, args) {
2038
- if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') {
2039
- var fac = up ? args.pos : 1 - args.pos;
2040
- var pos = {
2041
- w: x.t + (x.get('wsize') - x.t) * fac,
2042
- h: y.t + (y.get('wsize') - y.t) * fac,
2043
- x: x.tpos + (x.pos - x.tpos) * fac,
2044
- y: y.tpos + (y.pos - y.tpos) * fac
2045
- };
2046
- exp.outline.setPosition(pos, 0, 1);
2047
- }
2048
- if (exp.isHtml) {
2049
- if (args.prop == 'left')
2050
- exp.mediumContent.style.left = (x.pos - val) +'px';
2051
- if (args.prop == 'top')
2052
- exp.mediumContent.style.top = (y.pos - val) +'px';
2053
- }
2054
- }
2055
- });
2056
- hs.animate( this.content, to.content, dur, easing, after);
2057
- if (up) {
2058
- this.wrapper.style.visibility = 'visible';
2059
- this.content.style.visibility = 'visible';
2060
- if (this.isHtml) this.innerContent.style.visibility = 'visible';
2061
- this.a.className += ' highslide-active-anchor';
2062
- }
2063
- },
2064
-
2065
-
2066
-
2067
- fade : function(up, to) {
2068
- this.outlineWhileAnimating = false;
2069
- var exp = this, t = up ? hs.expandDuration : 0;
2070
-
2071
- if (up) {
2072
- hs.animate(this.wrapper, to.wrapper, 0);
2073
- hs.setStyles(this.wrapper, { opacity: 0, visibility: 'visible' });
2074
- hs.animate(this.content, to.content, 0);
2075
- this.content.style.visibility = 'visible';
2076
-
2077
- hs.animate(this.wrapper, { opacity: 1 }, t, null,
2078
- function() { exp.afterExpand(); });
2079
- }
2080
-
2081
- if (this.outline) {
2082
- this.outline.table.style.zIndex = this.wrapper.style.zIndex;
2083
- var dir = up || -1,
2084
- offset = this.outline.offset,
2085
- startOff = up ? 3 : offset,
2086
- endOff = up? offset : 3;
2087
- for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) {
2088
- (function() {
2089
- var o = up ? endOff - i : startOff - i;
2090
- setTimeout(function() {
2091
- exp.outline.setPosition(0, o, 1);
2092
- }, t);
2093
- })();
2094
- }
2095
- }
2096
-
2097
-
2098
- if (up) {}//setTimeout(function() { exp.afterExpand(); }, t+50);
2099
- else {
2100
- setTimeout( function() {
2101
- if (exp.outline) exp.outline.destroy(exp.preserveContent);
2102
-
2103
- exp.destroyOverlays();
2104
-
2105
- hs.animate( exp.wrapper, { opacity: 0 }, hs.restoreDuration, null, function(){
2106
- exp.afterClose();
2107
- });
2108
- }, t);
2109
- }
2110
- },
2111
- crossfade : function (up, to, from) {
2112
- if (!up) return;
2113
- var exp = this,
2114
- last = this.last,
2115
- x = this.x,
2116
- y = this.y,
2117
- lastX = last.x,
2118
- lastY = last.y,
2119
- wrapper = this.wrapper,
2120
- content = this.content,
2121
- overlayBox = this.overlayBox;
2122
- hs.removeEventListener(document, 'mousemove', hs.dragHandler);
2123
-
2124
- hs.setStyles(content, {
2125
- width: (x.imgSize || x.size) +'px',
2126
- height: (y.imgSize || y.size) +'px'
2127
- });
2128
- if (overlayBox) overlayBox.style.overflow = 'visible';
2129
- this.outline = last.outline;
2130
- if (this.outline) this.outline.exp = exp;
2131
- last.outline = null;
2132
- var fadeBox = hs.createElement('div', {
2133
- className: 'highslide-'+ this.contentType
2134
- }, {
2135
- position: 'absolute',
2136
- zIndex: 4,
2137
- overflow: 'hidden',
2138
- display: 'none'
2139
- }
2140
- );
2141
- var names = { oldImg: last, newImg: this };
2142
- for (var n in names) {
2143
- this[n] = names[n].content.cloneNode(1);
2144
- hs.setStyles(this[n], {
2145
- position: 'absolute',
2146
- border: 0,
2147
- visibility: 'visible'
2148
- });
2149
- fadeBox.appendChild(this[n]);
2150
- }
2151
- wrapper.appendChild(fadeBox);
2152
- if (this.isHtml) hs.setStyles(this.mediumContent, {
2153
- left: 0,
2154
- top: 0
2155
- });
2156
- if (overlayBox) {
2157
- overlayBox.className = '';
2158
- wrapper.appendChild(overlayBox);
2159
- }
2160
- fadeBox.style.display = '';
2161
- last.content.style.display = 'none';
2162
-
2163
-
2164
- if (hs.safari && hs.uaVersion < 525) {
2165
- this.wrapper.style.visibility = 'visible';
2166
- }
2167
- hs.animate(wrapper, {
2168
- width: x.size
2169
- }, {
2170
- duration: hs.transitionDuration,
2171
- step: function(val, args) {
2172
- var pos = args.pos,
2173
- invPos = 1 - pos;
2174
- var prop,
2175
- size = {},
2176
- props = ['pos', 'size', 'p1', 'p2'];
2177
- for (var n in props) {
2178
- prop = props[n];
2179
- size['x'+ prop] = Math.round(invPos * lastX[prop] + pos * x[prop]);
2180
- size['y'+ prop] = Math.round(invPos * lastY[prop] + pos * y[prop]);
2181
- size.ximgSize = Math.round(
2182
- invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size));
2183
- size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad'));
2184
- size.yimgSize = Math.round(
2185
- invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size));
2186
- size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad'));
2187
- }
2188
- if (exp.outline) exp.outline.setPosition({
2189
- x: size.xpos,
2190
- y: size.ypos,
2191
- w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb,
2192
- h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb
2193
- });
2194
- last.wrapper.style.clip = 'rect('
2195
- + (size.ypos - lastY.pos)+'px, '
2196
- + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) +'px, '
2197
- + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) +'px, '
2198
- + (size.xpos - lastX.pos)+'px)';
2199
-
2200
- hs.setStyles(content, {
2201
- top: (size.yp1 + y.get('imgPad')) +'px',
2202
- left: (size.xp1 + x.get('imgPad')) +'px',
2203
- marginTop: (y.pos - size.ypos) +'px',
2204
- marginLeft: (x.pos - size.xpos) +'px'
2205
- });
2206
- hs.setStyles(wrapper, {
2207
- top: size.ypos +'px',
2208
- left: size.xpos +'px',
2209
- width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb)+ 'px',
2210
- height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px'
2211
- });
2212
- hs.setStyles(fadeBox, {
2213
- width: (size.ximgSize || size.xsize) + 'px',
2214
- height: (size.yimgSize || size.ysize) +'px',
2215
- left: (size.xp1 + size.ximgPad) +'px',
2216
- top: (size.yp1 + size.yimgPad) +'px',
2217
- visibility: 'visible'
2218
- });
2219
-
2220
- hs.setStyles(exp.oldImg, {
2221
- top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad)+'px',
2222
- left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad)+'px'
2223
- });
2224
-
2225
- hs.setStyles(exp.newImg, {
2226
- opacity: pos,
2227
- top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) +'px',
2228
- left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) +'px'
2229
- });
2230
- if (overlayBox) hs.setStyles(overlayBox, {
2231
- width: size.xsize + 'px',
2232
- height: size.ysize +'px',
2233
- left: (size.xp1 + x.cb) +'px',
2234
- top: (size.yp1 + y.cb) +'px'
2235
- });
2236
- },
2237
- complete: function () {
2238
- wrapper.style.visibility = content.style.visibility = 'visible';
2239
- content.style.display = 'block';
2240
- hs.discardElement(fadeBox);
2241
- exp.afterExpand();
2242
- last.afterClose();
2243
- exp.last = null;
2244
- }
2245
-
2246
- });
2247
- },
2248
- reuseOverlay : function(o, el) {
2249
- if (!this.last) return false;
2250
- for (var i = 0; i < this.last.overlays.length; i++) {
2251
- var oDiv = hs.$('hsId'+ this.last.overlays[i]);
2252
- if (oDiv && oDiv.hsId == o.hsId) {
2253
- this.genOverlayBox();
2254
- oDiv.reuse = this.key;
2255
- hs.push(this.overlays, this.last.overlays[i]);
2256
- return true;
2257
- }
2258
- }
2259
- return false;
2260
- },
2261
-
2262
-
2263
- afterExpand : function() {
2264
- this.isExpanded = true;
2265
- this.focus();
2266
-
2267
- if (this.isHtml && this.objectLoadTime == 'after') this.writeExtendedContent();
2268
- if (this.iframe) {
2269
- try {
2270
- var exp = this,
2271
- doc = this.iframe.contentDocument || this.iframe.contentWindow.document;
2272
- hs.addEventListener(doc, 'mousedown', function () {
2273
- if (hs.focusKey != exp.key) exp.focus();
2274
- });
2275
- } catch(e) {}
2276
- if (hs.ie && typeof this.isClosing != 'boolean') // first open
2277
- this.iframe.style.width = (this.objectWidth - 1) +'px'; // hasLayout
2278
- }
2279
- if (this.dimmingOpacity) hs.dim(this);
2280
- if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null;
2281
- this.prepareNextOutline();
2282
- var p = hs.page, mX = hs.mouse.x + p.scrollLeft, mY = hs.mouse.y + p.scrollTop;
2283
- this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize')
2284
- && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize');
2285
- if (this.overlayBox) this.showOverlays();
2286
- hs.fireEvent(this, 'onAfterExpand');
2287
-
2288
- },
2289
-
2290
-
2291
- prepareNextOutline : function() {
2292
- var key = this.key;
2293
- var outlineType = this.outlineType;
2294
- new hs.Outline(outlineType,
2295
- function () { try { hs.expanders[key].preloadNext(); } catch (e) {} });
2296
- },
2297
-
2298
-
2299
- preloadNext : function() {
2300
- var next = this.getAdjacentAnchor(1);
2301
- if (next && next.onclick.toString().match(/hs\.expand/))
2302
- var img = hs.createElement('img', { src: hs.getSrc(next) });
2303
- },
2304
-
2305
-
2306
- getAdjacentAnchor : function(op) {
2307
- var current = this.getAnchorIndex(), as = hs.anchors.groups[this.slideshowGroup || 'none'];
2308
- if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) {
2309
- if (op == 1) return as[0];
2310
- else if (op == -1) return as[as.length-1];
2311
- }
2312
- return (as && as[current + op]) || null;
2313
- },
2314
-
2315
- getAnchorIndex : function() {
2316
- var arr = hs.getAnchors().groups[this.slideshowGroup || 'none'];
2317
- if (arr) for (var i = 0; i < arr.length; i++) {
2318
- if (arr[i] == this.a) return i;
2319
- }
2320
- return null;
2321
- },
2322
-
2323
-
2324
- getNumber : function() {
2325
- if (this[this.numberPosition]) {
2326
- var arr = hs.anchors.groups[this.slideshowGroup || 'none'];
2327
- if (arr) {
2328
- var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length);
2329
- this[this.numberPosition].innerHTML =
2330
- '<div class="highslide-number">'+ s +'</div>'+ this[this.numberPosition].innerHTML;
2331
- }
2332
- }
2333
- },
2334
- initSlideshow : function() {
2335
- if (!this.last) {
2336
- for (var i = 0; i < hs.slideshows.length; i++) {
2337
- var ss = hs.slideshows[i], sg = ss.slideshowGroup;
2338
- if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup)
2339
- this.slideshow = new hs.Slideshow(this.key, ss);
2340
- }
2341
- } else {
2342
- this.slideshow = this.last.slideshow;
2343
- }
2344
- var ss = this.slideshow;
2345
- if (!ss) return;
2346
- var key = ss.expKey = this.key;
2347
-
2348
- ss.checkFirstAndLast();
2349
- ss.disable('full-expand');
2350
- if (ss.controls) {
2351
- this.createOverlay(hs.extend(ss.overlayOptions || {}, {
2352
- overlayId: ss.controls,
2353
- hsId: 'controls',
2354
- zIndex: 5
2355
- }));
2356
- }
2357
- if (ss.thumbstrip) ss.thumbstrip.add(this);
2358
- if (!this.last && this.autoplay) ss.play(true);
2359
- if (ss.autoplay) {
2360
- ss.autoplay = setTimeout(function() {
2361
- hs.next(key);
2362
- }, (ss.interval || 500));
2363
- }
2364
- },
2365
-
2366
- cancelLoading : function() {
2367
- hs.discardElement (this.wrapper);
2368
- hs.expanders[this.key] = null;
2369
- if (hs.upcoming == this.a) hs.upcoming = null;
2370
- hs.undim(this.key);
2371
- if (this.loading) hs.loading.style.left = '-9999px';
2372
- hs.fireEvent(this, 'onHideLoading');
2373
- },
2374
-
2375
- writeCredits : function () {
2376
- if (this.credits) return;
2377
- this.credits = hs.createElement('a', {
2378
- href: hs.creditsHref,
2379
- target: hs.creditsTarget,
2380
- className: 'highslide-credits',
2381
- innerHTML: hs.lang.creditsText,
2382
- title: hs.lang.creditsTitle
2383
- });
2384
- this.createOverlay({
2385
- overlayId: this.credits,
2386
- position: this.creditsPosition || 'top left',
2387
- hsId: 'credits'
2388
- });
2389
- },
2390
-
2391
- getInline : function(types, addOverlay) {
2392
- for (var i = 0; i < types.length; i++) {
2393
- var type = types[i], s = null;
2394
- if (type == 'caption' && !hs.fireEvent(this, 'onBeforeGetCaption')) return;
2395
- else if (type == 'heading' && !hs.fireEvent(this, 'onBeforeGetHeading')) return;
2396
- if (!this[type +'Id'] && this.thumbsUserSetId)
2397
- this[type +'Id'] = type +'-for-'+ this.thumbsUserSetId;
2398
- if (this[type +'Id']) this[type] = hs.getNode(this[type +'Id']);
2399
- if (!this[type] && !this[type +'Text'] && this[type +'Eval']) try {
2400
- s = eval(this[type +'Eval']);
2401
- } catch (e) {}
2402
- if (!this[type] && this[type +'Text']) {
2403
- s = this[type +'Text'];
2404
- }
2405
- if (!this[type] && !s) {
2406
- this[type] = hs.getNode(this.a['_'+ type + 'Id']);
2407
- if (!this[type]) {
2408
- var next = this.a.nextSibling;
2409
- while (next && !hs.isHsAnchor(next)) {
2410
- if ((new RegExp('highslide-'+ type)).test(next.className || null)) {
2411
- if (!next.id) this.a['_'+ type + 'Id'] = next.id = 'hsId'+ hs.idCounter++;
2412
- this[type] = hs.getNode(next.id);
2413
- break;
2414
- }
2415
- next = next.nextSibling;
2416
- }
2417
- }
2418
- }
2419
- if (!this[type] && !s && this.numberPosition == type) s = '\n';
2420
-
2421
- if (!this[type] && s) this[type] = hs.createElement('div',
2422
- { className: 'highslide-'+ type, innerHTML: s } );
2423
-
2424
- if (addOverlay && this[type]) {
2425
- var o = { position: (type == 'heading') ? 'above' : 'below' };
2426
- for (var x in this[type+'Overlay']) o[x] = this[type+'Overlay'][x];
2427
- o.overlayId = this[type];
2428
- this.createOverlay(o);
2429
- }
2430
- }
2431
- },
2432
-
2433
-
2434
- // on end move and resize
2435
- doShowHide : function(visibility) {
2436
- if (hs.hideSelects) this.showHideElements('SELECT', visibility);
2437
- if (hs.hideIframes) this.showHideElements('IFRAME', visibility);
2438
- if (hs.geckoMac) this.showHideElements('*', visibility);
2439
- },
2440
- showHideElements : function (tagName, visibility) {
2441
- var els = document.getElementsByTagName(tagName);
2442
- var prop = tagName == '*' ? 'overflow' : 'visibility';
2443
- for (var i = 0; i < els.length; i++) {
2444
- if (prop == 'visibility' || (document.defaultView.getComputedStyle(
2445
- els[i], "").getPropertyValue('overflow') == 'auto'
2446
- || els[i].getAttribute('hidden-by') != null)) {
2447
- var hiddenBy = els[i].getAttribute('hidden-by');
2448
- if (visibility == 'visible' && hiddenBy) {
2449
- hiddenBy = hiddenBy.replace('['+ this.key +']', '');
2450
- els[i].setAttribute('hidden-by', hiddenBy);
2451
- if (!hiddenBy) els[i].style[prop] = els[i].origProp;
2452
- } else if (visibility == 'hidden') { // hide if behind
2453
- var elPos = hs.getPosition(els[i]);
2454
- elPos.w = els[i].offsetWidth;
2455
- elPos.h = els[i].offsetHeight;
2456
- if (!this.dimmingOpacity) { // hide all if dimming
2457
-
2458
- var clearsX = (elPos.x + elPos.w < this.x.get('opos')
2459
- || elPos.x > this.x.get('opos') + this.x.get('osize'));
2460
- var clearsY = (elPos.y + elPos.h < this.y.get('opos')
2461
- || elPos.y > this.y.get('opos') + this.y.get('osize'));
2462
- }
2463
- var wrapperKey = hs.getWrapperKey(els[i]);
2464
- if (!clearsX && !clearsY && wrapperKey != this.key) { // element falls behind image
2465
- if (!hiddenBy) {
2466
- els[i].setAttribute('hidden-by', '['+ this.key +']');
2467
- els[i].origProp = els[i].style[prop];
2468
- els[i].style[prop] = 'hidden';
2469
-
2470
- } else if (hiddenBy.indexOf('['+ this.key +']') == -1) {
2471
- els[i].setAttribute('hidden-by', hiddenBy + '['+ this.key +']');
2472
- }
2473
- } else if ((hiddenBy == '['+ this.key +']' || hs.focusKey == wrapperKey)
2474
- && wrapperKey != this.key) { // on move
2475
- els[i].setAttribute('hidden-by', '');
2476
- els[i].style[prop] = els[i].origProp || '';
2477
- } else if (hiddenBy && hiddenBy.indexOf('['+ this.key +']') > -1) {
2478
- els[i].setAttribute('hidden-by', hiddenBy.replace('['+ this.key +']', ''));
2479
- }
2480
-
2481
- }
2482
- }
2483
- }
2484
- },
2485
-
2486
- focus : function() {
2487
- this.wrapper.style.zIndex = hs.zIndexCounter += 2;
2488
- // blur others
2489
- for (var i = 0; i < hs.expanders.length; i++) {
2490
- if (hs.expanders[i] && i == hs.focusKey) {
2491
- var blurExp = hs.expanders[i];
2492
- blurExp.content.className += ' highslide-'+ blurExp.contentType +'-blur';
2493
- if (blurExp.isImage) {
2494
- blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer';
2495
- blurExp.content.title = hs.lang.focusTitle;
2496
- }
2497
- hs.fireEvent(blurExp, 'onBlur');
2498
- }
2499
- }
2500
-
2501
- // focus this
2502
- if (this.outline) this.outline.table.style.zIndex
2503
- = this.wrapper.style.zIndex - 1;
2504
- this.content.className = 'highslide-'+ this.contentType;
2505
- if (this.isImage) {
2506
- this.content.title = hs.lang.restoreTitle;
2507
-
2508
- if (hs.restoreCursor) {
2509
- hs.styleRestoreCursor = window.opera ? 'pointer' : 'url('+ hs.graphicsDir + hs.restoreCursor +'), pointer';
2510
- if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand';
2511
- this.content.style.cursor = hs.styleRestoreCursor;
2512
- }
2513
- }
2514
- hs.focusKey = this.key;
2515
- hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
2516
- hs.fireEvent(this, 'onFocus');
2517
- },
2518
- moveTo: function(x, y) {
2519
- this.x.setPos(x);
2520
- this.y.setPos(y);
2521
- },
2522
- resize : function (e) {
2523
- var w, h, r = e.width / e.height;
2524
- w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full));
2525
- if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full;
2526
- h = this.isHtml ? e.height + e.dY : w / r;
2527
- if (h < Math.min(this.minHeight, this.y.full)) {
2528
- h = Math.min(this.minHeight, this.y.full);
2529
- if (this.isImage) w = h * r;
2530
- }
2531
- this.resizeTo(w, h);
2532
- },
2533
- resizeTo: function(w, h) {
2534
- this.y.setSize(h);
2535
- this.x.setSize(w);
2536
- this.wrapper.style.height = this.y.get('wsize') +'px';
2537
- },
2538
-
2539
- close : function() {
2540
- if (this.isClosing || !this.isExpanded) return;
2541
- if (this.transitions[1] == 'crossfade' && hs.upcoming) {
2542
- hs.getExpander(hs.upcoming).cancelLoading();
2543
- hs.upcoming = null;
2544
- }
2545
- if (!hs.fireEvent(this, 'onBeforeClose')) return;
2546
- this.isClosing = true;
2547
- if (this.slideshow && !hs.upcoming) this.slideshow.pause();
2548
-
2549
- hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
2550
-
2551
- try {
2552
- if (this.isHtml) this.htmlPrepareClose();
2553
- this.content.style.cursor = 'default';
2554
- this.changeSize(
2555
- 0, {
2556
- wrapper: {
2557
- width : this.x.t,
2558
- height : this.y.t,
2559
- left: this.x.tpos - this.x.cb + this.x.tb,
2560
- top: this.y.tpos - this.y.cb + this.y.tb
2561
- },
2562
- content: {
2563
- left: 0,
2564
- top: 0,
2565
- width: this.x.t,
2566
- height: this.y.t
2567
- }
2568
- }, hs.restoreDuration
2569
- );
2570
- } catch (e) { this.afterClose(); }
2571
- },
2572
-
2573
- htmlPrepareClose : function() {
2574
- if (hs.geckoMac) { // bad redraws
2575
- if (!hs.mask) hs.mask = hs.createElement('div', null,
2576
- { position: 'absolute' }, hs.container);
2577
- hs.setStyles(hs.mask, { width: this.x.size +'px', height: this.y.size +'px',
2578
- left: this.x.pos +'px', top: this.y.pos +'px', display: 'block' });
2579
- }
2580
- if (this.objectType == 'swf') try { hs.$(this.body.id).StopPlay(); } catch (e) {}
2581
-
2582
- if (this.objectLoadTime == 'after' && !this.preserveContent) this.destroyObject();
2583
- if (this.scrollerDiv && this.scrollerDiv != this.scrollingContent)
2584
- this.scrollerDiv.style.overflow = 'hidden';
2585
- },
2586
-
2587
- destroyObject : function () {
2588
- if (hs.ie && this.iframe)
2589
- try { this.iframe.contentWindow.document.body.innerHTML = ''; } catch (e) {}
2590
- if (this.objectType == 'swf') swfobject.removeSWF(this.body.id);
2591
- this.body.innerHTML = '';
2592
- },
2593
-
2594
- sleep : function() {
2595
- if (this.outline) this.outline.table.style.display = 'none';
2596
- this.releaseMask = null;
2597
- this.wrapper.style.display = 'none';
2598
- this.isExpanded = false;
2599
- hs.push(hs.sleeping, this);
2600
- },
2601
-
2602
- awake : function() {try {
2603
-
2604
- hs.expanders[this.key] = this;
2605
-
2606
- if (!hs.allowMultipleInstances &&hs.focusKey != this.key) {
2607
- try { hs.expanders[hs.focusKey].close(); } catch (e){}
2608
- }
2609
-
2610
- var z = hs.zIndexCounter++, stl = { display: '', zIndex: z };
2611
- hs.setStyles (this.wrapper, stl);
2612
- this.isClosing = false;
2613
-
2614
- var o = this.outline || 0;
2615
- if (o) {
2616
- if (!this.outlineWhileAnimating) stl.visibility = 'hidden';
2617
- hs.setStyles (o.table, stl);
2618
- }
2619
- if (this.slideshow) {
2620
- this.initSlideshow();
2621
- }
2622
-
2623
- this.show();
2624
- } catch (e) {}
2625
-
2626
-
2627
- },
2628
-
2629
- createOverlay : function (o) {
2630
- var el = o.overlayId,
2631
- relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position));
2632
- if (typeof el == 'string') el = hs.getNode(el);
2633
- if (o.html) el = hs.createElement('div', { innerHTML: o.html });
2634
- if (!el || typeof el == 'string') return;
2635
- if (!hs.fireEvent(this, 'onCreateOverlay', { overlay: el })) return;
2636
- el.style.display = 'block';
2637
- o.hsId = o.hsId || o.overlayId;
2638
- if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return;
2639
- this.genOverlayBox();
2640
- var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto';
2641
- if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px';
2642
- var overlay = hs.createElement(
2643
- 'div', {
2644
- id: 'hsId'+ hs.idCounter++,
2645
- hsId: o.hsId
2646
- }, {
2647
- position: 'absolute',
2648
- visibility: 'hidden',
2649
- width: width,
2650
- direction: hs.lang.cssDirection || '',
2651
- opacity: 0
2652
- },
2653
- relToVP ? hs.viewport :this.overlayBox,
2654
- true
2655
- );
2656
- if (relToVP) overlay.hsKey = this.key;
2657
-
2658
- overlay.appendChild(el);
2659
- hs.extend(overlay, {
2660
- opacity: 1,
2661
- offsetX: 0,
2662
- offsetY: 0,
2663
- dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250
2664
- });
2665
- hs.extend(overlay, o);
2666
-
2667
-
2668
- if (this.gotOverlays) {
2669
- this.positionOverlay(overlay);
2670
- if (!overlay.hideOnMouseOut || this.mouseIsOver)
2671
- hs.animate(overlay, { opacity: overlay.opacity }, overlay.dur);
2672
- }
2673
- hs.push(this.overlays, hs.idCounter - 1);
2674
- },
2675
- positionOverlay : function(overlay) {
2676
- var p = overlay.position || 'middle center',
2677
- relToVP = (overlay.relativeTo == 'viewport'),
2678
- offX = overlay.offsetX,
2679
- offY = overlay.offsetY;
2680
- if (relToVP) {
2681
- hs.viewport.style.display = 'block';
2682
- overlay.hsKey = this.key;
2683
- if (overlay.offsetWidth > overlay.parentNode.offsetWidth)
2684
- overlay.style.width = '100%';
2685
- } else
2686
- if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay);
2687
- if (/left$/.test(p)) overlay.style.left = offX +'px';
2688
-
2689
- if (/center$/.test(p)) hs.setStyles (overlay, {
2690
- left: '50%',
2691
- marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) +'px'
2692
- });
2693
-
2694
- if (/right$/.test(p)) overlay.style.right = - offX +'px';
2695
-
2696
- if (/^leftpanel$/.test(p)) {
2697
- hs.setStyles(overlay, {
2698
- right: '100%',
2699
- marginRight: this.x.cb +'px',
2700
- top: - this.y.cb +'px',
2701
- bottom: - this.y.cb +'px',
2702
- overflow: 'auto'
2703
- });
2704
- this.x.p1 = overlay.offsetWidth;
2705
-
2706
- } else if (/^rightpanel$/.test(p)) {
2707
- hs.setStyles(overlay, {
2708
- left: '100%',
2709
- marginLeft: this.x.cb +'px',
2710
- top: - this.y.cb +'px',
2711
- bottom: - this.y.cb +'px',
2712
- overflow: 'auto'
2713
- });
2714
- this.x.p2 = overlay.offsetWidth;
2715
- }
2716
- var parOff = overlay.parentNode.offsetHeight;
2717
- overlay.style.height = 'auto';
2718
- if (relToVP && overlay.offsetHeight > parOff)
2719
- overlay.style.height = hs.ieLt7 ? parOff +'px' : '100%';
2720
-
2721
- if (/^top/.test(p)) overlay.style.top = offY +'px';
2722
- if (/^middle/.test(p)) hs.setStyles (overlay, {
2723
- top: '50%',
2724
- marginTop: (offY - Math.round(overlay.offsetHeight / 2)) +'px'
2725
- });
2726
- if (/^bottom/.test(p)) overlay.style.bottom = - offY +'px';
2727
- if (/^above$/.test(p)) {
2728
- hs.setStyles(overlay, {
2729
- left: (- this.x.p1 - this.x.cb) +'px',
2730
- right: (- this.x.p2 - this.x.cb) +'px',
2731
- bottom: '100%',
2732
- marginBottom: this.y.cb +'px',
2733
- width: 'auto'
2734
- });
2735
- this.y.p1 = overlay.offsetHeight;
2736
-
2737
- } else if (/^below$/.test(p)) {
2738
- hs.setStyles(overlay, {
2739
- position: 'relative',
2740
- left: (- this.x.p1 - this.x.cb) +'px',
2741
- right: (- this.x.p2 - this.x.cb) +'px',
2742
- top: '100%',
2743
- marginTop: this.y.cb +'px',
2744
- width: 'auto'
2745
- });
2746
- this.y.p2 = overlay.offsetHeight;
2747
- overlay.style.position = 'absolute';
2748
- }
2749
- },
2750
-
2751
- getOverlays : function() {
2752
- this.getInline(['heading', 'caption'], true);
2753
- this.getNumber();
2754
- if (this.caption) hs.fireEvent(this, 'onAfterGetCaption');
2755
- if (this.heading) hs.fireEvent(this, 'onAfterGetHeading');
2756
- if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move';
2757
- if (hs.showCredits) this.writeCredits();
2758
- for (var i = 0; i < hs.overlays.length; i++) {
2759
- var o = hs.overlays[i], tId = o.thumbnailId, sg = o.slideshowGroup;
2760
- if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId)
2761
- || (sg && sg === this.slideshowGroup)) {
2762
- if (this.isImage || (this.isHtml && o.useOnHtml))
2763
- this.createOverlay(o);
2764
- }
2765
- }
2766
- var os = [];
2767
- for (var i = 0; i < this.overlays.length; i++) {
2768
- var o = hs.$('hsId'+ this.overlays[i]);
2769
- if (/panel$/.test(o.position)) this.positionOverlay(o);
2770
- else hs.push(os, o);
2771
- }
2772
- for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]);
2773
- this.gotOverlays = true;
2774
- },
2775
- genOverlayBox : function() {
2776
- if (!this.overlayBox) this.overlayBox = hs.createElement (
2777
- 'div', {
2778
- className: this.wrapperClassName
2779
- }, {
2780
- position : 'absolute',
2781
- width: (this.x.size || (this.useBox ? this.width : null)
2782
- || this.x.full) +'px',
2783
- height: (this.y.size || this.y.full) +'px',
2784
- visibility : 'hidden',
2785
- overflow : 'hidden',
2786
- zIndex : hs.ie ? 4 : 'auto'
2787
- },
2788
- hs.container,
2789
- true
2790
- );
2791
- },
2792
- sizeOverlayBox : function(doWrapper, doPanels) {
2793
- var overlayBox = this.overlayBox,
2794
- x = this.x,
2795
- y = this.y;
2796
- hs.setStyles( overlayBox, {
2797
- width: x.size +'px',
2798
- height: y.size +'px'
2799
- });
2800
- if (doWrapper || doPanels) {
2801
- for (var i = 0; i < this.overlays.length; i++) {
2802
- var o = hs.$('hsId'+ this.overlays[i]);
2803
- var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat');
2804
- if (o && /^(above|below)$/.test(o.position)) {
2805
- if (ie6) {
2806
- o.style.width = (overlayBox.offsetWidth + 2 * x.cb
2807
- + x.p1 + x.p2) +'px';
2808
- }
2809
- y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight;
2810
- }
2811
- if (o && ie6 && /^(left|right)panel$/.test(o.position)) {
2812
- o.style.height = (overlayBox.offsetHeight + 2* y.cb) +'px';
2813
- }
2814
- }
2815
- }
2816
- if (doWrapper) {
2817
- hs.setStyles(this.content, {
2818
- top: y.p1 +'px'
2819
- });
2820
- hs.setStyles(overlayBox, {
2821
- top: (y.p1 + y.cb) +'px'
2822
- });
2823
- }
2824
- },
2825
-
2826
- showOverlays : function() {
2827
- var b = this.overlayBox;
2828
- b.className = '';
2829
- hs.setStyles(b, {
2830
- top: (this.y.p1 + this.y.cb) +'px',
2831
- left: (this.x.p1 + this.x.cb) +'px',
2832
- overflow : 'visible'
2833
- });
2834
- if (hs.safari) b.style.visibility = 'visible';
2835
- this.wrapper.appendChild (b);
2836
- for (var i = 0; i < this.overlays.length; i++) {
2837
- var o = hs.$('hsId'+ this.overlays[i]);
2838
- o.style.zIndex = o.zIndex || 4;
2839
- if (!o.hideOnMouseOut || this.mouseIsOver) {
2840
- o.style.visibility = 'visible';
2841
- hs.setStyles(o, { visibility: 'visible', display: '' });
2842
- hs.animate(o, { opacity: o.opacity }, o.dur);
2843
- }
2844
- }
2845
- },
2846
-
2847
- destroyOverlays : function() {
2848
- if (!this.overlays.length) return;
2849
- if (this.slideshow) {
2850
- var c = this.slideshow.controls;
2851
- if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c);
2852
- }
2853
- for (var i = 0; i < this.overlays.length; i++) {
2854
- var o = hs.$('hsId'+ this.overlays[i]);
2855
- if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o);
2856
- }
2857
- if (this.isHtml && this.preserveContent) {
2858
- this.overlayBox.style.top = '-9999px';
2859
- hs.container.appendChild(this.overlayBox);
2860
- } else
2861
- hs.discardElement(this.overlayBox);
2862
- },
2863
-
2864
-
2865
-
2866
- createFullExpand : function () {
2867
- if (this.slideshow && this.slideshow.controls) {
2868
- this.slideshow.enable('full-expand');
2869
- return;
2870
- }
2871
- this.fullExpandLabel = hs.createElement(
2872
- 'a', {
2873
- href: 'javascript:hs.expanders['+ this.key +'].doFullExpand();',
2874
- title: hs.lang.fullExpandTitle,
2875
- className: 'highslide-full-expand'
2876
- }
2877
- );
2878
- if (!hs.fireEvent(this, 'onCreateFullExpand')) return;
2879
-
2880
- this.createOverlay({
2881
- overlayId: this.fullExpandLabel,
2882
- position: hs.fullExpandPosition,
2883
- hideOnMouseOut: true,
2884
- opacity: hs.fullExpandOpacity
2885
- });
2886
- },
2887
-
2888
- doFullExpand : function () {
2889
- try {
2890
- if (!hs.fireEvent(this, 'onDoFullExpand')) return;
2891
- if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel);
2892
-
2893
- this.focus();
2894
- var xSize = this.x.size,
2895
- ySize = this.y.size;
2896
- this.resizeTo(this.x.full, this.y.full);
2897
-
2898
- var xpos = this.x.pos - (this.x.size - xSize) / 2;
2899
- if (xpos < hs.marginLeft) xpos = hs.marginLeft;
2900
-
2901
- var ypos = this.y.pos - (this.y.size - ySize) / 2;
2902
- if (ypos < hs.marginTop) ypos = hs.marginTop;
2903
-
2904
- this.moveTo(xpos, ypos);
2905
- this.doShowHide('hidden');
2906
-
2907
- } catch (e) {
2908
- this.error(e);
2909
- }
2910
- },
2911
-
2912
-
2913
- afterClose : function () {
2914
- this.a.className = this.a.className.replace('highslide-active-anchor', '');
2915
-
2916
- this.doShowHide('visible');
2917
-
2918
- if (this.isHtml && this.preserveContent
2919
- && this.transitions[1] != 'crossfade') {
2920
- this.sleep();
2921
- } else {
2922
- if (this.outline && this.outlineWhileAnimating) this.outline.destroy();
2923
-
2924
- hs.discardElement(this.wrapper);
2925
- }
2926
- if (hs.mask) hs.mask.style.display = 'none';
2927
- this.destroyOverlays();
2928
- if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none';
2929
-
2930
- if (this.dimmingOpacity) hs.undim(this.key);
2931
- hs.fireEvent(this, 'onAfterClose');
2932
- hs.expanders[this.key] = null;
2933
- hs.reOrder();
2934
- }
2935
-
2936
- };
2937
-
2938
-
2939
- // hs.Ajax object prototype
2940
- hs.Ajax = function (a, content, pre) {
2941
- this.a = a;
2942
- this.content = content;
2943
- this.pre = pre;
2944
- };
2945
-
2946
- hs.Ajax.prototype = {
2947
- run : function () {
2948
- var xhr;
2949
- if (!this.src) this.src = hs.getSrc(this.a);
2950
- if (this.src.match('#')) {
2951
- var arr = this.src.split('#');
2952
- this.src = arr[0];
2953
- this.id = arr[1];
2954
- }
2955
- if (hs.cachedGets[this.src]) {
2956
- this.cachedGet = hs.cachedGets[this.src];
2957
- if (this.id) this.getElementContent();
2958
- else this.loadHTML();
2959
- return;
2960
- }
2961
- try { xhr = new XMLHttpRequest(); }
2962
- catch (e) {
2963
- try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
2964
- catch (e) {
2965
- try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
2966
- catch (e) { this.onError(); }
2967
- }
2968
- }
2969
- var pThis = this;
2970
- xhr.onreadystatechange = function() {
2971
- if(pThis.xhr.readyState == 4) {
2972
- if (pThis.id) pThis.getElementContent();
2973
- else pThis.loadHTML();
2974
- }
2975
- };
2976
- var src = this.src;
2977
- this.xhr = xhr;
2978
- if (hs.forceAjaxReload)
2979
- src = src.replace(/$/, (/\?/.test(src) ? '&' : '?') +'dummy='+ (new Date()).getTime());
2980
- xhr.open('GET', src, true);
2981
- xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
2982
- xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
2983
- xhr.send(null);
2984
- },
2985
-
2986
- getElementContent : function() {
2987
- hs.init();
2988
- var attribs = window.opera || hs.ie6SSL ? { src: 'about:blank' } : null;
2989
-
2990
- this.iframe = hs.createElement('iframe', attribs,
2991
- { position: 'absolute', top: '-9999px' }, hs.container);
2992
-
2993
- this.loadHTML();
2994
- },
2995
-
2996
- loadHTML : function() {
2997
- var s = this.cachedGet || this.xhr.responseText,
2998
- regBody;
2999
- if (this.pre) hs.cachedGets[this.src] = s;
3000
- if (!hs.ie || hs.uaVersion >= 5.5) {
3001
- s = s.replace(new RegExp('<link[^>]*>', 'gi'), '')
3002
- .replace(new RegExp('<script[^>]*>.*?</script>', 'gi'), '');
3003
- if (this.iframe) {
3004
- var doc = this.iframe.contentDocument;
3005
- if (!doc && this.iframe.contentWindow) doc = this.iframe.contentWindow.document;
3006
- if (!doc) { // Opera
3007
- var pThis = this;
3008
- setTimeout(function() { pThis.loadHTML(); }, 25);
3009
- return;
3010
- }
3011
- doc.open();
3012
- doc.write(s);
3013
- doc.close();
3014
- try { s = doc.getElementById(this.id).innerHTML; } catch (e) {
3015
- try { s = this.iframe.document.getElementById(this.id).innerHTML; } catch (e) {} // opera
3016
- }
3017
- hs.discardElement(this.iframe);
3018
- } else {
3019
- regBody = /(<body[^>]*>|<\/body>)/ig;
3020
- if (regBody.test(s)) s = s.split(regBody)[hs.ieLt9 ? 1 : 2];
3021
-
3022
- }
3023
- }
3024
- hs.getElementByClass(this.content, 'DIV', 'highslide-body').innerHTML = s;
3025
- this.onLoad();
3026
- for (var x in this) this[x] = null;
3027
- }
3028
- };
3029
-
3030
-
3031
- hs.Slideshow = function (expKey, options) {
3032
- if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors();
3033
- this.expKey = expKey;
3034
- for (var x in options) this[x] = options[x];
3035
- if (this.useControls) this.getControls();
3036
- if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this);
3037
- };
3038
- hs.Slideshow.prototype = {
3039
- getControls: function() {
3040
- this.controls = hs.createElement('div', { innerHTML: hs.replaceLang(hs.skin.controls) },
3041
- null, hs.container);
3042
-
3043
- var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close'];
3044
- this.btn = {};
3045
- var pThis = this;
3046
- for (var i = 0; i < buttons.length; i++) {
3047
- this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-'+ buttons[i]);
3048
- this.enable(buttons[i]);
3049
- }
3050
- this.btn.pause.style.display = 'none';
3051
- //this.disable('full-expand');
3052
- },
3053
- checkFirstAndLast: function() {
3054
- if (this.repeat || !this.controls) return;
3055
- var exp = hs.expanders[this.expKey],
3056
- cur = exp.getAnchorIndex(),
3057
- re = /disabled$/;
3058
- if (cur == 0)
3059
- this.disable('previous');
3060
- else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className))
3061
- this.enable('previous');
3062
- if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) {
3063
- this.disable('next');
3064
- this.disable('play');
3065
- } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) {
3066
- this.enable('next');
3067
- this.enable('play');
3068
- }
3069
- },
3070
- enable: function(btn) {
3071
- if (!this.btn) return;
3072
- var sls = this, a = this.btn[btn].getElementsByTagName('a')[0], re = /disabled$/;
3073
- a.onclick = function() {
3074
- sls[btn]();
3075
- return false;
3076
- };
3077
- if (re.test(a.className)) a.className = a.className.replace(re, '');
3078
- },
3079
- disable: function(btn) {
3080
- if (!this.btn) return;
3081
- var a = this.btn[btn].getElementsByTagName('a')[0];
3082
- a.onclick = function() { return false; };
3083
- if (!/disabled$/.test(a.className)) a.className += ' disabled';
3084
- },
3085
- hitSpace: function() {
3086
- if (this.autoplay) this.pause();
3087
- else this.play();
3088
- },
3089
- play: function(wait) {
3090
- if (this.btn) {
3091
- this.btn.play.style.display = 'none';
3092
- this.btn.pause.style.display = '';
3093
- }
3094
-
3095
- this.autoplay = true;
3096
- if (!wait) hs.next(this.expKey);
3097
- },
3098
- pause: function() {
3099
- if (this.btn) {
3100
- this.btn.pause.style.display = 'none';
3101
- this.btn.play.style.display = '';
3102
- }
3103
-
3104
- clearTimeout(this.autoplay);
3105
- this.autoplay = null;
3106
- },
3107
- previous: function() {
3108
- this.pause();
3109
- hs.previous(this.btn.previous);
3110
- },
3111
- next: function() {
3112
- this.pause();
3113
- hs.next(this.btn.next);
3114
- },
3115
- move: function() {},
3116
- 'full-expand': function() {
3117
- hs.getExpander().doFullExpand();
3118
- },
3119
- close: function() {
3120
- hs.close(this.btn.close);
3121
- }
3122
- };
3123
- hs.Thumbstrip = function(slideshow) {
3124
- function add (exp) {
3125
- hs.extend(options || {}, {
3126
- overlayId: dom,
3127
- hsId: 'thumbstrip',
3128
- className: 'highslide-thumbstrip-'+ mode +'-overlay ' + (options.className || '')
3129
- });
3130
- if (hs.ieLt7) options.fade = 0;
3131
- exp.createOverlay(options);
3132
- hs.setStyles(dom.parentNode, { overflow: 'hidden' });
3133
- };
3134
-
3135
- function scroll (delta) {
3136
- selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7));
3137
- };
3138
-
3139
- function selectThumb (i, scrollBy) {
3140
- if (i === undefined) for (var j = 0; j < group.length; j++) {
3141
- if (group[j] == hs.expanders[slideshow.expKey].a) {
3142
- i = j;
3143
- break;
3144
- }
3145
- }
3146
- if (i === undefined) return;
3147
- var as = dom.getElementsByTagName('a'),
3148
- active = as[i],
3149
- cell = active.parentNode,
3150
- left = isX ? 'Left' : 'Top',
3151
- right = isX ? 'Right' : 'Bottom',
3152
- width = isX ? 'Width' : 'Height',
3153
- offsetLeft = 'offset' + left,
3154
- offsetWidth = 'offset' + width,
3155
- overlayWidth = div.parentNode.parentNode[offsetWidth],
3156
- minTblPos = overlayWidth - table[offsetWidth],
3157
- curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0,
3158
- tblPos = curTblPos,
3159
- mgnRight = 20;
3160
- if (scrollBy !== undefined) {
3161
- tblPos = curTblPos - scrollBy;
3162
-
3163
- if (minTblPos > 0) minTblPos = 0;
3164
- if (tblPos > 0) tblPos = 0;
3165
- if (tblPos < minTblPos) tblPos = minTblPos;
3166
-
3167
-
3168
- } else {
3169
- for (var j = 0; j < as.length; j++) as[j].className = '';
3170
- active.className = 'highslide-active-anchor';
3171
- var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft],
3172
- activeRight = cell[offsetLeft] + cell[offsetWidth] +
3173
- (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0);
3174
- if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight;
3175
- else if (activeLeft < -curTblPos) tblPos = -activeLeft;
3176
- }
3177
- var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos;
3178
- hs.animate(table, isX ? { left: tblPos } : { top: tblPos }, null, 'easeOutQuad');
3179
- hs.animate(marker, isX ? { left: markerPos } : { top: markerPos }, null, 'easeOutQuad');
3180
- scrollUp.style.display = tblPos < 0 ? 'block' : 'none';
3181
- scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none';
3182
-
3183
- };
3184
-
3185
-
3186
- // initialize
3187
- var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'],
3188
- options = slideshow.thumbstrip,
3189
- mode = options.mode || 'horizontal',
3190
- floatMode = (mode == 'float'),
3191
- tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'],
3192
- isX = (mode == 'horizontal'),
3193
- dom = hs.createElement('div', {
3194
- className: 'highslide-thumbstrip highslide-thumbstrip-'+ mode,
3195
- innerHTML:
3196
- '<div class="highslide-thumbstrip-inner">'+
3197
- '<'+ tree[0] +'><'+ tree[1] +'></'+ tree[1] +'></'+ tree[0] +'></div>'+
3198
- '<div class="highslide-scroll-up"><div></div></div>'+
3199
- '<div class="highslide-scroll-down"><div></div></div>'+
3200
- '<div class="highslide-marker"><div></div></div>'
3201
- }, {
3202
- display: 'none'
3203
- }, hs.container),
3204
- domCh = dom.childNodes,
3205
- div = domCh[0],
3206
- scrollUp = domCh[1],
3207
- scrollDown = domCh[2],
3208
- marker = domCh[3],
3209
- table = div.firstChild,
3210
- tbody = dom.getElementsByTagName(tree[1])[0],
3211
- tr;
3212
- for (var i = 0; i < group.length; i++) {
3213
- if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody);
3214
- (function(){
3215
- var a = group[i],
3216
- cell = hs.createElement(tree[3], null, null, tr),
3217
- pI = i;
3218
- hs.createElement('a', {
3219
- href: a.href,
3220
- title: a.title,
3221
- onclick: function() {
3222
- if (/highslide-active-anchor/.test(this.className)) return false;
3223
- hs.getExpander(this).focus();
3224
- return hs.transit(a);
3225
- },
3226
- innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML
3227
- }, null, cell);
3228
- })();
3229
- }
3230
- if (!floatMode) {
3231
- scrollUp.onclick = function () { scroll(-1); };
3232
- scrollDown.onclick = function() { scroll(1); };
3233
- hs.addEventListener(tbody, document.onmousewheel !== undefined ?
3234
- 'mousewheel' : 'DOMMouseScroll', function(e) {
3235
- var delta = 0;
3236
- e = e || window.event;
3237
- if (e.wheelDelta) {
3238
- delta = e.wheelDelta/120;
3239
- if (hs.opera) delta = -delta;
3240
- } else if (e.detail) {
3241
- delta = -e.detail/3;
3242
- }
3243
- if (delta) scroll(-delta * 0.2);
3244
- if (e.preventDefault) e.preventDefault();
3245
- e.returnValue = false;
3246
- });
3247
- }
3248
-
3249
- return {
3250
- add: add,
3251
- selectThumb: selectThumb
3252
- }
3253
- };
3254
- hs.langDefaults = hs.lang;
3255
- // history
3256
- var HsExpander = hs.Expander;
3257
- if (hs.ie && window == window.top) {
3258
- (function () {
3259
- try {
3260
- document.documentElement.doScroll('left');
3261
- } catch (e) {
3262
- setTimeout(arguments.callee, 50);
3263
- return;
3264
- }
3265
- hs.ready();
3266
- })();
3267
- }
3268
- hs.addEventListener(document, 'DOMContentLoaded', hs.ready);
3269
- hs.addEventListener(window, 'load', hs.ready);
3270
-
3271
- // set handlers
3272
- hs.addEventListener(document, 'ready', function() {
3273
- if (hs.expandCursor || hs.dimmingOpacity) {
3274
- var style = hs.createElement('style', { type: 'text/css' }, null,
3275
- document.getElementsByTagName('HEAD')[0]),
3276
- backCompat = document.compatMode == 'BackCompat';
3277
-
3278
-
3279
- function addRule(sel, dec) {
3280
- if (hs.ie && (hs.uaVersion < 9 || backCompat)) {
3281
- var last = document.styleSheets[document.styleSheets.length - 1];
3282
- if (typeof(last.addRule) == "object") last.addRule(sel, dec);
3283
- } else {
3284
- style.appendChild(document.createTextNode(sel + " {" + dec + "}"));
3285
- }
3286
- }
3287
- function fix(prop) {
3288
- return 'expression( ( ( ignoreMe = document.documentElement.'+ prop +
3289
- ' ? document.documentElement.'+ prop +' : document.body.'+ prop +' ) ) + \'px\' );';
3290
- }
3291
- if (hs.expandCursor) addRule ('.highslide img',
3292
- 'cursor: url('+ hs.graphicsDir + hs.expandCursor +'), pointer !important;');
3293
- addRule ('.highslide-viewport-size',
3294
- hs.ie && (hs.uaVersion < 7 || backCompat) ?
3295
- 'position: absolute; '+
3296
- 'left:'+ fix('scrollLeft') +
3297
- 'top:'+ fix('scrollTop') +
3298
- 'width:'+ fix('clientWidth') +
3299
- 'height:'+ fix('clientHeight') :
3300
- 'position: fixed; width: 100%; height: 100%; left: 0; top: 0');
3301
- }
3302
- });
3303
- hs.addEventListener(window, 'resize', function() {
3304
- hs.getPageSize();
3305
- if (hs.viewport) for (var i = 0; i < hs.viewport.childNodes.length; i++) {
3306
- var node = hs.viewport.childNodes[i],
3307
- exp = hs.getExpander(node);
3308
- exp.positionOverlay(node);
3309
- if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb();
3310
- }
3311
- });
3312
- hs.addEventListener(document, 'mousemove', function(e) {
3313
- hs.mouse = { x: e.clientX, y: e.clientY };
3314
- });
3315
- hs.addEventListener(document, 'mousedown', hs.mouseClickHandler);
3316
- hs.addEventListener(document, 'mouseup', hs.mouseClickHandler);
3317
- hs.addEventListener(document, 'ready', hs.setClickEvents);
3318
- hs.addEventListener(window, 'load', hs.preloadImages);
3319
- hs.addEventListener(window, 'load', hs.preloadAjax);
3320
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/highslide/highslide-full.min.js DELETED
@@ -1 +0,0 @@
1
- eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('q(!m){A m={18:{97:\'aK\',aZ:\'fw...\',aY:\'8G 2i fP\',bD:\'8G 2i g0 2i eR\',9Z:\'eZ 2i fc D (f)\',cq:\'f8 by <i>an ao</i>\',cr:\'f4 2i f6 an ao fg\',8Y:\'aq\',8W:\'ay\',8Z:\'ag\',92:\'am\',90:\'am (eD)\',b0:\'eY\',ab:\'al\',au:\'al 1p (aj)\',ac:\'ah\',ad:\'ah 1p (aj)\',8s:\'aq (8w 1b)\',8X:\'ay (8w 3m)\',8V:\'ag\',ae:\'1:1\',3G:\'g7 %1 fz %2\',9W:\'8G 2i 26 2R, dC aA dE 2i 3u. dF 8w dB O 1D aA 3a.\'},5c:\'K/dw/\',7R:\'dv.5q\',6h:\'dx.5q\',6W:5Z,9A:5Z,4W:15,9B:15,4d:15,6L:15,4F:cY,be:0.75,9l:M,9f:5,3Y:2,ei:3,5S:1j,bz:\'4Q 3m\',bA:1,br:M,ct:\'em://K.eh/\',cs:\'ec\',aS:M,9w:[\'a\',\'5v\'],3q:[],cE:5Z,4b:0,87:50,6J:1j,6X:M,4D:M,3U:\'60\',7W:M,46:\'1M\',9n:\'1M\',b1:I,aC:I,a7:M,4s:aw,6k:aw,5Y:M,1Z:\'ev-dV\',8i:{2X:\'<P 1W="K-2X"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3L">\'+\'<a 21="#" 24="{m.18.au}">\'+\'<1C>{m.18.ab}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3p">\'+\'<a 21="#" 24="{m.18.ad}">\'+\'<1C>{m.18.ac}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1a-2F">\'+\'<a 21="#" 24="{m.18.9Z}">\'+\'<1C>{m.18.ae}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" >\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\',bd:\'<P 1W="K-e2"><6t>\'+\'<1H 1W="K-3a">\'+\'<a 21="#" 24="{m.18.8s}" 2p="E m.3a(k)">\'+\'<1C>{m.18.8Y}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-1D">\'+\'<a 21="#" 24="{m.18.8X}" 2p="E m.1D(k)">\'+\'<1C>{m.18.8W}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-3u">\'+\'<a 21="#" 24="{m.18.8V}" 2p="E 1j">\'+\'<1C>{m.18.8Z}</1C></a>\'+\'</1H>\'+\'<1H 1W="K-26">\'+\'<a 21="#" 24="{m.18.90}" 2p="E m.26(k)">\'+\'<1C>{m.18.92}</1C></a>\'+\'</1H>\'+\'</6t></P>\'+\'<P 1W="K-19"></P>\'+\'<P 1W="K-e7"><P>\'+\'<1C 1W="K-3O" 24="{m.18.b0}"><1C></1C></1C>\'+\'</P></P>\'},64:[],a1:M,16:[],a4:[\'5Y\',\'3t\',\'46\',\'9n\',\'b1\',\'aC\',\'1Z\',\'3Y\',\'dU\',\'dM\',\'dL\',\'b3\',\'dK\',\'dI\',\'dJ\',\'b2\',\'cv\',\'a7\',\'42\',\'6l\',\'3q\',\'4b\',\'L\',\'N\',\'88\',\'6J\',\'6X\',\'4D\',\'dN\',\'dO\',\'dT\',\'2I\',\'7W\',\'4j\',\'4x\',\'3U\',\'8e\',\'a9\',\'4s\',\'6k\',\'6M\',\'9i\',\'aX\',\'2N\',\'2Q\',\'cF\',\'cD\',\'1e\'],1T:[],61:0,8g:{x:[\'bM\',\'1b\',\'4X\',\'3m\',\'bC\'],y:[\'5N\',\'Y\',\'9a\',\'4Q\',\'7E\']},7B:{},b2:{},b3:{},8e:{aG:{},29:{},aF:{}},4m:[],6u:[],4n:{},4R:[],7q:[],5a:[],7k:{},8c:{},7l:[],2t:/dP\\/4\\.0/.11(4A.6d)?8:8J((4A.6d.5G().3b(/.+(?:b9|dQ|e9|2h)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1]),2h:(W.6q&&!1S.3z),4M:/ea/.11(4A.6d),6y:/eu.+b9:1\\.[0-8].+es/.11(4A.6d),$:C(1v){q(1v)E W.9Q(1v)},2o:C(2a,3j){2a[2a.V]=3j},1d:C(ba,4l,49,6c,bh){A el=W.1d(ba);q(4l)m.3A(el,4l);q(bh)m.R(el,{94:0,8H:\'1E\',9D:0});q(49)m.R(el,49);q(6c)6c.1X(el);E el},3A:C(el,4l){O(A x 2Y 4l)el[x]=4l[x];E el},R:C(el,49){O(A x 2Y 49){q(m.3R&&x==\'1z\'){q(49[x]>0.99)el.G.ew(\'5Q\');J el.G.5Q=\'bg(1z=\'+(49[x]*2w)+\')\'}J el.G[x]=49[x]}},2z:C(el,1f,3C){A 4T,51,4w;q(1F 3C!=\'7j\'||3C===I){A 2H=c5;3C={4h:2H[2],2Q:2H[3],76:2H[4]}}q(1F 3C.4h!=\'3G\')3C.4h=5Z;3C.2Q=1h[3C.2Q]||1h.bj;3C.7g=m.3A({},1f);O(A 2Z 2Y 1f){A e=1J m.fx(el,3C,2Z);4T=8J(m.8I(el,2Z))||0;51=8J(1f[2Z]);4w=2Z!=\'1z\'?\'F\':\'\';e.3E(4T,51,4w)}},8I:C(el,1f){q(el.G[1f]){E el.G[1f]}J q(W.8L){E W.8L.cK(el,I).co(1f)}J{q(1f==\'1z\')1f=\'5Q\';A 3j=el.5y[1f.2k(/\\-(\\w)/g,C(a,b){E b.bi()})];q(1f==\'5Q\')3j=3j.2k(/bg\\(1z=([0-9]+)\\)/,C(a,b){E b/2w});E 3j===\'\'?1:3j}},7S:C(){A d=W,w=1S,63=d.7a&&d.7a!=\'8v\'?d.5h:d.19,3R=m.2h&&(m.2t<9||1F bf==\'1L\');A L=3R?63.8F:(d.5h.8F||7c.ep),N=3R?63.c4:7c.eo;m.4g={L:L,N:N,5O:3R?63.5O:bf,5R:3R?63.5R:ed};E m.4g},6K:C(el){q(/5v/i.11(el.3J)){A 7N=W.2C(\'1N\');O(A i=0;i<7N.V;i++){A u=7N[i].eb;q(u&&u.2k(/^.*?#/,\'\')==el.23.2Z){el=7N[i];5m}}}A p={x:el.4V,y:el.8O};5g(el.bb){el=el.bb;p.x+=el.4V;p.y+=el.8O;q(el!=W.19&&el!=W.5h){p.x-=el.5O;p.y-=el.5R}}E p},2F:C(a,29,3E,T){q(!a)a=m.1d(\'a\',I,{1o:\'1E\'},m.2b);q(1F a.6a==\'C\')E 29;q(T==\'3D\'){O(A i=0;i<m.4R.V;i++){q(m.4R[i]&&m.4R[i].a==a){m.4R[i].bP();m.4R[i]=I;E 1j}}m.aU=M}1t{1J m.5A(a,29,3E,T);E 1j}1y(e){E M}},9u:C(a,29,3E){E m.2F(a,29,3E,\'3D\')},89:C(){E m.1d(\'P\',{1c:\'K-3D-S\',2d:m.8b(m.8i.bd)})},4p:C(el,3J,1c){A 1m=el.2C(3J);O(A i=0;i<1m.V;i++){q((1J 4Y(1c)).11(1m[i].1c)){E 1m[i]}}E I},8b:C(s){s=s.2k(/\\s/g,\' \');A 2m=/{m\\.18\\.([^}]+)\\}/g,6v=s.3b(2m),18;q(6v)O(A i=0;i<6v.V;i++){18=6v[i].2k(2m,"$1");q(1F m.18[18]!=\'1L\')s=s.2k(6v[i],m.18[18])}E s},c1:C(){A 1m=W.2C(\'a\');O(A i=0;i<1m.V;i++){A T=m.aH(1m[i]);q(T&&!1m[i].aI){(C(){A t=T;q(m.1A(m,\'ek\',{7y:1m[i],T:t})){1m[i].2p=(T==\'2R\')?C(){E m.2F(k)}:C(){E m.9u(k,{2I:t})}}})();1m[i].aI=M}}m.6p()},aH:C(el){q(el.7b==\'K\')E\'2R\';J q(el.7b==\'K-2W\')E\'2W\';J q(el.7b==\'K-1k\')E\'1k\';J q(el.7b==\'K-3x\')E\'3x\'},86:C(a){O(A i=0;i<m.5a.V;i++){q(m.5a[i][0]==a){A c=m.5a[i][1];m.5a[i][1]=c.5J(1);E c}}E I},bI:C(e){A 2a=m.6p();O(A i=0;i<2a.56.V;i++){A a=2a.56[i];q(m.43(a,\'2I\')==\'2W\'&&m.43(a,\'7W\'))m.2o(m.7q,a)}m.8k(0)},8k:C(i){q(!m.7q[i])E;A a=m.7q[i];A 6z=m.4J(m.43(a,\'88\'));q(!6z)6z=m.89();A 2W=1J m.7x(a,6z,1);2W.9z=C(){};2W.3F=C(){m.2o(m.5a,[a,6z]);m.8k(i+1)};2W.9r()},aQ:C(){A 8d=0,7n=-1,16=m.16,B,1B;O(A i=0;i<16.V;i++){B=16[i];q(B){1B=B.U.G.1B;q(1B&&1B>8d){8d=1B;7n=i}}}q(7n==-1)m.3d=-1;J 16[7n].3M()},43:C(a,6b){a.6a=a.2p;A p=a.6a?a.6a():I;a.6a=I;E(p&&1F p[6b]!=\'1L\')?p[6b]:(1F m[6b]!=\'1L\'?m[6b]:I)},7s:C(a){A 1e=m.43(a,\'1e\');q(1e)E 1e;E a.21},4J:C(1v){A 1P=m.$(1v),4q=m.8c[1v],a={};q(!1P&&!4q)E I;q(!4q){4q=1P.5J(M);4q.1v=\'\';m.8c[1v]=4q;E 1P}J{E 4q.5J(M)}},3B:C(d){q(d)m.9y.1X(d);m.9y.2d=\'\'},1u:C(B){q(!m.2v){84=M;m.2v=m.1d(\'P\',{1c:\'K-dc K-2x-D\',5r:\'\',2p:C(){q(m.1A(m,\'d3\'))m.26()}},{1n:\'1Y\',1z:0},m.2b,M);q(/(df|d2|cU|cT)/.11(4A.6d)){A 19=W.19;C 81(){m.R(m.2v,{L:19.cR+\'F\',N:19.cV+\'F\'})}81();m.2j(1S,\'3O\',81)}}m.2v.G.1o=\'\';A 84=m.2v.5r==\'\';m.2v.5r+=\'|\'+B.Q;q(84){q(m.6y&&m.aR)m.R(m.2v,{9t:\'7T(\'+m.5c+\'d0.ak)\',1z:1});J m.2z(m.2v,{1z:B.4b},m.87)}},9x:C(Q){q(!m.2v)E;q(1F Q!=\'1L\')m.2v.5r=m.2v.5r.2k(\'|\'+Q,\'\');q((1F Q!=\'1L\'&&m.2v.5r!=\'\')||(m.2q&&m.43(m.2q,\'4b\')))E;q(m.6y&&m.aR)m.2v.G.1o=\'1E\';J m.2z(m.2v,{1z:0},m.87,I,C(){m.2v.G.1o=\'1E\'})},8N:C(7z,B){A 1i=B||m.2G();B=1i;q(m.2q)E 1j;J m.1i=1i;m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{m.2q=7z;7z.2p()}1y(e){m.1i=m.2q=I}1t{q(!7z||B.3q[1]!=\'4e\')B.26()}1y(e){}E 1j},7O:C(el,2n){A B=m.2G(el);q(B)E m.8N(B.7V(2n),B);J E 1j},3a:C(el){E m.7O(el,-1)},1D:C(el){E m.7O(el,1)},68:C(e){q(!e)e=1S.2u;q(!e.2L)e.2L=e.9k;q(1F e.2L.9j!=\'1L\')E M;q(!m.1A(m,\'dz\',e))E M;A B=m.2G();A 2n=I;b6(e.dy){2c 70:q(B)B.7r();E M;2c 32:2n=2;5m;2c 34:2c 39:2c 40:2n=1;5m;2c 8:2c 33:2c 37:2c 38:2n=-1;5m;2c 27:2c 13:2n=0}q(2n!==I){q(2n!=2)m.4z(W,1S.3z?\'6U\':\'71\',m.68);q(!m.aS)E M;q(e.5n)e.5n();J e.c0=1j;q(B){q(2n==0){B.26()}J q(2n==2){q(B.1p)B.1p.cl()}J{q(B.1p)B.1p.3p();m.7O(B.Q,2n)}E 1j}}E M},du:C(14){m.2o(m.1T,m.3A(14,{22:\'22\'+m.61++}))},dt:C(1r){A 3c=1r.2N;q(1F 3c==\'7j\'){O(A i=0;i<3c.V;i++){A o={};O(A x 2Y 1r)o[x]=1r[x];o.2N=3c[i];m.2o(m.6u,o)}}J{m.2o(m.6u,1r)}},9U:C(7y,7h){A el,2m=/^K-U-([0-9]+)$/;el=7y;5g(el.23){q(el.6R!==1L)E el.6R;q(el.1v&&2m.11(el.1v))E el.1v.2k(2m,"$1");el=el.23}q(!7h){el=7y;5g(el.23){q(el.3J&&m.77(el)){O(A Q=0;Q<m.16.V;Q++){A B=m.16[Q];q(B&&B.a==el)E Q}}el=el.23}}E I},2G:C(el,7h){q(1F el==\'1L\')E m.16[m.3d]||I;q(1F el==\'3G\')E m.16[el]||I;q(1F el==\'a8\')el=m.$(el);E m.16[m.9U(el,7h)]||I},77:C(a){E(a.2p&&a.2p.cC().2k(/\\s/g,\' \').3b(/m.(dj|e)dh/))},bw:C(){O(A i=0;i<m.16.V;i++)q(m.16[i]&&m.16[i].55)m.aQ()},1A:C(6i,9K,2H){E 6i&&6i[9K]?(6i[9K](6i,2H)!==1j):M},8z:C(e){q(!e)e=1S.2u;q(e.ds>1)E M;q(!e.2L)e.2L=e.9k;A el=e.2L;5g(el.23&&!(/K-(2R|3u|3D|3O)/.11(el.1c))){el=el.23}A B=m.2G(el);q(B&&(B.62||!B.55))E M;q(B&&e.T==\'8y\'){q(e.2L.9j)E M;A 3b=el.1c.3b(/K-(2R|3u|3O)/);q(3b){m.2y={B:B,T:3b[1],1b:B.x.H,L:B.x.D,Y:B.y.H,N:B.y.D,aV:e.7A,aO:e.7F};m.2j(W,\'7D\',m.6H);q(e.5n)e.5n();q(/K-(2R|3D)-9J/.11(B.S.1c)){B.3M();m.a6=M}E 1j}J q(/K-3D/.11(el.1c)&&m.3d!=B.Q){B.3M();B.59(\'1q\')}}J q(e.T==\'c3\'){m.4z(W,\'7D\',m.6H);q(m.2y){q(m.54&&m.2y.T==\'2R\')m.2y.B.S.G.4L=m.54;A 3I=m.2y.3I;q(!3I&&!m.a6&&!/(3u|3O)/.11(m.2y.T)){q(m.1A(B,\'dr\'))B.26()}J q(3I||(!3I&&m.aU)){m.2y.B.59(\'1q\')}q(m.2y.B.3W)m.2y.B.3W.G.1o=\'1E\';q(3I)m.1A(m.2y.B,\'do\',m.2y);m.a6=1j;m.2y=I}J q(/K-2R-9J/.11(el.1c)){el.G.4L=m.54}}E 1j},6H:C(e){q(!m.2y)E M;q(!e)e=1S.2u;A a=m.2y,B=a.B;q(B.1k){q(!B.3W)B.3W=m.1d(\'P\',I,{1l:\'2l\',L:B.x.D+\'F\',N:B.y.D+\'F\',1b:B.x.cb+\'F\',Y:B.y.cb+\'F\',1B:4,9t:(m.3R?\'eB\':\'1E\'),1z:0.eU},B.U,M);q(B.3W.G.1o==\'1E\')B.3W.G.1o=\'\'}a.dX=e.7A-a.aV;a.dY=e.7F-a.aO;A 9g=1h.fG(1h.aE(a.dX,2)+1h.aE(a.dY,2));q(!a.3I)a.3I=(a.T!=\'2R\'&&9g>0)||(9g>(m.fK||5));q(a.3I&&e.7A>5&&e.7F>5){q(!m.1A(B,\'fN\',a))E 1j;q(a.T==\'3O\')B.3O(a);J{B.9m(a.1b+a.dX,a.Y+a.dY);q(a.T==\'2R\')B.S.G.4L=\'3u\'}}E 1j},aP:C(e){1t{q(!e)e=1S.2u;A 66=/fM/i.11(e.T);q(!e.2L)e.2L=e.9k;q(!e.7P)e.7P=66?e.fE:e.fD;A B=m.2G(e.2L);q(!B.55)E;q(!B||!e.7P||m.2G(e.7P,M)==B||m.2y)E;m.1A(B,66?\'ft\':\'fr\',e);O(A i=0;i<B.1T.V;i++)(C(){A o=m.$(\'22\'+B.1T[i]);q(o&&o.7d){q(66)m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:66?o.1z:0},o.4i)}})()}1y(e){}},2j:C(el,2u,3Q){q(el==W&&2u==\'41\'){m.2o(m.7l,3Q)}1t{el.2j(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q);el.fy(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=3Q}}},4z:C(el,2u,3Q){1t{el.4z(2u,3Q,1j)}1y(e){1t{el.aM(\'65\'+2u,3Q)}1y(e){el[\'65\'+2u]=I}}},7C:C(i){q(m.a1&&m.64[i]&&m.64[i]!=\'1L\'){A 1N=W.1d(\'1N\');1N.4N=C(){1N=I;m.7C(i+1)};1N.1e=m.64[i]}},c2:C(3G){q(3G&&1F 3G!=\'7j\')m.9f=3G;A 2a=m.6p();O(A i=0;i<2a.4Z.V&&i<m.9f;i++){m.2o(m.64,m.7s(2a.4Z[i]))}q(m.1Z)1J m.6r(m.1Z,C(){m.7C(0)});J m.7C(0);q(m.6h)A 5q=m.1d(\'1N\',{1e:m.5c+m.6h})},7m:C(){q(!m.2b){m.3Z=m.2h&&m.2t<7;m.3R=m.2h&&m.2t<9;m.7S();m.cf=m.3Z&&85.g5==\'g4:\';O(A x 2Y m.7o){q(1F m[x]!=\'1L\')m.18[x]=m[x];J q(1F m.18[x]==\'1L\'&&1F m.7o[x]!=\'1L\')m.18[x]=m.7o[x]}m.2b=m.1d(\'P\',{1c:\'K-2b\'},{1l:\'2l\',1b:0,Y:0,L:\'2w%\',1B:m.4F,9S:\'aK\'},W.19,M);m.2r=m.1d(\'a\',{1c:\'K-2r\',24:m.18.aY,2d:m.18.aZ,21:\'bt:;\'},{1l:\'2l\',Y:\'-4v\',1z:m.be,1B:1},m.2b);m.9y=m.1d(\'P\',I,{1o:\'1E\'},m.2b);m.2x=m.1d(\'P\',{1c:\'K-2x K-2x-D\'},{1n:(m.4M&&m.2t<73)?\'1Y\':\'1q\'},m.2b,1);m.3w=m.1d(\'P\',I,{aJ:\'bc\',g9:\'ga\'},I,M);1h.g2=C(t,b,c,d){E c*t/d+b};1h.bj=C(t,b,c,d){E c*(t/=d)*t+b};1h.8S=C(t,b,c,d){E-c*(t/=d)*(t-2)+b};m.cO=m.3Z;m.cQ=((1S.3z&&m.2t<9)||4A.av==\'at\'||(m.3Z&&m.2t<5.5));m.1A(k,\'fU\')}},41:C(){q(m.9F)E;m.9F=M;O(A i=0;i<m.7l.V;i++)m.7l[i]()},95:C(){A el,1m,6q=[],4Z=[],56=[],3i={},2m;O(A i=0;i<m.9w.V;i++){1m=W.2C(m.9w[i]);O(A j=0;j<1m.V;j++){el=1m[j];2m=m.77(el);q(2m){m.2o(6q,el);q(2m[0]==\'m.2F\')m.2o(4Z,el);J q(2m[0]==\'m.9u\')m.2o(56,el);A g=m.43(el,\'2N\')||\'1E\';q(!3i[g])3i[g]=[];m.2o(3i[g],el)}}}m.4U={6q:6q,3i:3i,4Z:4Z,56:56};E m.4U},6p:C(){E m.4U||m.95()},26:C(el){A B=m.2G(el);q(B)B.26();E 1j}};m.fx=C(30,1r,1f){k.1r=1r;k.30=30;k.1f=1f;q(!1r.b7)1r.b7={}};m.fx.5w={82:C(){(m.fx.3P[k.1f]||m.fx.3P.ap)(k);q(k.1r.3P)k.1r.3P.ax(k.30,k.4o,k)},3E:C(8u,2i,4w){k.9c=(1J 7K()).79();k.4T=8u;k.51=2i;k.4w=4w;k.4o=k.4T;k.H=k.96=0;A 7c=k;C t(7i){E 7c.3P(7i)}t.30=k.30;q(t()&&m.4m.2o(t)==1){m.af=fX(C(){A 4m=m.4m;O(A i=0;i<4m.V;i++)q(!4m[i]())4m.gd(i--,1);q(!4m.V){eT(m.af)}},13)}},3P:C(7i){A t=(1J 7K()).79();q(7i||t>=k.1r.4h+k.9c){k.4o=k.51;k.H=k.96=1;k.82();k.1r.7g[k.1f]=M;A 9s=M;O(A i 2Y k.1r.7g)q(k.1r.7g[i]!==M)9s=1j;q(9s){q(k.1r.76)k.1r.76.ax(k.30)}E 1j}J{A n=t-k.9c;k.96=n/k.1r.4h;k.H=k.1r.2Q(n,0,1,k.1r.4h);k.4o=k.4T+((k.51-k.4T)*k.H);k.82()}E M}};m.3A(m.fx,{3P:{1z:C(fx){m.R(fx.30,{1z:fx.4o})},ap:C(fx){1t{q(fx.30.G&&fx.30.G[fx.1f]!=I)fx.30.G[fx.1f]=fx.4o+fx.4w;J fx.30[fx.1f]=fx.4o}1y(e){}}}});m.6r=C(1Z,3F){k.3F=3F;k.1Z=1Z;A v=m.2t,47;k.9G=m.2h&&m.2t<7;q(!1Z){q(3F)3F();E}m.7m();k.2g=m.1d(\'2g\',{eJ:0},{1n:\'1q\',1l:\'2l\',eN:\'eM\',L:0},m.2b,M);A 4G=m.1d(\'4G\',I,I,k.2g,1);k.2J=[];O(A i=0;i<=8;i++){q(i%3==0)47=m.1d(\'47\',I,{N:\'1M\'},4G,M);k.2J[i]=m.1d(\'2J\',I,I,47,M);A G=i!=4?{eL:0,eK:0}:{1l:\'4y\'};m.R(k.2J[i],G)}k.2J[4].1c=1Z+\' K-1g\';k.ai()};m.6r.5w={ai:C(){A 1e=m.5c+(m.f1||"fi/")+k.1Z+".ak";A ar=m.4M&&m.2t<73?m.2b:I;k.3V=m.1d(\'1N\',I,{1l:\'2l\',Y:\'-4v\'},ar,M);A 3v=k;k.3V.4N=C(){3v.az()};k.3V.1e=1e},az:C(){A o=k.1w=k.3V.L/4,H=[[0,0],[0,-4],[-2,0],[0,-8],0,[-2,-8],[0,-2],[0,-6],[-2,-2]],1u={N:(2*o)+\'F\',L:(2*o)+\'F\'};O(A i=0;i<=8;i++){q(H[i]){q(k.9G){A w=(i==1||i==7)?\'2w%\':k.3V.L+\'F\';A P=m.1d(\'P\',I,{L:\'2w%\',N:\'2w%\',1l:\'4y\',2e:\'1q\'},k.2J[i],M);m.1d(\'P\',I,{5Q:"fo:fn.bv.fm(fl=fe, 1e=\'"+k.3V.1e+"\')",1l:\'2l\',L:w,N:k.3V.N+\'F\',1b:(H[i][0]*o)+\'F\',Y:(H[i][1]*o)+\'F\'},P,M)}J{m.R(k.2J[i],{9t:\'7T(\'+k.3V.1e+\') \'+(H[i][0]*o)+\'F \'+(H[i][1]*o)+\'F\'})}q(1S.3z&&(i==3||i==5))m.1d(\'P\',I,1u,k.2J[i],M);m.R(k.2J[i],1u)}}k.3V=I;q(m.4n[k.1Z])m.4n[k.1Z].5U();m.4n[k.1Z]=k;q(k.3F)k.3F()},4C:C(H,1w,aB,4i,2Q){A B=k.B,5X=B.U.G,1w=1w||0,H=H||{x:B.x.H+1w,y:B.y.H+1w,w:B.x.Z(\'2f\')-2*1w,h:B.y.Z(\'2f\')-2*1w};q(aB)k.2g.G.1n=(H.h>=4*k.1w)?\'1Y\':\'1q\';m.R(k.2g,{1b:(H.x-k.1w)+\'F\',Y:(H.y-k.1w)+\'F\',L:(H.w+2*k.1w)+\'F\'});H.w-=2*k.1w;H.h-=2*k.1w;m.R(k.2J[4],{L:H.w>=0?H.w+\'F\':0,N:H.h>=0?H.h+\'F\':0});q(k.9G)k.2J[3].G.N=k.2J[5].G.N=k.2J[4].G.N},5U:C(bk){q(bk)k.2g.G.1n=\'1q\';J m.3B(k.2g)}};m.6A=C(B,1u){k.B=B;k.1u=1u;k.3l=1u==\'x\'?\'bY\':\'bW\';k.3k=k.3l.5G();k.6m=1u==\'x\'?\'cj\':\'c8\';k.6Y=k.6m.5G();k.9L=1u==\'x\'?\'c7\':\'bX\';k.b5=k.9L.5G();k.1G=k.36=0};m.6A.5w={Z:C(Q){b6(Q){2c\'9T\':E k.1K+k.3s+(k.t-m.2r[\'1w\'+k.3l])/2;2c\'9v\':E k.H+k.cb+k.1G+(k.D-m.2r[\'1w\'+k.3l])/2;2c\'2f\':E k.D+2*k.cb+k.1G+k.36;2c\'5e\':E k.4K-k.3o-k.4S;2c\'8D\':E k.Z(\'5e\')-2*k.cb-k.1G-k.36;2c\'6e\':E k.H-(k.B.1g?k.B.1g.1w:0);2c\'9R\':E k.Z(\'2f\')+(k.B.1g?2*k.B.1g.1w:0);2c\'2K\':E k.1V?1h.3e((k.D-k.1V)/2):0}},8a:C(){k.cb=(k.B.S[\'1w\'+k.3l]-k.t)/2;k.4S=m[\'9D\'+k.9L]},9M:C(){k.t=k.B.el[k.3k]?3H(k.B.el[k.3k]):k.B.el[\'1w\'+k.3l];k.1K=k.B.1K[k.1u];k.3s=(k.B.el[\'1w\'+k.3l]-k.t)/2;q(k.1K==0||k.1K==-1){k.1K=(m.4g[k.3k]/2)+m.4g[\'28\'+k.6m]}},8h:C(){A B=k.B;k.2T=\'1M\';q(B.9n==\'4X\')k.2T=\'4X\';J q(1J 4Y(k.6Y).11(B.46))k.2T=I;J q(1J 4Y(k.b5).11(B.46))k.2T=\'4t\';k.H=k.1K-k.cb+k.3s;q(k.9i&&k.1u==\'x\')B.6M=1h.31(B.6M||k.1a,B.9i*k.1a/B.y.1a);k.D=1h.31(k.1a,B[\'4t\'+k.3l]||k.1a);k.2U=B.5Y?1h.31(B[\'31\'+k.3l],k.1a):k.1a;q(B.2E&&B.3t){k.D=B[k.3k];k.1V=k.1a}q(k.1u==\'x\'&&m.5S)k.2U=B.4s;k.2L=B[\'2L\'+k.1u.bi()];k.3o=m[\'9D\'+k.6m];k.28=m.4g[\'28\'+k.6m];k.4K=m.4g[k.3k]},72:C(i){A B=k.B;q(B.2E&&(B.3t||m.5S)){k.1V=i;k.D=1h.4t(k.D,k.1V);B.S.G[k.6Y]=k.Z(\'2K\')+\'F\'}J k.D=i;B.S.G[k.3k]=i+\'F\';B.U.G[k.3k]=k.Z(\'2f\')+\'F\';q(B.1g)B.1g.4C();q(B.3W)B.3W.G[k.3k]=i+\'F\';q(k.1u==\'y\'&&B.5C&&B.19.G.N!=\'1M\')1t{B.5C.19.G.2e=\'1M\'}1y(e){}q(B.2A){A d=B.2s;q(k.9e===1L)k.9e=B.1s[\'1w\'+k.3l]-d[\'1w\'+k.3l];d.G[k.3k]=(k.D-k.9e)+\'F\';q(k.1u==\'x\')B.4c.G.L=\'1M\';q(B.19)B.19.G[k.3k]=\'1M\'}q(k.1u==\'x\'&&B.1x)B.57(M);q(k.1u==\'x\'&&B.1p&&B.2E){q(i==k.1a)B.1p.5d(\'1a-2F\');J B.1p.4u(\'1a-2F\')}},aa:C(i){k.H=i;k.B.U.G[k.6Y]=i+\'F\';q(k.B.1g)k.B.1g.4C()}};m.5A=C(a,29,3E,35){q(W.bS&&m.2h&&!m.9F){m.2j(W,\'41\',C(){1J m.5A(a,29,3E,35)});E}k.a=a;k.3E=3E;k.35=35||\'2R\';k.2A=(35==\'3D\');k.2E=!k.2A;m.a1=1j;k.1T=[];k.1i=m.1i;m.1i=I;m.7m();A Q=k.Q=m.16.V;O(A i=0;i<m.a4.V;i++){A 2Z=m.a4[i];k[2Z]=29&&1F 29[2Z]!=\'1L\'?29[2Z]:m[2Z]}q(!k.1e)k.1e=a.21;A el=(29&&29.9P)?m.$(29.9P):a;el=k.aW=el.2C(\'1N\')[0]||el;k.6Q=el.1v||a.1v;q(!m.1A(k,\'f3\'))E M;O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].a==a&&!(k.1i&&k.3q[1]==\'4e\')){m.16[i].3M();E 1j}}q(!m.f5)O(A i=0;i<m.16.V;i++){q(m.16[i]&&m.16[i].aW!=el&&!m.16[i].6D){m.16[i].6P()}}m.16[Q]=k;q(!m.9l&&!m.2q){q(m.16[Q-1])m.16[Q-1].26();q(1F m.3d!=\'1L\'&&m.16[m.3d])m.16[m.3d].26()}k.el=el;k.1K=k.aX||m.6K(el);m.7S();A x=k.x=1J m.6A(k,\'x\');x.9M();A y=k.y=1J m.6A(k,\'y\');y.9M();q(/5v/i.11(el.3J))k.b8(el);k.U=m.1d(\'P\',{1v:\'K-U-\'+k.Q,1c:\'K-U \'+k.a9},{1n:\'1q\',1l:\'2l\',1B:m.4F+=2},I,M);k.U.eX=k.U.eS=m.aP;q(k.35==\'2R\'&&k.3Y==2)k.3Y=0;q(!k.1Z||(k.1i&&k.2E&&k.3q[1]==\'4e\')){k[k.35+\'9H\']()}J q(m.4n[k.1Z]){k.9I();k[k.35+\'9H\']()}J{k.6n();A B=k;1J m.6r(k.1Z,C(){B.9I();B[B.35+\'9H\']()})}E M};m.5A.5w={9o:C(e){q(m.g8)dq(\'dk \'+e.dl+\': \'+e.dD);J 1S.85.21=k.1e},9I:C(){A 1g=k.1g=m.4n[k.1Z];1g.B=k;1g.2g.G.1B=k.U.G.1B-1;m.4n[k.1Z]=I},6n:C(){q(k.6D||k.2r)E;k.2r=m.2r;A B=k;k.2r.2p=C(){B.6P()};q(!m.1A(k,\'d5\'))E;A B=k,l=k.x.Z(\'9T\')+\'F\',t=k.y.Z(\'9T\')+\'F\';q(!2P&&k.1i&&k.3q[1]==\'4e\')A 2P=k.1i;q(2P){l=2P.x.Z(\'9v\')+\'F\';t=2P.y.Z(\'9v\')+\'F\';k.2r.G.1B=m.4F++}4a(C(){q(B.2r)m.R(B.2r,{1b:l,Y:t,1B:m.4F++})},2w)},ey:C(){A B=k;A 1N=W.1d(\'1N\');k.S=1N;1N.4N=C(){q(m.16[B.Q])B.69()};q(m.e3)1N.dp=C(){E 1j};1N.1c=\'K-2R\';m.R(1N,{1n:\'1q\',1o:\'3X\',1l:\'2l\',6M:\'4v\',1B:3});1N.24=m.18.9W;q(m.4M&&m.2t<73)m.2b.1X(1N);q(m.2h&&m.dH)1N.1e=I;1N.1e=k.1e;k.6n()},d4:C(){q(!m.1A(k,\'da\'))E;k.S=m.86(k.a);q(!k.S)k.S=m.4J(k.88);q(!k.S)k.S=m.89();k.a2([\'6C\']);q(k.6C){A 19=m.4p(k.S,\'P\',\'K-19\');q(19)19.1X(k.6C);k.6C.G.1o=\'3X\'}m.1A(k,\'fp\');A 1s=k.1s=k.S;q(/(3x|1k)/.11(k.2I))k.91(1s);m.2b.1X(k.U);m.R(k.U,{1l:\'fa\',94:\'0 \'+m.9B+\'F 0 \'+m.4W+\'F\'});k.S=m.1d(\'P\',{1c:\'K-3D\'},{1l:\'4y\',1B:3,N:0,2e:\'1q\'},k.U);k.4c=m.1d(\'P\',I,I,k.S,1);k.4c.1X(1s);m.R(1s,{1l:\'4y\',1o:\'3X\',9S:m.18.97||\'\'});q(k.L)1s.G.L=k.L+\'F\';q(k.N)m.R(1s,{N:k.N+\'F\',2e:\'1q\'});q(1s.1O<k.4s)1s.G.L=k.4s+\'F\';q(k.2I==\'2W\'&&!m.86(k.a)){k.6n();A B=k;A 2W=1J m.7x(k.a,1s);2W.1e=k.1e;2W.3F=C(){q(m.16[B.Q])B.69()};2W.9z=C(){85.21=B.1e};2W.9r()}J q(k.2I==\'1k\'&&k.3U==\'60\'){k.6T()}J k.69()},69:C(){1t{q(!k.S)E;k.S.4N=I;q(k.6D)E;J k.6D=M;A x=k.x,y=k.y;q(k.2r){m.R(k.2r,{Y:\'-4v\'});k.2r=I;m.1A(k,\'cu\')}q(k.2E){x.1a=k.S.L;y.1a=k.S.N;m.R(k.S,{L:x.t+\'F\',N:y.t+\'F\'});k.U.1X(k.S);m.2b.1X(k.U)}J q(k.7Z)k.7Z();x.8a();y.8a();m.R(k.U,{1b:(x.1K+x.3s-x.cb)+\'F\',Y:(y.1K+x.3s-y.cb)+\'F\'});k.a0();k.bB();A 2M=x.1a/y.1a;x.8h();k.2T(x);y.8h();k.2T(y);q(k.2A)k.b4();q(k.1x)k.57(0,1);q(k.5Y){q(k.2E)k.cG(2M);J k.8x();A 1R=k.1p;q(1R&&k.1i&&1R.2X&&1R.aT){A H=1R.cB.1l||\'\',p;O(A 1u 2Y m.8g)O(A i=0;i<5;i++){p=k[1u];q(H.3b(m.8g[1u][i])){p.H=k.1i[1u].H+(k.1i[1u].1G-p.1G)+(k.1i[1u].D-p.D)*[0,0,.5,1,1][i];q(1R.aT==\'f0\'){q(p.H+p.D+p.1G+p.36>p.28+p.4K-p.4S)p.H=p.28+p.4K-p.D-p.3o-p.4S-p.1G-p.36;q(p.H<p.28+p.3o)p.H=p.28+p.3o}}}}q(k.2E&&k.x.1a>(k.x.1V||k.x.D)){k.bs();q(k.1T.V==1)k.57()}}k.a5()}1y(e){k.9o(e)}},91:C(6c,1M){A c=m.4p(6c,\'7J\',\'K-19\');q(/(1k|3x)/.11(k.2I)){q(k.4j)c.G.L=k.4j+\'F\';q(k.4x)c.G.N=k.4x+\'F\'}},6T:C(){q(k.aD)E;A B=k;k.19=m.4p(k.1s,\'7J\',\'K-19\');q(k.2I==\'1k\'){k.6n();A 5o=m.3w.5J(1);k.19.1X(5o);k.eP=k.1s.1O;q(!k.4j)k.4j=5o.1O;A 5b=k.1s.1U-k.19.1U,h=k.4x||m.4g.N-5b-m.4d-m.6L,4N=k.3U==\'60\'?\' 4N="q (m.16[\'+k.Q+\']) m.16[\'+k.Q+\'].69()" \':\'\';k.19.2d+=\'<1k 2Z="m\'+(1J 7K()).79()+\'" eQ="0" Q="\'+k.Q+\'" \'+\' G="L:\'+k.4j+\'F; N:\'+h+\'F" \'+4N+\' 1e="\'+k.1e+\'" ></1k>\';k.5o=k.19.2C(\'P\')[0];k.1k=k.19.2C(\'1k\')[0];q(k.3U==\'6x\')k.8A()}q(k.2I==\'3x\'){k.19.1v=k.19.1v||\'m-fY-1v-\'+k.Q;A a=k.8e;q(!a.29)a.29={};q(1F a.29.aN==\'1L\')a.29.aN=\'fR\';q(9p)9p.fT(k.1e,k.19.1v,k.4j,k.4x,a.g1||\'7\',a.gb,a.aG,a.29,a.aF)}k.aD=M},7Z:C(){q(k.1k&&!k.4x){k.1k.G.N=k.19.G.N=k.8p()+\'F\'}k.1s.1X(m.3w);q(!k.x.1a)k.x.1a=k.1s.1O;k.y.1a=k.1s.1U;k.1s.9q(m.3w);q(m.2h&&k.aL>3H(k.1s.5y.N)){k.aL=3H(k.1s.5y.N)}m.R(k.U,{1l:\'2l\',94:\'0\'});m.R(k.S,{L:k.x.t+\'F\',N:k.y.t+\'F\'})},8p:C(){A h;1t{A 2B=k.5C=k.1k.9O||k.1k.6g.W;A 3w=2B.1d(\'P\');3w.G.aJ=\'bc\';2B.19.1X(3w);h=3w.8O;q(m.2h)h+=3H(2B.19.5y.4d)+3H(2B.19.5y.6L)-1}1y(e){h=de}E h},8A:C(){A 5i=k.1s.1O-k.5o.1O;m.3B(k.5o);q(5i<0)5i=0;A 5b=k.1s.1U-k.1k.1U;q(k.5C&&!k.4x&&!k.N&&k.y.D==k.y.1a)1t{k.5C.19.G.2e=\'1q\'}1y(e){}m.R(k.1k,{L:1h.9Y(k.x.D-5i)+\'F\',N:1h.9Y(k.y.D-5b)+\'F\'});m.R(k.19,{L:k.1k.G.L,N:k.1k.G.N});k.52=k.1k;k.2s=k.52},b4:C(){k.91(k.1s);q(k.2I==\'3x\'&&k.3U==\'60\')k.6T();q(k.x.D<k.x.1a&&!k.6J)k.x.D=k.x.1a;q(k.y.D<k.y.1a&&!k.6X)k.y.D=k.y.1a;k.2s=k.1s;m.R(k.4c,{1l:\'4y\',L:k.x.D+\'F\'});m.R(k.1s,{8H:\'1E\',L:\'1M\',N:\'1M\'});A 1P=m.4p(k.1s,\'7J\',\'K-19\');q(1P&&!/(1k|3x)/.11(k.2I)){A 5f=1P;1P=m.1d(5f.d8,I,{2e:\'1q\'},I,M);5f.23.dG(1P,5f);1P.1X(m.3w);1P.1X(5f);A 5i=k.1s.1O-1P.1O;A 5b=k.1s.1U-1P.1U;1P.9q(m.3w);A 6E=m.4M||4A.av==\'at\'?1:0;m.R(1P,{L:(k.x.D-5i-6E)+\'F\',N:(k.y.D-5b)+\'F\',2e:\'1M\',1l:\'4y\'});q(6E&&5f.1U>1P.1U){1P.G.L=(3H(1P.G.L)+6E)+\'F\'}k.52=1P;k.2s=k.52}q(k.1k&&k.3U==\'60\')k.8A();q(!k.52&&k.y.D<k.4c.1U)k.2s=k.S;q(k.2s==k.S&&!k.6J&&!/(1k|3x)/.11(k.2I)){k.x.D+=17}q(k.2s&&k.2s.1U>k.2s.23.1U){4a("1t { m.16["+k.Q+"].2s.G.2e = \'1M\'; } 1y(e) {}",m.6W)}},b8:C(5v){A c=5v.fC.7G(\',\');O(A i=0;i<c.V;i++)c[i]=3H(c[i]);q(5v.ff.5G()==\'eI\'){k.x.1K+=c[0]-c[2];k.y.1K+=c[1]-c[2];k.x.t=k.y.t=2*c[2]}J{A 5H,5z,5x=5H=c[0],5B=5z=c[1];O(A i=0;i<c.V;i++){q(i%2==0){5x=1h.31(5x,c[i]);5H=1h.4t(5H,c[i])}J{5B=1h.31(5B,c[i]);5z=1h.4t(5z,c[i])}}k.x.1K+=5x;k.x.t=5H-5x;k.y.1K+=5B;k.y.t=5z-5B}},2T:C(p,5u){A 4H,2P=p.2L,1u=p==k.x?\'x\':\'y\';q(2P&&2P.3b(/ /)){4H=2P.7G(\' \');2P=4H[0]}q(2P&&m.$(2P)){p.H=m.6K(m.$(2P))[1u];q(4H&&4H[1]&&4H[1].3b(/^[-]?[0-9]+F$/))p.H+=3H(4H[1]);q(p.D<p.2U)p.D=p.2U}J q(p.2T==\'1M\'||p.2T==\'4X\'){A 8C=1j;A 5s=p.B.5Y;q(p.2T==\'4X\')p.H=1h.3e(p.28+(p.4K+p.3o-p.4S-p.Z(\'2f\'))/2);J p.H=1h.3e(p.H-((p.Z(\'2f\')-p.t)/2));q(p.H<p.28+p.3o){p.H=p.28+p.3o;8C=M}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}q(p.H+p.Z(\'2f\')>p.28+p.4K-p.4S){q(!5u&&8C&&5s){p.D=1h.31(p.D,p.Z(1u==\'y\'?\'5e\':\'8D\'))}J q(p.Z(\'2f\')<p.Z(\'5e\')){p.H=p.28+p.4K-p.4S-p.Z(\'2f\')}J{p.H=p.28+p.3o;q(!5u&&5s)p.D=p.Z(1u==\'y\'?\'5e\':\'8D\')}}q(!5u&&p.D<p.2U){p.D=p.2U;5s=1j}}J q(p.2T==\'4t\'){p.H=1h.dm(p.H-p.D+p.t)}q(p.H<p.3o){A cH=p.H;p.H=p.3o;q(5s&&!5u)p.D=p.D-(p.H-cH)}},cG:C(2M){A x=k.x,y=k.y,3T=1j,3f=1h.31(x.1a,x.D),3y=1h.31(y.1a,y.D),3t=(k.3t||m.5S);q(3f/3y>2M){ 3f=3y*2M;q(3f<x.2U){3f=x.2U;3y=3f/2M}3T=M}J q(3f/3y<2M){ 3y=3f/2M;3T=M}q(m.5S&&x.1a<x.2U){x.1V=x.1a;y.D=y.1V=y.1a}J q(k.3t){x.1V=3f;y.1V=3y}J{x.D=3f;y.D=3y}3T=k.8x(k.3t?I:2M,3T);q(3t&&y.D<y.1V){y.1V=y.D;x.1V=y.D*2M}q(3T||3t){x.H=x.1K-x.cb+x.3s;x.2U=x.D;k.2T(x,M);y.H=y.1K-y.cb+y.3s;y.2U=y.D;k.2T(y,M);q(k.1x)k.57()}},8x:C(2M,3T){A x=k.x,y=k.y;q(k.1x&&(k.2E||k.6X)){5g(y.D>k.6k&&x.D>k.4s&&y.Z(\'2f\')>y.Z(\'5e\')){y.D-=10;q(2M)x.D=y.D*2M;k.57(0,1);3T=M}}E 3T},dS:C(){q(k.2s){A h=/1k/i.11(k.2s.3J)?(k.8p()+1)+\'F\':\'1M\';q(k.19)k.19.G.N=h;k.2s.G.N=h;k.y.72(k.1s.1U)}},a5:C(){A x=k.x,y=k.y;k.59(\'1q\');m.1A(k,\'et\');q(k.1p&&k.1p.2D)k.1p.2D.5t();k.9b(1,{U:{L:x.Z(\'2f\'),N:y.Z(\'2f\'),1b:x.H,Y:y.H},S:{1b:x.1G+x.Z(\'2K\'),Y:y.1G+y.Z(\'2K\'),L:x.1V||x.D,N:y.1V||y.D}},m.6W)},9b:C(1I,2i,4i){A 5M=k.3q,8o=1I?(k.1i?k.1i.a:I):m.2q,t=(5M[1]&&8o&&m.43(8o,\'3q\')[1]==5M[1])?5M[1]:5M[0];q(k[t]&&t!=\'2F\'){k[t](1I,2i);E}q(k.1g&&!k.3Y){q(1I)k.1g.4C();J k.1g.5U((k.2A&&k.4D))}q(!1I)k.78();A B=k,x=B.x,y=B.y,2Q=k.2Q;q(!1I)2Q=k.cF||2Q;A 6x=1I?C(){q(B.1g)B.1g.2g.G.1n="1Y";4a(C(){B.6I()},50)}:C(){B.5D()};q(1I)m.R(k.U,{L:x.t+\'F\',N:y.t+\'F\'});q(1I&&k.2A){m.R(k.U,{1b:(x.1K-x.cb+x.3s)+\'F\',Y:(y.1K-y.cb+y.3s)+\'F\'})}q(k.cD){m.R(k.U,{1z:1I?0:1});m.3A(2i.U,{1z:1I})}m.2z(k.U,2i.U,{4h:4i,2Q:2Q,3P:C(3j,2H){q(B.1g&&B.3Y&&2H.1f==\'Y\'){A 5W=1I?2H.H:1-2H.H;A H={w:x.t+(x.Z(\'2f\')-x.t)*5W,h:y.t+(y.Z(\'2f\')-y.t)*5W,x:x.1K+(x.H-x.1K)*5W,y:y.1K+(y.H-y.1K)*5W};B.1g.4C(H,0,1)}q(B.2A){q(2H.1f==\'1b\')B.4c.G.1b=(x.H-3j)+\'F\';q(2H.1f==\'Y\')B.4c.G.Y=(y.H-3j)+\'F\'}}});m.2z(k.S,2i.S,4i,2Q,6x);q(1I){k.U.G.1n=\'1Y\';k.S.G.1n=\'1Y\';q(k.2A)k.1s.G.1n=\'1Y\';k.a.1c+=\' K-4I-46\'}},6w:C(1I,2i){k.3Y=1j;A B=k,t=1I?m.6W:0;q(1I){m.2z(k.U,2i.U,0);m.R(k.U,{1z:0,1n:\'1Y\'});m.2z(k.S,2i.S,0);k.S.G.1n=\'1Y\';m.2z(k.U,{1z:1},t,I,C(){B.6I()})}q(k.1g){k.1g.2g.G.1B=k.U.G.1B;A 6Z=1I||-1,1w=k.1g.1w,8r=1I?3:1w,8q=1I?1w:3;O(A i=8r;6Z*i<=6Z*8q;i+=6Z,t+=25){(C(){A o=1I?8q-i:8r-i;4a(C(){B.1g.4C(0,o,1)},t)})()}}q(1I){}J{4a(C(){q(B.1g)B.1g.5U(B.4D);B.78();m.2z(B.U,{1z:0},m.9A,I,C(){B.5D()})},t)}},4e:C(1I,2i,8u){q(!1I)E;A B=k,1i=k.1i,x=k.x,y=k.y,3n=1i.x,3g=1i.y,U=k.U,S=k.S,1x=k.1x;m.4z(W,\'7D\',m.6H);m.R(S,{L:(x.1V||x.D)+\'F\',N:(y.1V||y.D)+\'F\'});q(1x)1x.G.2e=\'1Y\';k.1g=1i.1g;q(k.1g)k.1g.B=B;1i.1g=I;A 5l=m.1d(\'P\',{1c:\'K-\'+k.35},{1l:\'2l\',1B:4,2e:\'1q\',1o:\'1E\'});A 8t={cN:1i,cM:k};O(A n 2Y 8t){k[n]=8t[n].S.5J(1);m.R(k[n],{1l:\'2l\',8H:0,1n:\'1Y\'});5l.1X(k[n])}U.1X(5l);q(k.2A)m.R(k.4c,{1b:0,Y:0});q(1x){1x.1c=\'\';U.1X(1x)}5l.G.1o=\'\';1i.S.G.1o=\'1E\';q(m.4M&&m.2t<73){k.U.G.1n=\'1Y\'}m.2z(U,{L:x.D},{4h:m.cE,3P:C(3j,2H){A H=2H.H,4B=1-H;A 1f,D={},93=[\'H\',\'D\',\'1G\',\'36\'];O(A n 2Y 93){1f=93[n];D[\'x\'+1f]=1h.3e(4B*3n[1f]+H*x[1f]);D[\'y\'+1f]=1h.3e(4B*3g[1f]+H*y[1f]);D.cI=1h.3e(4B*(3n.1V||3n.D)+H*(x.1V||x.D));D.6S=1h.3e(4B*3n.Z(\'2K\')+H*x.Z(\'2K\'));D.cJ=1h.3e(4B*(3g.1V||3g.D)+H*(y.1V||y.D));D.6V=1h.3e(4B*3g.Z(\'2K\')+H*y.Z(\'2K\'))}q(B.1g)B.1g.4C({x:D.3h,y:D.3r,w:D.5L+D.44+D.8U+2*x.cb,h:D.5K+D.45+D.8T+2*y.cb});1i.U.G.d7=\'d6(\'+(D.3r-3g.H)+\'F, \'+(D.5L+D.44+D.8U+D.3h+2*3n.cb-3n.H)+\'F, \'+(D.5K+D.45+D.8T+D.3r+2*3g.cb-3g.H)+\'F, \'+(D.3h-3n.H)+\'F)\';m.R(S,{Y:(D.45+y.Z(\'2K\'))+\'F\',1b:(D.44+x.Z(\'2K\'))+\'F\',4d:(y.H-D.3r)+\'F\',4W:(x.H-D.3h)+\'F\'});m.R(U,{Y:D.3r+\'F\',1b:D.3h+\'F\',L:(D.44+D.8U+D.5L+2*x.cb)+\'F\',N:(D.45+D.8T+D.5K+2*y.cb)+\'F\'});m.R(5l,{L:(D.cI||D.5L)+\'F\',N:(D.cJ||D.5K)+\'F\',1b:(D.44+D.6S)+\'F\',Y:(D.45+D.6V)+\'F\',1n:\'1Y\'});m.R(B.cN,{Y:(3g.H-D.3r+3g.1G-D.45+3g.Z(\'2K\')-D.6V)+\'F\',1b:(3n.H-D.3h+3n.1G-D.44+3n.Z(\'2K\')-D.6S)+\'F\'});m.R(B.cM,{1z:H,Y:(y.H-D.3r+y.1G-D.45+y.Z(\'2K\')-D.6V)+\'F\',1b:(x.H-D.3h+x.1G-D.44+x.Z(\'2K\')-D.6S)+\'F\'});q(1x)m.R(1x,{L:D.5L+\'F\',N:D.5K+\'F\',1b:(D.44+x.cb)+\'F\',Y:(D.45+y.cb)+\'F\'})},76:C(){U.G.1n=S.G.1n=\'1Y\';S.G.1o=\'3X\';m.3B(5l);B.6I();1i.5D();B.1i=I}})},bQ:C(o,el){q(!k.1i)E 1j;O(A i=0;i<k.1i.1T.V;i++){A 6G=m.$(\'22\'+k.1i.1T[i]);q(6G&&6G.22==o.22){k.9V();6G.cS=k.Q;m.2o(k.1T,k.1i.1T[i]);E M}}E 1j},6I:C(){k.55=M;k.3M();q(k.2A&&k.3U==\'6x\')k.6T();q(k.1k){1t{A B=k,2B=k.1k.9O||k.1k.6g.W;m.2j(2B,\'8y\',C(){q(m.3d!=B.Q)B.3M()})}1y(e){}q(m.2h&&1F k.62!=\'cW\')k.1k.G.L=(k.4j-1)+\'F\'}q(k.4b)m.1u(k);q(m.2q&&m.2q==k.a)m.2q=I;k.cL();A p=m.4g,8Q=m.7B.x+p.5O,8P=m.7B.y+p.5R;k.9C=k.x.H<8Q&&8Q<k.x.H+k.x.Z(\'2f\')&&k.y.H<8P&&8P<k.y.H+k.y.Z(\'2f\');q(k.1x)k.bn();m.1A(k,\'d1\')},cL:C(){A Q=k.Q;A 1Z=k.1Z;1J m.6r(1Z,C(){1t{m.16[Q].cP()}1y(e){}})},cP:C(){A 1D=k.7V(1);q(1D&&1D.2p.cC().3b(/m\\.2F/))A 1N=m.1d(\'1N\',{1e:m.7s(1D)})},7V:C(2n){A 7U=k.7v(),as=m.4U.3i[k.2N||\'1E\'];q(as&&!as[7U+2n]&&k.1p&&k.1p.cm){q(2n==1)E as[0];J q(2n==-1)E as[as.V-1]}E(as&&as[7U+2n])||I},7v:C(){A 2a=m.6p().3i[k.2N||\'1E\'];q(2a)O(A i=0;i<2a.V;i++){q(2a[i]==k.a)E i}E I},bq:C(){q(k[k.6l]){A 2a=m.4U.3i[k.2N||\'1E\'];q(2a){A s=m.18.3G.2k(\'%1\',k.7v()+1).2k(\'%2\',2a.V);k[k.6l].2d=\'<P 1W="K-3G">\'+s+\'</P>\'+k[k.6l].2d}}},a0:C(){q(!k.1i){O(A i=0;i<m.6u.V;i++){A 1R=m.6u[i],3c=1R.2N;q(1F 3c==\'1L\'||3c===I||3c===k.2N)k.1p=1J m.83(k.Q,1R)}}J{k.1p=k.1i.1p}A 1R=k.1p;q(!1R)E;A Q=1R.4k=k.Q;1R.ch();1R.5d(\'1a-2F\');q(1R.2X){k.4O(m.3A(1R.cB||{},{4P:1R.2X,22:\'2X\',1B:5}))}q(1R.2D)1R.2D.7p(k);q(!k.1i&&k.42)1R.3L(M);q(1R.42){1R.42=4a(C(){m.1D(Q)},(1R.fH||fs))}},6P:C(){m.3B(k.U);m.16[k.Q]=I;q(m.2q==k.a)m.2q=I;m.9x(k.Q);q(k.2r)m.2r.G.1b=\'-4v\';m.1A(k,\'cu\')},bp:C(){q(k.67)E;k.67=m.1d(\'a\',{21:m.ct,2L:m.cs,1c:\'K-67\',2d:m.18.cq,24:m.18.cr});k.4O({4P:k.67,1l:k.cv||\'Y 1b\',22:\'67\'})},a2:C(8f,cy){O(A i=0;i<8f.V;i++){A T=8f[i],s=I;q(T==\'9X\'&&!m.1A(k,\'eH\'))E;J q(T==\'58\'&&!m.1A(k,\'eG\'))E;q(!k[T+\'5p\']&&k.6Q)k[T+\'5p\']=T+\'-O-\'+k.6Q;q(k[T+\'5p\'])k[T]=m.4J(k[T+\'5p\']);q(!k[T]&&!k[T+\'8j\']&&k[T+\'cw\'])1t{s=fh(k[T+\'cw\'])}1y(e){}q(!k[T]&&k[T+\'8j\']){s=k[T+\'8j\']}q(!k[T]&&!s){k[T]=m.4J(k.a[\'cA\'+T+\'5p\']);q(!k[T]){A 1D=k.a.cz;5g(1D&&!m.77(1D)){q((1J 4Y(\'K-\'+T)).11(1D.1c||I)){q(!1D.1v)k.a[\'cA\'+T+\'5p\']=1D.1v=\'22\'+m.61++;k[T]=m.4J(1D.1v);5m}1D=1D.cz}}}q(!k[T]&&!s&&k.6l==T)s=\'\\n\';q(!k[T]&&s)k[T]=m.1d(\'P\',{1c:\'K-\'+T,2d:s});q(cy&&k[T]){A o={1l:(T==\'58\')?\'5N\':\'7E\'};O(A x 2Y k[T+\'cx\'])o[x]=k[T+\'cx\'][x];o.4P=k[T];k.4O(o)}}},59:C(1n){q(m.cO)k.6B(\'fk\',1n);q(m.cQ)k.6B(\'dd\',1n);q(m.6y)k.6B(\'*\',1n)},6B:C(3J,1n){A 1m=W.2C(3J);A 1f=3J==\'*\'?\'2e\':\'1n\';O(A i=0;i<1m.V;i++){q(1f==\'1n\'||(W.8L.cK(1m[i],"").co(\'2e\')==\'1M\'||1m[i].bH(\'1q-by\')!=I)){A 2S=1m[i].bH(\'1q-by\');q(1n==\'1Y\'&&2S){2S=2S.2k(\'[\'+k.Q+\']\',\'\');1m[i].5F(\'1q-by\',2S);q(!2S)1m[i].G[1f]=1m[i].9N}J q(1n==\'1q\'){A 3N=m.6K(1m[i]);3N.w=1m[i].1O;3N.h=1m[i].1U;q(!k.4b){A bl=(3N.x+3N.w<k.x.Z(\'6e\')||3N.x>k.x.Z(\'6e\')+k.x.Z(\'9R\'));A bG=(3N.y+3N.h<k.y.Z(\'6e\')||3N.y>k.y.Z(\'6e\')+k.y.Z(\'9R\'))}A 6F=m.9U(1m[i]);q(!bl&&!bG&&6F!=k.Q){q(!2S){1m[i].5F(\'1q-by\',\'[\'+k.Q+\']\');1m[i].9N=1m[i].G[1f];1m[i].G[1f]=\'1q\'}J q(2S.bF(\'[\'+k.Q+\']\')==-1){1m[i].5F(\'1q-by\',2S+\'[\'+k.Q+\']\')}}J q((2S==\'[\'+k.Q+\']\'||m.3d==6F)&&6F!=k.Q){1m[i].5F(\'1q-by\',\'\');1m[i].G[1f]=1m[i].9N||\'\'}J q(2S&&2S.bF(\'[\'+k.Q+\']\')>-1){1m[i].5F(\'1q-by\',2S.2k(\'[\'+k.Q+\']\',\'\'))}}}}},3M:C(){k.U.G.1B=m.4F+=2;O(A i=0;i<m.16.V;i++){q(m.16[i]&&i==m.3d){A 4r=m.16[i];4r.S.1c+=\' K-\'+4r.35+\'-9J\';q(4r.2E){4r.S.G.4L=m.3Z?\'bE\':\'7Q\';4r.S.24=m.18.bD}m.1A(4r,\'eW\')}}q(k.1g)k.1g.2g.G.1B=k.U.G.1B-1;k.S.1c=\'K-\'+k.35;q(k.2E){k.S.24=m.18.9W;q(m.6h){m.54=1S.3z?\'7Q\':\'7T(\'+m.5c+m.6h+\'), 7Q\';q(m.3Z&&m.2t<6)m.54=\'bE\';k.S.G.4L=m.54}}m.3d=k.Q;m.2j(W,1S.3z?\'6U\':\'71\',m.68);m.1A(k,\'fd\')},9m:C(x,y){k.x.aa(x);k.y.aa(y)},3O:C(e){A w,h,r=e.L/e.N;w=1h.4t(e.L+e.dX,1h.31(k.4s,k.x.1a));q(k.2E&&1h.9Y(w-k.x.1a)<12)w=k.x.1a;h=k.2A?e.N+e.dY:w/r;q(h<1h.31(k.6k,k.y.1a)){h=1h.31(k.6k,k.y.1a);q(k.2E)w=h*r}k.9h(w,h)},9h:C(w,h){k.y.72(h);k.x.72(w);k.U.G.N=k.y.Z(\'2f\')+\'F\'},26:C(){q(k.62||!k.55)E;q(k.3q[1]==\'4e\'&&m.2q){m.2G(m.2q).6P();m.2q=I}q(!m.1A(k,\'eV\'))E;k.62=M;q(k.1p&&!m.2q)k.1p.3p();m.4z(W,1S.3z?\'6U\':\'71\',m.68);1t{q(k.2A)k.bJ();k.S.G.4L=\'fj\';k.9b(0,{U:{L:k.x.t,N:k.y.t,1b:k.x.1K-k.x.cb+k.x.3s,Y:k.y.1K-k.y.cb+k.y.3s},S:{1b:0,Y:0,L:k.x.t,N:k.y.t}},m.9A)}1y(e){k.5D()}},bJ:C(){q(m.6y){q(!m.6s)m.6s=m.1d(\'P\',I,{1l:\'2l\'},m.2b);m.R(m.6s,{L:k.x.D+\'F\',N:k.y.D+\'F\',1b:k.x.H+\'F\',Y:k.y.H+\'F\',1o:\'3X\'})}q(k.2I==\'3x\')1t{m.$(k.19.1v).f9()}1y(e){}q(k.3U==\'6x\'&&!k.4D)k.bK();q(k.2s&&k.2s!=k.52)k.2s.G.2e=\'1q\'},bK:C(){q(m.2h&&k.1k)1t{k.1k.6g.W.19.2d=\'\'}1y(e){}q(k.2I==\'3x\')9p.fb(k.19.1v);k.19.2d=\'\'},bx:C(){q(k.1g)k.1g.2g.G.1o=\'1E\';k.3W=I;k.U.G.1o=\'1E\';k.55=1j;m.2o(m.4R,k)},bP:C(){1t{m.16[k.Q]=k;q(!m.9l&&m.3d!=k.Q){1t{m.16[m.3d].26()}1y(e){}}A z=m.4F++,5X={1o:\'\',1B:z};m.R(k.U,5X);k.62=1j;A o=k.1g||0;q(o){q(!k.3Y)5X.1n=\'1q\';m.R(o.2g,5X)}q(k.1p){k.a0()}k.a5()}1y(e){}},4O:C(o){A el=o.4P,53=(o.bO==\'2x\'&&!/7M$/.11(o.1l));q(1F el==\'a8\')el=m.4J(el);q(o.3D)el=m.1d(\'P\',{2d:o.3D});q(!el||1F el==\'a8\')E;q(!m.1A(k,\'f7\',{14:el}))E;el.G.1o=\'3X\';o.22=o.22||o.4P;q(k.3q[1]==\'4e\'&&k.bQ(o,el))E;k.9V();A L=o.L&&/^[0-9]+(F|%)$/.11(o.L)?o.L:\'1M\';q(/^(1b|3m)7M$/.11(o.1l)&&!/^[0-9]+F$/.11(o.L))L=\'f2\';A 14=m.1d(\'P\',{1v:\'22\'+m.61++,22:o.22},{1l:\'2l\',1n:\'1q\',L:L,9S:m.18.97||\'\',1z:0},53?m.2x:k.1x,M);q(53)14.6R=k.Q;14.1X(el);m.3A(14,{1z:1,bN:0,bL:0,4i:(o.6w===0||o.6w===1j||(o.6w==2&&m.2h))?0:5Z});m.3A(14,o);q(k.bo){k.5V(14);q(!14.7d||k.9C)m.2z(14,{1z:14.1z},14.4i)}m.2o(k.1T,m.61-1)},5V:C(14){A p=14.1l||\'9a 4X\',53=(14.bO==\'2x\'),74=14.bN,6O=14.bL;q(53){m.2x.G.1o=\'3X\';14.6R=k.Q;q(14.1O>14.23.1O)14.G.L=\'2w%\'}J q(14.23!=k.1x)k.1x.1X(14);q(/1b$/.11(p))14.G.1b=74+\'F\';q(/4X$/.11(p))m.R(14,{1b:\'50%\',4W:(74-1h.3e(14.1O/2))+\'F\'});q(/3m$/.11(p))14.G.3m=-74+\'F\';q(/^bM$/.11(p)){m.R(14,{3m:\'2w%\',9B:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.1G=14.1O}J q(/^bC$/.11(p)){m.R(14,{1b:\'2w%\',4W:k.x.cb+\'F\',Y:-k.y.cb+\'F\',4Q:-k.y.cb+\'F\',2e:\'1M\'});k.x.36=14.1O}A 9d=14.23.1U;14.G.N=\'1M\';q(53&&14.1U>9d)14.G.N=m.3Z?9d+\'F\':\'2w%\';q(/^Y/.11(p))14.G.Y=6O+\'F\';q(/^9a/.11(p))m.R(14,{Y:\'50%\',4d:(6O-1h.3e(14.1U/2))+\'F\'});q(/^4Q/.11(p))14.G.4Q=-6O+\'F\';q(/^5N$/.11(p)){m.R(14,{1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',4Q:\'2w%\',6L:k.y.cb+\'F\',L:\'1M\'});k.y.1G=14.1U}J q(/^7E$/.11(p)){m.R(14,{1l:\'4y\',1b:(-k.x.1G-k.x.cb)+\'F\',3m:(-k.x.36-k.x.cb)+\'F\',Y:\'2w%\',4d:k.y.cb+\'F\',L:\'1M\'});k.y.36=14.1U;14.G.1l=\'2l\'}},bB:C(){k.a2([\'58\',\'9X\'],M);k.bq();q(k.9X)m.1A(k,\'eE\');q(k.58)m.1A(k,\'eF\');q(k.58&&k.a7)k.58.1c+=\' K-3u\';q(m.br)k.bp();O(A i=0;i<m.1T.V;i++){A o=m.1T[i],6N=o.9P,3c=o.2N;q((!6N&&!3c)||(6N&&6N==k.6Q)||(3c&&3c===k.2N)){q(k.2E||(k.2A&&o.eO))k.4O(o)}}A 7I=[];O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(/7M$/.11(o.1l))k.5V(o);J m.2o(7I,o)}O(A i=0;i<7I.V;i++)k.5V(7I[i]);k.bo=M},9V:C(){q(!k.1x)k.1x=m.1d(\'P\',{1c:k.a9},{1l:\'2l\',L:(k.x.D||(k.3t?k.L:I)||k.x.1a)+\'F\',N:(k.y.D||k.y.1a)+\'F\',1n:\'1q\',2e:\'1q\',1B:m.2h?4:\'1M\'},m.2b,M)},57:C(98,bm){A 1x=k.1x,x=k.x,y=k.y;m.R(1x,{L:x.D+\'F\',N:y.D+\'F\'});q(98||bm){O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);A 9E=(m.3Z||W.7a==\'8v\');q(o&&/^(5N|7E)$/.11(o.1l)){q(9E){o.G.L=(1x.1O+2*x.cb+x.1G+x.36)+\'F\'}y[o.1l==\'5N\'?\'1G\':\'36\']=o.1U}q(o&&9E&&/^(1b|3m)7M$/.11(o.1l)){o.G.N=(1x.1U+2*y.cb)+\'F\'}}}q(98){m.R(k.S,{Y:y.1G+\'F\'});m.R(1x,{Y:(y.1G+y.cb)+\'F\'})}},bn:C(){A b=k.1x;b.1c=\'\';m.R(b,{Y:(k.y.1G+k.y.cb)+\'F\',1b:(k.x.1G+k.x.cb)+\'F\',2e:\'1Y\'});q(m.4M)b.G.1n=\'1Y\';k.U.1X(b);O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);o.G.1B=o.1B||4;q(!o.7d||k.9C){o.G.1n=\'1Y\';m.R(o,{1n:\'1Y\',1o:\'\'});m.2z(o,{1z:o.1z},o.4i)}}},78:C(){q(!k.1T.V)E;q(k.1p){A c=k.1p.2X;q(c&&m.2G(c)==k)c.23.9q(c)}O(A i=0;i<k.1T.V;i++){A o=m.$(\'22\'+k.1T[i]);q(o&&o.23==m.2x&&m.2G(o)==k)m.3B(o)}q(k.2A&&k.4D){k.1x.G.Y=\'-4v\';m.2b.1X(k.1x)}J m.3B(k.1x)},bs:C(){q(k.1p&&k.1p.2X){k.1p.4u(\'1a-2F\');E}k.7u=m.1d(\'a\',{21:\'bt:m.16[\'+k.Q+\'].7r();\',24:m.18.9Z,1c:\'K-1a-2F\'});q(!m.1A(k,\'fq\'))E;k.4O({4P:k.7u,1l:m.bz,7d:M,1z:m.bA})},7r:C(){1t{q(!m.1A(k,\'fZ\'))E;q(k.7u)m.3B(k.7u);k.3M();A 3f=k.x.D,3y=k.y.D;k.9h(k.x.1a,k.y.1a);A 3h=k.x.H-(k.x.D-3f)/2;q(3h<m.4W)3h=m.4W;A 3r=k.y.H-(k.y.D-3y)/2;q(3r<m.4d)3r=m.4d;k.9m(3h,3r);k.59(\'1q\')}1y(e){k.9o(e)}},5D:C(){k.a.1c=k.a.1c.2k(\'K-4I-46\',\'\');k.59(\'1Y\');q(k.2A&&k.4D&&k.3q[1]!=\'4e\'){k.bx()}J{q(k.1g&&k.3Y)k.1g.5U();m.3B(k.U)}q(m.6s)m.6s.G.1o=\'1E\';k.78();q(!m.2x.7L.V)m.2x.G.1o=\'1E\';q(k.4b)m.9x(k.Q);m.1A(k,\'fW\');m.16[k.Q]=I;m.bw()}};m.7x=C(a,S,7t){k.a=a;k.S=S;k.7t=7t};m.7x.5w={9r:C(){A 2V;q(!k.1e)k.1e=m.7s(k.a);q(k.1e.3b(\'#\')){A 2a=k.1e.7G(\'#\');k.1e=2a[0];k.1v=2a[1]}q(m.7k[k.1e]){k.cd=m.7k[k.1e];q(k.1v)k.a3();J k.6f();E}1t{2V=1J cp()}1y(e){1t{2V=1J bu("fS.bR")}1y(e){1t{2V=1J bu("bv.bR")}1y(e){k.9z()}}}A 3v=k;2V.gc=C(){q(3v.2V.bS==4){q(3v.1v)3v.a3();J 3v.6f()}};A 1e=k.1e;k.2V=2V;q(m.g3)1e=1e.2k(/$/,(/\\?/.11(1e)?\'&\':\'?\')+\'g6=\'+(1J 7K()).79());2V.ca(\'fQ\',1e,M);2V.ce(\'X-fA-fB\',\'cp\');2V.ce(\'fu-fv\',\'fL/x-fO-9j-fJ\');2V.fF(I)},a3:C(){m.7m();A 4l=1S.3z||m.cf?{1e:\'fI:eC\'}:I;k.1k=m.1d(\'1k\',4l,{1l:\'2l\',Y:\'-4v\'},m.2b);k.6f()},6f:C(){A s=k.cd||k.2V.dn,7H;q(k.7t)m.7k[k.1e]=s;q(!m.2h||m.2t>=5.5){s=s.2k(1J 4Y(\'<di[^>]*>\',\'c9\'),\'\').2k(1J 4Y(\'<cc[^>]*>.*?</cc>\',\'c9\'),\'\');q(k.1k){A 2B=k.1k.9O;q(!2B&&k.1k.6g)2B=k.1k.6g.W;q(!2B){A 3v=k;4a(C(){3v.6f()},25);E}2B.ca();2B.dg(s);2B.26();1t{s=2B.9Q(k.1v).2d}1y(e){1t{s=k.1k.W.9Q(k.1v).2d}1y(e){}}m.3B(k.1k)}J{7H=/(<19[^>]*>|<\\/19>)/db;q(7H.11(s))s=s.7G(7H)[m.3R?1:2]}}m.4p(k.S,\'7J\',\'K-19\').2d=s;k.3F();O(A x 2Y k)k[x]=I}};m.83=C(4k,1r){q(m.cX!==1j)m.95();k.4k=4k;O(A x 2Y 1r)k[x]=1r[x];q(k.cZ)k.cg();q(k.2D)k.2D=m.ci(k)};m.83.5w={cg:C(){k.2X=m.1d(\'P\',{2d:m.8b(m.8i.2X)},I,m.2b);A 6j=[\'3L\',\'3p\',\'3a\',\'1D\',\'3u\',\'1a-2F\',\'26\'];k.1Q={};A 3v=k;O(A i=0;i<6j.V;i++){k.1Q[6j[i]]=m.4p(k.2X,\'1H\',\'K-\'+6j[i]);k.4u(6j[i])}k.1Q.3p.G.1o=\'1E\'},ch:C(){q(k.cm||!k.2X)E;A B=m.16[k.4k],5q=B.7v(),2m=/7w$/;q(5q==0)k.5d(\'3a\');J q(2m.11(k.1Q.3a.2C(\'a\')[0].1c))k.4u(\'3a\');q(5q+1==m.4U.3i[B.2N||\'1E\'].V){k.5d(\'1D\');k.5d(\'3L\')}J q(2m.11(k.1Q.1D.2C(\'a\')[0].1c)){k.4u(\'1D\');k.4u(\'3L\')}},4u:C(1Q){q(!k.1Q)E;A cn=k,a=k.1Q[1Q].2C(\'a\')[0],2m=/7w$/;a.2p=C(){cn[1Q]();E 1j};q(2m.11(a.1c))a.1c=a.1c.2k(2m,\'\')},5d:C(1Q){q(!k.1Q)E;A a=k.1Q[1Q].2C(\'a\')[0];a.2p=C(){E 1j};q(!/7w$/.11(a.1c))a.1c+=\' 7w\'},cl:C(){q(k.42)k.3p();J k.3L()},3L:C(ck){q(k.1Q){k.1Q.3L.G.1o=\'1E\';k.1Q.3p.G.1o=\'\'}k.42=M;q(!ck)m.1D(k.4k)},3p:C(){q(k.1Q){k.1Q.3p.G.1o=\'1E\';k.1Q.3L.G.1o=\'\'}d9(k.42);k.42=I},3a:C(){k.3p();m.3a(k.1Q.3a)},1D:C(){k.3p();m.1D(k.1Q.1D)},3u:C(){},\'1a-2F\':C(){m.2G().7r()},26:C(){m.26(k.1Q.26)}};m.ci=C(1p){C 7p(B){m.3A(1r||{},{4P:4E,22:\'2D\',1c:\'K-2D-\'+5k+\'-14 \'+(1r.1c||\'\')});q(m.3Z)1r.6w=0;B.4O(1r);m.R(4E.23,{2e:\'1q\'})};C 28(3K){5t(1L,1h.3e(3K*4E[3S?\'1O\':\'1U\']*0.7))};C 5t(i,80){q(i===1L)O(A j=0;j<5I.V;j++){q(5I[j]==m.16[1p.4k].a){i=j;5m}}q(i===1L)E;A as=4E.2C(\'a\'),4I=as[i],48=4I.23,1b=3S?\'cj\':\'c8\',3m=3S?\'c7\':\'bX\',L=3S?\'bY\':\'bW\',4V=\'1w\'+1b,1O=\'1w\'+L,7e=P.23.23[1O],5j=7e-2g[1O],6o=3H(2g.G[3S?\'1b\':\'Y\'])||0,2O=6o,ej=20;q(80!==1L){2O=6o-80;q(5j>0)5j=0;q(2O>0)2O=0;q(2O<5j)2O=5j}J{O(A j=0;j<as.V;j++)as[j].1c=\'\';4I.1c=\'K-4I-46\';A 7X=i>0?as[i-1].23[4V]:48[4V],7Y=48[4V]+48[1O]+(as[i+1]?as[i+1].23[1O]:0);q(7Y>7e-6o)2O=7e-7Y;J q(7X<-6o)2O=-7X}A 8R=48[4V]+(48[1O]-7f[1O])/2+2O;m.2z(2g,3S?{1b:2O}:{Y:2O},I,\'8S\');m.2z(7f,3S?{1b:8R}:{Y:8R},I,\'8S\');8l.G.1o=2O<0?\'3X\':\'1E\';8M.G.1o=(2O>5j)?\'3X\':\'1E\'};A 5I=m.4U.3i[m.16[1p.4k].2N||\'1E\'],1r=1p.2D,5k=1r.5k||\'bV\',8K=(5k==\'en\'),4f=8K?[\'P\',\'6t\',\'1H\',\'1C\']:[\'2g\',\'4G\',\'47\',\'2J\'],3S=(5k==\'bV\'),4E=m.1d(\'P\',{1c:\'K-2D K-2D-\'+5k,2d:\'<P 1W="K-2D-eg">\'+\'<\'+4f[0]+\'><\'+4f[1]+\'></\'+4f[1]+\'></\'+4f[0]+\'></P>\'+\'<P 1W="K-28-1I"><P></P></P>\'+\'<P 1W="K-28-ee"><P></P></P>\'+\'<P 1W="K-7f"><P></P></P>\'},{1o:\'1E\'},m.2b),5E=4E.7L,P=5E[0],8l=5E[1],8M=5E[2],7f=5E[3],2g=P.ef,4G=4E.2C(4f[1])[0],47;O(A i=0;i<5I.V;i++){q(i==0||!3S)47=m.1d(4f[2],I,I,4G);(C(){A a=5I[i],48=m.1d(4f[3],I,I,47),ex=i;m.1d(\'a\',{21:a.21,24:a.24,2p:C(){q(/K-4I-46/.11(k.1c))E 1j;m.2G(k).3M();E m.8N(a)},2d:m.bT?m.bT(a):a.2d},I,48)})()}q(!8K){8l.2p=C(){28(-1)};8M.2p=C(){28(1)};m.2j(4G,W.eA!==1L?\'er\':\'eq\',C(e){A 3K=0;e=e||1S.2u;q(e.bU){3K=e.bU/dR;q(m.3z)3K=-3K}J q(e.bZ){3K=-e.bZ/3}q(3K)28(-3K*0.2);q(e.5n)e.5n();e.c0=1j})}E{7p:7p,5t:5t}};m.7o=m.18;A e8=m.5A;q(m.2h&&1S==1S.Y){(C(){1t{W.5h.e4(\'1b\')}1y(e){4a(c5.dZ,50);E}m.41()})()}m.2j(W,\'dW\',m.41);m.2j(1S,\'8B\',m.41);m.2j(W,\'41\',C(){q(m.7R||m.4b){A G=m.1d(\'G\',{T:\'e0/8I\'},I,W.2C(\'e1\')[0]),8E=W.7a==\'8v\';C 5P(8m,8n){q(m.2h&&(m.2t<9||8E)){A 1i=W.c6[W.c6.V-1];q(1F(1i.5P)=="7j")1i.5P(8m,8n)}J{G.1X(W.e6(8m+" {"+8n+"}"))}}C 5T(1f){E\'e5( ( ( ez = W.5h.\'+1f+\' ? W.5h.\'+1f+\' : W.19.\'+1f+\' ) ) + \\\'F\\\' );\'}q(m.7R)5P(\'.K 1N\',\'4L: 7T(\'+m.5c+m.7R+\'), 7Q !dA;\');5P(\'.K-2x-D\',m.2h&&(m.2t<7||8E)?\'1l: 2l; \'+\'1b:\'+5T(\'5O\')+\'Y:\'+5T(\'5R\')+\'L:\'+5T(\'8F\')+\'N:\'+5T(\'c4\'):\'1l: fV; L: 2w%; N: 2w%; 1b: 0; Y: 0\')}});m.2j(1S,\'3O\',C(){m.7S();q(m.2x)O(A i=0;i<m.2x.7L.V;i++){A 1P=m.2x.7L[i],B=m.2G(1P);B.5V(1P);q(1P.22==\'2D\')B.1p.2D.5t()}});m.2j(W,\'7D\',C(e){m.7B={x:e.7A,y:e.7F}});m.2j(W,\'8y\',m.8z);m.2j(W,\'c3\',m.8z);m.2j(W,\'41\',m.c1);m.2j(1S,\'8B\',m.c2);m.2j(1S,\'8B\',m.bI)}',62,1006,'||||||||||||||||||||this||hs||||if||||||||||var|exp|function|size|return|px|style|pos|null|else|highslide|width|true|height|for|div|key|setStyles|content|type|wrapper|length|document||top|get||test|||overlay||expanders||lang|body|full|left|className|createElement|src|prop|outline|Math|last|false|iframe|position|els|visibility|display|slideshow|hidden|options|innerContent|try|dim|id|offset|overlayBox|catch|opacity|fireEvent|zIndex|span|next|none|typeof|p1|li|up|new|tpos|undefined|auto|img|offsetWidth|node|btn|ss|window|overlays|offsetHeight|imgSize|class|appendChild|visible|outlineType||href|hsId|parentNode|title||close||scroll|params|arr|container|case|innerHTML|overflow|wsize|table|ie|to|addEventListener|replace|absolute|re|op|push|onclick|upcoming|loading|scrollerDiv|uaVersion|event|dimmer|100|viewport|dragArgs|animate|isHtml|doc|getElementsByTagName|thumbstrip|isImage|expand|getExpander|args|objectType|td|imgPad|target|ratio|slideshowGroup|tblPos|tgt|easing|image|hiddenBy|justify|minSize|xhr|ajax|controls|in|name|elem|min||||contentType|p2||||previous|match|sg|focusKey|round|xSize|lastY|xpos|groups|val|wh|ucwh|right|lastX|marginMin|pause|transitions|ypos|tb|useBox|move|pThis|clearing|swf|ySize|opera|extend|discardElement|opt|html|custom|onLoad|number|parseInt|hasDragged|tagName|delta|play|focus|elPos|resize|step|func|ieLt9|isX|changed|objectLoadTime|graphic|releaseMask|block|outlineWhileAnimating|ieLt7||ready|autoplay|getParam|xp1|yp1|anchor|tr|cell|styles|setTimeout|dimmingOpacity|mediumContent|marginTop|crossfade|tree|page|duration|dur|objectWidth|expKey|attribs|timers|pendingOutlines|now|getElementByClass|clone|blurExp|minWidth|max|enable|9999px|unit|objectHeight|relative|removeEventListener|navigator|invPos|setPosition|preserveContent|dom|zIndexCounter|tbody|tgtArr|active|getNode|clientSize|cursor|safari|onload|createOverlay|overlayId|bottom|sleeping|marginMax|start|anchors|offsetLeft|marginLeft|center|RegExp|images||end|scrollingContent|relToVP|styleRestoreCursor|isExpanded|htmls|sizeOverlayBox|heading|doShowHide|cacheBindings|hDiff|graphicsDir|disable|fitsize|cNode|while|documentElement|wDiff|minTblPos|mode|fadeBox|break|preventDefault|ruler|Id|cur|owner|allowReduce|selectThumb|moveOnly|area|prototype|minX|currentStyle|maxY|Expander|minY|iDoc|afterClose|domCh|setAttribute|toLowerCase|maxX|group|cloneNode|ysize|xsize|trans|above|scrollLeft|addRule|filter|scrollTop|padToMinWidth|fix|destroy|positionOverlay|fac|stl|allowSizeReduction|250|before|idCounter|isClosing|iebody|preloadTheseImages|on|over|credits|keyHandler|contentLoaded|getParams|param|parent|userAgent|opos|loadHTML|contentWindow|restoreCursor|obj|buttons|minHeight|numberPosition|uclt|showLoading|curTblPos|getAnchors|all|Outline|mask|ul|slideshows|matches|fade|after|geckoMac|cache|Dimension|showHideElements|maincontent|onLoadStarted|kdeBugCorr|wrapperKey|oDiv|dragHandler|afterExpand|allowWidthReduction|getPosition|marginBottom|maxWidth|tId|offY|cancelLoading|thumbsUserSetId|hsKey|ximgPad|writeExtendedContent|keypress|yimgPad|expandDuration|allowHeightReduction|lt|dir||keydown|setSize|525|offX||complete|isHsAnchor|destroyOverlays|getTime|compatMode|rel|self|hideOnMouseOut|overlayWidth|marker|curAnim|expOnly|gotoEnd|object|cachedGets|onReady|init|topmostKey|langDefaults|add|preloadTheseAjax|doFullExpand|getSrc|pre|fullExpandLabel|getAnchorIndex|disabled|Ajax|element|adj|clientX|mouse|preloadFullImage|mousemove|below|clientY|split|regBody|os|DIV|Date|childNodes|panel|imgs|previousOrNext|relatedTarget|pointer|expandCursor|getPageSize|url|current|getAdjacentAnchor|cacheAjax|activeLeft|activeRight|htmlGetSize|scrollBy|pixDimmerSize|update|Slideshow|isNew|location|getCacheBinding|dimmingDuration|contentId|getSelfRendered|calcBorders|replaceLang|clones|topZ|swfOptions|types|oPos|calcExpanded|skin|Text|preloadAjaxElement|scrollUp|sel|dec|other|getIframePageHeight|endOff|startOff|previousTitle|names|from|BackCompat|arrow|fitOverlayBox|mousedown|mouseClickHandler|correctIframeSize|load|hasMovedMin|maxsize|backCompat|clientWidth|Click|border|css|parseFloat|floatMode|defaultView|scrollDown|transit|offsetTop|mY|mX|markerPos|easeOutQuad|yp2|xp2|moveTitle|nextText|nextTitle|previousText|moveText|closeTitle|setObjContainerSize|closeText|props|padding|updateAnchors|state|cssDirection|doWrapper||middle|changeSize|startTime|parOff|sizeDiff|numberOfImagesToPreload|distance|resizeTo|maxHeight|form|srcElement|allowMultipleInstances|moveTo|align|error|swfobject|removeChild|run|done|background|htmlExpand|loadingPosXfade|openerTagNames|undim|garbageBin|onError|restoreDuration|marginRight|mouseIsOver|margin|ie6|isReady|hasAlphaImageLoader|Create|connectOutline|blur|evt|ucrb|calcThumb|origProp|contentDocument|thumbnailId|getElementById|osize|direction|loadingPos|getWrapperKey|genOverlayBox|restoreTitle|caption|abs|fullExpandTitle|initSlideshow|continuePreloading|getInline|getElementContent|overrides|show|hasFocused|dragByHeading|string|wrapperClassName|setPos|playText|pauseText|pauseTitle|fullExpandText|timerId|Move|Pause|preloadGraphic|spacebar|png|Play|Close|Highslide|JS|_default|Previous|appendTo||KDE|playTitle|vendor|200|call|Next|onGraphicLoad|and|vis|targetY|hasExtendedContent|pow|attributes|flashvars|isUnobtrusiveAnchor|hsHasSetClick|clear|ltr|newHeight|detachEvent|wmode|clickY|wrapperMouseHandler|focusTopmost|dimmingGeckoFix|enableKeyListener|fixedControls|hasHtmlExpanders|clickX|thumb|pageOrigin|loadingTitle|loadingText|resizeTitle|targetX|headingOverlay|captionOverlay|htmlSizeOperations|rb|switch|orig|getImageMapAreaCorrection|rv|tag|offsetParent|both|contentWrapper|loadingOpacity|pageXOffset|alpha|nopad|toUpperCase|easeInQuad|hide|clearsX|doPanels|showOverlays|gotOverlays|writeCredits|getNumber|showCredits|createFullExpand|javascript|ActiveXObject|Microsoft|reOrder|sleep||fullExpandPosition|fullExpandOpacity|getOverlays|rightpanel|focusTitle|hand|indexOf|clearsY|getAttribute|preloadAjax|htmlPrepareClose|destroyObject|offsetY|leftpanel|offsetX|relativeTo|awake|reuseOverlay|XMLHTTP|readyState|stripItemFormatter|wheelDelta|horizontal|Height|Bottom|Width|detail|returnValue|setClickEvents|preloadImages|mouseup|clientHeight|arguments|styleSheets|Right|Top|gi|open||script|cachedGet|setRequestHeader|ie6SSL|getControls|checkFirstAndLast|Thumbstrip|Left|wait|hitSpace|repeat|sls|getPropertyValue|XMLHttpRequest|creditsText|creditsTitle|creditsTarget|creditsHref|onHideLoading|creditsPosition|Eval|Overlay|addOverlay|nextSibling|_|overlayOptions|toString|fadeInOut|transitionDuration|easingClose|correctRatio|tmpMin|ximgSize|yimgSize|getComputedStyle|prepareNextOutline|newImg|oldImg|hideSelects|preloadNext|hideIframes|scrollWidth|reuse|iPod|iPhone|scrollHeight|boolean|dynamicallyUpdateAnchors|10001|useControls|geckodimmer|onAfterExpand|iPad|onDimmerClick|htmlCreate|onShowLoading|rect|clip|nodeName|clearTimeout|onBeforeGetContent|ig|dimming|IFRAME|300|Android|write|xpand|link|htmlE|Line|lineNumber|floor|responseText|onDrop|oncontextmenu|alert|onImageClick|button|addSlideshow|registerOverlay|zoomin|graphics|zoomout|keyCode|onKeyDown|important|keys|click|message|drag|Use|insertBefore|flushImgSize|headingText|headingEval|headingId|captionEval|captionText|maincontentId|maincontentText|Trident|it|120|reflow|maincontentEval|captionId|shadow|DOMContentLoaded|||callee|text|HEAD|header|blockRightClick|doScroll|expression|createTextNode|footer|HsExpander|ra|Safari|useMap|_self|pageYOffset|down|firstChild|inner|com|outlineStartOffset|mgnRight|onSetClickEvent||http|float|innerHeight|innerWidth|DOMMouseScroll|mousewheel|Gecko|onBeforeExpand|Macintosh|drop|removeAttribute|pI|imageCreate|ignoreMe|onmousewheel|white|blank|esc|onAfterGetCaption|onAfterGetHeading|onBeforeGetHeading|onBeforeGetCaption|circle|cellSpacing|fontSize|lineHeight|collapse|borderCollapse|useOnHtml|newWidth|frameborder|front|onmouseout|clearInterval|01|onBeforeClose|onBlur|onmouseover|Resize|Expand|fit|outlinesDir|200px|onInit|Go|allowSimultaneousLoading|the|onCreateOverlay|Powered|StopPlay|static|removeSWF|actual|onFocus|scale|shape|homepage|eval|outlines|default|SELECT|sizingMethod|AlphaImageLoader|DXImageTransform|progid|onAfterGetContent|onCreateFullExpand|onMouseOut|500|onMouseOver|Content|Type|Loading||attachEvent|of|Requested|With|coords|toElement|fromElement|send|sqrt|interval|about|urlencoded|dragSensitivity|application|mouseover|onDrag|www|cancel|GET|transparent|Msxml2|embedSWF|onActivate|fixed|onAfterClose|setInterval|flash|onDoFullExpand|bring|version|linearTween|forceAjaxReload|https|protocol|dummy|Image|debug|paddingTop|1px|expressInstallSwfurl|onreadystatechange|splice'.split('|'),0,{}))
 
products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.css DELETED
@@ -1,889 +0,0 @@
1
- /**
2
- * @file: highslide.css
3
- * @version: 4.1.13
4
- */
5
- .highslide-container div {
6
- font-family: Verdana, Helvetica;
7
- font-size: 10pt;
8
- }
9
- .highslide-container table {
10
- background: none;
11
- }
12
- .highslide {
13
- outline: none;
14
- text-decoration: none;
15
- }
16
- .highslide img {
17
- border: 2px solid silver;
18
- }
19
- .highslide:hover img {
20
- border-color: gray;
21
- }
22
- .highslide-active-anchor img {
23
- visibility: hidden;
24
- }
25
- .highslide-gallery .highslide-active-anchor img {
26
- border-color: black;
27
- visibility: visible;
28
- cursor: default;
29
- }
30
- .highslide-image {
31
- border-width: 2px;
32
- border-style: solid;
33
- border-color: white;
34
- }
35
- .highslide-wrapper, .highslide-outline {
36
- background: white;
37
- }
38
- .glossy-dark {
39
- background: #111;
40
- }
41
-
42
- .highslide-image-blur {
43
- }
44
- .highslide-number {
45
- font-weight: bold;
46
- color: gray;
47
- font-size: .9em;
48
- }
49
- .highslide-caption {
50
- display: none;
51
- font-size: 1em;
52
- padding: 5px;
53
- /*background: white;*/
54
- }
55
- .highslide-heading {
56
- display: none;
57
- font-weight: bold;
58
- margin: 0.4em;
59
- }
60
- .highslide-dimming {
61
- /*position: absolute;*/
62
- background: black;
63
- }
64
- a.highslide-full-expand {
65
- background: url(graphics/fullexpand.gif) no-repeat;
66
- display: block;
67
- margin: 0 10px 10px 0;
68
- width: 34px;
69
- height: 34px;
70
- }
71
- .highslide-loading {
72
- display: block;
73
- color: black;
74
- font-size: 9px;
75
- font-weight: bold;
76
- text-transform: uppercase;
77
- text-decoration: none;
78
- padding: 3px;
79
- border: 1px solid white;
80
- background-color: white;
81
- padding-left: 22px;
82
- background-image: url(graphics/loader.white.gif);
83
- background-repeat: no-repeat;
84
- background-position: 3px 1px;
85
- }
86
- a.highslide-credits,
87
- a.highslide-credits i {
88
- padding: 2px;
89
- color: silver;
90
- text-decoration: none;
91
- font-size: 10px;
92
- }
93
- a.highslide-credits:hover,
94
- a.highslide-credits:hover i {
95
- color: white;
96
- background-color: gray;
97
- }
98
- .highslide-move, .highslide-move * {
99
- cursor: move;
100
- }
101
-
102
- .highslide-viewport {
103
- display: none;
104
- position: fixed;
105
- width: 100%;
106
- height: 100%;
107
- z-index: 10001;
108
- background: none;
109
- left: 0;
110
- top: 0;
111
- }
112
- .highslide-overlay {
113
- display: none;
114
- }
115
- .hidden-container {
116
- display: none;
117
- }
118
- /* Example of a semitransparent, offset closebutton */
119
- .closebutton {
120
- position: relative;
121
- top: -15px;
122
- left: 15px;
123
- width: 30px;
124
- height: 30px;
125
- cursor: pointer;
126
- background: url(graphics/close.png);
127
- /* NOTE! For IE6, you also need to update the highslide-ie6.css file. */
128
- }
129
-
130
- /*****************************************************************************/
131
- /* Thumbnail boxes for the galleries. */
132
- /* Remove these if you are not using a gallery. */
133
- /*****************************************************************************/
134
- .highslide-gallery ul {
135
- list-style-type: none;
136
- margin: 0;
137
- padding: 0;
138
- }
139
- .highslide-gallery ul li {
140
- display: block;
141
- position: relative;
142
- float: left;
143
- width: 106px;
144
- height: 106px;
145
- border: 1px solid silver;
146
- background: #ededed;
147
- margin: 2px;
148
- padding: 0;
149
- line-height: 0;
150
- overflow: hidden;
151
- }
152
- .highslide-gallery ul a {
153
- position: absolute;
154
- top: 50%;
155
- left: 50%;
156
- }
157
- .highslide-gallery ul img {
158
- position: relative;
159
- top: -50%;
160
- left: -50%;
161
- }
162
- html>/**/body .highslide-gallery ul li {
163
- display: table;
164
- text-align: center;
165
- }
166
- html>/**/body .highslide-gallery ul li {
167
- text-align: center;
168
- }
169
- html>/**/body .highslide-gallery ul a {
170
- position: static;
171
- display: table-cell;
172
- vertical-align: middle;
173
- }
174
- html>/**/body .highslide-gallery ul img {
175
- position: static;
176
- }
177
-
178
- /*****************************************************************************/
179
- /* Controls for the galleries. */
180
- /* Remove these if you are not using a gallery */
181
- /*****************************************************************************/
182
- .highslide-controls {
183
- width: 195px;
184
- height: 40px;
185
- background: url(graphics/controlbar-white.gif) 0 -90px no-repeat;
186
- margin: 20px 15px 10px 0;
187
- }
188
- .highslide-controls ul {
189
- position: relative;
190
- left: 15px;
191
- height: 40px;
192
- list-style: none;
193
- margin: 0;
194
- padding: 0;
195
- background: url(graphics/controlbar-white.gif) right -90px no-repeat;
196
-
197
- }
198
- .highslide-controls li {
199
- float: left;
200
- padding: 5px 0;
201
- margin:0;
202
- list-style: none;
203
- }
204
- .highslide-controls a {
205
- background-image: url(graphics/controlbar-white.gif);
206
- display: block;
207
- float: left;
208
- height: 30px;
209
- width: 30px;
210
- outline: none;
211
- }
212
- .highslide-controls a.disabled {
213
- cursor: default;
214
- }
215
- .highslide-controls a.disabled span {
216
- cursor: default;
217
- }
218
- .highslide-controls a span {
219
- /* hide the text for these graphic buttons */
220
- display: none;
221
- cursor: pointer;
222
- }
223
-
224
-
225
- /* The CSS sprites for the controlbar - see http://www.google.com/search?q=css+sprites */
226
- .highslide-controls .highslide-previous a {
227
- background-position: 0 0;
228
- }
229
- .highslide-controls .highslide-previous a:hover {
230
- background-position: 0 -30px;
231
- }
232
- .highslide-controls .highslide-previous a.disabled {
233
- background-position: 0 -60px !important;
234
- }
235
- .highslide-controls .highslide-play a {
236
- background-position: -30px 0;
237
- }
238
- .highslide-controls .highslide-play a:hover {
239
- background-position: -30px -30px;
240
- }
241
- .highslide-controls .highslide-play a.disabled {
242
- background-position: -30px -60px !important;
243
- }
244
- .highslide-controls .highslide-pause a {
245
- background-position: -60px 0;
246
- }
247
- .highslide-controls .highslide-pause a:hover {
248
- background-position: -60px -30px;
249
- }
250
- .highslide-controls .highslide-next a {
251
- background-position: -90px 0;
252
- }
253
- .highslide-controls .highslide-next a:hover {
254
- background-position: -90px -30px;
255
- }
256
- .highslide-controls .highslide-next a.disabled {
257
- background-position: -90px -60px !important;
258
- }
259
- .highslide-controls .highslide-move a {
260
- background-position: -120px 0;
261
- }
262
- .highslide-controls .highslide-move a:hover {
263
- background-position: -120px -30px;
264
- }
265
- .highslide-controls .highslide-full-expand a {
266
- background-position: -150px 0;
267
- }
268
- .highslide-controls .highslide-full-expand a:hover {
269
- background-position: -150px -30px;
270
- }
271
- .highslide-controls .highslide-full-expand a.disabled {
272
- background-position: -150px -60px !important;
273
- }
274
- .highslide-controls .highslide-close a {
275
- background-position: -180px 0;
276
- }
277
- .highslide-controls .highslide-close a:hover {
278
- background-position: -180px -30px;
279
- }
280
-
281
- /*****************************************************************************/
282
- /* Styles for the HTML popups */
283
- /* Remove these if you are not using Highslide HTML */
284
- /*****************************************************************************/
285
- .highslide-maincontent {
286
- display: none;
287
- }
288
- .highslide-html {
289
- background-color: white;
290
- }
291
- .mobile .highslide-html {
292
- border: 1px solid silver;
293
- }
294
- .highslide-html-content {
295
- display: none;
296
- width: 400px;
297
- padding: 0 5px 5px 5px;
298
- }
299
- .highslide-header {
300
- padding-bottom: 5px;
301
- }
302
- .highslide-header ul {
303
- margin: 0;
304
- padding: 0;
305
- text-align: right;
306
- }
307
- .highslide-header ul li {
308
- display: inline;
309
- padding-left: 1em;
310
- }
311
- .highslide-header ul li.highslide-previous, .highslide-header ul li.highslide-next {
312
- display: none;
313
- }
314
- .highslide-header a {
315
- font-weight: bold;
316
- color: gray;
317
- text-transform: uppercase;
318
- text-decoration: none;
319
- }
320
- .highslide-header a:hover {
321
- color: black;
322
- }
323
- .highslide-header .highslide-move a {
324
- cursor: move;
325
- }
326
- .highslide-footer {
327
- height: 16px;
328
- }
329
- .highslide-footer .highslide-resize {
330
- display: block;
331
- float: right;
332
- margin-top: 5px;
333
- height: 11px;
334
- width: 11px;
335
- background: url(graphics/resize.gif) no-repeat;
336
- }
337
- .highslide-footer .highslide-resize span {
338
- display: none;
339
- }
340
- .highslide-body {
341
- }
342
- .highslide-resize {
343
- cursor: nw-resize;
344
- }
345
-
346
- /*****************************************************************************/
347
- /* Styles for the Individual wrapper class names. */
348
- /* See www.highslide.com/ref/hs.wrapperClassName */
349
- /* You can safely remove the class name themes you don't use */
350
- /*****************************************************************************/
351
-
352
- /* hs.wrapperClassName = 'draggable-header' */
353
- .draggable-header .highslide-header {
354
- height: 18px;
355
- border-bottom: 1px solid #dddddd;
356
- }
357
- .draggable-header .highslide-heading {
358
- position: absolute;
359
- margin: 2px 0.4em;
360
- }
361
-
362
- .draggable-header .highslide-header .highslide-move {
363
- cursor: move;
364
- display: block;
365
- height: 16px;
366
- position: absolute;
367
- right: 24px;
368
- top: 0;
369
- width: 100%;
370
- z-index: 10001;
371
- }
372
- .draggable-header .highslide-header .highslide-move * {
373
- display: none;
374
- }
375
- .draggable-header .highslide-header .highslide-close {
376
- position: absolute;
377
- right: 2px;
378
- top: 2px;
379
- z-index: 10005;
380
- padding: 0;
381
- }
382
- .draggable-header .highslide-header .highslide-close a {
383
- display: block;
384
- height: 16px;
385
- width: 16px;
386
- background-image: url(graphics/closeX.png);
387
- }
388
- .draggable-header .highslide-header .highslide-close a:hover {
389
- background-position: 0 16px;
390
- }
391
- .draggable-header .highslide-header .highslide-close span {
392
- display: none;
393
- }
394
- .draggable-header .highslide-maincontent {
395
- padding-top: 1em;
396
- }
397
-
398
- /* hs.wrapperClassName = 'titlebar' */
399
- .titlebar .highslide-header {
400
- height: 18px;
401
- border-bottom: 1px solid #dddddd;
402
- }
403
- .titlebar .highslide-heading {
404
- position: absolute;
405
- width: 90%;
406
- margin: 1px 0 1px 5px;
407
- color: #666666;
408
- }
409
-
410
- .titlebar .highslide-header .highslide-move {
411
- cursor: move;
412
- display: block;
413
- height: 16px;
414
- position: absolute;
415
- right: 24px;
416
- top: 0;
417
- width: 100%;
418
- z-index: 10001;
419
- }
420
- .titlebar .highslide-header .highslide-move * {
421
- display: none;
422
- }
423
- .titlebar .highslide-header li {
424
- position: relative;
425
- top: 3px;
426
- z-index: 10002;
427
- padding: 0 0 0 1em;
428
- }
429
- .titlebar .highslide-maincontent {
430
- padding-top: 1em;
431
- }
432
-
433
- /* hs.wrapperClassName = 'no-footer' */
434
- .no-footer .highslide-footer {
435
- display: none;
436
- }
437
-
438
- /* hs.wrapperClassName = 'wide-border' */
439
- .wide-border {
440
- background: white;
441
- }
442
- .wide-border .highslide-image {
443
- border-width: 10px;
444
- }
445
- .wide-border .highslide-caption {
446
- padding: 0 10px 10px 10px;
447
- }
448
-
449
- /* hs.wrapperClassName = 'borderless' */
450
- .borderless .highslide-image {
451
- border: none;
452
- }
453
- .borderless .highslide-caption {
454
- border-bottom: 1px solid white;
455
- border-top: 1px solid white;
456
- background: silver;
457
- }
458
-
459
- /* hs.wrapperClassName = 'outer-glow' */
460
- .outer-glow {
461
- background: #444;
462
- }
463
- .outer-glow .highslide-image {
464
- border: 5px solid #444444;
465
- }
466
- .outer-glow .highslide-caption {
467
- border: 5px solid #444444;
468
- border-top: none;
469
- padding: 5px;
470
- background-color: gray;
471
- }
472
-
473
- /* hs.wrapperClassName = 'colored-border' */
474
- .colored-border {
475
- background: white;
476
- }
477
- .colored-border .highslide-image {
478
- border: 2px solid green;
479
- }
480
- .colored-border .highslide-caption {
481
- border: 2px solid green;
482
- border-top: none;
483
- }
484
-
485
- /* hs.wrapperClassName = 'dark' */
486
- .dark {
487
- background: #111;
488
- }
489
- .dark .highslide-image {
490
- border-color: black black #202020 black;
491
- background: gray;
492
- }
493
- .dark .highslide-caption {
494
- color: white;
495
- background: #111;
496
- }
497
- .dark .highslide-controls,
498
- .dark .highslide-controls ul,
499
- .dark .highslide-controls a {
500
- background-image: url(graphics/controlbar-black-border.gif);
501
- }
502
-
503
- /* hs.wrapperClassName = 'floating-caption' */
504
- .floating-caption .highslide-caption {
505
- position: absolute;
506
- padding: 1em 0 0 0;
507
- background: none;
508
- color: white;
509
- border: none;
510
- font-weight: bold;
511
- }
512
-
513
- /* hs.wrapperClassName = 'controls-in-heading' */
514
- .controls-in-heading .highslide-heading {
515
- color: gray;
516
- font-weight: bold;
517
- height: 20px;
518
- overflow: hidden;
519
- cursor: default;
520
- padding: 0 0 0 22px;
521
- margin: 0;
522
- background: url(graphics/icon.gif) no-repeat 0 1px;
523
- }
524
- .controls-in-heading .highslide-controls {
525
- width: 105px;
526
- height: 20px;
527
- position: relative;
528
- margin: 0;
529
- top: -23px;
530
- left: 7px;
531
- background: none;
532
- }
533
- .controls-in-heading .highslide-controls ul {
534
- position: static;
535
- height: 20px;
536
- background: none;
537
- }
538
- .controls-in-heading .highslide-controls li {
539
- padding: 0;
540
- }
541
- .controls-in-heading .highslide-controls a {
542
- background-image: url(graphics/controlbar-white-small.gif);
543
- height: 20px;
544
- width: 20px;
545
- }
546
-
547
- .controls-in-heading .highslide-controls .highslide-move {
548
- display: none;
549
- }
550
-
551
- .controls-in-heading .highslide-controls .highslide-previous a {
552
- background-position: 0 0;
553
- }
554
- .controls-in-heading .highslide-controls .highslide-previous a:hover {
555
- background-position: 0 -20px;
556
- }
557
- .controls-in-heading .highslide-controls .highslide-previous a.disabled {
558
- background-position: 0 -40px !important;
559
- }
560
- .controls-in-heading .highslide-controls .highslide-play a {
561
- background-position: -20px 0;
562
- }
563
- .controls-in-heading .highslide-controls .highslide-play a:hover {
564
- background-position: -20px -20px;
565
- }
566
- .controls-in-heading .highslide-controls .highslide-play a.disabled {
567
- background-position: -20px -40px !important;
568
- }
569
- .controls-in-heading .highslide-controls .highslide-pause a {
570
- background-position: -40px 0;
571
- }
572
- .controls-in-heading .highslide-controls .highslide-pause a:hover {
573
- background-position: -40px -20px;
574
- }
575
- .controls-in-heading .highslide-controls .highslide-next a {
576
- background-position: -60px 0;
577
- }
578
- .controls-in-heading .highslide-controls .highslide-next a:hover {
579
- background-position: -60px -20px;
580
- }
581
- .controls-in-heading .highslide-controls .highslide-next a.disabled {
582
- background-position: -60px -40px !important;
583
- }
584
- .controls-in-heading .highslide-controls .highslide-full-expand a {
585
- background-position: -100px 0;
586
- }
587
- .controls-in-heading .highslide-controls .highslide-full-expand a:hover {
588
- background-position: -100px -20px;
589
- }
590
- .controls-in-heading .highslide-controls .highslide-full-expand a.disabled {
591
- background-position: -100px -40px !important;
592
- }
593
- .controls-in-heading .highslide-controls .highslide-close a {
594
- background-position: -120px 0;
595
- }
596
- .controls-in-heading .highslide-controls .highslide-close a:hover {
597
- background-position: -120px -20px;
598
- }
599
-
600
- /*****************************************************************************/
601
- /* Styles for text based controls. */
602
- /* You can safely remove this if you don't use text based controls */
603
- /*****************************************************************************/
604
-
605
- .text-controls .highslide-controls {
606
- width: auto;
607
- height: auto;
608
- margin: 0;
609
- text-align: center;
610
- background: none;
611
- }
612
- .text-controls ul {
613
- position: static;
614
- background: none;
615
- height: auto;
616
- left: 0;
617
- }
618
- .text-controls .highslide-move {
619
- display: none;
620
- }
621
- .text-controls li {
622
- background-image: url(graphics/controlbar-text-buttons.png);
623
- background-position: right top !important;
624
- padding: 0;
625
- margin-left: 15px;
626
- display: block;
627
- width: auto;
628
- }
629
- .text-controls a {
630
- background: url(graphics/controlbar-text-buttons.png) no-repeat;
631
- background-position: left top !important;
632
- position: relative;
633
- left: -10px;
634
- display: block;
635
- width: auto;
636
- height: auto;
637
- text-decoration: none !important;
638
- }
639
- .text-controls a span {
640
- background: url(graphics/controlbar-text-buttons.png) no-repeat;
641
- margin: 1px 2px 1px 10px;
642
- display: block;
643
- min-width: 4em;
644
- height: 18px;
645
- line-height: 18px;
646
- padding: 1px 0 1px 18px;
647
- color: #333;
648
- font-family: "Trebuchet MS", Arial, sans-serif;
649
- font-size: 12px;
650
- font-weight: bold;
651
- white-space: nowrap;
652
- }
653
- .text-controls .highslide-next {
654
- margin-right: 1em;
655
- }
656
- .text-controls .highslide-full-expand a span {
657
- min-width: 0;
658
- margin: 1px 0;
659
- padding: 1px 0 1px 10px;
660
- }
661
- .text-controls .highslide-close a span {
662
- min-width: 0;
663
- }
664
- .text-controls a:hover span {
665
- color: black;
666
- }
667
- .text-controls a.disabled span {
668
- color: #999;
669
- }
670
-
671
- .text-controls .highslide-previous span {
672
- background-position: 0 -40px;
673
- }
674
- .text-controls .highslide-previous a.disabled {
675
- background-position: left top !important;
676
- }
677
- .text-controls .highslide-previous a.disabled span {
678
- background-position: 0 -140px;
679
- }
680
- .text-controls .highslide-play span {
681
- background-position: 0 -60px;
682
- }
683
- .text-controls .highslide-play a.disabled {
684
- background-position: left top !important;
685
- }
686
- .text-controls .highslide-play a.disabled span {
687
- background-position: 0 -160px;
688
- }
689
- .text-controls .highslide-pause span {
690
- background-position: 0 -80px;
691
- }
692
- .text-controls .highslide-next span {
693
- background-position: 0 -100px;
694
- }
695
- .text-controls .highslide-next a.disabled {
696
- background-position: left top !important;
697
- }
698
- .text-controls .highslide-next a.disabled span {
699
- background-position: 0 -200px;
700
- }
701
- .text-controls .highslide-full-expand span {
702
- background: none;
703
- }
704
- .text-controls .highslide-full-expand a.disabled {
705
- background-position: left top !important;
706
- }
707
- .text-controls .highslide-close span {
708
- background-position: 0 -120px;
709
- }
710
-
711
-
712
- /*****************************************************************************/
713
- /* Styles for the thumbstrip. */
714
- /* See www.highslide.com/ref/hs.addSlideshow */
715
- /* You can safely remove this if you don't use a thumbstrip */
716
- /*****************************************************************************/
717
-
718
- .highslide-thumbstrip {
719
- height: 100%;
720
- direction: ltr;
721
- }
722
- .highslide-thumbstrip div {
723
- overflow: hidden;
724
- }
725
- .highslide-thumbstrip table {
726
- position: relative;
727
- padding: 0;
728
- border-collapse: collapse;
729
- }
730
- .highslide-thumbstrip td {
731
- padding: 1px;
732
- /*text-align: center;*/
733
- }
734
- .highslide-thumbstrip a {
735
- outline: none;
736
- }
737
- .highslide-thumbstrip img {
738
- display: block;
739
- border: 1px solid gray;
740
- margin: 0 auto;
741
- }
742
- .highslide-thumbstrip .highslide-active-anchor img {
743
- visibility: visible;
744
- }
745
- .highslide-thumbstrip .highslide-marker {
746
- position: absolute;
747
- width: 0;
748
- height: 0;
749
- border-width: 0;
750
- border-style: solid;
751
- border-color: transparent; /* change this to actual background color in highslide-ie6.css */
752
- }
753
- .highslide-thumbstrip-horizontal div {
754
- width: auto;
755
- /* width: 100% breaks in small strips in IE */
756
- }
757
- .highslide-thumbstrip-horizontal .highslide-scroll-up {
758
- display: none;
759
- position: absolute;
760
- top: 3px;
761
- left: 3px;
762
- width: 25px;
763
- height: 42px;
764
- }
765
- .highslide-thumbstrip-horizontal .highslide-scroll-up div {
766
- margin-bottom: 10px;
767
- cursor: pointer;
768
- background: url(graphics/scrollarrows.png) left center no-repeat;
769
- height: 42px;
770
- }
771
- .highslide-thumbstrip-horizontal .highslide-scroll-down {
772
- display: none;
773
- position: absolute;
774
- top: 3px;
775
- right: 3px;
776
- width: 25px;
777
- height: 42px;
778
- }
779
- .highslide-thumbstrip-horizontal .highslide-scroll-down div {
780
- margin-bottom: 10px;
781
- cursor: pointer;
782
- background: url(graphics/scrollarrows.png) center right no-repeat;
783
- height: 42px;
784
- }
785
- .highslide-thumbstrip-horizontal table {
786
- margin: 2px 0 10px 0;
787
- }
788
- .highslide-viewport .highslide-thumbstrip-horizontal table {
789
- margin-left: 10px;
790
- }
791
- .highslide-thumbstrip-horizontal img {
792
- width: auto;
793
- height: 40px;
794
- }
795
- .highslide-thumbstrip-horizontal .highslide-marker {
796
- top: 47px;
797
- border-left-width: 6px;
798
- border-right-width: 6px;
799
- border-bottom: 6px solid gray;
800
- }
801
- .highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker {
802
- margin-left: 10px;
803
- }
804
- .dark .highslide-thumbstrip-horizontal .highslide-marker, .highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker {
805
- border-bottom-color: white !important;
806
- }
807
-
808
- .highslide-thumbstrip-vertical-overlay {
809
- overflow: hidden !important;
810
- }
811
- .highslide-thumbstrip-vertical div {
812
- height: 100%;
813
- }
814
- .highslide-thumbstrip-vertical a {
815
- display: block;
816
- }
817
- .highslide-thumbstrip-vertical .highslide-scroll-up {
818
- display: none;
819
- position: absolute;
820
- top: 0;
821
- left: 0;
822
- width: 100%;
823
- height: 25px;
824
- }
825
- .highslide-thumbstrip-vertical .highslide-scroll-up div {
826
- margin-left: 10px;
827
- cursor: pointer;
828
- background: url(graphics/scrollarrows.png) top center no-repeat;
829
- height: 25px;
830
- }
831
- .highslide-thumbstrip-vertical .highslide-scroll-down {
832
- display: none;
833
- position: absolute;
834
- bottom: 0;
835
- left: 0;
836
- width: 100%;
837
- height: 25px;
838
- }
839
- .highslide-thumbstrip-vertical .highslide-scroll-down div {
840
- margin-left: 10px;
841
- cursor: pointer;
842
- background: url(graphics/scrollarrows.png) bottom center no-repeat;
843
- height: 25px;
844
- }
845
- .highslide-thumbstrip-vertical table {
846
- margin: 10px 0 0 10px;
847
- }
848
- .highslide-thumbstrip-vertical img {
849
- width: 60px; /* t=5481 */
850
- }
851
- .highslide-thumbstrip-vertical .highslide-marker {
852
- left: 0;
853
- margin-top: 8px;
854
- border-top-width: 6px;
855
- border-bottom-width: 6px;
856
- border-left: 6px solid gray;
857
- }
858
- .dark .highslide-thumbstrip-vertical .highslide-marker, .highslide-viewport .highslide-thumbstrip-vertical .highslide-marker {
859
- border-left-color: white;
860
- }
861
-
862
- .highslide-viewport .highslide-thumbstrip-float {
863
- overflow: auto;
864
- }
865
- .highslide-thumbstrip-float ul {
866
- margin: 2px 0;
867
- padding: 0;
868
- }
869
- .highslide-thumbstrip-float li {
870
- display: block;
871
- height: 60px;
872
- margin: 0 2px;
873
- list-style: none;
874
- float: left;
875
- }
876
- .highslide-thumbstrip-float img {
877
- display: inline;
878
- border-color: silver;
879
- max-height: 56px;
880
- }
881
- .highslide-thumbstrip-float .highslide-active-anchor img {
882
- border-color: black;
883
- }
884
- .highslide-thumbstrip-float .highslide-scroll-up div, .highslide-thumbstrip-float .highslide-scroll-down div {
885
- display: none;
886
- }
887
- .highslide-thumbstrip-float .highslide-marker {
888
- display: none;
889
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/highslide/highslide.min.css DELETED
@@ -1 +0,0 @@
1
- .highslide-container div{font-family:Verdana,Helvetica;font-size:10pt}.highslide-container table{background:none}.highslide{outline:0;text-decoration:none}.highslide img{border:2px solid silver}.highslide:hover img{border-color:gray}.highslide-active-anchor img{visibility:hidden}.highslide-gallery .highslide-active-anchor img{border-color:black;visibility:visible;cursor:default}.highslide-image{border-width:2px;border-style:solid;border-color:white}.highslide-wrapper,.highslide-outline{background:white}.glossy-dark{background:#111}.highslide-number{font-weight:bold;color:gray;font-size:.9em}.highslide-caption{display:none;font-size:1em;padding:5px}.highslide-heading{display:none;font-weight:bold;margin:.4em}.highslide-dimming{background:black}a.highslide-full-expand{background:url(graphics/fullexpand.gif) no-repeat;display:block;margin:0 10px 10px 0;width:34px;height:34px}.highslide-loading{display:block;color:black;font-size:9px;font-weight:bold;text-transform:uppercase;text-decoration:none;padding:3px;border:1px solid white;background-color:white;padding-left:22px;background-image:url(graphics/loader.white.gif);background-repeat:no-repeat;background-position:3px 1px}a.highslide-credits,a.highslide-credits i{padding:2px;color:silver;text-decoration:none;font-size:10px}a.highslide-credits:hover,a.highslide-credits:hover i{color:white;background-color:gray}.highslide-move,.highslide-move *{cursor:move}.highslide-viewport{display:none;position:fixed;width:100%;height:100%;z-index:10001;background:none;left:0;top:0}.highslide-overlay{display:none}.hidden-container{display:none}.closebutton{position:relative;top:-15px;left:15px;width:30px;height:30px;cursor:pointer;background:url(graphics/close.png)}.highslide-gallery ul{list-style-type:none;margin:0;padding:0}.highslide-gallery ul li{display:block;position:relative;float:left;width:106px;height:106px;border:1px solid silver;background:#ededed;margin:2px;padding:0;line-height:0;overflow:hidden}.highslide-gallery ul a{position:absolute;top:50%;left:50%}.highslide-gallery ul img{position:relative;top:-50%;left:-50%}html>/**/body .highslide-gallery ul li{display:table;text-align:center}html>/**/body .highslide-gallery ul li{text-align:center}html>/**/body .highslide-gallery ul a{position:static;display:table-cell;vertical-align:middle}html>/**/body .highslide-gallery ul img{position:static}.highslide-controls{width:195px;height:40px;background:url(graphics/controlbar-white.gif) 0 -90px no-repeat;margin:20px 15px 10px 0}.highslide-controls ul{position:relative;left:15px;height:40px;list-style:none;margin:0;padding:0;background:url(graphics/controlbar-white.gif) right -90px no-repeat}.highslide-controls li{float:left;padding:5px 0;margin:0;list-style:none}.highslide-controls a{background-image:url(graphics/controlbar-white.gif);display:block;float:left;height:30px;width:30px;outline:0}.highslide-controls a.disabled{cursor:default}.highslide-controls a.disabled span{cursor:default}.highslide-controls a span{display:none;cursor:pointer}.highslide-controls .highslide-previous a{background-position:0 0}.highslide-controls .highslide-previous a:hover{background-position:0 -30px}.highslide-controls .highslide-previous a.disabled{background-position:0 -60px !important}.highslide-controls .highslide-play a{background-position:-30px 0}.highslide-controls .highslide-play a:hover{background-position:-30px -30px}.highslide-controls .highslide-play a.disabled{background-position:-30px -60px !important}.highslide-controls .highslide-pause a{background-position:-60px 0}.highslide-controls .highslide-pause a:hover{background-position:-60px -30px}.highslide-controls .highslide-next a{background-position:-90px 0}.highslide-controls .highslide-next a:hover{background-position:-90px -30px}.highslide-controls .highslide-next a.disabled{background-position:-90px -60px !important}.highslide-controls .highslide-move a{background-position:-120px 0}.highslide-controls .highslide-move a:hover{background-position:-120px -30px}.highslide-controls .highslide-full-expand a{background-position:-150px 0}.highslide-controls .highslide-full-expand a:hover{background-position:-150px -30px}.highslide-controls .highslide-full-expand a.disabled{background-position:-150px -60px !important}.highslide-controls .highslide-close a{background-position:-180px 0}.highslide-controls .highslide-close a:hover{background-position:-180px -30px}.highslide-maincontent{display:none}.highslide-html{background-color:white}.mobile .highslide-html{border:1px solid silver}.highslide-html-content{display:none;width:400px;padding:0 5px 5px 5px}.highslide-header{padding-bottom:5px}.highslide-header ul{margin:0;padding:0;text-align:right}.highslide-header ul li{display:inline;padding-left:1em}.highslide-header ul li.highslide-previous,.highslide-header ul li.highslide-next{display:none}.highslide-header a{font-weight:bold;color:gray;text-transform:uppercase;text-decoration:none}.highslide-header a:hover{color:black}.highslide-header .highslide-move a{cursor:move}.highslide-footer{height:16px}.highslide-footer .highslide-resize{display:block;float:right;margin-top:5px;height:11px;width:11px;background:url(graphics/resize.gif) no-repeat}.highslide-footer .highslide-resize span{display:none}.highslide-resize{cursor:nw-resize}.draggable-header .highslide-header{height:18px;border-bottom:1px solid #ddd}.draggable-header .highslide-heading{position:absolute;margin:2px .4em}.draggable-header .highslide-header .highslide-move{cursor:move;display:block;height:16px;position:absolute;right:24px;top:0;width:100%;z-index:10001}.draggable-header .highslide-header .highslide-move *{display:none}.draggable-header .highslide-header .highslide-close{position:absolute;right:2px;top:2px;z-index:10005;padding:0}.draggable-header .highslide-header .highslide-close a{display:block;height:16px;width:16px;background-image:url(graphics/closeX.png)}.draggable-header .highslide-header .highslide-close a:hover{background-position:0 16px}.draggable-header .highslide-header .highslide-close span{display:none}.draggable-header .highslide-maincontent{padding-top:1em}.titlebar .highslide-header{height:18px;border-bottom:1px solid #ddd}.titlebar .highslide-heading{position:absolute;width:90%;margin:1px 0 1px 5px;color:#666}.titlebar .highslide-header .highslide-move{cursor:move;display:block;height:16px;position:absolute;right:24px;top:0;width:100%;z-index:10001}.titlebar .highslide-header .highslide-move *{display:none}.titlebar .highslide-header li{position:relative;top:3px;z-index:10002;padding:0 0 0 1em}.titlebar .highslide-maincontent{padding-top:1em}.no-footer .highslide-footer{display:none}.wide-border{background:white}.wide-border .highslide-image{border-width:10px}.wide-border .highslide-caption{padding:0 10px 10px 10px}.borderless .highslide-image{border:0}.borderless .highslide-caption{border-bottom:1px solid white;border-top:1px solid white;background:silver}.outer-glow{background:#444}.outer-glow .highslide-image{border:5px solid #444}.outer-glow .highslide-caption{border:5px solid #444;border-top:0;padding:5px;background-color:gray}.colored-border{background:white}.colored-border .highslide-image{border:2px solid green}.colored-border .highslide-caption{border:2px solid green;border-top:0}.dark{background:#111}.dark .highslide-image{border-color:black black #202020 black;background:gray}.dark .highslide-caption{color:white;background:#111}.dark .highslide-controls,.dark .highslide-controls ul,.dark .highslide-controls a{background-image:url(graphics/controlbar-black-border.gif)}.floating-caption .highslide-caption{position:absolute;padding:1em 0 0 0;background:none;color:white;border:0;font-weight:bold}.controls-in-heading .highslide-heading{color:gray;font-weight:bold;height:20px;overflow:hidden;cursor:default;padding:0 0 0 22px;margin:0;background:url(graphics/icon.gif) no-repeat 0 1px}.controls-in-heading .highslide-controls{width:105px;height:20px;position:relative;margin:0;top:-23px;left:7px;background:none}.controls-in-heading .highslide-controls ul{position:static;height:20px;background:none}.controls-in-heading .highslide-controls li{padding:0}.controls-in-heading .highslide-controls a{background-image:url(graphics/controlbar-white-small.gif);height:20px;width:20px}.controls-in-heading .highslide-controls .highslide-move{display:none}.controls-in-heading .highslide-controls .highslide-previous a{background-position:0 0}.controls-in-heading .highslide-controls .highslide-previous a:hover{background-position:0 -20px}.controls-in-heading .highslide-controls .highslide-previous a.disabled{background-position:0 -40px !important}.controls-in-heading .highslide-controls .highslide-play a{background-position:-20px 0}.controls-in-heading .highslide-controls .highslide-play a:hover{background-position:-20px -20px}.controls-in-heading .highslide-controls .highslide-play a.disabled{background-position:-20px -40px !important}.controls-in-heading .highslide-controls .highslide-pause a{background-position:-40px 0}.controls-in-heading .highslide-controls .highslide-pause a:hover{background-position:-40px -20px}.controls-in-heading .highslide-controls .highslide-next a{background-position:-60px 0}.controls-in-heading .highslide-controls .highslide-next a:hover{background-position:-60px -20px}.controls-in-heading .highslide-controls .highslide-next a.disabled{background-position:-60px -40px !important}.controls-in-heading .highslide-controls .highslide-full-expand a{background-position:-100px 0}.controls-in-heading .highslide-controls .highslide-full-expand a:hover{background-position:-100px -20px}.controls-in-heading .highslide-controls .highslide-full-expand a.disabled{background-position:-100px -40px !important}.controls-in-heading .highslide-controls .highslide-close a{background-position:-120px 0}.controls-in-heading .highslide-controls .highslide-close a:hover{background-position:-120px -20px}.text-controls .highslide-controls{width:auto;height:auto;margin:0;text-align:center;background:none}.text-controls ul{position:static;background:none;height:auto;left:0}.text-controls .highslide-move{display:none}.text-controls li{background-image:url(graphics/controlbar-text-buttons.png);background-position:right top !important;padding:0;margin-left:15px;display:block;width:auto}.text-controls a{background:url(graphics/controlbar-text-buttons.png) no-repeat;background-position:left top !important;position:relative;left:-10px;display:block;width:auto;height:auto;text-decoration:none !important}.text-controls a span{background:url(graphics/controlbar-text-buttons.png) no-repeat;margin:1px 2px 1px 10px;display:block;min-width:4em;height:18px;line-height:18px;padding:1px 0 1px 18px;color:#333;font-family:"Trebuchet MS",Arial,sans-serif;font-size:12px;font-weight:bold;white-space:nowrap}.text-controls .highslide-next{margin-right:1em}.text-controls .highslide-full-expand a span{min-width:0;margin:1px 0;padding:1px 0 1px 10px}.text-controls .highslide-close a span{min-width:0}.text-controls a:hover span{color:black}.text-controls a.disabled span{color:#999}.text-controls .highslide-previous span{background-position:0 -40px}.text-controls .highslide-previous a.disabled{background-position:left top !important}.text-controls .highslide-previous a.disabled span{background-position:0 -140px}.text-controls .highslide-play span{background-position:0 -60px}.text-controls .highslide-play a.disabled{background-position:left top !important}.text-controls .highslide-play a.disabled span{background-position:0 -160px}.text-controls .highslide-pause span{background-position:0 -80px}.text-controls .highslide-next span{background-position:0 -100px}.text-controls .highslide-next a.disabled{background-position:left top !important}.text-controls .highslide-next a.disabled span{background-position:0 -200px}.text-controls .highslide-full-expand span{background:none}.text-controls .highslide-full-expand a.disabled{background-position:left top !important}.text-controls .highslide-close span{background-position:0 -120px}.highslide-thumbstrip{height:100%;direction:ltr}.highslide-thumbstrip div{overflow:hidden}.highslide-thumbstrip table{position:relative;padding:0;border-collapse:collapse}.highslide-thumbstrip td{padding:1px}.highslide-thumbstrip a{outline:0}.highslide-thumbstrip img{display:block;border:1px solid gray;margin:0 auto}.highslide-thumbstrip .highslide-active-anchor img{visibility:visible}.highslide-thumbstrip .highslide-marker{position:absolute;width:0;height:0;border-width:0;border-style:solid;border-color:transparent}.highslide-thumbstrip-horizontal div{width:auto}.highslide-thumbstrip-horizontal .highslide-scroll-up{display:none;position:absolute;top:3px;left:3px;width:25px;height:42px}.highslide-thumbstrip-horizontal .highslide-scroll-up div{margin-bottom:10px;cursor:pointer;background:url(graphics/scrollarrows.png) left center no-repeat;height:42px}.highslide-thumbstrip-horizontal .highslide-scroll-down{display:none;position:absolute;top:3px;right:3px;width:25px;height:42px}.highslide-thumbstrip-horizontal .highslide-scroll-down div{margin-bottom:10px;cursor:pointer;background:url(graphics/scrollarrows.png) center right no-repeat;height:42px}.highslide-thumbstrip-horizontal table{margin:2px 0 10px 0}.highslide-viewport .highslide-thumbstrip-horizontal table{margin-left:10px}.highslide-thumbstrip-horizontal img{width:auto;height:40px}.highslide-thumbstrip-horizontal .highslide-marker{top:47px;border-left-width:6px;border-right-width:6px;border-bottom:6px solid gray}.highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker{margin-left:10px}.dark .highslide-thumbstrip-horizontal .highslide-marker,.highslide-viewport .highslide-thumbstrip-horizontal .highslide-marker{border-bottom-color:white !important}.highslide-thumbstrip-vertical-overlay{overflow:hidden !important}.highslide-thumbstrip-vertical div{height:100%}.highslide-thumbstrip-vertical a{display:block}.highslide-thumbstrip-vertical .highslide-scroll-up{display:none;position:absolute;top:0;left:0;width:100%;height:25px}.highslide-thumbstrip-vertical .highslide-scroll-up div{margin-left:10px;cursor:pointer;background:url(graphics/scrollarrows.png) top center no-repeat;height:25px}.highslide-thumbstrip-vertical .highslide-scroll-down{display:none;position:absolute;bottom:0;left:0;width:100%;height:25px}.highslide-thumbstrip-vertical .highslide-scroll-down div{margin-left:10px;cursor:pointer;background:url(graphics/scrollarrows.png) bottom center no-repeat;height:25px}.highslide-thumbstrip-vertical table{margin:10px 0 0 10px}.highslide-thumbstrip-vertical img{width:60px}.highslide-thumbstrip-vertical .highslide-marker{left:0;margin-top:8px;border-top-width:6px;border-bottom-width:6px;border-left:6px solid gray}.dark .highslide-thumbstrip-vertical .highslide-marker,.highslide-viewport .highslide-thumbstrip-vertical .highslide-marker{border-left-color:white}.highslide-viewport .highslide-thumbstrip-float{overflow:auto}.highslide-thumbstrip-float ul{margin:2px 0;padding:0}.highslide-thumbstrip-float li{display:block;height:60px;margin:0 2px;list-style:none;float:left}.highslide-thumbstrip-float img{display:inline;border-color:silver;max-height:56px}.highslide-thumbstrip-float .highslide-active-anchor img{border-color:black}.highslide-thumbstrip-float .highslide-scroll-up div,.highslide-thumbstrip-float .highslide-scroll-down div{display:none}.highslide-thumbstrip-float .highslide-marker{display:none}
 
products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.js DELETED
@@ -1,48 +0,0 @@
1
- // Apply default settings
2
- var galleryOptions = {
3
- align: 'center',
4
- dimmingOpacity: 0.8,
5
- fadeInOut: true,
6
- marginBottom: 80,
7
- marginLeft: 100,
8
- numberPosition: 'caption',
9
- slideshowGroup: 'gallery',
10
- transitions: ['expand', 'crossfade'],
11
- wrapperClassName: 'dark borderless floating-caption',
12
- graphicsDir: nextgen_highslide_graphics_dir + '/'
13
- };
14
-
15
- if (typeof nextgen_highslide_i18n != 'undefined') {
16
- hs.lang = nextgen_highslide_i18n;
17
- }
18
- hs.align = galleryOptions['align'];
19
- hs.dimmingOpacity = galleryOptions['dimmingOpacity'];
20
- hs.fadeInOut = galleryOptions['fadeInOut'];
21
- hs.marginBottom = galleryOptions['marginBottom'];
22
- hs.marginLeft = galleryOptions['marginLeft'];
23
- hs.numberPosition = galleryOptions['numberPosition'];
24
- hs.transitions = galleryOptions['transitions'];
25
- hs.showCredits = galleryOptions['showCredits'];
26
- hs.graphicsDir = galleryOptions['graphicsDir'];
27
- hs.wrapperClassName = galleryOptions['wrapperClassName'];
28
-
29
- jQuery(function($) {
30
- var selector = nextgen_lightbox_filter_selector($, $([]));
31
- selector.addClass('highslide');
32
- selector.click(function () { return hs.expand(this) });
33
-
34
- hs.updateAnchors();
35
-
36
- // Enable slideshows
37
- hs.addSlideshow({
38
- fixedControls: true,
39
- interval: 5000,
40
- overlayOptions: {
41
- hideOnMouseOut: true,
42
- opacity: .6,
43
- position: 'top center'
44
- },
45
- repeat: true,
46
- useControls: true
47
- });
48
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/highslide/nextgen_highslide_init.min.js DELETED
@@ -1 +0,0 @@
1
- eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('i 2={a:\'g\',b:0.8,c:3,d:w,9:v,e:\'h\',u:\'x\',7:[\'l\',\'y\'],f:\'A z t-h\',5:B+\'/\'};q(s m!=\'p\'){1.r=m}1.a=2[\'a\'];1.b=2[\'b\'];1.c=2[\'c\'];1.d=2[\'d\'];1.9=2[\'9\'];1.e=2[\'e\'];1.7=2[\'7\'];1.j=2[\'j\'];1.5=2[\'5\'];1.f=2[\'f\'];Q(k($){i 4=O($,$([]));4.L(\'F\');4.D(k(){G 1.l(H)});1.J();1.N({I:3,E:S,R:{P:3,M:.6,C:\'K g\'},o:3,n:3})});',55,55,'|hs|galleryOptions|true|selector|graphicsDir||transitions||marginLeft|align|dimmingOpacity|fadeInOut|marginBottom|numberPosition|wrapperClassName|center|caption|var|showCredits|function|expand|nextgen_highslide_i18n|useControls|repeat|undefined|if|lang|typeof|floating|slideshowGroup|100|80|gallery|crossfade|borderless|dark|nextgen_highslide_graphics_dir|position|click|interval|highslide|return|this|fixedControls|updateAnchors|top|addClass|opacity|addSlideshow|nextgen_lightbox_filter_selector|hideOnMouseOut|jQuery|overlayOptions|5000'.split('|'),0,{}))
 
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.css DELETED
@@ -1,105 +0,0 @@
1
- /**
2
- * jQuery lightBox plugin
3
- * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
4
- * and adapted to me for use like a plugin from jQuery.
5
- * @name jquery-lightbox-0.5.css
6
- * @author Leandro Vieira Pinho - http://leandrovieira.com
7
- * @version 0.5
8
- * @date April 11, 2008
9
- * @category jQuery plugin
10
- * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
11
- * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
12
- * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
13
- */
14
- #jquery-overlay {
15
- position: absolute;
16
- top: 0;
17
- left: 0;
18
- z-index: 90;
19
- width: 100%;
20
- height: 500px;
21
- }
22
- #jquery-lightbox {
23
- position: absolute;
24
- top: 0;
25
- left: 0;
26
- width: 100%;
27
- z-index: 100;
28
- text-align: center;
29
- line-height: 0;
30
- }
31
- #lightbox-image {
32
- width: 100%;
33
- height: auto;
34
- }
35
- #jquery-lightbox a img { border: none; }
36
- #lightbox-container-image-box {
37
- position: relative;
38
- background-color: #fff;
39
- width: 250px;
40
- height: 250px;
41
- margin: 0 auto;
42
- }
43
- #lightbox-container-image { padding: 10px; }
44
- #lightbox-loading {
45
- position: absolute;
46
- top: 40%;
47
- left: 0%;
48
- height: 25%;
49
- width: 100%;
50
- text-align: center;
51
- line-height: 0;
52
- }
53
- #lightbox-nav {
54
- position: absolute;
55
- top: 0;
56
- left: 0;
57
- height: 100%;
58
- width: 100%;
59
- z-index: 10;
60
- }
61
- #lightbox-container-image-box > #lightbox-nav { left: 0; }
62
- #lightbox-nav a { outline: none;}
63
- #lightbox-nav-btnPrev, #lightbox-nav-btnNext {
64
- width: 49%;
65
- height: 100%;
66
- zoom: 1;
67
- display: block;
68
- }
69
- #lightbox-nav-btnPrev {
70
- left: 0;
71
- float: left;
72
- }
73
- #lightbox-nav-btnNext {
74
- right: 0;
75
- float: right;
76
- }
77
- #lightbox-container-image-data-box {
78
- font: 10px Verdana, Helvetica, sans-serif;
79
- background-color: #fff;
80
- margin: 0 auto;
81
- line-height: 1.4em;
82
- overflow: auto;
83
- width: 100%;
84
- padding: 0 10px 0;
85
- }
86
- #lightbox-container-image-data {
87
- padding: 0 10px;
88
- color: #666;
89
- }
90
- #lightbox-container-image-data #lightbox-image-details {
91
- width: 70%;
92
- float: left;
93
- text-align: left;
94
- }
95
- #lightbox-image-details-caption { font-weight: bold; }
96
- #lightbox-image-details-currentNumber {
97
- display: block;
98
- clear: left;
99
- padding-bottom: 1.0em;
100
- }
101
- #lightbox-secNav-btnClose {
102
- width: 66px;
103
- float: right;
104
- padding-bottom: 0.7em;
105
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.min.css DELETED
@@ -1 +0,0 @@
1
- #jquery-overlay{position:absolute;top:0;left:0;z-index:90;width:100%;height:500px}#jquery-lightbox{position:absolute;top:0;left:0;width:100%;z-index:100;text-align:center;line-height:0}#lightbox-image{width:100%;height:auto}#jquery-lightbox a img{border:0}#lightbox-container-image-box{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#lightbox-container-image{padding:10px}#lightbox-loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#lightbox-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#lightbox-container-image-box>#lightbox-nav{left:0}#lightbox-nav a{outline:0}#lightbox-nav-btnPrev,#lightbox-nav-btnNext{width:49%;height:100%;zoom:1;display:block}#lightbox-nav-btnPrev{left:0;float:left}#lightbox-nav-btnNext{right:0;float:right}#lightbox-container-image-data-box{font:10px Verdana,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em;overflow:auto;width:100%;padding:0 10px 0}#lightbox-container-image-data{padding:0 10px;color:#666}#lightbox-container-image-data #lightbox-image-details{width:70%;float:left;text-align:left}#lightbox-image-details-caption{font-weight:bold}#lightbox-image-details-currentNumber{display:block;clear:left;padding-bottom:1em}#lightbox-secNav-btnClose{width:66px;float:right;padding-bottom:.7em}
 
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/jquery.lightbox.min.js DELETED
@@ -1,32 +0,0 @@
1
- /*
2
- jQuery lightBox plugin
3
- This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
4
- and adapted to me for use like a plugin from jQuery.
5
- @name jquery-lightbox-0.5.js
6
- @author Leandro Vieira Pinho - http://leandrovieira.com
7
- @version 0.5.1
8
- @date April 11, 2008
9
- @category jQuery plugin
10
- @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
11
- @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
12
- @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
13
-
14
- @updates by Ivaylo Stamatov aka avioli @ FULLER http://fuller.com.au/
15
- @date 2011-08-04
16
- */
17
- var lightbox_path=lightbox_path||"";
18
- (function(b){b.fn.lightBox=function(a){function q(d,c){b("embed, object, select").css({visibility:"hidden"});r();a.imageArray.length=0;a.activeImage=0;var e=!1,h;a.grouping&&(h=d.getAttribute("rel"))&&(e=c,c=[],e.each(function(a,b){h==b.getAttribute("rel")&&c.push(b)}));if(1==c.length){var g="gallery"==a.captionPosition?jQuery(d).parent().next().html():d.getAttribute("title");a.imageArray.push([d.getAttribute("href"),g])}else for(var f=0;f<c.length;f++)if("gallery"!=a.captionPosition)g=c[f].getAttribute("title"),
19
- a.imageArray.push([c[f].getAttribute("href"),g]);else if(1<f){if(c[f-1].getAttribute("href")==c[f].getAttribute("href")||jQuery(c[f-1]).parent().parent().children().children().attr("href")!=jQuery(c[f]).parent().parent().children().children().attr("href"))g=jQuery(c[f]).parent().next().html(),a.imageArray.push([jQuery(c[f]).parent().parent().children().children().attr("href"),g])}else g=jQuery(c[f]).parent().next().html(),a.imageArray.push([jQuery(c[f]).parent().parent().children().children().attr("href"),
20
- g]);for(;a.imageArray[a.activeImage][0]!=d.getAttribute("href");)a.activeImage++;a.grouping&&e&&(c=e,e=!1);k()}function r(){b("body").append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+a.imageLoading+
21
- '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+a.imageBtnClose+'"></a></div></div></div></div>');b("#jquery-overlay").css({backgroundColor:a.overlayBgColor,opacity:a.overlayOpacity}).fadeIn();m();b("#jquery-overlay,#jquery-lightbox").click(function(){l()});
22
- b("#lightbox-loading-link,#lightbox-secNav-btnClose").click(function(){l();return!1});b(window).resize(function(){m()})}function k(){b("#lightbox-loading").show();a.fixedNavigation?b("#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide():b("#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber").hide();var d=new Image;d.onload=function(){b("#lightbox-image").attr("src",
23
- a.imageArray[a.activeImage][0]);s(d.width,d.height);d.onload=function(){}};d.src=a.imageArray[a.activeImage][0]}function m(){var d=n();b("#jquery-overlay").css({width:d[0],height:d[1]});var c,e;self.pageYOffset?(e=self.pageYOffset,c=self.pageXOffset):document.documentElement&&document.documentElement.scrollTop?(e=document.documentElement.scrollTop,c=document.documentElement.scrollLeft):document.body&&(e=document.body.scrollTop,c=document.body.scrollLeft);c=arrayPageScroll=[c,e];b("#jquery-lightbox").css({top:c[1]+
24
- (a.shrinkToFit?a.shrinkPadding:d[3]/10),left:c[0]})}function s(d,c){var e=b("#lightbox-container-image-box").width(),h=b("#lightbox-container-image-box").height();if(a.shrinkToFit){var g=n(),f=d/c;c>.9*g[3]-2*a.shrinkPadding&&(c=.9*g[3]-2*a.shrinkPadding,d=c*f);d>g[0]-2*a.shrinkPadding&&(d=g[0]-2*a.shrinkPadding,c=d/f)}g=d+2*a.containerBorderSize;f=c+2*a.containerBorderSize;e-=g;h-=f;b("#lightbox-container-image-box").animate({width:g,height:f},a.containerResizeSpeed,function(){t()});0==e&&0==h&&
25
- (b.browser.msie?p(250):p(100));b("#lightbox-container-image-data-box").css({width:d});b("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({height:c+2*a.containerBorderSize})}function t(){b("#lightbox-loading").hide();b("#lightbox-image").fadeIn(function(){b("#lightbox-container-image-data-box").slideDown("fast");b("#lightbox-image-details-caption").hide();a.imageArray[a.activeImage][1]&&b("#lightbox-image-details-caption").html(a.imageArray[a.activeImage][1]).show();1<a.imageArray.length&&b("#lightbox-image-details-currentNumber").html(a.txtImage+
26
- " "+(a.activeImage+1)+" "+a.txtOf+" "+a.imageArray.length).show();u()});a.imageArray.length-1>a.activeImage&&(objNext=new Image,objNext.src=a.imageArray[a.activeImage+1][0]);0<a.activeImage&&(objPrev=new Image,objPrev.src=a.imageArray[a.activeImage-1][0])}function u(){b("#lightbox-nav").show();b("#lightbox-nav-btnPrev,#lightbox-nav-btnNext").css({background:"transparent url("+a.imageBlank+") no-repeat"});0!=a.activeImage&&(a.fixedNavigation?b("#lightbox-nav-btnPrev").css({background:"url("+a.imageBtnPrev+
27
- ") left 15% no-repeat"}).unbind().bind("click",function(){a.activeImage-=1;k();return!1}):b("#lightbox-nav-btnPrev").unbind().hover(function(){b(this).css({background:"url("+a.imageBtnPrev+") left 15% no-repeat"})},function(){b(this).css({background:"transparent url("+a.imageBlank+") no-repeat"})}).show().bind("click",function(){a.activeImage-=1;k();return!1}));a.activeImage!=a.imageArray.length-1&&(a.fixedNavigation?b("#lightbox-nav-btnNext").css({background:"url("+a.imageBtnNext+") right 15% no-repeat"}).unbind().bind("click",
28
- function(){a.activeImage+=1;k();return!1}):b("#lightbox-nav-btnNext").unbind().hover(function(){b(this).css({background:"url("+a.imageBtnNext+") right 15% no-repeat"})},function(){b(this).css({background:"transparent url("+a.imageBlank+") no-repeat"})}).show().bind("click",function(){a.activeImage+=1;k();return!1}));v()}function v(){b(document).keydown(function(d){null==d?(keycode=event.keyCode,escapeKey=27):(keycode=d.keyCode,escapeKey=d.DOM_VK_ESCAPE);key=String.fromCharCode(keycode).toLowerCase();
29
- key!=a.keyToClose&&"x"!=key&&keycode!=escapeKey||l();key!=a.keyToPrev&&37!=keycode||0==a.activeImage||(a.activeImage-=1,k(),b(document).unbind());key!=a.keyToNext&&39!=keycode||a.activeImage==a.imageArray.length-1||(a.activeImage+=1,k(),b(document).unbind())})}function l(){b("#jquery-lightbox").remove();b("#jquery-overlay").fadeOut(function(){b("#jquery-overlay").remove()});b("embed, object, select").css({visibility:"visible"})}function n(){var a,b;window.innerHeight&&window.scrollMaxY?(a=window.innerWidth+
30
- window.scrollMaxX,b=window.innerHeight+window.scrollMaxY):document.body.scrollHeight>document.body.offsetHeight?(a=document.body.scrollWidth,b=document.body.scrollHeight):(a=document.body.offsetWidth,b=document.body.offsetHeight);var e,h;self.innerHeight?(e=document.documentElement.clientWidth?document.documentElement.clientWidth:self.innerWidth,h=self.innerHeight):document.documentElement&&document.documentElement.clientHeight?(e=document.documentElement.clientWidth,h=document.documentElement.clientHeight):
31
- document.body&&(e=document.body.clientWidth,h=document.body.clientHeight);pageHeight=b<h?h:b;pageWidth=a<e?a:e;return arrayPageSize=[pageWidth,pageHeight,e,h]}function p(a){var b=new Date;do var e=new Date;while(e-b<a)}a=jQuery.extend({overlayBgColor:"#000",overlayOpacity:.8,fixedNavigation:!1,imageLoading:lightbox_path+"images/lightbox-ico-loading.gif",imageBtnPrev:lightbox_path+"images/lightbox-btn-prev.gif",imageBtnNext:lightbox_path+"images/lightbox-btn-next.gif",imageBtnClose:lightbox_path+"images/lightbox-btn-close.gif",
32
- imageBlank:lightbox_path+"images/lightbox-blank.gif",containerBorderSize:10,containerResizeSpeed:400,txtImage:"Image",txtOf:"of",keyToClose:"c",keyToPrev:"p",keyToNext:"n",imageArray:[],activeImage:0,captionPosition:"",shrinkToFit:!0,shrinkPadding:50,grouping:!0},a);var w=this;return this.unbind("click").click(function(){q(this,w);return!1})}})(jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-blank.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-close.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-next.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-btn-prev.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/lightbox-ico-loading.gif DELETED
Binary file
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.js DELETED
@@ -1,15 +0,0 @@
1
- jQuery(function($) {
2
- var nextgen_jquery_lightbox_init = function() {
3
- var selector = nextgen_lightbox_filter_selector($, $(".ngg_lightbox"));
4
- selector.lightBox({
5
- imageLoading: nextgen_lightbox_loading_img_url,
6
- imageBtnClose: nextgen_lightbox_close_btn_url,
7
- imageBtnPrev: nextgen_lightbox_btn_prev_url,
8
- imageBtnNext: nextgen_lightbox_btn_next_url,
9
- imageBlank: nextgen_lightbox_blank_img_url
10
- });
11
- };
12
- $(this).bind('refreshed', nextgen_jquery_lightbox_init);
13
- nextgen_jquery_lightbox_init();
14
-
15
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
products/photocrati_nextgen/modules/lightbox/static/jquery.lightbox/nextgen_lightbox_init.min.js DELETED
@@ -1 +0,0 @@
1
- eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8(3($){2 0=3(){2 1=9($,$(".7"));1.6({4:5,a:b,k:h,i:j,g:f})};$(c).d(\'e\',0);0()});',21,21,'nextgen_jquery_lightbox_init|selector|var|function|imageLoading|nextgen_lightbox_loading_img_url|lightBox|ngg_lightbox|jQuery|nextgen_lightbox_filter_selector|imageBtnClose|nextgen_lightbox_close_btn_url|this|bind|refreshed|nextgen_lightbox_blank_img_url|imageBlank|nextgen_lightbox_btn_prev_url|imageBtnNext|nextgen_lightbox_btn_next_url|imageBtnPrev'.split('|'),0,{}))
 
products/photocrati_nextgen/modules/nextgen_other_options/package.module.nextgen_other_options.php CHANGED
@@ -232,8 +232,14 @@ class A_Lightbox_Manager_Form extends Mixin
232
  $form->enqueue_static_resources();
233
  $sub_fields[$form->context] = $form->render(FALSE);
234
  }
 
 
 
 
 
 
235
  // Render container tab
236
- return $this->render_partial('photocrati-nextgen_other_options#lightbox_library_tab', array('lightbox_library_label' => __('What effect would you like to use?', 'nggallery'), 'libs' => C_Lightbox_Library_Manager::get_instance()->get_all(), 'selected' => $this->object->get_model()->thumbEffect, 'sub_fields' => $sub_fields, 'lightbox_global' => $this->object->get_model()->thumbEffectContext), TRUE);
237
  }
238
  public function save_action()
239
  {
232
  $form->enqueue_static_resources();
233
  $sub_fields[$form->context] = $form->render(FALSE);
234
  }
235
+ // Highslide and jQuery.Lightbox were removed in 2.0.73 due to licensing. If a user has selected
236
+ // either of those options we silently make their selection fallback to Fancybox
237
+ $selected = $this->object->get_model()->thumbEffect;
238
+ if (in_array($selected, array('highslide', 'lightbox'))) {
239
+ $selected = 'fancybox';
240
+ }
241
  // Render container tab
242
+ return $this->render_partial('photocrati-nextgen_other_options#lightbox_library_tab', array('lightbox_library_label' => __('What effect would you like to use?', 'nggallery'), 'libs' => C_Lightbox_Library_Manager::get_instance()->get_all(), 'selected' => $selected, 'sub_fields' => $sub_fields, 'lightbox_global' => $this->object->get_model()->thumbEffectContext), TRUE);
243
  }
244
  public function save_action()
245
  {
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: photocrati
3
  Tags: nextgen, nextgen gallery, gallery, galleries, image, images, image gallery, photo, photos, photo gallery, picture, pictures, picture gallery, album, albums, photo albums, image album, media, media gallery, thumbnails, thumbnail gallery, thumbnail galleries, slideshow, slideshows, slideshow gallery, slideshow galleries, fancybox, lightbox, responsive, responsive gallery, responsive galleries, wordpress responsive gallery, nextcellent, wordpress gallery plugin, wordpress photo gallery plugin, wp gallery, wp gallery plugins, best gallery plugin, free photo gallery, singlepic, image captions imagebrowser, watermarks, watermarking, photography, photographer
4
  Requires at least: 3.6.1
5
- Tested up to: 4.0
6
- Stable tag: 2.0.71
7
  License: GPLv2
8
 
9
  The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 11 million downloads.
@@ -199,6 +199,9 @@ For more information, feel free to visit the official website for the NextGEN Ga
199
 
200
  == Changelog ==
201
 
 
 
 
202
  = V2.0.71 - 02.19.2015 =
203
  * NEW: Module files are compiled into a single package file to reduce disk I/O
204
  * NEW: All CSS stylesheets and Javascript source files are minified to reduce latency
2
  Contributors: photocrati
3
  Tags: nextgen, nextgen gallery, gallery, galleries, image, images, image gallery, photo, photos, photo gallery, picture, pictures, picture gallery, album, albums, photo albums, image album, media, media gallery, thumbnails, thumbnail gallery, thumbnail galleries, slideshow, slideshows, slideshow gallery, slideshow galleries, fancybox, lightbox, responsive, responsive gallery, responsive galleries, wordpress responsive gallery, nextcellent, wordpress gallery plugin, wordpress photo gallery plugin, wp gallery, wp gallery plugins, best gallery plugin, free photo gallery, singlepic, image captions imagebrowser, watermarks, watermarking, photography, photographer
4
  Requires at least: 3.6.1
5
+ Tested up to: 4.1.1
6
+ Stable tag: 2.0.74
7
  License: GPLv2
8
 
9
  The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 11 million downloads.
199
 
200
  == Changelog ==
201
 
202
+ = V2.0.74 - 02.20.2015 =
203
+ * Changed: Removed jQuery Lightbox and Highslide due to incompatible licensing with GPL
204
+
205
  = V2.0.71 - 02.19.2015 =
206
  * NEW: Module files are compiled into a single package file to reduce disk I/O
207
  * NEW: All CSS stylesheets and Javascript source files are minified to reduce latency