= t("Compares your installed module version against the ones stored in the GitHub and GalleryModules.") ?>
@@ -16,7 +16,7 @@
= t("Green = Your version is newer than the GitHub ") ?>
= t("Orange = Your file version is newer than the installed version ") ?>
= t("Pink = Your installed version is newer than file version ") ?>
-
= t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . " ") ?>
+
= t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . " - Execution Time: " . $ExecutionTime . " s ") ?>
" class="submit" /> if($update_time == ""){ echo " - Last Scan: Unknown";}else{ echo " - Last Scan: ".$update_time;} ?>
diff --git a/3.0/themes/pear4gallery3/.gitignore b/3.0/themes/pear4gallery3/.gitignore
new file mode 100644
index 00000000..5b4346fd
--- /dev/null
+++ b/3.0/themes/pear4gallery3/.gitignore
@@ -0,0 +1,2 @@
+icons/depricated
+temp/
diff --git a/3.0/themes/pear4gallery3/admin/controllers/admin_theme_options.php b/3.0/themes/pear4gallery3/admin/controllers/admin_theme_options.php
new file mode 100644
index 00000000..999334f1
--- /dev/null
+++ b/3.0/themes/pear4gallery3/admin/controllers/admin_theme_options.php
@@ -0,0 +1,327 @@
+
+
+class Admin_Theme_Options_Controller extends Admin_Controller {
+
+ protected $min_gallery_ver = 46;
+
+ private function load_theme_info() {
+ $theme_id = module::get_var("gallery", "active_site_theme");
+ $file = THEMEPATH . "$theme_id/theme.info";
+ $theme_info = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);
+ return $theme_info;
+ }
+
+ private function get_theme_version() {
+ $theme_info = $this->load_theme_info();
+ return ($theme_info->version);
+ }
+
+ private function get_theme_name() {
+ $theme_info = $this->load_theme_info();
+ return ($theme_info->name);
+ }
+
+ private function prerequisite_check($group, $id, $is_ok, $caption, $caption_ok, $caption_failed, $iswarning, $msg_error) {
+ $confirmation_caption = ($is_ok)? $caption_ok : $caption_failed;
+ $checkbox = $group->checkbox($id)
+ ->label($caption . " " . $confirmation_caption)
+ ->checked($is_ok)
+ ->disabled(true);
+ if ($is_ok):
+ $checkbox->class("g-success");
+ elseif ($iswarning):
+ $checkbox->class("g-prerequisite g-warning")->error_messages("failed", $msg_error)->add_error("failed", 1);
+ else:
+ $checkbox->class("g-error")->error_messages("failed", $msg_error)->add_error("failed", 1);
+ endif;
+ }
+
+ /* Convert old values ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+ protected function upgrade_settings() {
+ if (module::get_var("th_pear4gallery3", "show_logo")):
+ module::clear_var("th_pear4gallery3", "show_logo");
+ module::set_var("th_pear4gallery3", "hide_logo", FALSE);
+ endif;
+ }
+
+ protected function get_edit_form_admin() {
+ $this->upgrade_settings();
+
+ $form = new Forge("admin/theme_options/save/", "", null, array("id" =>"g-theme-options-form"));
+
+// Just commenting out, we might want rssmodule in future versions.
+// $rssmodulecheck = (module::is_active("rss") && module::info("rss"));
+
+ /* Prerequisites ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("requirements")->label(t("Prerequisites"));
+ $gallery_ver = module::get_version("gallery");
+ $this->prerequisite_check($group, "vercheck", $gallery_ver >= $this->min_gallery_ver,
+ t("Gallery 3 Core v.") . $this->min_gallery_ver . "+", t("Installed"), t("Required"), FALSE, sprintf(t("Check Failed. Minimum Required Version is %s. Found %s."), $this->min_gallery_ver, $gallery_ver));
+ $this->prerequisite_check($group, "square_thumbs", (module::is_active("square_thumbs") and module::info("square_thumbs")),
+ t("Square Thumbnails"), t("Found"), t("Required"), FALSE, t("Install
Square Thumbnails to display Thumbs correctly."));
+ if (!module::get_var("th_pear4gallery3", "hide_thumbmeta")):
+ $this->prerequisite_check($group, "info", (module::is_active("info") and module::info("info")),
+ t("Info Module"), t("Found"), t("Required"), FALSE, t("Check Failed. Module is required to display Thumb metadata."));
+ endif;
+
+ /* General Settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme")->label(t("General Settings"));
+ $group->input("favicon")
+ ->label(t("URL (or relative path) to your favicon.ico"))
+ ->value(module::get_var("gallery", "favicon_url"));
+ $group->input("appletouchicon")
+ ->label(t("URL (or relative path) to your apple-touch-icon.png"))
+ ->value(module::get_var("gallery", "appletouchicon_url"));
+
+ /* Advanced Options - General ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("edit_theme_adv_main")->label(t("Advanced Options - General"));
+ $group->checkbox("hide_logo")
+ ->label(t("Hide Bottom Pear Logo"))
+ ->checked(module::get_var("th_pear4gallery3", "hide_logo"));
+ $group->dropdown("mainmenu_view")
+ ->label(t("Main page View"))
+ ->options(array("grid" => t("Grid (Default)"), "mosaic" => t("Mosaic")))
+ ->selected(module::get_var("th_pear4gallery3", "mainmenu_view"));
+ $group->checkbox("show_guest_menu")
+ ->label(t("Show Main Menu for Guest Users"))
+ ->checked(module::get_var("th_pear4gallery3", "show_guest_menu"));
+ $group->dropdown("background")
+ ->label(t("Background color"))
+ ->options(array("black" => t("Black (Default)"), "dkgrey" => t("Dark-Grey"), "ltgrey" => t("Light-Grey"), "white" => t("White")))
+ ->selected(module::get_var("th_pear4gallery3", "background"));
+ $group->input("ga_code")
+ ->label(t("
Google analytics code."))
+ ->value(module::get_var("th_pear4gallery3", "ga_code"));
+
+ /* Advanced Options - Photo page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/*
+ $group = $form->group("edit_theme_adv_photo")->label(t("Advanced Options - Photo Page"));
+ $group->dropdown("photo_popupbox")
+ ->label(t($sb_fb_caption) . " " . t("Mode"))
+ ->options(array("default" => t("Default (Slideshow/Preview)"), "preview" => t("Preview Only"), "none" => t("Disable")))
+ ->selected(module::get_var("th_pear4gallery3", "photo_popupbox"));
+ $group->dropdown("photo_descmode")
+ ->label(t("Description Display Mode"))
+ ->options(array("overlay_top" => t("Overlay Top"), "overlay_bottom" => t("Overlay Bottom"), "bottom" => t("Bottom"), "top" => t("Top"), "hide" => t("Hide")))
+ ->selected(module::get_var("th_pear4gallery3", "photo_descmode"));
+ $group->checkbox("thumb_inpage")
+ ->label(t("Keep Thumb Nav Block on the side"))
+ ->checked(module::get_var("th_pear4gallery3", "thumb_inpage"));
+ if (!$thumbnavcheck):
+ $group->thumb_inpage->disabled(true);
+ endif;
+ $group->checkbox("hide_photometa")
+ ->label(t("Hide Item Meta Data"))
+ ->checked(module::get_var("th_pear4gallery3", "hide_photometa", TRUE));
+ $group->checkbox("desc_allowbbcode")
+ ->label(t("Allow BBCode/HTML in Descriptions"))
+ ->checked(module::get_var("th_pear4gallery3", "desc_allowbbcode"));
+*/
+ /* Maintenance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+ $group = $form->group("maintenance")->label(t("Maintenance"));
+ $group->checkbox("build_resize")->label(t("Mark all Image Resizes for Rebuild"))->checked(false);
+ $group->checkbox("build_thumbs")->label(t("Mark all Thumbnails for Rebuild"))->checked(false);
+ $group->checkbox("build_exif")->label(t("Mark Exif Info data for reload"))->checked(false);
+ if ($iptccheck):
+ $group->checkbox("build_iptc")->label(t("Mark IPTC Info data for reload"))->checked(false);
+ endif;
+ $group->checkbox("purge_cache")->label(t("Purge cache data"))->checked(false);
+ $group->checkbox("reset_theme")->label(t("Reset Theme to a Default State"))->checked(false);
+
+ module::event("theme_edit_form", $form);
+
+ $form->submit("g-theme-options-save")->value(t("Save Changes"));
+
+ return $form;
+ }
+
+ protected function get_edit_form_help() {
+ $help = '
';
+ $help .= 'Help ';
+ $help .= 'Prerequisites
+ Requirements need to be met for theme to function properly.
+
';
+
+ $help .= 'General Settings
+ ';
+
+ $help .= 'Advanced Options - General
+ ';
+ $help .= 'Advanced Options - Photo Page
+ ';
+ $help .= 'Maintenance
+ Without changing image size, you can Mark all Resizes for Rebuild .
+ Then you need to visit Admin\Maintenance to initiate the process.
+
Same can be done for image thumbs with Mark all Thumbnails for Rebuild .
+
Mark Exif/IPTC Info for reload would mark all Exif or IPTC records as "Dirty" allowing it to be repopulated.
+
And just in case you think that something is not right, you can always Reset Theme to a Default State .
+
';
+ $help .= ' ';
+ return t($help);
+ }
+
+ private function save_item_state($statename, $state, $value) {
+ if ($state):
+ module::set_var("th_pear4gallery3", $statename, $value);
+ else:
+ module::clear_var("th_pear4gallery3", $statename);
+ endif;
+ }
+
+ protected function legacy() {
+ module::clear_var("th_pear4gallery3", "hide_logo");
+ module::clear_var("th_pear4gallery3", "mainmenu_view");
+ module::clear_var("th_pear4gallery3", "show_guest_menu");
+ module::clear_var("th_pear4gallery3", "background");
+ module::clear_var("th_pear4gallery3", "ga_code");
+ }
+
+ protected function reset_theme() {
+ // Default core theme settings
+ module::set_var("gallery", "page_size", 9);
+ module::set_var("gallery", "resize_size", 640);
+ module::set_var("gallery", "thumb_size", 200);
+ module::set_var("gallery", "header_text", "");
+ module::set_var("gallery", "footer_text", "");
+ module::set_var("gallery", "show_credits", FALSE);
+ module::clear_all_vars("th_pear4gallery3");
+ module::clear_var("th_pear4gallery3", "hide_logo");
+ }
+
+ public function save() {
+ site_status::clear("gd_init_configuration");
+ access::verify_csrf();
+
+ $form = self::get_edit_form_admin();
+
+ if ($form->validate()):
+ $this->legacy();
+
+ if ($form->maintenance->reset_theme->value):
+ $this->reset_theme();
+ module::event("theme_edit_form_completed", $form);
+ message::success(t("Theme details are reset"));
+ else:
+ // * General Settings ****************************************************
+
+ $resize_size = 800;
+
+ $build_resize = $form->maintenance->build_resize->value;
+ $build_thumbs = $form->maintenance->build_thumbs->value;
+ $build_exif = $form->maintenance->build_exif->value;
+ if (module::is_active("iptc") and module::info("iptc")):
+ $build_iptc = $form->maintenance->build_iptc->value;
+ else:
+ $build_iptc = FALSE;
+ endif;
+ $purge_cache = $form->maintenance->purge_cache->value;
+
+ $thumb_descmode_a = $form->edit_theme_adv_thumb->thumb_descmode_a->value;
+ $thumb_descmode = $form->edit_theme_adv_thumb->thumb_descmode->value;
+ $thumb_metamode = $form->edit_theme_adv_thumb->thumb_metamode->value;
+ $photo_descmode = $form->edit_theme_adv_photo->photo_descmode->value;
+ $photo_popupbox = $form->edit_theme_adv_photo->photo_popupbox->value;
+
+ if ($build_resize):
+ graphics::remove_rule("gallery", "resize", "gallery_graphics::resize");
+ graphics::add_rule("gallery", "resize", "gallery_graphics::resize",
+ array("width" => $resize_size, "height" => $resize_size, "master" => Image::AUTO), 100);
+ endif;
+
+ if (module::get_var("gallery", "resize_size") != $resize_size):
+ module::set_var("gallery", "resize_size", $resize_size);
+ endif;
+
+ $thumb_size = 200;
+ $rule = Image::AUTO;
+
+ if ($build_thumbs):
+ graphics::remove_rule("gallery", "thumb", "gallery_graphics::resize");
+ graphics::add_rule("gallery", "thumb", "gallery_graphics::resize",
+ array("width" => $thumb_size, "height" => $thumb_size, "master" => $rule), 100);
+ endif;
+
+ if (module::get_var("gallery", "thumb_size") != $thumb_size):
+ module::set_var("gallery", "thumb_size", $thumb_size);
+ endif;
+
+ module::set_var("gallery", "page_size", 50);
+ module::set_var("gallery", "favicon_url", $form->edit_theme->favicon->value);
+ module::set_var("gallery", "appletouchicon_url", $form->edit_theme->appletouchicon->value);
+
+ $this->save_item_state("logo_path", $form->edit_theme->logo_path->value, $form->edit_theme->logo_path->value);
+
+ // * Advanced Options - General ******************************************
+
+ $this->save_item_state("hide_logo", $form->edit_theme_adv_main->hide_logo->value, TRUE);
+ $this->save_item_state("mainmenu_view", $form->edit_theme_adv_main->mainmenu_view->value != "grid", $form->edit_theme_adv_main->mainmenu_view->value);
+ $this->save_item_state("show_guest_menu",$form->edit_theme_adv_main->show_guest_menu->value, TRUE);
+ $this->save_item_state("background", $form->edit_theme_adv_main->background->value != "black", $form->edit_theme_adv_main->background->value);
+ $this->save_item_state("ga_code", $form->edit_theme_adv_main->ga_code->value, $form->edit_theme_adv_main->ga_code->value);
+
+ // * Advanced Options - Photo page ***************************************
+ /*
+ $this->save_item_state("photo_descmode", $photo_descmode != "overlay_top", $photo_descmode);
+ $this->save_item_state("photo_popupbox", $photo_popupbox != "default", $photo_popupbox);
+ $this->save_item_state("thumb_inpage", $form->edit_theme_adv_photo->thumb_inpage->value, TRUE);
+ $this->save_item_state("hide_photometa", !$form->edit_theme_adv_photo->hide_photometa->value, FALSE);
+ $this->save_item_state("desc_allowbbcode", $form->edit_theme_adv_photo->desc_allowbbcode->value, TRUE);
+*/
+
+ module::event("theme_edit_form_completed", $form);
+
+ if ($_priorratio != $thumb_ratio):
+ message::warning(t("Thumb aspect ratio has been changed. Consider rebuilding thumbs if needed."));
+ endif;
+
+ message::success(t("Updated theme details"));
+
+ if ($build_exif):
+ db::update('exif_records')
+ ->set(array('dirty'=>'1'))
+ ->execute();
+ endif;
+
+ if ($build_iptc):
+ db::update('iptc_records')
+ ->set(array('dirty'=>'1'))
+ ->execute();
+ endif;
+
+ if ($purge_cache):
+ db::build()
+ ->delete("caches")
+ ->execute();
+ endif;
+ endif;
+ url::redirect("admin/theme_options");
+ else:
+ print $this->get_admin_view();
+ endif;
+ }
+
+ protected function get_admin_view() {
+ $view = new Admin_View("admin.html");
+ $view->page_title = t(".Pear Theme");
+ $view->content = new View("admin_theme_options.html");
+ $view->content->name = self::get_theme_name();
+ $view->content->version = self::get_theme_version();
+ $view->content->form = self::get_edit_form_admin();
+ $view->content->help = self::get_edit_form_help();
+ return $view;
+ }
+
+ public function index() {
+ site_status::clear("gd_init_configuration");
+ print $this->get_admin_view();
+ }
+}
+?>
diff --git a/3.0/themes/pear4gallery3/admin/views/admin_include.html.php b/3.0/themes/pear4gallery3/admin/views/admin_include.html.php
new file mode 100644
index 00000000..8d818bb7
--- /dev/null
+++ b/3.0/themes/pear4gallery3/admin/views/admin_include.html.php
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+ if ($is_module):
+ $admin_info = new ArrayObject(parse_ini_file(MODPATH . $name . "/module.info"), ArrayObject::ARRAY_AS_PROPS);
+ $version = number_format($admin_info->version / 10, 1, '.', '');
+ else:
+ $admin_info = new ArrayObject(parse_ini_file(THEMEPATH . $name . "/theme.info"), ArrayObject::ARRAY_AS_PROPS);
+ $version = $admin_info->version;
+ endif;
+?>
+
+
+
+
= t($admin_info->name) ?> - = $version ?>
+
+
+
+ = $form ?>
+
+
+ = $help ?>
+
+
diff --git a/3.0/themes/pear4gallery3/admin/views/admin_theme_options.html.php b/3.0/themes/pear4gallery3/admin/views/admin_theme_options.html.php
new file mode 100644
index 00000000..a0894dc2
--- /dev/null
+++ b/3.0/themes/pear4gallery3/admin/views/admin_theme_options.html.php
@@ -0,0 +1,14 @@
+
+
+ $view = new View("admin_include.html");
+
+ $view->is_module = FALSE;
+ $view->name = module::get_var("gallery", "active_site_theme");
+ $view->form = $form;
+ $view->help = $help;
+ print $view;
+?>
+
diff --git a/3.0/themes/pear4gallery3/css/fix-ie.css b/3.0/themes/pear4gallery3/css/fix-ie.css
new file mode 100644
index 00000000..0633ff07
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/fix-ie.css
@@ -0,0 +1,59 @@
+/**
+ * Fix display in IE 6, 7, and 8
+ */
+
+#g-banner {
+ z-index: 2;
+ zoom: 1;
+}
+
+#g-sidebar {
+ overflow: hidden;
+}
+
+#g-photo,
+#g-movie {
+ zoom: 1;
+}
+
+#g-photo .g-context-menu,
+#g-movie .g-context-menu {
+ width: 240px;
+}
+
+input.submit {
+ clear: none !important;
+ display: inline !important;
+}
+
+.g-short-form input.text,
+.g-short-form input.submit {
+ font-size: 1em;
+ line-height: 1em;
+ padding: .38em .3em;
+}
+
+#g-search-form input#q {
+ width: 300px;
+}
+
+#g-add-tag-form input.textbox {
+ width: 110px !important;
+}
+
+#g-add-tag-form input[type='submit'] {
+ padding: .3em 0 !important;
+}
+
+#g-dialog .g-cancel {
+ display: inline-block !important;
+ float: none !important;
+}
+
+.g-paginator .g-text-right {
+ width: 29%;
+}
+
+.g-paginator .ui-icon-right {
+ width: 60px;
+}
diff --git a/3.0/themes/pear4gallery3/css/imageflow.packed.css b/3.0/themes/pear4gallery3/css/imageflow.packed.css
new file mode 100644
index 00000000..b0c52141
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/imageflow.packed.css
@@ -0,0 +1 @@
+@charset "utf-8"; @media screen, projection{.imageflow{overflow:hidden; position:relative; text-align:left; visibility:hidden; width:100%}.imageflow img{border:none; position:absolute; top:0px; visibility:hidden; -ms-interpolation-mode:bicubic}.imageflow p{margin:0 auto; text-align:center}.imageflow .loading{border:1px solid white; height:15px; left:50%; margin-left:-106px; padding:5px; position:relative; visibility:visible; width:200px}.imageflow .loading_bar{background:#fff; height:15px; visibility:visible; width:1%}.imageflow .navigation{z-index:10000}.imageflow .caption{font-weight:bold; position:relative; text-align:center; z-index:10001}.imageflow .scrollbar{border-bottom:1px solid #b3b3b3; position:relative; visibility:hidden; z-index:10002; height:1px}.imageflow .slider{background:url(../icons/slider.png) no-repeat; height:14px; margin:-6px 0 0 -7px; position:absolute; width:14px; z-index:10003}.imageflow .slideshow{cursor:pointer; height:14px; margin:20px 0 0 20px; position:absolute; width:14px; z-index:10003}.imageflow .slideshow.pause{background:url(../icons/button_pause.png) no-repeat}.imageflow .slideshow.play{background:url(../icons/button_play.png) no-repeat}.imageflow .images{overflow:hidden; white-space:nowrap}.imageflow .button{cursor:pointer; height:17px; position:relative; width:17px}.imageflow .previous{background:url(../icons/button_left.png) top left no-repeat; float:left; margin:-7px 0 0 -30px}.imageflow .next{background:url(../icons/button_right.png) top left no-repeat; float:right; margin:-7px -30px 0 30px}}
diff --git a/3.0/themes/pear4gallery3/css/pear.css b/3.0/themes/pear4gallery3/css/pear.css
new file mode 100644
index 00000000..475a0757
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/pear.css
@@ -0,0 +1,145 @@
+.gallery-thumb {
+ float: left;
+ margin-bottom: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+ position: relative;
+ text-align: center;
+ cursor: pointer;
+}
+
+.gallery-album {
+ display: block;
+ height: 400px;
+ overflow: auto;
+ padding-bottom: 10px;
+ padding-top: 10px;
+}
+
+th, td {
+ padding: 0;
+ border-width: 0;
+}
+
+.giInfo {
+ color: #888888;
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 9px;
+ height: 11px;
+ margin-bottom: 0px;
+ margin-left: 12px;
+ margin-right: 0px;
+ text-align: left;
+}
+.pear {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ color: #999 !important;
+ background-color: #000;
+}
+.giTitle {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin: 3px 10px !important;
+ padding: 0 0;
+ text-align: left;
+}
+
+#gsNavBar div {
+font-weight: bold;
+}
+
+h2 {
+ font-size: 1.1em;
+ font-weight: bold;
+}
+
+.center {
+ text-align: center !important;
+}
+
+#g-header {
+ margin-top: -2px;
+ position: fixed;
+ top: 44px;
+ width: 100%;
+ z-index: 50;
+}
+/*Menu*/
+.sf-menu li:hover, .sf-menu li.sfHover, .sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
+ background: none repeat scroll 0 0 #333333;
+ outline: 0 none;
+}
+.sf-menu li {
+ background: none repeat scroll 0 0 #000000;
+ float: left;
+ position: relative;
+}
+.sf-menu li li, .sf-menu li li ul li {
+ background-color: #000;
+}
+.sf-menu ul {
+ background: none repeat scroll 0 0 #000000;
+}
+.sf-menu, .sf-menu * {
+ list-style: none outside none;
+ margin: 0;
+ padding: 0;
+}
+a, .g-menu a, #g-dialog a, .g-button, .g-button:hover, .g-button:active, a.ui-state-hover, input.ui-state-hover, button.ui-state-hover {
+ color: #777777 !important;
+ cursor: pointer !important;
+ text-decoration: none;
+}
+.sf-menu a, .sf-menu a:visited {
+ color: #555555;
+}
+.sf-menu a {
+ border-left: 1px solid #333;
+ border-top: 1px solid #222;
+ padding: 0.75em 1em;
+ text-decoration: none;
+ display: block;
+ position: relative;
+}
+.ui-state-default, .ui-widget-content .ui-state-default {
+ background: #ccc;
+ border: 1px solid #C5DBEC;
+ color: #555
+ font-weight: bold;
+ outline: medium none;
+}
+#g-banner {
+ background-color: #555;
+ border-bottom: 1px solid #333333;
+ min-height: 5em;
+ padding: 1em 20px;
+ position: relative;
+}
+
+.g-paginator {
+ margin-bottom: 5px;
+ margin-left: 15px;
+ margin-right: 15px;
+ padding-top: 6px;
+}
+
+a.buttonFirst { background-position: 0px 0px !important; }
+a.buttonFirst:hover { background-position: -15px 0px !important; }
+a.buttonPrev { background-position: 0px -15px !important; }
+a.buttonPrev:hover { background-position: -15px -15px !important; }
+a.buttonNext { background-position: 0px -30px !important;}
+a.buttonNext:hover { background-position: -15px -30px !important;}
+a.buttonLast { background-position: 0px -45px !important; }
+a.buttonLast:hover { background-position: -15px -45px !important; }
+
+a.buttonNext, a.buttonLast { float: right; }
+a.buttonFirst, a.buttonPrev { float: left; }
+
+.g-paginator .buttonAction {
+ background: url("../icons/paginator.gif") no-repeat 0 0;
+ height: 15px;
+ width: 15px;
+ margin-left: 0;
+ display: block;
+}
diff --git a/3.0/themes/pear4gallery3/css/screen.css b/3.0/themes/pear4gallery3/css/screen.css
new file mode 100644
index 00000000..6bac8319
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/screen.css
@@ -0,0 +1,1358 @@
+/**
+ * Gallery 3 Wind Theme Screen Styles
+ *
+ * @requires YUI reset, font, grids CSS
+ *
+ * Sheet organization:
+ * 1) Font sizes, base HTML elements
+ * 2) Reusable content blocks
+ * 3) Page layout containers
+ * 4) Content blocks in specific layout containers
+ * 5) States and interactions
+ * 6) Positioning and order
+ * 7) Navigation and menus
+ * 8) jQuery and jQuery UI
+ * 9) Right-to-left language styles
+ */
+
+/** *******************************************************************
+ * 1) Font sizes, base HTML elements
+ **********************************************************************/
+
+body, html {
+ background-color: #ccc;
+ font-family: 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
+}
+
+p {
+ margin-bottom: 1em;
+}
+
+em {
+ font-style: oblique;
+}
+
+h1, h2, h3, h4, h5, strong, th {
+ font-weight: bold;
+}
+
+h1 {
+ font-size: 1.7em;
+}
+
+#g-dialog h1 {
+ font-size: 1.1em;
+}
+
+h2 {
+ font-size: 1.4em;
+}
+
+#g-sidebar .g-block h2 {
+ font-size: 1.2em;
+}
+
+#g-sidebar .g-block li {
+ margin-bottom: .6em;
+}
+
+#g-content,
+#g-site-menu,
+h3 {
+ font-size: 1.2em;
+}
+
+#g-sidebar,
+.g-breadcrumbs {
+ font-size: .9em;
+}
+
+#g-banner,
+#g-footer,
+.g-message {
+ font-size: .8em;
+}
+
+#g-album-grid .g-item,
+#g-item #g-photo,
+#g-item #g-movie {
+ font-size: .7em;
+}
+
+/* Links ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+a,
+.g-menu a,
+#g-dialog a,
+.g-button,
+.g-button:hover,
+.g-button:active,
+a.ui-state-hover,
+input.ui-state-hover,
+button.ui-state-hover {
+ color: #5382bf !important;
+ cursor: pointer !important;
+ text-decoration: none;
+ -moz-outline-style: none;
+}
+
+a:hover,
+#g-dialog a:hover {
+ text-decoration: underline;
+}
+
+.g-menu a:hover {
+ text-decoration: none;
+}
+
+#g-dialog #g-action-status li {
+ width: 400px;
+ white-space: normal;
+ padding-left: 32px;
+}
+
+/* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+form {
+ margin: 0;
+}
+
+fieldset {
+ border: 1px solid #ccc;
+ padding: 0 1em .8em 1em;
+}
+
+#g-banner fieldset,
+#g-sidebar fieldset {
+ border: none;
+ padding: 0;
+}
+
+legend {
+ font-weight: bold;
+ margin: 0;
+ padding: 0 .2em;
+}
+
+#g-banner legend,
+#g-sidebar legend,
+input[type="hidden"] {
+ display: none;
+}
+
+input.textbox,
+input[type="text"],
+input[type="password"],
+textarea {
+ border: 1px solid #e8e8e8;
+ border-top-color: #ccc;
+ border-left-color: #ccc;
+ clear: both;
+ color: #333;
+ width: 50%;
+}
+
+textarea {
+ height: 12em;
+ width: 97%;
+}
+
+input:focus,
+input.textbox:focus,
+input[type=text]:focus,
+textarea:focus,
+option:focus {
+ background-color: #ffc;
+ color: #000;
+}
+
+input.checkbox,
+input[type=checkbox],
+input.radio,
+input[type=radio] {
+ float: left;
+ margin-right: .4em;
+}
+
+/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+form li {
+ margin: 0;
+ padding: 0 0 .2em 0;
+}
+
+form ul {
+ margin-top: 0;
+}
+
+form ul ul {
+ clear: both;
+}
+
+form ul ul li {
+ float: left;
+}
+
+input,
+select,
+textarea {
+ display: block;
+ clear: both;
+ padding: .2em;
+}
+
+input[type="submit"],
+input[type="reset"] {
+ display: inline;
+ clear: none;
+ float: left;
+}
+
+/* Forms in dialogs and panels ~~~~~~~~~ */
+
+#g-dialog ul li {
+ padding-bottom: .8em;
+}
+
+#g-dialog fieldset,
+#g-panel fieldset {
+ border: none;
+ padding: 0;
+}
+
+#g-panel legend {
+ display: none;
+}
+
+input[readonly] {
+ background-color: #F4F4FC;
+}
+
+#g-dialog input.textbox,
+#g-dialog input[type=text],
+#g-dialog input[type=password],
+#g-dialog textarea {
+ width: 97%;
+}
+
+/* Short forms ~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.g-short-form legend,
+.g-short-form label {
+ display: none;
+}
+
+.g-short-form fieldset {
+ border: none;
+ padding: 0;
+}
+
+.g-short-form li {
+ float: left;
+ margin: 0 !important;
+ padding: .4em 0;
+}
+
+.g-short-form .textbox,
+.g-short-form input[type=text] {
+ color: #666;
+ padding: .3em .6em;
+ width: 100%;
+}
+
+.g-short-form .textbox.g-error {
+ border: 1px solid #f00;
+ color: #f00;
+ padding-left: 24px;
+}
+
+.g-short-form .g-cancel {
+ display: block;
+ margin: .3em .8em;
+}
+
+#g-sidebar .g-short-form li {
+ padding-left: 0;
+ padding-right: 0;
+}
+
+/* Tables ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+table {
+ width: 100%;
+}
+
+#g-content table {
+ margin: 1em 0;
+}
+
+caption,
+th {
+ text-align: left;
+}
+
+th,
+td {
+ border: none;
+ border-bottom: 1px solid #ccc;
+ padding: .5em;
+}
+
+td {
+ vertical-align: top;
+}
+
+/* Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+.g-text-small {
+ font-size: .8em;
+}
+
+.g-text-big {
+ font-size: 1.2em;
+}
+
+.g-text-right {
+ text-align: right;
+}
+
+/** *******************************************************************
+ * 2) Reusable content blocks
+ *********************************************************************/
+
+.g-block h2 {
+ background-color: #e8e8e8;
+ padding: .3em .8em;
+}
+
+.g-block-content {
+ margin-top: 1em;
+}
+
+/** *******************************************************************
+ * 3) Page layout containers
+ *********************************************************************/
+
+/* Dimension and scale ~~~~~~~~~~~~~~~~~~~ */
+.g-one-quarter {
+ width: 25%;
+}
+
+.g-one-third {
+ width: 33%;
+}
+
+.g-one-half {
+ width: 50%;
+}
+
+.g-two-thirds {
+ width: 66%;
+}
+
+.g-three-quarters {
+ width: 75%;
+}
+
+.g-whole {
+ width: 100%;
+}
+
+/* View container ~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.g-view {
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-bottom: none;
+}
+
+/* Layout containers ~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-header {
+ margin-bottom: 1em;
+}
+
+#g-banner {
+ background-color: #e8e8e8;
+ border-bottom: 1px solid #ccc;
+ min-height: 5em;
+ padding: 1em 20px;
+ position: relative;
+}
+
+#g-content {
+ padding-left: 20px;
+ position: relative;
+ width: 696px;
+}
+
+#g-sidebar {
+ padding: 0 20px;
+ width: 220px;
+}
+
+#g-footer {
+ background-color: #e8e8e8;
+ border-top: 1px solid #ccc;
+ margin-top: 20px;
+ padding: 10px 20px;
+}
+
+/** *******************************************************************
+ * 4) Content blocks in specific layout containers
+ *********************************************************************/
+
+/* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-banner #g-quick-search-form {
+ clear: right;
+ float: right;
+ margin-top: 1em;
+}
+
+#g-banner #g-quick-search-form input[type='text'] {
+ width: 17em;
+}
+
+#g-content .g-block h2 {
+ background-color: transparent;
+ padding-left: 0;
+}
+
+/* Sidebar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-sidebar .g-block-content {
+ padding-left: 1em;
+}
+
+#g-sidebar #g-image-block {
+ overflow: hidden;
+}
+
+/* Album content ~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-content #g-album-grid {
+ margin: 1em 0;
+ position: relative;
+ z-index: 1;
+}
+
+#g-content #g-album-grid .g-item {
+ background-color: #fff;
+ border: 1px solid #fff;
+ float: left;
+ padding: .6em 8px;
+ position: relative;
+ text-align: center;
+ width: 213px;
+ z-index: 1;
+}
+
+#g-content #g-album-grid .g-item h2 {
+ margin: 5px 0;
+}
+
+#g-content .g-photo h2,
+#g-content .g-item .g-metadata {
+ display: none;
+ margin-bottom: .6em;
+}
+
+#g-content #g-album-grid .g-album {
+ background-color: #e8e8e8;
+}
+
+#g-content #g-album-grid .g-album h2 span.g-album {
+ background: transparent url('../images/ico-album.png') no-repeat top left;
+ display: inline-block;
+ height: 16px;
+ margin-right: 5px;
+ width: 16px;
+}
+
+#g-content #g-album-grid .g-hover-item {
+ border: 1px solid #000;
+ position: absolute !important;
+ z-index: 1000 !important;
+}
+
+#g-content .g-hover-item h2,
+#g-content .g-hover-item .g-metadata {
+ display: block;
+}
+
+#g-content #g-album-grid #g-place-holder {
+ position: relative;
+ visibility: hidden;
+ z-index: 1;
+}
+
+/* Search results ~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-content #g-search-results {
+ margin-top: 1em;
+ padding-top: 1em;
+}
+
+/* Individual photo content ~~~~~~~~~~~~~~ */
+
+#g-item {
+ position: relative;
+ width: 100%;
+}
+
+#g-item #g-photo,
+#g-item #g-movie {
+ padding: 2.2em 0;
+ position: relative;
+}
+
+#g-item img.g-resize,
+#g-item a.g-movie {
+ display: block;
+ margin: 0 auto;
+}
+
+/* Footer content ~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-footer #g-credits li {
+ padding-right: 1.2em;
+}
+
+/* In-line editing ~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-in-place-edit-message {
+ background-color: #fff;
+}
+
+/* Permissions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+#g-edit-permissions-form td {
+ background-image: none;
+}
+
+#g-edit-permissions-form fieldset {
+ border: 1px solid #ccc;
+}
+
+#g-permissions .g-denied {
+ background-color: #fcc;
+}
+
+#g-permissions .g-allowed {
+ background-color: #cfc;
+}
+
+#g-permissions .g-breadcrumbs a {
+ border: 1px solid #fff;
+}
+
+#g-permissions .g-active a {
+ border: 1px solid #ddd;
+ background: #eee;
+}
+
+/** *******************************************************************
+ * 5) States and interactions
+ **********************************************************************/
+
+.g-active,
+.g-enabled,
+.g-available,
+.g-selected,
+.g-highlight {
+ font-weight: bold;
+}
+
+.g-inactive,
+.g-disabled,
+.g-unavailable,
+.g-uneditable,
+.g-locked,
+.g-deselected,
+.g-understate {
+ color: #ccc;
+ font-weight: normal;
+}
+
+.g-editable {
+ padding: .2em .3em;
+}
+
+.g-editable:hover {
+ background-color: #ffc;
+ cursor: text;
+}
+
+.g-error,
+.g-info,
+.g-success,
+.g-warning {
+ padding-left: 30px;
+}
+
+form li.g-error,
+form li.g-info,
+form li.g-success,
+form li.g-warning {
+ background-image: none;
+ padding: .3em .8em .3em 0;
+}
+
+.g-short-form li.g-error {
+ padding: .3em 0;
+}
+
+form.g-error input[type="text"],
+li.g-error input[type="text"],
+form.g-error input[type="password"],
+li.g-error input[type="password"],
+form.g-error input[type="checkbox"],
+li.g-error input[type="checkbox"],
+form.g-error input[type="radio"],
+li.g-error input[type="radio"],
+form.g-error textarea,
+li.g-error textarea,
+form.g-error select,
+li.g-error select {
+ border: 2px solid #f00;
+ margin-bottom: .2em;
+}
+
+.g-error,
+.g-denied,
+tr.g-error td.g-error,
+#g-add-photos-status .g-error {
+ background: #f6cbca url('../images/ico-error.png') no-repeat .4em 50%;
+ color: #f00;
+}
+
+.g-info {
+ background: #e8e8e8 url('../images/ico-info.png') no-repeat .4em 50%;
+}
+
+.g-success,
+.g-allowed,
+#g-add-photos-status .g-success {
+ background: #d9efc2 url('../images/ico-success.png') no-repeat .4em 50%;
+}
+
+tr.g-success {
+ background-image: none;
+}
+
+tr.g-success td.g-success {
+ background-image: url('../images/ico-success.png');
+}
+
+.g-warning,
+tr.g-warning td.g-warning {
+ background: #fcf9ce url('../images/ico-warning.png') no-repeat .4em 50%;
+}
+
+form .g-error {
+ background-color: #fff;
+ padding-left: 20px;
+}
+
+.g-open {
+}
+
+.g-closed {
+}
+
+.g-installed {
+ background-color: #eeeeee;
+}
+
+.g-default {
+ background-color: #c5dbec;
+ font-weight: bold;
+}
+
+.g-draggable {
+ cursor: move;
+}
+
+.g-draggable:hover {
+ border: 1px dashed #000;
+}
+
+.ui-sortable .g-target,
+.ui-state-highlight {
+ background-color: #fcf9ce;
+ border: 2px dotted #999;
+ height: 2em;
+ margin: 1em 0;
+}
+
+/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */
+
+.g-loading-large,
+.g-dialog-loading-large {
+ background: #e8e8e8 url('../images/loading-large.gif') no-repeat center center !important;
+}
+
+.g-loading-small {
+ background: #e8e8e8 url('../images/loading-small.gif') no-repeat center center !important;
+}
+
+/** *******************************************************************
+ * 6) Positioning and order
+ **********************************************************************/
+
+.g-left {
+ clear: none;
+ float: left;
+}
+
+.g-right {
+ clear: none;
+ float: right;
+}
+
+.g-first {
+}
+
+.g-last {
+}
+
+.g-even {
+ background-color: #fff;
+}
+
+.g-odd {
+ background-color: #eee;
+}
+
+/** *******************************************************************
+ * 7) Navigation and menus
+ *********************************************************************/
+
+/* Login menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-banner #g-login-menu {
+ color: #999;
+ float: right;
+}
+
+#g-banner #g-login-menu li {
+ padding-left: 1.2em;
+}
+
+/* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-site-menu {
+ bottom: 0;
+ left: 140px;
+ position: absolute;
+}
+
+#g-site-menu ul {
+ margin-bottom: 0 !important;
+}
+
+/* Context Menu ~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.g-context-menu {
+ background-color: #fff;
+ bottom: 0;
+ left: 0;
+ position: absolute;
+}
+
+.g-item .g-context-menu {
+ display: none;
+ margin-top: 2em;
+ width: 100%;
+}
+
+#g-item .g-context-menu ul {
+ display: none;
+}
+
+.g-context-menu li {
+ border-left: none;
+ border-right: none;
+ border-bottom: none;
+}
+
+.g-context-menu li a {
+ display: block;
+ line-height: 1.6em;
+}
+
+.g-hover-item .g-context-menu {
+ display: block;
+}
+
+.g-hover-item .g-context-menu li {
+ text-align: left;
+}
+
+.g-hover-item .g-context-menu a:hover {
+ text-decoration: none;
+}
+
+/* View Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+#g-view-menu {
+ margin-bottom: 1em;
+}
+
+#g-view-menu a {
+ background-repeat: no-repeat;
+ background-position: 50% 50%;
+ height: 28px !important;
+ width: 43px !important;
+}
+
+#g-view-menu #g-slideshow-link {
+ background-image: url('../images/ico-view-slideshow.png');
+}
+
+#g-view-menu .g-fullsize-link {
+ background-image: url('../images/ico-view-fullsize.png');
+}
+
+#g-view-menu #g-comments-link {
+ background-image: url('../images/ico-view-comments.png');
+}
+
+#g-view-menu #g-print-digibug-link {
+ background-image: url('../images/ico-print.png');
+}
+
+/** *******************************************************************
+ * 8) jQuery and jQuery UI
+ *********************************************************************/
+/* Generic block container ~~~~~~~~~~~~~~~ */
+
+.g-block {
+ clear: both;
+ margin-bottom: 2.5em;
+}
+
+.g-block-content {
+}
+
+/* Superfish menu overrides ~~~~~~~~~~~~~~ */
+.sf-menu ul {
+ width: 12em;
+}
+
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+ left: 12em;
+}
+
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+ left: 12em;
+}
+
+.sf-menu li li,
+.sf-menu li li ul li {
+ background-color: #bdd2ff;
+}
+
+.sf-menu li:hover {
+ background-color: #dfe9ff;
+}
+
+/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */
+
+.ui-widget-overlay {
+ background: #000;
+ opacity: .7;
+}
+
+/* Buttons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.g-button {
+ display: inline-block;
+ margin: 0 4px 0 0;
+ padding: .2em .4em;
+}
+
+.g-button,
+.g-button:hover,
+.g-button:active {
+ cursor: pointer !important;
+ outline: 0;
+ text-decoration: none;
+ -moz-outline-style: none;
+}
+
+button {
+ padding: 2px 4px 2px 4px;
+}
+
+/* jQuery UI ThemeRoller buttons ~~~~~~~~~ */
+
+.g-buttonset {
+ padding-left: 1px;
+}
+
+.g-buttonset li {
+ float: left;
+}
+
+.g-buttonset .g-button {
+ margin: 0;
+}
+
+.ui-icon-left .ui-icon {
+ float: left;
+ margin-right: .2em;
+}
+
+.ui-icon-right .ui-icon {
+ float: right;
+ margin-left: .2em;
+}
+
+/* Rotate icon, ThemeRoller only provides one of these */
+
+.ui-icon-rotate-ccw {
+ background-position: -192px -64px;
+}
+
+.ui-icon-rotate-cw {
+ background-position: -208px -64px;
+}
+
+.g-progress-bar {
+ height: 1em;
+ width: 100%;
+ margin-top: .5em;
+ display: inline-block;
+}
+
+/* Status and validation messages ~~~~ */
+
+.g-message-block {
+ background-position: .4em .3em;
+ border: 1px solid #ccc;
+ padding: 0;
+}
+
+#g-action-status {
+ margin-bottom: 1em;
+}
+
+#g-action-status li,
+p#g-action-status,
+div#g-action-status {
+ padding: .3em .3em .3em 30px;
+}
+
+#g-site-status li {
+ border-bottom: 1px solid #ccc;
+ padding: .3em .3em .3em 30px;
+}
+
+.g-module-status {
+ clear: both;
+ margin-bottom: 1em;
+}
+
+.g-message {
+ background-position: 0 50%;
+}
+
+/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.g-breadcrumbs {
+ clear: both;
+ padding: 0 20px;
+}
+
+.g-breadcrumbs li {
+ background: transparent url('../images/ico-separator.gif') no-repeat scroll left center;
+ float: left;
+ padding: 1em 8px 1em 18px;
+}
+
+.g-breadcrumbs .g-first {
+ background: none;
+ padding-left: 0;
+}
+
+.g-breadcrumbs li a,
+.g-breadcrumbs li span {
+ display: block;
+}
+
+#g-dialog ul.g-breadcrumbs {
+ margin-left: 0;
+ padding-left: 0;
+}
+
+/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+
+.g-paginator li {
+ float: left;
+ width: 30%;
+}
+
+.g-paginator .g-info {
+ background: none;
+ padding: .2em 0;
+ text-align: center;
+ width: 40%;
+}
+
+/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */
+
+#g-dialog {
+ text-align: left;
+}
+
+#g-dialog legend {
+ display: none;
+}
+
+#g-dialog .g-cancel {
+ margin: .4em 1em;
+}
+
+#g-panel {
+ display: none;
+ padding: 1em;
+}
+
+/* Inline layout ~~~~~~~~~~ */
+
+.g-inline li {
+ float: left;
+ margin-left: 1.8em;
+ padding-left: 0 !important;
+}
+
+.g-inline li.g-first {
+ margin-left: 0;
+}
+
+/* Autocomplete ~~~~~~~~~~ */
+.ac_loading {
+ background: white url('../images/loading-small.gif') right center no-repeat !important;
+}
+
+/** *******************************************************************
+ * 9) Right to left language styles
+ *********************************************************************/
+
+.rtl {
+ direction: rtl;
+}
+
+.rtl #g-header,
+.rtl #g-content,
+.rtl #g-sidebar,
+.rtl #g-footer,
+.rtl caption,
+.rtl th,
+.rtl #g-dialog,
+.rtl .g-context-menu li a,
+.rtl .g-message-box li,
+.rtl #g-site-status li {
+ text-align: right;
+}
+
+.rtl .g-text-right {
+ text-align: left;
+}
+
+.rtl .g-error,
+.rtl .g-info,
+.rtl .g-success,
+.rtl .g-warning,
+.rtl #g-add-photos-status .g-success,
+.rtl #g-add-photos-status .g-error {
+ background-position: center right;
+ padding-right: 30px !important;
+}
+
+.rtl form li.g-error,
+.rtl form li.g-info,
+.rtl form li.g-success,
+.rtl form li.g-warning {
+ padding-right: 0 !important;
+}
+
+.rtl .g-left,
+.rtl .g-inline li,
+.rtl #g-content #g-album-grid .g-item,
+.rtl .sf-menu li,
+.rtl .g-breadcrumbs li,
+.rtl .g-paginator li,
+.rtl .g-buttonset li,
+.rtl .ui-icon-left .ui-icon,
+.rtl .g-short-form li,
+.rtl form ul ul li,
+.rtl input[type="submit"],
+.rtl input[type="reset"],
+.rtl input.checkbox,
+.rtl input[type=checkbox],
+.rtl input.radio,
+.rtl input[type=radio] {
+ float: right;
+}
+
+.rtl .g-right,
+.rtl .ui-icon-right .ui-icon {
+ float: left;
+}
+
+.rtl .g-inline li {
+ margin-right: 1em;
+}
+
+.rtl .g-inline li.g-first {
+ margin-right: 0;
+}
+
+.rtl .g-breadcrumbs li {
+ background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center;
+ padding: 1em 18px 1em 8px;
+}
+
+.rtl .g-breadcrumbs .g-first {
+ background: none;
+ padding-right: 0;
+}
+
+.rtl input.checkbox {
+ margin-left: .4em;
+}
+
+.rtl #g-add-comment {
+ right: inherit;
+ left: 0;
+}
+
+.rtl .ui-icon-left .ui-icon {
+ margin-left: .2em;
+}
+
+.rtl .ui-icon-right .ui-icon {
+ margin-right: .2em;
+}
+
+/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */
+.rtl .g-buttonset .ui-corner-tl {
+ -moz-border-radius-topleft: 0;
+ -webkit-border-top-left-radius: 0;
+ border-top-left-radius: 0;
+ -moz-border-radius-topright: 5px !important;
+ -webkit-border-top-right-radius: 5px !important;
+ border-top-right-radius: 5px !important;
+}
+
+.rtl .g-buttonset .ui-corner-tr {
+ -moz-border-radius-topright: 0;
+ -webkit-border-top-right-radius: 0;
+ border-top-right-radius: 0;
+ -moz-border-radius-topleft: 5px !important;
+ -webkit-border-top-left-radius: 5px !important;
+ border-top-left-radius: 5px !important;
+}
+
+.rtl .g-buttonset .ui-corner-bl {
+ -moz-border-radius-bottomleft: 0;
+ -webkit-border-bottom-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -moz-border-radius-bottomright: 5px !important;
+ -webkit-border-bottom-right-radius: 5px !important;
+ border-bottom-right-radius: 5px !important;
+}
+
+.rtl .g-buttonset .ui-corner-br {
+ -moz-border-radius-bottomright: 0;
+ -webkit-border-bottom-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -moz-border-radius-bottomleft: 5px !important;
+ -webkit-border-bottom-left-radius: 5px !important;
+ border-bottom-left-radius: 5px !important;
+}
+
+.rtl .g-buttonset .ui-corner-right,
+.rtl .ui-progressbar .ui-corner-right {
+ -moz-border-radius-topright: 0;
+ -webkit-border-top-right-radius: 0;
+ border-top-right-radius: 0;
+ -moz-border-radius-topleft: 5px !important;
+ -webkit-border-top-left-radius: 5px !important;
+ border-top-left-radius: 5px !important;
+ -moz-border-radius-bottomright: 0;
+ -webkit-border-bottom-right-radius: 0;
+ border-bottom-right-radius: 0;
+ -moz-border-radius-bottomleft: 5px !important;
+ -webkit-border-bottom-left-radius: 5px !important;
+ border-bottom-left-radius: 5px !important;
+}
+
+.rtl .g-buttonset .ui-corner-left,
+.rtl .ui-progressbar .ui-corner-left {
+ -moz-border-radius-topleft: 0;
+ -webkit-border-top-left-radius: 0;
+ border-top-left-radius: 0;
+ -moz-border-radius-topright: 5px !important;
+ -webkit-border-top-right-radius: 5px !important;
+ border-top-right-radius: 5px !important;
+ -moz-border-radius-bottomleft: 0;
+ -webkit-border-bottom-left-radius: 0;
+ border-bottom-left-radius: 0;
+ -moz-border-radius-bottomright: 5px !important;
+ -webkit-border-bottom-right-radius: 5px !important;
+ border-bottom-right-radius: 5px !important;
+}
+
+/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.rtl .sf-menu a {
+ border-left: none;
+ border-right:1px solid #fff;
+}
+
+.rtl .sf-menu a.sf-with-ul {
+ padding-left: 2.25em;
+ padding-right: 1em;
+}
+
+.rtl .sf-sub-indicator {
+ left: .75em !important;
+ right: auto;
+ background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
+}
+.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */
+ top: .8em;
+ background-position: -10px -100px; /* use translucent arrow for modern browsers*/
+}
+/* apply hovers to modern browsers */
+.rtl a:focus > .sf-sub-indicator,
+.rtl a:hover > .sf-sub-indicator,
+.rtl a:active > .sf-sub-indicator,
+.rtl li:hover > a > .sf-sub-indicator,
+.rtl li.sfHover > a > .sf-sub-indicator {
+ background-position: 0 -100px; /* arrow hovers for modern browsers*/
+}
+
+/* point right for anchors in subs */
+.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; }
+.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; }
+/* apply hovers to modern browsers */
+.rtl .sf-menu ul a:focus > .sf-sub-indicator,
+.rtl .sf-menu ul a:hover > .sf-sub-indicator,
+.rtl .sf-menu ul a:active > .sf-sub-indicator,
+.rtl .sf-menu ul li:hover > a > .sf-sub-indicator,
+.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator {
+ background-position: 0 0; /* arrow hovers for modern browsers*/
+}
+
+.rtl .sf-menu li:hover ul,
+.rtl .sf-menu li.sfHover ul {
+ right: 0;
+ left: auto;
+}
+
+.rtl ul.sf-menu li li:hover ul,
+.rtl ul.sf-menu li li.sfHover ul {
+ right: 12em; /* match ul width */
+ left: auto;
+}
+.rtl ul.sf-menu li li li:hover ul,
+.rtl ul.sf-menu li li li.sfHover ul {
+ right: 12em; /* match ul width */
+ left: auto;
+}
+
+/*** shadows for all but IE6 ***/
+.rtl .sf-shadow ul {
+ background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left;
+ padding: 0 0 9px 8px;
+ border-top-right-radius: 0;
+ border-bottom-left-radius: 0;
+ -moz-border-radius-topright: 0;
+ -moz-border-radius-bottomleft: 0;
+ -webkit-border-top-right-radius: 0;
+ -webkit-border-bottom-left-radius: 0;
+ -moz-border-radius-topleft: 17px;
+ -moz-border-radius-bottomright: 17px;
+ -webkit-border-top-left-radius: 17px;
+ -webkit-border-bottom-right-radius: 17px;
+ border-top-left-radius: 17px;
+ border-bottom-right-radius: 17px;
+}
+
+/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.rtl .ui-dialog .ui-dialog-titlebar {
+ padding: 0.5em 1em 0.3em 0.3em;
+}
+
+.rtl .ui-dialog .ui-dialog-title {
+ float: right;
+}
+
+.rtl .ui-dialog .ui-dialog-titlebar-close {
+ left: 0.3em;
+ right: auto;
+}
+
+
+/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+
+.rtl .g-paginator .g-info {
+ width: 35%;
+}
+
+.rtl .g-paginator .g-text-right {
+ margin-left: 0;
+}
+
+.rtl .g-paginator .ui-icon-seek-end {
+ background-position: -80px -160px;
+}
+
+.rtl .g-paginator .ui-icon-seek-next {
+ background-position: -48px -160px;
+}
+
+.rtl .g-paginator .ui-icon-seek-prev {
+ background-position: -32px -160px;
+}
+
+.rtl .g-paginator .ui-icon-seek-first {
+ background-position: -64px -160px;
+}
+
+.rtl #g-header #g-login-menu,
+.rtl #g-header #g-quick-search-form {
+ clear: left;
+ float: left;
+}
+
+.rtl #g-header #g-login-menu li {
+ margin-left: 0;
+ padding-left: 0;
+ padding-right: 1.2em;
+}
+
+.rtl #g-site-menu {
+ left: auto;
+ right: 150px;
+}
+
+.rtl #g-view-menu #g-slideshow-link {
+ background-image: url('../images/ico-view-slideshow-rtl.png');
+}
+
+.rtl #g-sidebar .g-block-content {
+ padding-right: 1em;
+ padding-left: 0;
+}
+
+.rtl #g-footer #g-credits li {
+ padding-left: 1.2em !important;
+ padding-right: 0;
+}
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 00000000..5b5dab2a
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png
new file mode 100644
index 00000000..47acaadd
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png
new file mode 100644
index 00000000..9fb564f8
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png
new file mode 100644
index 00000000..01495152
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 00000000..4443fdc1
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
new file mode 100644
index 00000000..0cdbda36
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
new file mode 100644
index 00000000..4f3faf8a
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
new file mode 100644
index 00000000..38c38335
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_217bc0_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_217bc0_256x240.png
new file mode 100644
index 00000000..7719d487
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_217bc0_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_2e83ff_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 00000000..d9897d25
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_2e83ff_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_469bdd_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_469bdd_256x240.png
new file mode 100644
index 00000000..d8161854
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_469bdd_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_6da8d5_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_6da8d5_256x240.png
new file mode 100644
index 00000000..b3c7d662
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_6da8d5_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_cd0a0a_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 00000000..2db88b79
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_d8e7f3_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_d8e7f3_256x240.png
new file mode 100644
index 00000000..2c8aac46
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_d8e7f3_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_f9bd01_256x240.png b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_f9bd01_256x240.png
new file mode 100644
index 00000000..e81603f5
Binary files /dev/null and b/3.0/themes/pear4gallery3/css/themeroller/images/ui-icons_f9bd01_256x240.png differ
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.base.css b/3.0/themes/pear4gallery3/css/themeroller/ui.base.css
new file mode 100644
index 00000000..1a1810c8
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.base.css
@@ -0,0 +1,7 @@
+@import "ui.core.css";
+@import "ui.theme.css";
+@import "ui.datepicker.css";
+@import "ui.dialog.css";
+@import "ui.progressbar.css";
+@import "ui.resizable.css";
+@import "ui.tabs.css";
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.core.css b/3.0/themes/pear4gallery3/css/themeroller/ui.core.css
new file mode 100644
index 00000000..d832ad7d
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.core.css
@@ -0,0 +1,37 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.datepicker.css b/3.0/themes/pear4gallery3/css/themeroller/ui.datepicker.css
new file mode 100644
index 00000000..92986c9e
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.datepicker.css
@@ -0,0 +1,62 @@
+/* Datepicker
+----------------------------------*/
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:left; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.dialog.css b/3.0/themes/pear4gallery3/css/themeroller/ui.dialog.css
new file mode 100644
index 00000000..f10f4090
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.dialog.css
@@ -0,0 +1,13 @@
+/* Dialog
+----------------------------------*/
+.ui-dialog { position: relative; padding: .2em; width: 300px; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.progressbar.css b/3.0/themes/pear4gallery3/css/themeroller/ui.progressbar.css
new file mode 100644
index 00000000..bc0939ec
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.progressbar.css
@@ -0,0 +1,4 @@
+/* Progressbar
+----------------------------------*/
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.resizable.css b/3.0/themes/pear4gallery3/css/themeroller/ui.resizable.css
new file mode 100644
index 00000000..44efeb2e
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.resizable.css
@@ -0,0 +1,13 @@
+/* Resizable
+----------------------------------*/
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.tabs.css b/3.0/themes/pear4gallery3/css/themeroller/ui.tabs.css
new file mode 100644
index 00000000..70ed3ef4
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.tabs.css
@@ -0,0 +1,9 @@
+/* Tabs
+----------------------------------*/
+.ui-tabs {padding: .2em;}
+.ui-tabs .ui-tabs-nav { padding: .2em .2em 0 .2em; position: relative; }
+.ui-tabs .ui-tabs-nav li { float: left; border-bottom: 0 !important; margin: 0 .2em -1px 0; padding: 0; list-style: none; }
+.ui-tabs .ui-tabs-nav li a { display:block; text-decoration: none; padding: .5em 1em; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: .1em; border-bottom: 0; }
+.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border: 0; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/css/themeroller/ui.theme.css b/3.0/themes/pear4gallery3/css/themeroller/ui.theme.css
new file mode 100644
index 00000000..477252e5
--- /dev/null
+++ b/3.0/themes/pear4gallery3/css/themeroller/ui.theme.css
@@ -0,0 +1,243 @@
+
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://ui.jquery.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+* To view and modify this theme, visit http://ui.jquery.com/themeroller/?tr=&ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
+.ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
+.ui-widget-header a { color: #ffffff; }
+.ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; outline: none; }
+.ui-state-default a { color: #2e6e9e; text-decoration: none; outline: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; outline: none; }
+.ui-state-hover a { color: #1d5987; text-decoration: none; outline: none; }
+.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; outline: none; }
+.ui-state-active a { color: #e17009; outline: none; text-decoration: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; }
+.ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; }
+.ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
+.ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
+.ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; }
+.ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; }
+.ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/helpers/pear4gallery3_installer.php b/3.0/themes/pear4gallery3/helpers/pear4gallery3_installer.php
new file mode 100644
index 00000000..58318e1b
--- /dev/null
+++ b/3.0/themes/pear4gallery3/helpers/pear4gallery3_installer.php
@@ -0,0 +1,27 @@
+
+
+class pear4gallery3_installer {
+ static function install() {
+ site_status::warning(t("Initial configuration for the theme may be required. Visit Admin\Appearance\Theme Options before continue."), "gd_init_configuration");
+ }
+
+ static function deactivate() {
+ site_status::warning(t("DeActivate."), "gd_init_configuration");
+ //site_status::clear("gd_init_configuration");
+ }
+
+ static function activate() {
+ site_status::warning(t("Activate."), "gd_init_configuration");
+ if (module::get_var("gallery", "resize_size") != 800):
+ module::set_var("gallery", "resize_size", 800);
+ endif;
+ if (module::get_var("gallery", "thumb_size") != 200):
+ module::set_var("gallery", "thumb_size", 200);
+ endif;
+ if (module::get_var("gallery", "page_size") != 50):
+ module::set_var("gallery", "page_size", 50);
+ endif;
+ }
+}
+
+?>
diff --git a/3.0/themes/pear4gallery3/icons/addcomment.gif b/3.0/themes/pear4gallery3/icons/addcomment.gif
new file mode 100644
index 00000000..35cd6f81
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/addcomment.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/album.gif b/3.0/themes/pear4gallery3/icons/album.gif
new file mode 100644
index 00000000..9c59d447
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/album.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/button_left.png b/3.0/themes/pear4gallery3/icons/button_left.png
new file mode 100644
index 00000000..1567289c
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/button_left.png differ
diff --git a/3.0/themes/pear4gallery3/icons/button_pause.png b/3.0/themes/pear4gallery3/icons/button_pause.png
new file mode 100644
index 00000000..aefcd29f
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/button_pause.png differ
diff --git a/3.0/themes/pear4gallery3/icons/button_play.png b/3.0/themes/pear4gallery3/icons/button_play.png
new file mode 100644
index 00000000..c9deeb07
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/button_play.png differ
diff --git a/3.0/themes/pear4gallery3/icons/button_right.png b/3.0/themes/pear4gallery3/icons/button_right.png
new file mode 100644
index 00000000..6a62078b
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/button_right.png differ
diff --git a/3.0/themes/pear4gallery3/icons/carousel.png b/3.0/themes/pear4gallery3/icons/carousel.png
new file mode 100644
index 00000000..17dab5b3
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/carousel.png differ
diff --git a/3.0/themes/pear4gallery3/icons/carousel_active.png b/3.0/themes/pear4gallery3/icons/carousel_active.png
new file mode 100644
index 00000000..52be650e
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/carousel_active.png differ
diff --git a/3.0/themes/pear4gallery3/icons/cart.gif b/3.0/themes/pear4gallery3/icons/cart.gif
new file mode 100644
index 00000000..27e7be94
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/cart.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/close.gif b/3.0/themes/pear4gallery3/icons/close.gif
new file mode 100644
index 00000000..3019ba47
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/close.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/color.css b/3.0/themes/pear4gallery3/icons/color.css
new file mode 100644
index 00000000..890e5112
--- /dev/null
+++ b/3.0/themes/pear4gallery3/icons/color.css
@@ -0,0 +1,278 @@
+/* i18n('Ice Carbon Icons'); ?>
+ * $Revision: 16034 $
+ */
+
+#gallery {
+ color: #999 !important;
+ background-color: #333 !important;
+}
+body.gallery { background-color: #333 !important; }
+
+.gbBlock {
+ border-color: #666 !important;
+}
+
+.gcBorder1 { border-color: #6f6f6f !important; }
+.gcBorder2 { border-color: #666 !important; }
+
+#gallery a { color: #999 !important; }
+#gallery a:hover { color: #ccc !important; }
+#gallery a:active { color: #ccc !important; }
+
+.giError { color: #f00 !important; }
+.giInfo { color: #888 !important; }
+.block-core-PeerList .current { color: #ccc !important; }
+
+table.gbDataTable th { background-color: #4f4f4f !important; }
+.gbEven { background-color: #3f3f3f !important; }
+.gbOdd { background-color: #393939 !important; }
+
+#gallery select {
+ background-color: #bbb !important;
+ -moz-border-top-colors: #AAA #EEE !important;
+ -moz-border-left-colors: #AAA #EEE !important;
+ -moz-border-bottom-colors: #AAA #EEE !important;
+ -moz-border-right-colors: #AAA #EEE !important;
+}
+
+#gallery input {
+ background-color: #bbb !important;
+ -moz-border-top-colors: #AAA #EEE !important;
+ -moz-border-left-colors: #AAA #EEE !important;
+ -moz-border-bottom-colors: #AAA #EEE !important;
+ -moz-border-right-colors: #AAA #EEE !important;
+}
+
+#gallery textarea {
+ background-color: #bbb !important;
+ -moz-border-top-colors: #AAA #EEE !important;
+ -moz-border-left-colors: #AAA #EEE !important;
+ -moz-border-bottom-colors: #AAA #EEE !important;
+ -moz-border-right-colors: #AAA #EEE !important;
+}
+
+#gallery input:focus, #gallery textarea:focus {
+ background-color: #ddd !important;
+ -moz-border-top-colors: #AAA #EEE !important;
+ -moz-border-left-colors: #AAA #EEE !important;
+ -moz-border-bottom-colors: #AAA #EEE !important;
+ -moz-border-right-colors: #AAA #EEE !important;
+}
+
+#gallery input.inputTypeSubmit, #gallery input.inputTypeButton { /* No input[type=submit] in IE */
+ color: #333 !important;
+ background-color: #eee !important;
+}
+#gallery input.inputTypeSubmit:hover, #gallery input.inputTypeButton:hover { /* No input[type=submit] in IE */
+ background-color: #ccc !important;
+}
+
+#gallery select:hover {
+ background-color: #ddd !important;
+ -moz-border-top-colors: #AAA #EEE !important;
+ -moz-border-left-colors: #AAA #EEE !important;
+ -moz-border-bottom-colors: #AAA #EEE !important;
+ -moz-border-right-colors: #AAA #EEE !important;
+}
+
+#gallery div.gbTabBar a {
+ color: #00a0ff !important;
+}
+
+#gsSidebarCol {
+ border: #666 1px solid !important;
+ background-color: #333 !important;
+}
+
+#gallery img.giThumbnail:hover {
+ border-color: #333 !important;
+ background-color: #555 !important;
+}
+
+#gallery img.giThumbnailIce {
+ background-color: #444 !important;
+ border: 1px solid #666 !important;
+}
+#gallery img.giThumbnailIce:hover {
+ background-color: #555 !important;
+}
+
+#microThumb img.giThumbnailIce {
+ border-color: #333 !important;
+}
+
+#microThumb img.giThumbnailIce:hover {
+ border-color: #666 !important;
+}
+
+#microThumbCurrent img.giThumbnailIce {
+ border-color: #333 !important;
+}
+
+#microThumbCurrent img.giThumbnailIce:hover {
+ border-color: #666 !important;
+}
+
+#gsNavBar div.gbBreadCrumb {
+ background-image: none !important;
+}
+
+#photoframe {
+ background-color: #333 !important;
+ border: 0px solid #ddd !important;
+ padding: 0px !important;
+ -moz-border-radius: 0px !important;
+}
+
+div.gbTabBar span.o {
+ padding: 6px 0 5px 16px !important;
+ background: url('table_left.gif') no-repeat left top !important;
+}
+
+#gallery div.gbTabBar span span {
+ padding: 6px 16px 5px 4px !important;
+ background: url('table_right.gif') no-repeat right top !important;
+}
+
+#gallery div.gbTabBar a {
+ color: #666 !important;
+ text-decoration: none !important;
+}
+
+#gallery div.gbTabBar a:hover { color: #333 !important; }
+
+#gallery div.gbTabBar span.giSelected {
+ background-image: url('table_left_on.gif') !important;
+}
+
+#gallery div.gbTabBar span.giSelected span {
+ color: #333;
+ background-image: url('table_right_on.gif') !important;
+}
+
+span.bsw_ButtonEnabled {
+ color: #ddd !important;
+}
+.autoCompleteContainer li {
+ background-color: #333 !important;
+}
+
+.buttonAction a {
+ display: block !important;
+ width: 20px !important;
+ height: 20px !important;
+ margin-left: 7px !important;
+}
+
+.buttonAction a {
+ opacity: 1.0 !important;
+ filter: alpha(opacity=100) !important; /* IE's opacity*/
+}
+
+.buttonAction a:hover {
+ opacity: 1.0 !important;
+ filter: alpha(opacity=100)!important; /* IE's opacity*/
+ }
+
+ .iconAlbum {
+ background: url('album.gif') no-repeat !important;
+ background-position: center center !important;
+}
+
+.buttonClose a {
+ padding: 0px !important;
+ width: 15px !important;
+ height: 15px !important;
+ background: url('close.gif') no-repeat !important;
+ margin: 1px !important;
+}
+.buttonClose a:hover { background-position: -15px 0 !important; }
+
+.buttonFirst a {
+ width: 15px !important;
+ height: 15px !important;
+ margin-left: 0px !important;
+ background: url('first.gif') no-repeat !important;
+}
+.buttonFirst a:hover { background-position: -15px 0 !important; }
+
+.buttonLast a {
+ width: 15px !important;
+ height: 15px !important;
+ margin-left: 0px !important;
+ background: url('last.gif') no-repeat !important;
+}
+.buttonLast a:hover { background-position: -15px 0 !important; }
+
+.buttonPrev a {
+ width: 15px !important;
+ height: 15px !important;
+ margin-left: 0px !important;
+ background: url('prev.gif') no-repeat !important;
+}
+.buttonPrev a:hover { background-position: -15px 0 !important; }
+
+.buttonNext a {
+ width: 15px !important;
+ height: 15px !important;
+ margin-left: 0px !important;
+ background: url('next.gif') no-repeat !important;
+}
+.buttonNext a:hover { background-position: -15px 0 !important; }
+
+.buttonExif a {
+ width: 18px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('exif.gif') no-repeat !important;
+}
+.buttonExif a:hover { background-position: -18px 0 !important; }
+
+.buttonPopup a {
+ width: 17px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('popup.gif') no-repeat !important;
+}
+.buttonPopup a:hover { background-position: -17px 0 !important; }
+
+.buttonAddComment a {
+ width: 15px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('addcomment.gif') no-repeat !important;
+}
+.buttonAddComment a:hover { background-position: -15px 0 !important; }
+
+.buttonViewComments a {
+ width: 15px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('viewcomments.gif') no-repeat !important;
+}
+.buttonViewComments a:hover { background-position: -15px 0 !important; }
+
+.buttonViewSlideshow a {
+ width: 15px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('slideshow.gif') no-repeat !important;
+}
+.buttonViewSlideshow a:hover { background-position: -15px 0 !important; }
+
+.buttonCart a {
+ width: 16px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('cart.gif') no-repeat !important;
+}
+.buttonCart a:hover { background-position: -16px 0 !important; }
+
+.buttonShowSidebar a {
+ width: 15px !important;
+ height: 15px !important;
+ padding: 0px !important;
+ background: url('showsidebar.gif') no-repeat !important;
+}
+.buttonShowSidebar a:hover { background-position: -15px 0 !important; }
+
diff --git a/3.0/themes/pear4gallery3/icons/color_picker.png b/3.0/themes/pear4gallery3/icons/color_picker.png
new file mode 100644
index 00000000..d2e89ab4
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/color_picker.png differ
diff --git a/3.0/themes/pear4gallery3/icons/color_picker_sprite.png b/3.0/themes/pear4gallery3/icons/color_picker_sprite.png
new file mode 100644
index 00000000..977797b0
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/color_picker_sprite.png differ
diff --git a/3.0/themes/pear4gallery3/icons/download.png b/3.0/themes/pear4gallery3/icons/download.png
new file mode 100644
index 00000000..998b3959
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/download.png differ
diff --git a/3.0/themes/pear4gallery3/icons/email.png b/3.0/themes/pear4gallery3/icons/email.png
new file mode 100644
index 00000000..0110d0d1
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/email.png differ
diff --git a/3.0/themes/pear4gallery3/icons/exif.gif b/3.0/themes/pear4gallery3/icons/exif.gif
new file mode 100644
index 00000000..281214be
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/exif.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/footer_bg.png b/3.0/themes/pear4gallery3/icons/footer_bg.png
new file mode 100644
index 00000000..88b30955
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/footer_bg.png differ
diff --git a/3.0/themes/pear4gallery3/icons/grid.png b/3.0/themes/pear4gallery3/icons/grid.png
new file mode 100644
index 00000000..11238964
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/grid.png differ
diff --git a/3.0/themes/pear4gallery3/icons/grid_active.png b/3.0/themes/pear4gallery3/icons/grid_active.png
new file mode 100644
index 00000000..2602a795
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/grid_active.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/close.png b/3.0/themes/pear4gallery3/icons/hud_control/close.png
new file mode 100644
index 00000000..30ceceae
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/close.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/close_over.png b/3.0/themes/pear4gallery3/icons/hud_control/close_over.png
new file mode 100644
index 00000000..df94e509
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/close_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/comment.png b/3.0/themes/pear4gallery3/icons/hud_control/comment.png
new file mode 100644
index 00000000..68d21088
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/comment.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/comment_over.png b/3.0/themes/pear4gallery3/icons/hud_control/comment_over.png
new file mode 100644
index 00000000..1d520d7f
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/comment_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/controlsbg.png b/3.0/themes/pear4gallery3/icons/hud_control/controlsbg.png
new file mode 100644
index 00000000..8df96ad8
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/controlsbg.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/download.png b/3.0/themes/pear4gallery3/icons/hud_control/download.png
new file mode 100644
index 00000000..dc66d16d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/download.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/download_disabled.png b/3.0/themes/pear4gallery3/icons/hud_control/download_disabled.png
new file mode 100644
index 00000000..5f424c6d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/download_disabled.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/download_over.png b/3.0/themes/pear4gallery3/icons/hud_control/download_over.png
new file mode 100644
index 00000000..a1723e7d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/download_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/info.png b/3.0/themes/pear4gallery3/icons/hud_control/info.png
new file mode 100644
index 00000000..ffb7f7a4
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/info.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/info_over.png b/3.0/themes/pear4gallery3/icons/hud_control/info_over.png
new file mode 100644
index 00000000..42ec4475
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/info_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/next.png b/3.0/themes/pear4gallery3/icons/hud_control/next.png
new file mode 100644
index 00000000..59dc8a39
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/next.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/next_disabled.png b/3.0/themes/pear4gallery3/icons/hud_control/next_disabled.png
new file mode 100644
index 00000000..2d53548a
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/next_disabled.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/next_over.png b/3.0/themes/pear4gallery3/icons/hud_control/next_over.png
new file mode 100644
index 00000000..0a14880e
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/next_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/pause.png b/3.0/themes/pear4gallery3/icons/hud_control/pause.png
new file mode 100644
index 00000000..cb6ccc06
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/pause.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/pause_over.png b/3.0/themes/pear4gallery3/icons/hud_control/pause_over.png
new file mode 100644
index 00000000..104edf7d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/pause_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/play.png b/3.0/themes/pear4gallery3/icons/hud_control/play.png
new file mode 100644
index 00000000..babcf734
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/play.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/play_over.png b/3.0/themes/pear4gallery3/icons/hud_control/play_over.png
new file mode 100644
index 00000000..873e9d0f
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/play_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/prev.png b/3.0/themes/pear4gallery3/icons/hud_control/prev.png
new file mode 100644
index 00000000..d141070a
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/prev.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/prev_disabled.png b/3.0/themes/pear4gallery3/icons/hud_control/prev_disabled.png
new file mode 100644
index 00000000..d66f83ff
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/prev_disabled.png differ
diff --git a/3.0/themes/pear4gallery3/icons/hud_control/prev_over.png b/3.0/themes/pear4gallery3/icons/hud_control/prev_over.png
new file mode 100644
index 00000000..fd43d3f5
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/hud_control/prev_over.png differ
diff --git a/3.0/themes/pear4gallery3/icons/knob.png b/3.0/themes/pear4gallery3/icons/knob.png
new file mode 100644
index 00000000..66f7d562
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/knob.png differ
diff --git a/3.0/themes/pear4gallery3/icons/larger.png b/3.0/themes/pear4gallery3/icons/larger.png
new file mode 100644
index 00000000..c148bdf1
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/larger.png differ
diff --git a/3.0/themes/pear4gallery3/icons/mosaic.png b/3.0/themes/pear4gallery3/icons/mosaic.png
new file mode 100644
index 00000000..484fa7bd
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/mosaic.png differ
diff --git a/3.0/themes/pear4gallery3/icons/mosaic_active.png b/3.0/themes/pear4gallery3/icons/mosaic_active.png
new file mode 100644
index 00000000..aedf8d48
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/mosaic_active.png differ
diff --git a/3.0/themes/pear4gallery3/icons/options_bar_bg.png b/3.0/themes/pear4gallery3/icons/options_bar_bg.png
new file mode 100644
index 00000000..6184e30f
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/options_bar_bg.png differ
diff --git a/3.0/themes/pear4gallery3/icons/paginator.gif b/3.0/themes/pear4gallery3/icons/paginator.gif
new file mode 100644
index 00000000..fb884748
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/paginator.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/pear.css b/3.0/themes/pear4gallery3/icons/pear.css
new file mode 100644
index 00000000..03988e76
--- /dev/null
+++ b/3.0/themes/pear4gallery3/icons/pear.css
@@ -0,0 +1,793 @@
+.gallery-thumb-round {
+ background: url('rounded.png') no-repeat scroll left top;
+ position: absolute;
+}
+
+.skimm_div {
+ position: absolute;
+}
+
+.skimm_small {
+ position: absolute;
+}
+
+.rNavBar{
+ position: relative;
+ float: right;
+ top: -22px;
+}
+
+.lNavBar{
+ position: relative;
+ float: left;
+}
+
+.pearTitle {
+color: #ddd;
+margin: auto;
+position: relative;
+text-align: center;
+width: 50%;
+font-variant: small-caps;
+font-size: 1.7em !important;
+}
+
+.count {
+color: #666;
+font-size: 0.7em !important;
+}
+
+#gsNavBar {
+background:transparent url('top_bar_bg.png') repeat-x 100% -12px;
+position: static;
+height: 37px;
+padding-top: 10px;
+overflow: hidden;
+text-shadow: 0 -1px 2px #111111;
+font-weight: bold;
+}
+
+#footerWrapper {
+ min-width: 800px;
+width: 100%;
+background:transparent url('footer_bg.png') top center;
+height:40px;
+ clear:both;
+}
+
+#logoButton {
+ display: block;
+ z-index: 100;
+background: transparent url('pear_logo_sml.png') no-repeat center left;
+width: 83px;
+height: 40px;
+border: 0px;
+padding: 0px;
+margin: auto;
+position: relative;
+cursor: pointer; /* hand-shaped cursor */
+cursor: hand; /* for IE 5.x */
+}
+
+#logoButton:hover, #logoButton.hover {
+border: 0px;
+background: transparent url('pear_logo_sml.png') no-repeat center left;
+}
+
+/************************ COLOR PICKER **************************/
+
+
+#colorPicker {
+ position: relative;
+ color: #FFFFFF;
+ height: 17px;
+ padding: 0px 0px;
+ width: auto;
+ float: right;
+ z-index: 100;
+ font-size: 12px;
+ top: 11px;
+}
+
+
+
+
+#colorPicker div.label {
+ margin-top: 2px;
+ margin-right: 6px;
+ float: left;
+ background-color: transparent ! important;
+ width: auto ! important;
+ height: 20px;
+ color: #666666;
+ display: block;
+ font-size: 12px;
+ text-shadow: #111111 0px -1px 1px;
+}
+
+#colorPicker.disabled div.label{
+ text-shadow: #242424 0px -1px 1px;
+ color: #3f3f3f;
+}
+
+#colorPicker .swatch {
+ float: left;
+ background-color: #ffffff;
+ height: 15px;
+ width: 14px;
+ display: block;
+ margin-right: 6px;
+ margin-top: 2px;
+ cursor: pointer;
+/* background-position: 0px -58px;
+*/ background-color: transparent;
+ background-repeat: no-repeat;
+}
+/*
+#colorPicker .hover-with-swatch, #colorPicker .swatch:hover {
+ background-position: -1px -37px !important;
+}
+*/
+
+
+#colorPicker .sel-with-swatch, #colorPicker .hover-with-sel-with-swatch {
+ cursor: default ! important;
+}
+
+#colorPicker .disabled-with-swatch, #colorPicker.disabled-with-sel-with-swatch, #colorPicker .disabled-with-hover-with-swatch
+{
+/* background-position: 0px 0px ! important; */
+ cursor: default ! important;
+}
+
+#colorPicker #black {
+ background-image: url('color_picker.png') ;
+ background-position: -1px 0px;
+}
+
+#colorPicker #black:hover {
+ background-position: -1px -40px;
+}
+
+.black-with-sel-with-swatch{
+ background-position: -1px -20px ! important;
+}
+
+#colorPicker #dkgrey {
+ background-image: url('color_picker.png') ;
+ background-position: -23px 0px;
+}
+
+#colorPicker #dkgrey:hover {
+ background-position: -23px -40px;
+}
+
+.dkgrey-with-sel-with-swatch{
+ background-position: -23px -20px ! important;
+}
+
+#colorPicker #ltgrey {
+ background-image: url('color_picker.png');
+ background-position: -43px 0px;
+}
+
+#colorPicker #ltgrey:hover {
+ background-position: -43px -40px;
+}
+
+.ltgrey-with-sel-with-swatch{
+ background-position: -43px -20px ! important;
+}
+
+#colorPicker #white {
+ background-image: url('color_picker.png');
+ background-position: -63px 0px;
+ margin-right: 16px;
+}
+
+#colorPicker #white:hover {
+ background-position: -63px -40px;
+}
+
+.white-with-sel-with-swatch{
+ background-position: -63px -20px ! important;
+}
+
+/************************ SLIDER VIEW **************************/
+
+.sliderView {
+padding: 7px 37px 7px 3%;
+position: relative;
+color: #FFFFFF;
+top: 10px;
+height: 3px;
+width: 154px;
+float: right;
+z-index: 100;
+}
+
+.sliderView .smaller {
+height: 14px;
+width: 14px;
+float: left;
+position: relative;
+left: -24px;
+top: -4px;
+cursor: pointer; /* hand-shaped cursor */
+cursor: hand; /* for IE 5.x */
+background: url(smaller.png) top center no-repeat;
+}
+
+.sliderView .larger {
+height: 16px;
+width: 16px;
+float: left;
+position: relative;
+top: -4px;
+left: 133px;
+cursor: pointer; /* hand-shaped cursor */
+cursor: hand; /* for IE 5.x */
+background: url(larger.png) top center no-repeat;
+}
+
+/*.sliderView .sliderLeftCap {
+height: 15px;
+width: 5px;
+float: left;
+position: relative;
+left: 0px;
+background: url(view_control/track_left.png) top center repeat-x;
+}*/
+
+.sliderView .sliderRightCap {
+height: 15px;
+width: 3px;
+float: left;
+position: relative;
+left: 137px;
+background: transparent url(track_fill_right.png) scroll top right no-repeat;
+}
+
+.sliderView .track {
+width: 137px;
+height: 15px;
+background: transparent url(track_fill_left.png) scroll top left no-repeat;
+position: relative;
+border: 0px;
+}
+
+.sliderView .ui-slider-handle {
+background: transparent url('knob.png') top left no-repeat;
+position: absolute;
+top: -5px;
+width: 16px;
+height: 16px;
+cursor: pointer; /* hand-shaped cursor */
+cursor: hand; /* for IE 5.x */
+margin-left: -7px;
+border: 0px;
+}
+
+.disabled-with-sliderView {
+
+}
+
+.disabled-with-sliderView .smaller, .disabled-with-sliderView .larger, .disabled-with-sliderView .handle{
+cursor: default;
+}
+
+.disabled-with-sliderView .smaller {
+ background-image: url('view_control/smaller_dim.png');
+}
+
+.disabled-with-sliderView .larger {
+ background-image: url('view_control/larger_dim.png');
+}
+
+.disabled-with-sliderView .handle {
+ background-image: url('view_control/knob_dim.png');
+}
+
+.disabled-with-sliderView .sliderRightCap {
+ background-image: url('view_control/track_right_dim.png')
+}
+
+.disabled-with-sliderView .track {
+ background-image: url('view_control/track_fill_left_dim.png')
+}
+
+
+/************************ VIEW CONTROLS **************************/
+#viewControls {
+position: relative;
+color: #616161;
+width: 381px;
+float: left;
+ margin-left: 30px;
+ margin-top: 13px;
+ z-index: 800;
+ font-size: 12px;
+ text-shadow: #111111 0px -1px 1px;
+}
+
+.japanese #viewControls {
+ font-size: 11px;
+}
+
+#viewControls .separator {
+width: 55px;
+height: 18px;
+ padding-left: 5px;
+}
+#viewControls .label {
+ margin-top:-1px;
+}
+
+#viewControls .viewSwitcher {
+height: 14px;
+
+ margin-right: 17px;
+float: left;
+cursor: pointer; /* hand-shaped cursor */
+cursor: hand; /* for IE 5.x */
+ font-weight: bold;
+}
+
+#viewControls .viewSwitcher:hover, #viewControls .sel-with-viewSwitcher, #viewControls .hover-with-viewSwitcher {
+color: #ffffff;
+}
+#viewControls .sel-with-viewSwitcher {
+ cursor: default;
+}
+#viewControls #grid {
+background: url('grid.png') center left no-repeat;
+ text-indent: 20px;
+
+}
+
+#viewControls #grid:hover,
+#viewControls #grid.sel {
+color: #ffffff;
+background: url('grid_active.png') center left no-repeat;
+
+}
+
+#viewControls #carousel {
+ text-indent: 22px;
+background: url('carousel.png') center left no-repeat;
+
+}
+
+#viewControls #carousel:hover,
+#viewControls #carousel.sel {
+background: url('carousel_active.png') center left no-repeat;
+
+}
+
+
+
+#viewControls #mosaic {
+
+background: url('mosaic.png') center left no-repeat;
+ text-indent: 20px;
+}
+
+#viewControls #mosaic:hover,
+#viewControls #mosaic.sel {
+background: url('mosaic_active.png') center left no-repeat;
+
+}
+
+#viewControls #slideshow {
+ text-indent: 16px;
+background: url('slideshow.png') center left no-repeat;
+float: left;
+ margin-right: 0px;
+}
+
+#viewControls #slideshow:hover,
+#viewControls #slideshow.sel {
+color: #ffffff;
+background: url('slideshow_active.png') center left no-repeat;
+
+}
+/************************ DETAIL VIEW **************************/
+
+#detailView {
+ margin: 0 auto;
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+ background-color: #000000;
+ display: none;
+}
+
+#detailView .iMovieVideo {
+ background-color: #000000 ! important;
+}
+
+.titleLabel {
+ color:#AAAAAA;
+ font-size:13px;
+ font-weight:bold;
+/* overflow:hidden;
+*/ position:relative;
+ margin:0px auto;
+ margin-top:16px;
+ text-align:center;
+ text-shadow:black 0px 0px 1px;
+ white-space:nowrap;
+ height:21px;
+ text-overflow: ellipsis;
+}
+
+.japanese .titleLabel {
+ font-size:12px;
+}
+
+.titleLabel:hover {
+/* color: #fff;*/
+}
+
+#detailView .overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+;
+
+/* filter
+
+: alpha(opacity=95);
+ opacity: 0.95;
+ -moz-opacity:0.95; */
+}
+
+#detailView .content {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+
+#detailView .iMovieVideo
+{
+ overflow-y: auto;
+ overflow-x: hidden;
+}
+
+.under-panel #detailView .content {
+ overflow: hidden;
+}
+
+#detailView .imageContainer {
+ text-align: center;
+/* margin: 69px 69px 0px 69px;*/
+ margin-top: 32px;
+ cursor: pointer;
+}
+
+
+#slideshowView .imageContainer {
+ margin: 0px 0px 0px 0px;
+ padding: 0px 0px;
+ overflow: hidden;
+}
+
+#slideshowView .reflectionContainer {
+ position: absolute;
+ max-height:50px;
+ overflow: hidden;
+}
+
+#slideshowView .reflection {
+ vertical-align: top;
+/* height: 20%;*/
+ width: 100%;
+ left:0px;
+ position: absolute;
+
+}
+
+#slideshowView .reflectionMask {
+ background: transparent url('reflection-black.png') repeat-x 0px bottom;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ display: block;
+ z-index: 100;
+ position: absolute;
+ vertical-align: top;
+ left:0px;
+ padding-bottom: 2px ;
+}
+
+
+.bg_white #slideshowView .reflectionMask {
+ background-image: url('reflection-white.png');
+}
+
+.bg_ltgrey #slideshowView .reflectionMask {
+ background-image: url('reflection-lightgrey.png');
+}
+
+
+.bg_dkgrey #slideshowView .reflectionMask {
+ background-image: url('reflections-darkgrey.png');
+}
+
+
+#slideshowView #slideshowHoverView {
+ height:58px;
+}
+
+
+/************************ HOVER VIEW **************************/
+
+#hoverView {
+ height: 58px;
+ position: absolute;
+ bottom: 30px;
+ width: 99%;
+ text-align: center;
+ z-index: 999;
+}
+
+#hoverView #hoverViewMenu {
+ margin: 0 auto;
+ position: relative;
+ width: 262px;
+ height: 58px;
+ width: 300px;
+ height: 60px;
+ background: url('hud_control/controlsbg.png') top left no-repeat;
+}
+
+#hoverView .download_detail_disabled {
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 9px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/download_disabled.png') top left no-repeat;
+}
+
+#hoverView .download_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 9px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/download.png') top left no-repeat;
+}
+
+#hoverView .download_detail:hover {
+ background: url('hud_control/download_over.png') top left no-repeat;
+}
+
+#hoverView .prev_detail_disabled {
+ position: absolute;
+ top: 0px;
+ top: 18px;
+ left: 82px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/prev_disabled.png') top left no-repeat;
+}
+
+#hoverView .prev_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 18px;
+ left: 82px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/prev.png') top left no-repeat;
+}
+
+#hoverView .prev_detail:hover {
+ background: url('hud_control/prev_over.png') top left no-repeat;
+}
+
+#hoverView .play_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 134px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/play.png') top left no-repeat;
+}
+
+#hoverView .play_detail:hover {
+ background: url('hud_control/play_over.png') top left no-repeat;
+}
+
+#hoverView .pause_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 134px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/pause.png') top left no-repeat;
+}
+
+#hoverView .pause_detail:hover {
+ background: url('hud_control/pause_over.png') top left no-repeat;
+}
+
+#hoverView .next_detail_disabled {
+ position: absolute;
+ top: 0px;
+ top: 18px;
+ left: 177px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/next_disabled.png') top left no-repeat;
+}
+
+#hoverView .next_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 18px;
+ left: 177px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/next.png') top left no-repeat;
+}
+
+#hoverView .next_detail:hover {
+ background: url('hud_control/next_over.png') top left no-repeat;
+}
+
+
+#hoverView #comment_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ left: 209px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/comment.png') top left no-repeat;
+ padding-top: 18px;
+ text-align: center;
+ font-size: 12px;
+ font-weight: bold;
+}
+
+.japanese #hoverView #comment_detail {
+ font-size: 11px;
+}
+
+#hoverView #comment_detail:hover {
+ background: url('hud_control/comment_over.png') top left no-repeat;
+}
+
+#hoverView .info_detail_selected {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 240px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/info_over.png') top left no-repeat;
+}
+
+#hoverView .info_detail {
+ cursor: pointer; /* hand-shaped cursor */
+ cursor: hand; /* for IE 5.x */
+ position: absolute;
+ top: 0px;
+ top: 10px;
+ left: 240px;
+ height: 58px;
+ width: 43px;
+ background: url('hud_control/info.png') top left no-repeat;
+}
+
+#hoverView .info_detail:hover {
+ background: url('hud_control/info_over.png') top left no-repeat;
+}
+
+
+/* ******************** Button Alts *************** */
+#backToAlbumLink {
+ left: 24px;
+ float: left;
+ position: absolute;
+ top: 13px;
+ white-space: nowrap;
+}
+
+#backToAlbumButton .outer{
+ min-width: 108px !important;
+}
+
+button.push {
+ background: transparent none repeat scroll 0%;
+ margin: 0px;
+ padding-right: 0px;
+ border: medium none;
+ height: 34px;
+ min-width: 80px;
+ outline-color: invert;
+ outline-style: none;
+ outline-width: medium;
+ padding-left: 20px;
+ vertical-align: baseline;
+}
+
+button.push .outer {
+ display: block;
+ padding: 0px 4px 0px 2px;
+ position: relative:
+ width: 100%;
+}
+
+button.large-with-push {
+ cursor: pointer ;
+ position: relative ;
+}
+
+button.large-with-push .label {
+ font-weight: bold;
+ line-height: 13px ;
+ height: 18px;
+ padding: 7px 25px 10px 20px;
+ margin-left: 6px;
+ text-indent: -14px;
+ background: transparent url('button_right.png') no-repeat scroll right -71px;
+ right: -6px;
+ color: #E0E0E0;
+ text-shadow: #1E1E1E 0px 0px 2px;
+}
+
+button.large-with-push .outer {
+ height: 34px;
+ padding-left: 2px;
+ margin-left: -3px;
+ background: transparent url('button_left.png') no-repeat scroll 0px -71px;
+
+}
+
+button.large-with-push:active .label,
+button.active-with-large-with-push .label{
+
+ color: #939393;
+ text-shadow: black 0px 0px 0px;
+ background: transparent url('button_right.png') no-repeat scroll right -106px ;
+}
+
+button.large-with-push:active img,
+button.active-with-large-with-push img {
+ opacity: .5;
+ filter: alpha(opacity=50);
+}
+
+
+button.large-with-push:active .outer,
+button.active-with-large-with-push .outer {
+ background: transparent url('button_left.png') no-repeat scroll left -106px;
+}
diff --git a/3.0/themes/pear4gallery3/icons/pear_logo_lrg.png b/3.0/themes/pear4gallery3/icons/pear_logo_lrg.png
new file mode 100644
index 00000000..9041a714
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/pear_logo_lrg.png differ
diff --git a/3.0/themes/pear4gallery3/icons/pear_logo_sml.png b/3.0/themes/pear4gallery3/icons/pear_logo_sml.png
new file mode 100644
index 00000000..d69401f9
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/pear_logo_sml.png differ
diff --git a/3.0/themes/pear4gallery3/icons/popup.gif b/3.0/themes/pear4gallery3/icons/popup.gif
new file mode 100644
index 00000000..fbb09ea0
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/popup.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/reflection-black.png b/3.0/themes/pear4gallery3/icons/reflection-black.png
new file mode 100644
index 00000000..5f9a7ccb
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/reflection-black.png differ
diff --git a/3.0/themes/pear4gallery3/icons/reflection-darkgrey.png b/3.0/themes/pear4gallery3/icons/reflection-darkgrey.png
new file mode 100644
index 00000000..662cb232
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/reflection-darkgrey.png differ
diff --git a/3.0/themes/pear4gallery3/icons/reflection-lightgrey.png b/3.0/themes/pear4gallery3/icons/reflection-lightgrey.png
new file mode 100644
index 00000000..89848422
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/reflection-lightgrey.png differ
diff --git a/3.0/themes/pear4gallery3/icons/reflection-white.png b/3.0/themes/pear4gallery3/icons/reflection-white.png
new file mode 100644
index 00000000..27e02aaf
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/reflection-white.png differ
diff --git a/3.0/themes/pear4gallery3/icons/rounded.png b/3.0/themes/pear4gallery3/icons/rounded.png
new file mode 100644
index 00000000..ce8e31d3
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/rounded.png differ
diff --git a/3.0/themes/pear4gallery3/icons/showsidebar.gif b/3.0/themes/pear4gallery3/icons/showsidebar.gif
new file mode 100644
index 00000000..b5fcd868
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/showsidebar.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/slider.png b/3.0/themes/pear4gallery3/icons/slider.png
new file mode 100644
index 00000000..ddb4995c
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/slider.png differ
diff --git a/3.0/themes/pear4gallery3/icons/slideshow.gif b/3.0/themes/pear4gallery3/icons/slideshow.gif
new file mode 100644
index 00000000..2738b9c8
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/slideshow.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/slideshow.png b/3.0/themes/pear4gallery3/icons/slideshow.png
new file mode 100644
index 00000000..54b04497
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/slideshow.png differ
diff --git a/3.0/themes/pear4gallery3/icons/slideshow_active.png b/3.0/themes/pear4gallery3/icons/slideshow_active.png
new file mode 100644
index 00000000..4aa7386c
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/slideshow_active.png differ
diff --git a/3.0/themes/pear4gallery3/icons/smaller.png b/3.0/themes/pear4gallery3/icons/smaller.png
new file mode 100644
index 00000000..c57cd27f
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/smaller.png differ
diff --git a/3.0/themes/pear4gallery3/icons/subscribe.png b/3.0/themes/pear4gallery3/icons/subscribe.png
new file mode 100644
index 00000000..470cca6e
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/subscribe.png differ
diff --git a/3.0/themes/pear4gallery3/icons/table_left.gif b/3.0/themes/pear4gallery3/icons/table_left.gif
new file mode 100644
index 00000000..fa3981cf
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/table_left.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/table_left_on.gif b/3.0/themes/pear4gallery3/icons/table_left_on.gif
new file mode 100644
index 00000000..9cd7c879
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/table_left_on.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/table_right.gif b/3.0/themes/pear4gallery3/icons/table_right.gif
new file mode 100644
index 00000000..cf4b804d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/table_right.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/table_right_on.gif b/3.0/themes/pear4gallery3/icons/table_right_on.gif
new file mode 100644
index 00000000..f508859e
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/table_right_on.gif differ
diff --git a/3.0/themes/pear4gallery3/icons/top_bar_bg.png b/3.0/themes/pear4gallery3/icons/top_bar_bg.png
new file mode 100644
index 00000000..a6bb0759
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/top_bar_bg.png differ
diff --git a/3.0/themes/pear4gallery3/icons/track_fill_left.png b/3.0/themes/pear4gallery3/icons/track_fill_left.png
new file mode 100644
index 00000000..2866db5c
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/track_fill_left.png differ
diff --git a/3.0/themes/pear4gallery3/icons/track_fill_right.png b/3.0/themes/pear4gallery3/icons/track_fill_right.png
new file mode 100644
index 00000000..c70af587
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/track_fill_right.png differ
diff --git a/3.0/themes/pear4gallery3/icons/upload.png b/3.0/themes/pear4gallery3/icons/upload.png
new file mode 100644
index 00000000..6331c692
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/upload.png differ
diff --git a/3.0/themes/pear4gallery3/icons/viewcomments.gif b/3.0/themes/pear4gallery3/icons/viewcomments.gif
new file mode 100644
index 00000000..fd3ca07d
Binary files /dev/null and b/3.0/themes/pear4gallery3/icons/viewcomments.gif differ
diff --git a/3.0/themes/pear4gallery3/images/avatar.jpg b/3.0/themes/pear4gallery3/images/avatar.jpg
new file mode 100644
index 00000000..acad9314
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/avatar.jpg differ
diff --git a/3.0/themes/pear4gallery3/images/ico-album.png b/3.0/themes/pear4gallery3/images/ico-album.png
new file mode 100644
index 00000000..affa1b84
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-album.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-denied-inactive.png b/3.0/themes/pear4gallery3/images/ico-denied-inactive.png
new file mode 100644
index 00000000..56db3ff5
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-denied-inactive.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-denied-passive.png b/3.0/themes/pear4gallery3/images/ico-denied-passive.png
new file mode 100644
index 00000000..1e992230
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-denied-passive.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-denied.png b/3.0/themes/pear4gallery3/images/ico-denied.png
new file mode 100644
index 00000000..08f24936
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-denied.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-error.png b/3.0/themes/pear4gallery3/images/ico-error.png
new file mode 100644
index 00000000..c37bd062
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-error.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-help.png b/3.0/themes/pear4gallery3/images/ico-help.png
new file mode 100644
index 00000000..5c870176
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-help.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-info.png b/3.0/themes/pear4gallery3/images/ico-info.png
new file mode 100644
index 00000000..12cd1aef
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-info.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-lock.png b/3.0/themes/pear4gallery3/images/ico-lock.png
new file mode 100644
index 00000000..2ebc4f6f
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-lock.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-print.png b/3.0/themes/pear4gallery3/images/ico-print.png
new file mode 100644
index 00000000..b82a8e1e
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-print.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-separator-rtl.gif b/3.0/themes/pear4gallery3/images/ico-separator-rtl.gif
new file mode 100644
index 00000000..d9061a46
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-separator-rtl.gif differ
diff --git a/3.0/themes/pear4gallery3/images/ico-separator.gif b/3.0/themes/pear4gallery3/images/ico-separator.gif
new file mode 100644
index 00000000..3de2d0d3
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-separator.gif differ
diff --git a/3.0/themes/pear4gallery3/images/ico-success-inactive.png b/3.0/themes/pear4gallery3/images/ico-success-inactive.png
new file mode 100644
index 00000000..74b2032f
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-success-inactive.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-success-passive.png b/3.0/themes/pear4gallery3/images/ico-success-passive.png
new file mode 100644
index 00000000..dc8d1ded
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-success-passive.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-success.png b/3.0/themes/pear4gallery3/images/ico-success.png
new file mode 100644
index 00000000..a9925a06
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-success.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-view-comments.png b/3.0/themes/pear4gallery3/images/ico-view-comments.png
new file mode 100644
index 00000000..e5d3630f
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-view-comments.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-view-fullsize.png b/3.0/themes/pear4gallery3/images/ico-view-fullsize.png
new file mode 100644
index 00000000..0be23e9b
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-view-fullsize.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-view-slideshow-rtl.png b/3.0/themes/pear4gallery3/images/ico-view-slideshow-rtl.png
new file mode 100644
index 00000000..5788b3c3
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-view-slideshow-rtl.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-view-slideshow.png b/3.0/themes/pear4gallery3/images/ico-view-slideshow.png
new file mode 100644
index 00000000..82f61f63
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-view-slideshow.png differ
diff --git a/3.0/themes/pear4gallery3/images/ico-warning.png b/3.0/themes/pear4gallery3/images/ico-warning.png
new file mode 100644
index 00000000..628cf2da
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/ico-warning.png differ
diff --git a/3.0/themes/pear4gallery3/images/loading-large.gif b/3.0/themes/pear4gallery3/images/loading-large.gif
new file mode 100644
index 00000000..cc70a7a8
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/loading-large.gif differ
diff --git a/3.0/themes/pear4gallery3/images/loading-small.gif b/3.0/themes/pear4gallery3/images/loading-small.gif
new file mode 100644
index 00000000..d0bce154
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/loading-small.gif differ
diff --git a/3.0/themes/pear4gallery3/images/select-photos-backg.png b/3.0/themes/pear4gallery3/images/select-photos-backg.png
new file mode 100644
index 00000000..81c2d616
Binary files /dev/null and b/3.0/themes/pear4gallery3/images/select-photos-backg.png differ
diff --git a/3.0/themes/pear4gallery3/js/imageflow.packed.js b/3.0/themes/pear4gallery3/js/imageflow.packed.js
new file mode 100644
index 00000000..dc3f1017
--- /dev/null
+++ b/3.0/themes/pear4gallery3/js/imageflow.packed.js
@@ -0,0 +1,38 @@
+/*
+Name: ImageFlow
+Version: 1.3.0 (March 9 2010)
+Author: Finn Rudolph
+Support: http://finnrudolph.de/ImageFlow
+
+License: ImageFlow is licensed under a Creative Commons
+ Attribution-Noncommercial 3.0 Unported License
+ (http://creativecommons.org/licenses/by-nc/3.0/).
+
+ You are free:
+ + to Share - to copy, distribute and transmit the work
+ + to Remix - to adapt the work
+
+ Under the following conditions:
+ + Attribution. You must attribute the work in the manner specified by the author or licensor
+ (but not in any way that suggests that they endorse you or your use of the work).
+ + Noncommercial. You may not use this work for commercial purposes.
+
+ + For any reuse or distribution, you must make clear to others the license terms of this work.
+ + Any of the above conditions can be waived if you get permission from the copyright holder.
+ + Nothing in this license impairs or restricts the author's moral rights.
+
+Credits: This script is based on Michael L. Perrys Cover flow in Javascript [1].
+ The reflections are generated server-sided by a slightly hacked version
+ of Richard Daveys easyreflections [2] written in PHP. The mouse wheel
+ support is an implementation of Adomas Paltanavicius JavaScript mouse
+ wheel code [3]. It also uses the domReadyEvent from Tanny O'Haley [4].
+
+ [1] http://www.adventuresinsoftware.com/blog/?p=104#comment-1981
+ [2] http://reflection.corephp.co.uk/v2.php
+ [3] http://adomas.org/javascript-mouse-wheel/
+ [4] http://tanny.ica.com/ICA/TKO/tkoblog.nsf/dx/domcontentloaded-for-browsers-part-v
+*/
+
+/* ImageFlow - compressed with http://dean.edwards.name/packer/ */
+eval(function(p,a,c,k,e,r){e=function(c){return(c
35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('v 4Z(){u.2v={3Q:50,2N:1.5a,2J:y,30:C,1a:y,3j:\'1E\',S:\'5u\',2h:1.0,J:4,33:\'\',2f:C,3a:0.49,36:1.0,2z:v(){B.3V=u.2i},1Y:y,1T:[10,8,6,4,2],2x:5t,2y:1d,3e:C,2M:C,3G:\'\',1N:0.5,31:y,3L:\'\',3u:0.6,2G:C,2X:\'e-5m\',1q:14,1y:y,34:5n,3k:y,3r:1,3D:C,3H:y,1g:4w};9 t=u;u.X=v(a){17(9 b 3T t.2v){u[b]=(a!==1t&&a[b]!==1t)?a[b]:t.2v[b]}9 c=B.R(t.S);7(c){c.A.1H=\'2g\';u.N=c;7(u.3N()){u.H=B.R(t.S+\'5j\');u.2j=B.R(t.S+\'4z\');u.1V=B.R(t.S+\'3X\');u.1B=B.R(t.S+\'4c\');u.1R=B.R(t.S+\'4f\');u.3x=B.R(t.S+\'4j\');u.3l=B.R(t.S+\'4s\');u.1L=B.R(t.S+\'5e\');u.1M=[];u.1w=0;u.E=0;u.1C=0;u.1D=0;u.2q=C;u.2s=C;u.T=y;9 d=u.N.3F;9 e=W.11(d/t.2N);B.R(t.S+\'2A\').A.3b=((e*0.5)-22)+\'M\';c.A.1c=e+\'M\';u.21()}}};u.3N=v(){9 a=t.D.U(\'12\',\'23\');9 b,2S,1l,15;9 c=t.N.F.1r;17(9 d=0;d1){9 i;17(i=0;i1){t.1e.X();t.I.X();t.K.X();t.2o.X();7(t.1y){t.P.X()}7(t.2G){t.1B.A.1H=\'2g\'}}}};u.2Y=v(){9 a=t.H.F.1r;9 i=0,20=0;9 b=Z;17(9 c=0;c(c.h/(t.1N+1))){c.1j=t.2x;c.26=t.2x}G{c.1j=t.2y;c.26=t.2y}7(t.2f===y){c.A.4O=\'4S\';c.A.1Z=\'4U\'}c.A.3s=t.3j;i++}}u.O=t.1M.1r;7(t.2f===y){c=t.H.F[t.1M[0]];u.3J=c.w*t.O;c.A.55=(t.Y/2)+(c.w/2)+\'M\';t.H.A.1c=c.h+\'M\';t.1V.A.1c=(t.1A-c.h)+\'M\'}7(t.2q){t.2q=y;t.E=t.3r-1;7(t.E<0){t.E=0}7(t.1a){t.E=t.E+t.J}2U=(t.1a)?(t.O-(t.J))-1:t.O-1;7(t.E>2U){t.E=2U}7(t.3D===y){t.1K(-t.E*t.1g)}7(t.3H){t.1K(5v)}}7(t.O>1){t.1J(t.E)}t.1K(t.1w)};u.1K=v(x){u.1w=x;u.1o=t.O;17(9 a=0;at.1D){b.A.1H=\'3S\';b.A.1Z=\'2H\'}G{9 z=(W.4I(4p+x*x)+1d)*t.36;9 d=x/z*t.1I+t.1I;b.A.1Z=\'4r\';9 e=(b.h/b.w*b.1j)/z*t.1I;9 f=0;1G(e>t.1A){1x y:f=b.1j/z*t.1I;13;1E:e=t.1A;f=b.w*e/b.h;13}9 g=(t.2u-e)+((e/(t.1N+1))*t.1N);b.A.2Z=d-(b.1j/2)/z*t.1I+\'M\';7(f&&e){b.A.1c=e+\'M\';b.A.1u=f+\'M\';b.A.5s=g+\'M\'}b.A.1H=\'2g\';1G(x<0){1x C:u.1o++;13;1E:u.1o=t.1o-1;13}1G(b.i==t.E){1x y:b.1k=v(){t.1J(u.i)};13;1E:u.1o=t.1o+1;7(b.2i!==\'\'){b.1k=t.2z}13}b.A.1o=t.1o}}G{7((c+t.1U)t.1D){b.A.1H=\'3S\'}G{b.A.1H=\'2g\';1G(b.i==t.E){1x y:b.1k=v(){t.1J(u.i)};13;1E:7(b.2i!==\'\'){b.1k=t.2z}13}}t.H.A.2R=(x-t.3J)+\'M\'}x+=t.1g}};u.1J=v(a){9 b,1v;7(t.1a){7(a+1===t.J){1v=t.O-t.J;b=-1v*t.1g;a=1v-1}7(a===(t.O-t.J)){1v=t.J-1;b=-1v*t.1g;a=1v+1}}9 x=-a*t.1g;u.1C=x;u.1D=x;u.E=a;9 c=t.H.F[a].1z(\'4v\');7(c===\'\'||t.30===y){c=\'&56;\'}t.2j.4e=c;7(t.I.T===y){7(t.1a){u.1b=((a-t.J)*t.1f)/(t.O-(t.J*2)-1)-t.I.2k}G{u.1b=(a*t.1f)/(t.O-1)-t.I.2k}t.1R.A.2R=(t.1b-t.1q)+\'M\'}7(t.1Y===C||t.2h!==t.2v.2h){t.D.27(t.H.F[a],t.1T[0]);t.H.F[a].1j=t.H.F[a].1j*t.2h;9 d=0;9 e=0;9 f=0;9 g=t.1T.1r;17(9 i=1;i<(t.J+1);i++){7((i+1)>g){d=t.1T[g-1]}G{d=t.1T[i]}e=a+i;f=a-i;7(e=0){t.D.27(t.H.F[f],d);t.H.F[f].1j=t.H.F[f].26}}}7(b){t.1K(b)}7(t.T===y){t.T=C;t.2E()}};u.2E=v(){1G(t.1Ct.1w+1){1x C:t.1K(t.1w+(t.1C-t.1w)/3);L.1n(t.2E,t.3Q);t.T=C;13;1E:t.T=y;13}};u.2l=v(a){7(t.1y){t.P.2c()}t.1J(a)};u.P={2n:1,X:v(){(t.3k)?t.P.1p():t.P.1h()},2c:v(){t.D.2L(t.N,\'3m\',t.P.2c);t.P.1h()},3o:v(){t.D.16(t.N,\'3m\',t.P.2c)},1p:v(){t.D.25(t.1L,\'1y 43\');t.1L.1k=v(){t.P.1h()};t.P.3t=L.47(t.P.2P,t.34);L.1n(t.P.3o,1d)},1h:v(){t.D.25(t.1L,\'1y 4b\');t.1L.1k=v(){t.P.1p()};L.4d(t.P.3t)},2P:v(){9 a=t.E+t.P.2n;9 b=y;7(a===t.O){t.P.2n=-1;b=C}7(a<0){t.P.2n=1;b=C}(b)?t.P.2P():t.1J(a)}};u.1e={X:v(){7(L.1m){t.N.1m(\'4h\',t.1e.1W,y)}t.D.16(t.N,\'4k\',t.1e.1W)},1W:v(a){9 b=0;7(!a){a=L.1F}7(a.3z){b=a.3z/4q}G 7(a.3B){b=-a.3B/3}7(b){t.1e.19(b)}t.D.2p(a)},19:v(a){9 b=y;9 c=0;7(a>0){7(t.E>=1){c=t.E-1;b=C}}G{7(t.E<(t.O-1)){c=t.E+1;b=C}}7(b){t.2l(c)}}};u.I={1P:Z,2T:0,2e:0,2k:0,T:y,X:v(){t.D.16(t.N,\'4B\',t.I.3K);t.D.16(t.N,\'3M\',t.I.1h);t.D.16(B,\'3M\',t.I.1h);t.N.4H=v(){9 a=C;7(t.I.T){a=y}V a}},1p:v(o){t.I.1P=o;t.I.2T=t.I.2e-o.3I+t.1b},1h:v(){t.I.1P=Z;t.I.T=y},3K:v(e){9 a=0;7(!e){e=L.1F}7(e.2D){a=e.2D}G 7(e.3P){a=e.3P+B.2K.3d+B.4Q.3d}t.I.2e=a;7(t.I.1P!==Z){9 b=(t.I.2e-t.I.2T)+t.1q;7(b<(-t.1b)){b=-t.1b}7(b>(t.1f-t.1b)){b=t.1f-t.1b}9 c,E;7(t.1a){c=(b+t.1b)/(t.1f/(t.O-(t.J*2)-1));E=W.11(c)+t.J}G{c=(b+t.1b)/(t.1f/(t.O-1));E=W.11(c)}t.I.2k=b;t.I.1P.A.2Z=b+\'M\';7(t.E!==E){t.2l(E)}t.I.T=C}}};u.K={x:0,2B:0,2r:0,T:y,2F:C,X:v(){t.D.16(t.1V,\'4Y\',t.K.1p);t.D.16(B,\'51\',t.K.19);t.D.16(B,\'53\',t.K.1h)},3f:v(e){9 a=y;7(e.28){9 b=e.28[0].1C;7(b===t.1V||b===t.1R||b===t.1B){a=C}}V a},2C:v(e){9 x=0;7(e.28){x=e.28[0].2D}V x},1p:v(e){t.K.2B=t.K.2C(e);t.K.T=C;t.D.2p(e)},3w:v(){9 a=y;7(t.K.T){a=C}V a},19:v(e){7(t.K.3w&&t.K.3f(e)){9 a=(t.1a)?(t.O-(t.J*2)-1):(t.O-1);7(t.K.2F){t.K.2r=(a-t.E)*(t.Y/a);t.K.2F=y}9 b=-(t.K.2C(e)-t.K.2B-t.K.2r);7(b<0){b=0}7(b>t.Y){b=t.Y}t.K.x=b;9 c=W.11(b/(t.Y/a));c=a-c;7(t.E!==c){7(t.1a){c=c+t.J}t.2l(c)}t.D.2p(e)}},1h:v(){t.K.2r=t.K.x;t.K.T=y}};u.2o={X:v(){B.5d=v(a){t.2o.19(a)}},19:v(a){9 b=t.2o.1W(a);1G(b){1x 39:t.1e.19(-1);13;1x 37:t.1e.19(1);13}},1W:v(a){a=a||L.1F;V a.5h}};u.D={16:v(a,b,c){7(a.1m){a.1m(b,c,y)}G 7(a.3g){a["e"+b+c]=c;a[b+c]=v(){a["e"+b+c](L.1F)};a.3g("3y"+b,a[b+c])}},2L:v(a,b,c){7(a.32){a.32(b,c,y)}G 7(a.3A){7(a[b+c]===1t){5r(\'D.2L » 4G 3i 3C 1F 48 1t - 4K 4l 4M 42 3i 3C 4N 4n 1F?\')}a.3A(\'3y\'+b,a[b+c]);a[b+c]=Z;a[\'e\'+b+c]=Z}},27:v(a,b){7(t.1Y===C){a.A.1Y=b/10;a.A.4P=\'4a(1Y=\'+b*10+\')\'}},U:v(a,b,c){9 d=B.4R(a);d.2d(\'38\',t.S+\'4T\'+b);7(c!==1t){b+=\' \'+c}t.D.25(d,b);V d},25:v(a,b){7(a){a.2d(\'3Z\',b);a.2d(\'4V\',b)}},2p:v(e){7(e.3E){e.3E()}G{e.4X=y}V y},3c:v(){9 a=L.2t;7(1X L.2t!=\'v\'){L.2t=v(){t.2m()}}G{L.2t=v(){7(a){a()}t.2m()}}}}}9 1i={2Q:"1i",1S:{},1s:1,1Q:y,2O:Z,3n:v(a){7(!a.$$1s){a.$$1s=u.1s++;7(u.1Q){a()}u.1S[a.$$1s]=a}},58:v(a){7(a.$$1s){4x u.1S[a.$$1s]}},18:v(){7(u.1Q){V}u.1Q=C;17(9 i 3T u.1S){u.1S[i]()}},2w:v(){7(u.1Q){V}7(/5c|4y/i.3O(4g.5f)){7(/4A|2I/.3O(B.3p)){u.18()}G{1n(u.2Q+".2w()",1d)}}G 7(B.R("2V")){V C}7(1X u.2O==="v"){7(1X B.2W!==\'1t\'&&(B.2W(\'2K\')[0]!==Z||B.2K!==Z)){7(u.2O()){u.18()}G{1n(u.2Q+".2w()",4C)}}}V C},X:v(){7(B.1m){B.1m("5k",v(){1i.18()},y)}1n("1i.2w()",1d);v 18(){1i.18()}7(1X 16!=="1t"){16(L,"3R",18)}G 7(B.1m){B.1m("3R",18,y)}G 7(1X L.2a==="v"){9 a=L.2a;L.2a=v(){1i.18();a()}}G{L.2a=18}/*@4E@7(@5o||@3Y)B.44("<3U 38=2V 54 1l=\\"//:\\"><\\/3U>");9 b=B.R("2V");b.59=v(){7(u.3p=="2I"){1i.18()}};@5b@*/}};9 5l=v(a){1i.3n(a)};1i.X();',62,342,'|||||||if||var|||||||||||||||||||||this|function|||false||style|document|true|Helper|imageID|childNodes|else|imagesDiv|MouseDrag|imageFocusMax|Touch|window|px|ImageFlowDiv|max|Slideshow|appendChild|getElementById|ImageFlowID|busy|createDocumentElement|return|Math|init|imagesDivWidth|null||round|div|break||imageNode|addEvent|for|run|handle|circular|newSliderX|height|100|MouseWheel|scrollbarWidth|xStep|stop|domReadyEvent|pc|onclick|src|addEventListener|setTimeout|zIndex|start|sliderWidth|length|domReadyID|undefined|width|clonedImageID|current|case|slideshow|getAttribute|maxHeight|scrollbarDiv|target|memTarget|default|event|switch|visibility|size|glideTo|moveTo|buttonSlideshow|indexArray|reflectionP|cloneNode|object|bDone|sliderDiv|events|opacityArray|maxFocus|navigationDiv|get|typeof|opacity|display|completed|loadingProgress||images|nodeType|setClassName|pcMem|setOpacity|touches|nodeName|onload|IMG|interrupt|setAttribute|mouseX|imageScaling|visible|imageFocusM|url|captionDiv|newX|glideOnEvent|refresh|direction|Key|suppressBrowserDefault|firstRefresh|stopX|firstCheck|onresize|imagesDivHeight|defaults|schedule|percentLandscape|percentOther|onClick|_loading_txt|startX|getX|pageX|animate|first|slider|none|complete|buttons|body|removeEvent|reflections|aspectRatio|DOMContentLoadedCustom|slide|name|marginLeft|version|objectX|maxId|__ie_onload|getElementsByTagName|sliderCursor|loadingStatus|left|captions|reflectionPNG|removeEventListener|imagePath|slideshowSpeed|button|imagesM||id||imagesHeight|paddingTop|addResizeEvent|scrollLeft|preloadImages|isOnNavigationDiv|attachEvent|createTextNode|to|imageCursor|slideshowAutoplay|buttonPreviousDiv|click|add|addInterruptEvent|readyState|02|startID|cursor|action|scrollbarP|loading|isBusy|buttonNextDiv|on|wheelDelta|detachEvent|detail|detach|glideToStartID|preventDefault|offsetWidth|reflectionGET|startAnimation|offsetLeft|totalImagesWidth|drag|reflectPath|mouseup|createStructure|test|clientX|animationSpeed|load|hidden|in|script|location|reflect|_navigation|_win64|class||next|trying|pause|write|php|navigation|setInterval|is|67|alpha|play|_scrollbar|clearInterval|innerHTML|_slider|navigator|DOMMouseScroll|firstChild|_next|mousewheel|you|marginTop|unattached|loading_bar|10000|120|block|_previous|previous|onmousedown|alt|150|delete|WebKit|_caption|loaded|mousemove|250|longdesc|cc_on|xPosition|Pointer|onselectstart|sqrt|caption|perhaps|_loading|are|an|position|filter|documentElement|createElement|relative|_|inline|className|1000|returnValue|touchstart|ImageFlow||touchmove|loading_txt|touchend|defer|paddingLeft|nbsp|scrollbar|remove|onreadystatechange|964|end|KHTML|onkeydown|_slideshow|userAgent|_loading_bar|keyCode|replaceChild|_images|DOMContentLoaded|domReady|resize|1500|_win32|img|removeChild|alert|top|118|imageflow|5000'.split('|'),0,{}));
+
diff --git a/3.0/themes/pear4gallery3/js/jquery-ui-1.7.3.custom.min.js b/3.0/themes/pear4gallery3/js/jquery-ui-1.7.3.custom.min.js
new file mode 100644
index 00000000..d33ad5be
--- /dev/null
+++ b/3.0/themes/pear4gallery3/js/jquery-ui-1.7.3.custom.min.js
@@ -0,0 +1,20 @@
+/*
+ * jQuery UI 1.7.3
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI
+ */
jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.3",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(j,k){return this.each(function(){if(!k){if(!j||c.filter(j,[this]).length){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")})}}return i.call(c(this),j,k)})},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/*
+ * jQuery UI Slider 1.7.3
+ *
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ * ui.core.js
+ */
(function(a){a.widget("ui.slider",a.extend({},a.ui.mouse,{_init:function(){var b=this,c=this.options;this._keySliding=false;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");this.range=a([]);if(c.range){if(c.range===true){this.range=a("
");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("
")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a(' ').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length ').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(bthis._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(cthis._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.3",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;
\ No newline at end of file
diff --git a/3.0/themes/pear4gallery3/js/jquery.parsequery.js b/3.0/themes/pear4gallery3/js/jquery.parsequery.js
new file mode 100644
index 00000000..b54d8522
--- /dev/null
+++ b/3.0/themes/pear4gallery3/js/jquery.parsequery.js
@@ -0,0 +1,19 @@
+/**
+ * A simple querystring parser.
+ * Example usage: var q = $.parseQuery(); q.fooreturns "bar" if query contains "?foo=bar"; multiple values are added to an array.
+ * Values are unescaped by default and plus signs replaced with spaces, or an alternate processing function can be passed in the params object .
+ * http://actingthemaggot.com/jquery
+ *
+ * Copyright (c) 2008 Michael Manning (http://actingthemaggot.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ **/
+jQuery.parseQuery = function(qs,options) {
+ var q = (typeof qs === 'string'?qs:window.location.search), o = {'f':function(v){return unescape(v).replace(/\+/g,' ');}}, options = (typeof qs === 'object' && typeof options === 'undefined')?qs:options, o = jQuery.extend({}, o, options), params = {};
+ jQuery.each(q.match(/^\??(.*)$/)[1].split('&'),function(i,p){
+ p = p.split('=');
+ p[1] = o.f(p[1]);
+ params[p[0]] = params[p[0]]?((params[p[0]] instanceof Array)?(params[p[0]].push(p[1]),params[p[0]]):[params[p[0]],p[1]]):p[1];
+ });
+ return params;
+}
diff --git a/3.0/themes/pear4gallery3/js/pear.js b/3.0/themes/pear4gallery3/js/pear.js
new file mode 100644
index 00000000..8f5ace87
--- /dev/null
+++ b/3.0/themes/pear4gallery3/js/pear.js
@@ -0,0 +1,468 @@
+var skimimg = 0;
+var hash="";
+var bgcolor="black";
+var detailViewMode=false;
+var savedHeight = 0;
+var savedWidth = 0;
+
+$(window).resize(function (e) {
+ if (window.innerHeight == savedHeight &&
+ window.innerWidth == savedWidth) { e.stop(); }
+ savedHeight = window.innerHeight;
+ savedWidth = window.innerWidth;
+ mosaicResize();
+});
+
+function swatchSkin(intSkin){
+ setCookie('swatchSkin',intSkin,1);
+ $('#black').removeClass().addClass("swatch");
+ $('#dkgrey').removeClass().addClass("swatch");
+ $('#ltgrey').removeClass().addClass("swatch");
+ $('#white').removeClass().addClass("swatch");
+ switch(intSkin) {
+ // dkgrey
+ case 'dkgrey' :
+ case 1 :
+ $('div.gallery-thumb-round').css('backgroundPosition' , "-200px 0px");
+ $('#mosaicTable').css('backgroundColor' , "#262626");
+ $('p.giTitle').css("color", "#a9a9a9");
+ $("#dkgrey").addClass("dkgrey sel dkgrey-with-sel-with-swatch");
+ bgcolor="dkgrey";
+ break
+ // ltgrey
+ case 'ltgrey' :
+ case 2 :
+ $('div.gallery-thumb-round').css('backgroundPosition' , "-400px 0px");
+ $('#mosaicTable').css('backgroundColor' , "#d9d9d9");
+ $('p.giTitle').css("color", "#333333");
+ $("#ltgrey").addClass("ltgrey sel ltgrey-with-sel-with-swatch");
+ bgcolor="ltgrey";
+ break;
+ // white
+ case 'white' :
+ case 3 :
+ $('div.gallery-thumb-round').css('backgroundPosition' , "-600px 0px");
+ $('#mosaicTable').css('backgroundColor' , "#ffffff");
+ $('p.giTitle').css("color", "#444444");
+ $("#white").addClass("white sel white-with-sel-with-swatch");
+ bgcolor="white";
+ break;
+ // Black
+ case 'black' :
+ case 0 :
+ default:
+ $('div.gallery-thumb-round').css('backgroundPosition' , "0px 0px");
+ $('#mosaicTable').css('backgroundColor' , "#000");
+ $('p.giTitle').css("color", "#a3a3a3");
+ $("#black").addClass("black sel black-with-sel-with-swatch");
+ bgcolor="black";
+ break;
+ }
+ updateHash();
+}
+
+function scaleIt(v,sliding){
+ //if(maxSize<100)maxSize=150;
+
+ // Remap the 0-1 scale to fit the desired range
+ //v=.26+(v*(1.0-.26));
+ size = (mosaicView) ? v/2 : v;
+
+ toggleReflex(true);
+ $(".p-photo").each(function (i) {
+ $(this).attr({height: size+'px',width: size + 'px'});
+ $(this).css({height: size+'px',width: size+'px'});});
+ if(!mosaicView && !sliding)
+ toggleReflex(false);
+}
+function setCookie(c_name,value,expiredays)
+{
+ var exdate=new Date();
+ exdate.setDate(exdate.getDate()+expiredays);
+ document.cookie=c_name+ "=" +escape(value)+
+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
+}
+
+function getCookie(c_name)
+{
+ if (document.cookie.length>0)
+ {
+ c_start=document.cookie.indexOf(c_name + "=");
+ if (c_start!=-1)
+ {
+ c_start=c_start + c_name.length+1;
+ c_end=document.cookie.indexOf(";",c_start);
+ if (c_end==-1) c_end=document.cookie.length;
+ return unescape(document.cookie.substring(c_start,c_end));
+ }
+ }
+ return "";
+}
+
+function checkCookie()
+{
+ var co=getCookie('slider');
+ if (co!=null && co!="")
+ {
+ $('#imgSlider').slider("value", co);
+ }
+ co=getCookie('swatchSkin');
+ if (co!=null && co!="")
+ {
+ swatchSkin(co);
+ }
+ else
+ {swatchSkin('black');}
+}
+var iRatio = iWidth = iHeight=0;
+//Set a updating timer so users can't update before the image has appeard..
+function swatchImg(imageId)
+{
+ if( imageId < 0 || imageId >= slideshowImages.length) return;
+ currentImg=imageId;
+
+ iWidth=parseFloat(slideshowImages[imageId][2].replace(/,/gi, "."));
+ iHeight=parseFloat(slideshowImages[imageId][3].replace(/,/gi, "."));
+ iRatio=iWidth/iHeight;
+ if(isNaN(iRatio)) iRatio=1.3333;
+
+ if( mosaicView )
+ {
+ $('#mosaicDetail').hide();
+ $('#imageTitle').html(""+slideshowImages[imageId][4]+" ");
+
+ $('#mosaicImg').attr('src', slideshowImages[imageId][0]);
+ $('#mosaicImg').css('cursor', "pointer");
+ $('#mosaicDetail').show("slow");
+ }
+ mosaicResize();
+
+ /* Set controls for hover view. */
+ (currentImg==0) ? $('#prev_detail').addClass('prev_detail_disabled') : $('#prev_detail').removeClass('prev_detail_disabled');
+ (currentImg!=0) ? $('#prev_detail').addClass('prev_detail') : $('#prev_detail').removeClass('prev_detail');
+ (currentImg==slideshowImages.length-1) ? $('#next_detail').addClass('next_detail_disabled') : $('#next_detail').removeClass('next_detail_disabled');
+ (currentImg!=slideshowImages.length-1) ? $('#next_detail').addClass('next_detail') : $('#next_detail').removeClass('next_detail');
+ /* Update image and title in focus view */
+ $('#img_detail').attr('src', slideshowImages[currentImg][0]);
+ $('#imageTitleLabel').html(""+slideshowImages[imageId][4]+" ");
+ if( detailViewMode )
+ {
+ //Image count.
+ $.get(slideshowImages[currentImg][6]);
+ }
+ updateHash();
+ $('#info_detail').attr('href', slideshowImages[currentImg][1]);
+}
+
+function updateHash()
+{
+ viewMode = detailViewMode ? "detail" : (mosaicView ? "mosaic" : "grid");
+ hash = "#img=" + currentImg + "&viewMode=" + viewMode + "&bgcolor=" + bgcolor;
+ window.location.hash = hash;
+}
+function getAlbumHash(img)
+{
+ viewMode = detailViewMode ? "detail" : (mosaicView ? "mosaic" : "grid");
+ return "#img=" + img + "&viewMode=" + viewMode + "&bgcolor=" + bgcolor;
+}
+
+var currentImg=0;
+var mosaicView=false;
+
+function mosaicResize()
+{
+ if($('#mosaicGridContainer').length == 0) return; //no element found
+ var myWidth = 0, myHeight = 0;
+ if( typeof( window.innerWidth ) == 'number' ) {
+ //Non-IE
+ myWidth = window.innerWidth;
+ myHeight = window.innerHeight;
+ } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
+ //IE 6+ in 'standards compliant mode'
+ myWidth = document.documentElement.clientWidth;
+ myHeight = document.documentElement.clientHeight;
+ } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
+ //IE 4 compatible
+ myWidth = document.body.clientWidth;
+ myHeight = document.body.clientHeight;
+ }
+ if($('#pearImageFlow').length != 0)
+ $('#pearImageFlow').css({'height' : (myHeight-87)+'px', 'width': myWidth+'px', 'minHeight': ((myHeight-70)*0.9)+'px'});
+ if($('#imageflow').length != 0)
+ $('#imageflow').css({'height': (myHeight-53)+'px', 'width': (((myWidth*0.5)<(myHeight-53)) ? myWidth : ((myHeight-65)*2)) +'px'});
+ $('#detailImageView').css({'height': myHeight-165+"px"});
+ (iRatio>(myWidth/(myHeight-165))) ? $('#img_detail').css({'height': myWidth/iRatio+"px",'width': myWidth+"px"}) : $('#img_detail').css({'height': myHeight-165+"px",'width': (myHeight-165)*iRatio+"px"});
+ if(iHeight<(myHeight-165)&&iWidth(myWidth/myHeight)) ? $('#mosaicImg').attr({height: myWidth/iRatio,width: myWidth}) : $('#mosaicImg').attr({height: myHeight,width: myHeight*iRatio});
+ if(iHeight slideshowImages.length)
+ {
+ id = 0;
+ }
+ swatchImg(id);
+ slideShow = setTimeout("slideShowUpdate("+ (id+1) +")", 1000);
+}
+function togglePlayPause()
+{
+ if(slideShow == null)//We are paused
+ {
+ $('#play_detail').hide();
+ $('#pause_detail').show();
+ slideShow = setTimeout("slideShowUpdate("+ (slideShowId+1) +")", 1000);
+ }
+ else //We are playing
+ {
+ $('#pause_detail').hide();
+ $('#play_detail').show();
+ clearTimeout(slideShow);
+ slideShow=null;
+ }
+}
+function focusImage(id, redirected)
+{
+ currentImg=id;
+ $('#imageTitleLabel').html(""+slideshowImages[id][4]+" ");
+ $('#play_detail').hide();
+ $('#pause_detail').hide();
+ swatchImg(id);
+ $('#detailView').fadeIn('slow');
+ hideHoverV = setTimeout("hideHoverView()",3000);
+ detailViewMode=true;
+ updateHash();
+ //Image count.
+ if(!redirected)
+ $.get(slideshowImages[currentImg][6]);
+ $('#info_detail').attr('href', slideshowImages[currentImg][1]);
+}
+var pearCarousel;
+function startImageFlow()
+{
+ $('#mosaicTable').hide();
+
+ $('#pearImageFlow').show();
+
+ toggleReflex(true);
+
+ for (var i = 0; i < slideshowImages.length; i++) {
+ var img = ''+$('#mosaicGridContainer img').eq(i).attr('alt')+'"
';
+ var img = ' ';
+ console.log(img);
+ $('#pearImageFlow').append(img);
+ }
+ if(!pearCarousel){
+ pearCarousel = new ImageFlow();
+ pearCarousel.init({ImageFlowID: 'pearImageFlow', aspectRatio: 2.4, imagesHeight: 0.6, opacity: true, reflections: false, startID: currentImg, onClick: function() {focusImage($(this).attr('longdesc'));}, startAnimation: true, xStep: 200, imageFocusM: 1.7, imageFocusMax: 4, opacityArray: [10, 9, 6, 2], percentOther: 130, captions: false, slider: false});
+ }
+/*
+ current=(currentImg)*-xstep;
+ caption_id=currentImg;
+ refresh(true);
+
+ iShow(conf_images);
+ iShow(conf_scrollbar);
+ initMouseWheel();
+ initMouseDrag();
+ mosaicResize();
+
+ moveTo(current);
+ glideTo(current, caption_id);
+*/
+ switchMode('carousel');
+}
+function setKeys()
+{
+ /* Fixes the back button issue */
+/* window.onunload = function()
+ {
+ document = null;
+ }
+*/ $(document).keydown(function(e)
+ {
+ var charCode = (e.keyCode ? e.keyCode: e.which);
+ switch (charCode)
+ {
+ case 32: /* Space */
+ if( slideShowMode) togglePlayPause();
+ case 39: /* Right arrow key */
+ case 78: /* N */
+ swatchImg(currentImg+1);
+ // if($('imageflow')) handle(-1);
+ break;
+ case 80: /* P */
+ case 37: /* Left arrow key */
+ swatchImg(currentImg-1);
+ // if($('imageflow')) handle(1);
+ break;
+ }
+ });
+}
+function showHoverView(){
+ if(hideHoverV != null) clearTimeout(hideHoverV);
+ $('#hoverView').show();
+ hideHoverV = setTimeout("hideHoverView()",3000);
+}
+function hideHoverView(){
+ if(!hovering) $('#hoverView').fadeOut();
+ hideHoverV = null;
+}
+var hideHoverV=null;
+var hovering=false;
+function switchMode(mode){
+ $('#mosaic,#grid,#carousel').removeClass("sel sel-with-viewSwitcher");
+ $('#'+mode).addClass("sel sel-with-viewSwitcher");
+}
+
+function preFetch()
+{
+/* for (var i = 0; i < slideshowImages.length; i++) {
+ var tempImage = new Element('img', {'src': slideshowImages[i][0]});
+ }*/
+}
+
+function toggleReflex(hide)
+{
+ if(hide) {
+ // $$('.Fer').each(function(s) { cvi_reflex.remove(s); });
+ $('mosaicGridContainer').select('img[class="Fer"]').each(function(s,index){ Event.observe(s, 'click', function(){ mosaicView ? swatchImg(index) : focusImage(index) ;}); });
+ }
+ else {
+ // $$('.Fer').each(function(s) { cvi_reflex.add(s, {height: 20, distance: 0 }); });
+ $('mosaicGridContainer').select('canvas[class="Fer"]').each(function(s,index){ Event.observe(s, 'click', function(){ mosaicView ? swatchImg(index) : focusImage(index) ;}); });
+ }
+}
+
+function hideDetailView()
+{
+ $('#detailView').hide();
+ slideShowMode=detailViewMode=false;
+ if(slideShow!=null)
+ clearTimeout(slideShow);
+ slideShow=null;
+ updateHash();
+}
diff --git a/3.0/themes/pear4gallery3/js/ui.init.js b/3.0/themes/pear4gallery3/js/ui.init.js
new file mode 100644
index 00000000..2c67bf3a
--- /dev/null
+++ b/3.0/themes/pear4gallery3/js/ui.init.js
@@ -0,0 +1,131 @@
+/**
+ * Initialize jQuery UI and Gallery Plugins
+ */
+
+$(document).ready(function() {
+
+ // Initialize Superfish menus (hidden, then shown to address IE issue)
+ $("#g-site-menu .g-menu").hide().addClass("sf-menu");
+ $("#g-site-menu .g-menu").superfish({
+ delay: 500,
+ animation: {
+ opacity:'show',
+ height:'show'
+ },
+ pathClass: "g-selected",
+ speed: 'fast'
+ }).show();
+
+ // Initialize status message effects
+ $("#g-action-status li").gallery_show_message();
+
+ // Initialize dialogs
+ $(".g-dialog-link").gallery_dialog();
+
+ // Initialize short forms
+ $(".g-short-form").gallery_short_form();
+
+ // Apply jQuery UI icon, hover, and rounded corner styles
+ $("input[type=submit]:not(.g-short-form input)").addClass("ui-state-default ui-corner-all");
+ if ($("#g-view-menu").length) {
+ $("#g-view-menu ul").removeClass("g-menu").removeClass("sf-menu");
+ $("#g-view-menu a").addClass("ui-icon");
+ }
+
+ // Apply jQuery UI icon and hover styles to context menus
+ if ($(".g-context-menu").length) {
+ $(".g-context-menu li").addClass("ui-state-default");
+ $(".g-context-menu a").addClass("g-button ui-icon-left");
+ $(".g-context-menu a").prepend(" ");
+ $(".g-context-menu a span").each(function() {
+ var iconClass = $(this).parent().attr("class").match(/ui-icon-.[^\s]+/).toString();
+ $(this).addClass(iconClass);
+ });
+ }
+
+ // Remove titles for menu options since we're displaying that text anyway
+ $(".sf-menu a, .sf-menu li").removeAttr("title");
+
+ // Album and search results views
+ if ($("#g-album-grid").length) {
+ // Set equal height for album items and vertically align thumbnails/metadata
+ $('.g-item').equal_heights().gallery_valign();
+
+ // Initialize thumbnail hover effect
+ $(".g-item").hover(
+ function() {
+ // Insert a placeholder to hold the item's position in the grid
+ var placeHolder = $(this).clone().attr("id", "g-place-holder");
+ $(this).after($(placeHolder));
+ // Style and position the hover item
+ var position = $(this).position();
+ $(this).css("top", position.top).css("left", position.left);
+ $(this).addClass("g-hover-item");
+ // Initialize the contextual menu
+ $(this).gallery_context_menu();
+ // Set the hover item's height
+ $(this).height("auto");
+ var context_menu = $(this).find(".g-context-menu");
+ var adj_height = $(this).height() + context_menu.height();
+ if ($(this).next().height() > $(this).height()) {
+ $(this).height($(this).next().height());
+ } else if ($(this).prev().height() > $(this).height()) {
+ $(this).height($(this).prev().height());
+ } else {
+ $(this).height(adj_height);
+ }
+ },
+ function() {
+ // Reset item height and position
+ if ($(this).next().height()) {
+ var sib_height = $(this).next().height();
+ } else {
+ var sib_height = $(this).prev().height();
+ }
+ if ($.browser.msie && $.browser.version >= 8) {
+ sib_height = sib_height + 1;
+ }
+ $(this).css("height", sib_height);
+ $(this).css("position", "relative");
+ $(this).css("top", 0).css("left", 0);
+ // Remove the placeholder and hover class from the item
+ $(this).removeClass("g-hover-item");
+ $(this).gallery_valign();
+ $("#g-place-holder").remove();
+ }
+ );
+
+ // Realign any thumbnails that change so that when we rotate a thumb it stays centered.
+ $(".g-item").bind("gallery.change", function() {
+ $(".g-item").each(function() {
+ $(this).height($(this).find("img").height() + 2);
+ });
+ $(".g-item").equal_heights().gallery_valign();
+ });
+ }
+
+ // Photo/Item item view
+ if ($("#g-photo,#g-movie").length) {
+ // Ensure the resized image fits within its container
+ $("#g-photo,#g-movie").gallery_fit_photo();
+
+ // Initialize context menus
+ $("#g-photo,#g-movie").hover(function(){
+ $(this).gallery_context_menu();
+ });
+
+ // Add scroll effect for links to named anchors
+ $.localScroll({
+ queue: true,
+ duration: 1000,
+ hash: true
+ });
+
+ $(this).find(".g-dialog-link").gallery_dialog();
+ $(this).find(".g-ajax-link").gallery_ajax();
+ }
+
+ // Initialize button hover effect
+ $.fn.gallery_hover_init();
+
+});
diff --git a/3.0/themes/pear4gallery3/theme.info b/3.0/themes/pear4gallery3/theme.info
new file mode 100644
index 00000000..ff825e84
--- /dev/null
+++ b/3.0/themes/pear4gallery3/theme.info
@@ -0,0 +1,10 @@
+name = ".Pear Theme"
+description = "A theme with the intention to mimic Apples mobile me gallery."
+version = 2.2
+author = "Fredrik Erlandsson "
+site = 1
+admin = 0
+author_name = "Fredrik Erlandsson"
+author_url = "mailto:fredrik.e@gmail.com"
+info_url = "http://codex.gallery2.org/Gallery3:Themes:pear4gallery3"
+discuss_url = "http://gallery.menalto.com/node/102280"
diff --git a/3.0/themes/pear4gallery3/thumbnail.png b/3.0/themes/pear4gallery3/thumbnail.png
new file mode 100644
index 00000000..061c65f3
Binary files /dev/null and b/3.0/themes/pear4gallery3/thumbnail.png differ
diff --git a/3.0/themes/pear4gallery3/views/album.html.php b/3.0/themes/pear4gallery3/views/album.html.php
new file mode 100644
index 00000000..1b2920e5
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/album.html.php
@@ -0,0 +1,90 @@
+
+ /* Placeholder for infromation in mosaic view. */ ?>
+
+
+
+
+
+
+
+
+ if (count($children)): ?>
+ foreach ($children as $i => $child): ?>
+ $item_class = "g-photo"; ?>
+ if ($child->is_album()): ?>
+ $item_class = "g-album\" onclick=\"window.location='".$child->url()."/'+getAlbumHash(skimimg);"; ?>
+ endif ?>
+ $img_class = "g-thumbnail"; ?>
+ if ($child->is_photo()): ?>
+ $img_class = "g-thumbnail p-photo"; ?>
+ endif ?>
+
+ = $theme->thumb_top($child) ?>
+ if ($child->is_album()): ?>
+
+ endif ?>
+ if ($child->has_thumb()): ?>
+ = $child->thumb_img(array("class" => $img_class, "id" => "thumb_$child->id", "style" => "width: 200px; height 200px;")) ?>
+ endif ?>
+// Begin skimming
+if($child->is_album()):
+ $granchildren = $child->viewable()->children();
+ $offset = 0;
+ $step = round(200/min(count($granchildren),50));
+ foreach ($granchildren as $i => $granchild):?>
+ if(++$i > 50) break; ?>
+ if ($granchild->has_thumb()): ?>
+ = $granchild->thumb_img(array("style" => "display: none;")) ?>
+
+ endif ?>
+ $offset+=$step;
+endforeach;
+endif;
+// End skimming // ?>
+
= html::purify($child->title) ?>
+ if($child->is_album()): ?>
= count($granchildren)?> photos
endif ?>
+
+ /* = $theme->thumb_bottom($child) ?>
+ = $theme->context_menu($child, "#g-item-id-{$child->id} .g-thumbnail") ?>
+
+
+
*/?>
+ endforeach ?>
+
+ else: ?>
+ if ($user->admin || access::can("add", $item)): ?>
+ $addurl = url::site("uploader/index/$item->id") ?>
+ = t("There aren't any photos here yet! Add some .",
+ array("attrs" => html::mark_clean("href=\"$addurl\" class=\"g-dialog-link\""))) ?>
+ else: ?>
+ = t("There aren't any photos here yet!") ?>
+ endif; ?>
+ endif; ?>
+
+
+= $theme->album_bottom() ?>
+
+= $theme->paginator() ?>
+
diff --git a/3.0/themes/pear4gallery3/views/block.html.php b/3.0/themes/pear4gallery3/views/block.html.php
new file mode 100644
index 00000000..699d7c22
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/block.html.php
@@ -0,0 +1,10 @@
+
+ if ($anchor): ?>
+
+ endif ?>
+
+
= $title ?>
+
+ = $content ?>
+
+
diff --git a/3.0/themes/pear4gallery3/views/dynamic.html.php b/3.0/themes/pear4gallery3/views/dynamic.html.php
new file mode 100644
index 00000000..a8a4d362
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/dynamic.html.php
@@ -0,0 +1,29 @@
+
+
+
+
+ foreach ($children as $i => $child): ?>
+ ">
+ = $theme->thumb_top($child) ?>
+
+
+
+ = html::purify($child->title) ?>
+ = $theme->thumb_bottom($child) ?>
+
+
+ endforeach ?>
+
+= $theme->dynamic_bottom() ?>
+
+= $theme->paginator() ?>
diff --git a/3.0/themes/pear4gallery3/views/hoverView.html.php b/3.0/themes/pear4gallery3/views/hoverView.html.php
new file mode 100644
index 00000000..b38ad8f7
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/hoverView.html.php
@@ -0,0 +1,23 @@
+
+
diff --git a/3.0/themes/pear4gallery3/views/movie.html.php b/3.0/themes/pear4gallery3/views/movie.html.php
new file mode 100644
index 00000000..158857db
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/movie.html.php
@@ -0,0 +1,19 @@
+
+
+ = $theme->photo_top() ?>
+
+ = $theme->paginator() ?>
+
+
+ = $theme->resize_top($item) ?>
+ = $item->movie_img(array("class" => "g-movie", "id" => "g-item-id-{$item->id}")) ?>
+ = $theme->resize_bottom($item) ?>
+
+
+
+
= html::purify($item->title) ?>
+
= nl2br(html::purify($item->description)) ?>
+
+
+ = $theme->photo_bottom() ?>
+
diff --git a/3.0/themes/pear4gallery3/views/no_sidebar.html.php b/3.0/themes/pear4gallery3/views/no_sidebar.html.php
new file mode 100644
index 00000000..58c57256
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/no_sidebar.html.php
@@ -0,0 +1,11 @@
+
+
+
+ if (block_manager::get_active("site_sidebar")): ?>
+ = t("Active sidebar blocks have no content.") ?>
+ else: ?>
+ = t("No active sidebar blocks.") ?>
+ endif ?>
+ ">= t("configure blocks") ?>
+
+
diff --git a/3.0/themes/pear4gallery3/views/page.html.php b/3.0/themes/pear4gallery3/views/page.html.php
new file mode 100644
index 00000000..eb2ce1d7
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/page.html.php
@@ -0,0 +1,194 @@
+
+ if ($theme->page_subtype == "photo"):
+ foreach (end($parents)->viewable()->children() as $i => $child)
+ if(!($child->is_album() || $child->is_movie()))
+ if($child->url() == $_SERVER['REQUEST_URI']):?>
+
+
+
+ die(0) ?>
+ endif ?>
+ endif ?>
+
+html_attributes() ?> xml:lang="en" lang="en">
+
+
+ $theme->start_combining("script,css") ?>
+
+ if ($page_title): ?>
+ = $page_title ?>
+ else: ?>
+ if ($theme->item()): ?>
+ = $theme->item()->title ?>
+ elseif ($theme->tag()): ?>
+ = t("Photos tagged with %tag_title", array("tag_title" => $theme->tag()->name)) ?>
+ else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
+ = item::root()->title ?>
+ endif ?>
+ endif ?>
+
+ "
+ type="image/x-icon" />
+
+ if ($theme->page_type == "collection"): ?>
+ if ($thumb_proportion != 1): ?>
+ $new_width = round($thumb_proportion * 213) ?>
+ $new_height = round($thumb_proportion * 240) ?>
+
+ endif ?>
+ endif ?>
+
+ = $theme->script("json2-min.js") ?>
+ = $theme->script("jquery.js") ?>
+ = $theme->script("jquery.form.js") ?>
+ = $theme->script("jquery-ui.js") ?>
+ = $theme->script("jquery-ui-1.7.3.custom.min.js") ?>
+ = $theme->script("gallery.common.js") ?>
+ /* MSG_CANCEL is required by gallery.dialog.js */ ?>
+
+ = $theme->script("gallery.ajax.js") ?>
+ = $theme->script("gallery.dialog.js") ?>
+ = $theme->script("superfish/js/superfish.js") ?>
+ = $theme->script("jquery.localscroll.js") ?>
+
+ /* These are page specific but they get combined */ ?>
+ if ($theme->page_subtype == "photo"): ?>
+ = $theme->script("jquery.scrollTo.js") ?>
+ = $theme->script("gallery.show_full_size.js") ?>
+ elseif ($theme->page_subtype == "movie"): ?>
+ = $theme->script("flowplayer.js") ?>
+ endif ?>
+
+ = $theme->head() ?>
+
+ /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
+ = $theme->script("ui.init.js") ?>
+ = $theme->script("jquery.parsequery.js") ?>
+ = $theme->script("imageflow.packed.js") ?>
+ = $theme->css("yui/reset-fonts-grids.css") ?>
+ = $theme->css("superfish/css/superfish.css") ?>
+ = $theme->css("themeroller/ui.base.css") ?>
+ = $theme->css("screen.css") ?>
+ = $theme->css("imageflow.packed.css") ?>
+
+
+
+ = $theme->get_combined("script") ?>
+
+
+ = $theme->get_combined("css") ?>
+ " media="screen,print,projection" />
+ " media="screen,print,projection" />
+
+
+
+
+
+ body_attributes() ?>>
+ = new View("hoverView.html") ?>
+ = $theme->page_top() ?>
+ = $theme->site_status() ?>
+ if (($theme->page_subtype == "login") or ($theme->page_subtype == "reauthenticate")): ?>
+ = $content ?>
+ else: /*not login | reauthenticate */ ?>
+
+
+
+
+ if ($theme->item()): ?>
+ if(!empty($parents)): ?>
+ $parent = end($parents) ?>
+
item()->id}" : null) ?>';// + '#viewMode=' + viewMode;"> = html::purify(text::limit_chars($parent->title, module::get_var("gallery", "visible_title_length"))) ?>
+ endif ?>
+
+
= html::purify(text::limit_chars($theme->item()->title, 40)) ?>
+ (= count($theme->item()->children()) ?>)
+
+ endif ?>
+
+
+
+
+
+= $content ?>
+
+
+
/*class="pear"*/ ?>
+ endif ?>
+
+
diff --git a/3.0/themes/pear4gallery3/views/paginator.html.php b/3.0/themes/pear4gallery3/views/paginator.html.php
new file mode 100644
index 00000000..a0595f4f
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/paginator.html.php
@@ -0,0 +1,74 @@
+
+
+// This is a generic paginator for album, photo and movie pages. Depending on the page type,
+// there are different sets of variables available. With this data, you can make a paginator
+// that lets you say "You're viewing photo 5 of 35", or "You're viewing photos 10 - 18 of 37"
+// for album views.
+//
+// Available variables for all page types:
+// $page_type - "collection", "item", or "other"
+// $page_subtype - "album", "movie", "photo", "tag", etc.
+// $previous_page_url - the url to the previous page, if there is one
+// $next_page_url - the url to the next page, if there is one
+// $total - the total number of photos in this album
+//
+// Available for the "collection" page types:
+// $page - what page number we're on
+// $max_pages - the maximum page number
+// $page_size - the page size
+// $first_page_url - the url to the first page, or null if we're on the first page
+// $last_page_url - the url to the last page, or null if we're on the last page
+// $first_visible_position - the position number of the first visible photo on this page
+// $last_visible_position - the position number of the last visible photo on this page
+//
+// Available for "item" page types:
+// $position - the position number of this photo
+//
+?>
+ if(isset($first_page_url) || isset($last_page_url)): ?>
+
+
+ if ($page_type == "collection"): ?>
+ if (isset($first_page_url)): ?>
+ ">
+ endif ?>
+ endif ?>
+
+ if (isset($previous_page_url)): ?>
+ ">
+ endif ?>
+
+
+
+
+ if ($total): ?>
+ if ($page_type == "collection"): ?>
+ = /* @todo This message isn't easily localizable */
+ t2("Photo %from_number of %count",
+ "Photos %from_number - %to_number of %count",
+ $total,
+ array("from_number" => $first_visible_position,
+ "to_number" => $last_visible_position,
+ "count" => $total)) ?>
+ else: ?>
+ = t("%position of %total", array("position" => $position, "total" => $total)) ?>
+ endif ?>
+ else: ?>
+ = t("No photos") ?>
+ endif ?>
+
+
+
+ if ($page_type == "collection"): ?>
+ if (isset($last_page_url)): ?>
+ ">
+ endif ?>
+ endif ?>
+ if (isset($next_page_url)): ?>
+ ">
+ endif ?>
+
+
+
+
+ endif ?>
diff --git a/3.0/themes/pear4gallery3/views/photo.html.php b/3.0/themes/pear4gallery3/views/photo.html.php
new file mode 100644
index 00000000..b42ab987
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/photo.html.php
@@ -0,0 +1,51 @@
+
+
+ if (access::can("view_full", $theme->item())): ?>
+
+
+ endif ?>
+
+
+ = $theme->photo_top() ?>
+
+ = $theme->paginator() ?>
+
+
+
+
+
= html::purify($item->title) ?>
+
= nl2br(html::purify($item->description)) ?>
+
+
+ = $theme->photo_bottom() ?>
+
diff --git a/3.0/themes/pear4gallery3/views/sidebar.html.php b/3.0/themes/pear4gallery3/views/sidebar.html.php
new file mode 100644
index 00000000..086d1359
--- /dev/null
+++ b/3.0/themes/pear4gallery3/views/sidebar.html.php
@@ -0,0 +1,16 @@
+
+= $theme->sidebar_top() ?>
+
+
+= $theme->sidebar_blocks() ?>
+= $theme->sidebar_bottom() ?>
diff --git a/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php b/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php
index a469fe67..72ec5112 100755
--- a/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php
+++ b/3.1/modules/moduleupdates/controllers/admin_moduleupdates.php
@@ -39,6 +39,9 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
*/
public function index() {
+ //Start execution timer
+ $bgtime=time();
+
$view = new Admin_View("admin.html");
$view->page_title = t("Gallery 3 :: Manage Module Updates");
$view->content = new View("admin_moduleupdates.html");
@@ -111,10 +114,12 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
$font_color_local = $this->get_local_module_version_color ($module_info->version, $module_info->code_version);
list ($core_version, $core_server) = $this->get_remote_module_version($this_module_name, "CORE");
$font_color_core = $this->get_module_version_color ($module_info->version, $module_info->code_version, $core_version);
- list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB");
- $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version);
- list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH");
- $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version);
+ if(!is_numeric($core_version)) {
+ list ($contrib_version, $contrib_server) = $this->get_remote_module_version($this_module_name, "CONTRIB");
+ $font_color_contrib = $this->get_module_version_color ($module_info->version, $module_info->code_version, $contrib_version);
+ list ($gh_version, $gh_server) = $this->get_remote_module_version($this_module_name, "GH");
+ $font_color_gh = $this->get_module_version_color ($module_info->version, $module_info->code_version, $gh_version);
+ }
if($font_color_core == "red" or $font_color_contrib == "red" or $font_color_gh == "red"){
$update_count++;
@@ -174,6 +179,20 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
$view->content->GitHub = $GitHub;
$view->content->Gallery_Version = substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "));
+ //End execution timer
+ $ExecutionTime = (time()-$bgtime);
+ if ($ExecutionTime < 1) {
+ $ExecutionTime = '1 ';
+ }else if ($ExecutionTime <= 30){
+ $ExecutionTime = '' . $ExecutionTime . ' ';
+ }else if ($ExecutionTime <= 60){
+ $ExecutionTime = '' . $ExecutionTime . ' ';
+ }else{
+ $ExecutionTime = '' . $ExecutionTime . ' ';
+ }
+
+
+ $view->content->ExecutionTime = $ExecutionTime;
print $view;
}
@@ -252,13 +271,24 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
//Check the Gallery3 Community Contributions GitHub
if ($file == null) {
try {
+ $thisInstalledVersion = gallery::VERSION;
+ //Gallery versions prior to 3.0.2 contained the codename in the version string
+ if (substr_count($thisInstalledVersion, ' ') > 0 ){
+ $thisInstalledVersion = substr_replace($thisInstalledVersion,"",strpos($thisInstalledVersion," "));
+ }
+ //Truncate the minor version number
+ if (substr_count($thisInstalledVersion, '.') > 1 ){
+ $thisInstalledVersion = substr_replace($thisInstalledVersion,"",strripos($thisInstalledVersion,"."));
+ }
$file = fopen ("http://github.com/gallery/gallery3-contrib/raw/master/".
- substr_replace(gallery::VERSION,"",strpos(gallery::VERSION," "))."/modules/".$module_name."/module.info", "r");
+ $thisInstalledVersion ."/modules/".$module_name."/module.info", "r");
+
if ($file != null) {
$server = '(GCC)';
}
}
catch (Exception $e) {
+ //echo 'Message: ' .$e->getMessage() . ' ';
}
}
break;
@@ -303,6 +333,9 @@ class Admin_Moduleupdates_Controller extends Admin_Controller {
if($line == "Not entered" or $line == "See git") {
$line = "";
}
+ if (substr_count($line, '.') > 0) {
+ $line = str_replace('.','',$line);
+ }
$version = $line;
break;
} else {
diff --git a/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php b/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php
index 1e60a2cb..85f90489 100644
--- a/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php
+++ b/3.1/modules/moduleupdates/helpers/moduleupdates_installer.php
@@ -24,7 +24,7 @@ class moduleupdates_installer {
$version = module::get_version("moduleupdates");
if ($version < 1) {
- module::set_version("moduleupdates", 7);
+ module::set_version("moduleupdates", 8);
//Remove the ModuleUpdates cache entry 'JIC'
Cache::instance()->delete("ModuleUpdates");
//create the blank ModuleUpdates cache entry with an expiration of 0 days
@@ -34,7 +34,7 @@ class moduleupdates_installer {
}
static function upgrade($version) {
- module::set_version("moduleupdates", 7);
+ module::set_version("moduleupdates", 8);
//Remove the ModuleUpdates cache entry 'JIC'
Cache::instance()->delete("ModuleUpdates");
//Empty the ModuleUpdates cache entry so our new version starts from scratch
diff --git a/3.1/modules/moduleupdates/module.info b/3.1/modules/moduleupdates/module.info
index 603aeff5..7c73c340 100755
--- a/3.1/modules/moduleupdates/module.info
+++ b/3.1/modules/moduleupdates/module.info
@@ -1,7 +1,7 @@
-name = "Module Updates"
+name = "ModuleUpdates"
description = "Compares your installed module version against the ones stored in the GitHub."
-version = 7
-author_name = ""
-author_url = ""
+version = 8
+author_name = "brentil"
+author_url = "http://gallery.menalto.com/user/153736"
info_url = "http://codex.gallery2.org/Gallery3:Modules:moduleupdates"
-discuss_url = "http://gallery.menalto.com/forum_module_moduleupdates"
+discuss_url = "http://gallery.menalto.com/node/96574"
diff --git a/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php b/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php
index e55ed7af..18ff31ed 100644
--- a/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php
+++ b/3.1/modules/moduleupdates/views/admin_moduleupdates.html.php
@@ -2,7 +2,7 @@
-
= t("Module Updates v".$mu_version.".0") ?>
+
= t("ModuleUpdates v".$mu_version) ?>
= t("Compares your installed module version against the ones stored in the GitHub and GalleryModules.") ?>
@@ -16,7 +16,7 @@
= t("Green = Your version is newer than the GitHub ") ?>
= t("Orange = Your file version is newer than the installed version ") ?>
= t("Pink = Your installed version is newer than file version ") ?>
- = t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . " ") ?>
+ = t("Outbound Status: " . $Google . " - GitHub Status: " . $GitHub . " - Execution Time: " . $ExecutionTime . " s ") ?>
" class="submit" /> if($update_time == ""){ echo " - Last Scan: Unknown";}else{ echo " - Last Scan: ".$update_time;} ?>