diff --git a/admin/controllers/admin_theme_options.php b/admin/controllers/admin_theme_options.php
deleted file mode 100644
index 9518bc3c..00000000
--- a/admin/controllers/admin_theme_options.php
+++ /dev/null
@@ -1,736 +0,0 @@
-
-
-class Admin_Theme_Options_Controller extends Admin_Controller {
-
- protected $min_gallery_ver = 46;
-
- private function load_theme_info() {
- $file = THEMEPATH . "greydragon/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 get_packlist($type, $filename) {
- $packlist = array();
- $packroot = THEMEPATH . 'greydragon/css/' . $type . '/';
-
- foreach (scandir($packroot) as $pack_name):
- if (file_exists($packroot . "$pack_name/" . $filename . ".css")):
- if ($pack_name[0] == "."):
- continue;
- endif;
-
- $packlist[$pack_name] = t($pack_name);
- endif;
- endforeach;
- return $packlist;
- }
-
- private function get_colorpacks() {
- return $this->get_packlist('colorpacks', 'colors');
- }
-
- private function get_framepacks() {
- return $this->get_packlist('framepacks', 'frame');
- }
-
- 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_greydragon", "hide_thumbmeta")):
- module::set_var("th_greydragon", "thumb_metamode", "hide");
- module::clear_var("th_greydragon", "hide_thumbmeta");
- endif;
-
- if (module::get_var("th_greydragon", "flex_rows", FALSE)):
- module::set_var("th_greydragon", "column_count", -1);
- module::clear_var("th_greydragon", "flex_rows");
- endif;
-
- if (module::get_var("th_greydragon", "thumb_descmode") == "overlay_static"):
- module::set_var("th_greydragon", "thumb_descmode", "overlay_top");
- endif;
-
- if (module::get_var("th_greydragon", "mainmenu_position") == "1"):
- module::set_var("th_greydragon", "mainmenu_position", "top");
- endif;
-
- if (module::get_var("th_greydragon", "hide_breadcrumbs")):
- module::set_var("th_greydragon", "breadcrumbs_position", "hide");
- module::clear_var("th_greydragon", "hide_breadcrumbs");
- endif;
- }
-
- protected function get_edit_form_admin() {
- $this->upgrade_settings();
-
- $form = new Forge("admin/theme_options/save/", "", null, array("id" =>"g-theme-options-form"));
-
- $rssmodulecheck = (module::is_active("rss") && module::info("rss"));
- $imageblockexcheck = (module::info("imageblockex"));
-
- /* 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));
- if (!module::get_var("th_greydragon", "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;
- if (module::get_var("th_greydragon", "allow_root_page")):
- $this->prerequisite_check($group, "rsscheck", $rssmodulecheck,
- t("RSS Module"), t("Found"), t("not Found"), TRUE, t("Install RSS module to Enable Root Page Support"));
- $this->prerequisite_check($group, "imageblockexcheck", $imageblockexcheck,
- t("ImageBlock Ex Module"), t("Present"), t("not Present"), TRUE, sprintf(t("Install %smodule%s for Root Page Support"), '', ''));
- endif;
-
- /* Suggested Modules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("recommended")->label(t("Suggested Modules"));
-
- $check_fb = module::is_active("fancybox") && module::info("fancybox");
- $check_sb = module::is_active("shadowbox") && module::info("shadowbox");
- $sb_fb_module = "fancybox";
- $sb_fb_caption = "Fancybox";
- $sb_fb_link = '';
- if ($check_fb):
- if ($check_sb):
- $this->prerequisite_check($group, "fancybox", FALSE,
- t("Both FancyBox and ShadowBox Modules are Active"),
- "",
- "",
- TRUE,
- t("Slideshow feature would work incorrectly. Please activate just one of these modules."));
- else:
- $sb_fb_check = TRUE;
- endif;
- else:
- if ($check_sb):
- $sb_fb_module = "shadowbox";
- $sb_fb_caption = "Shadowbox";
- $sb_fb_link = '';
- $sb_fb_check = TRUE;
- else:
- $sb_fb_check = FALSE;
- endif;
- endif;
-
- if (isset($sb_fb_check)):
- $this->prerequisite_check($group, $sb_fb_module, $sb_fb_check,
- t($sb_fb_caption) . " " . t("Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable %s Support"), $sb_fb_link, '', t($sb_fb_caption)));
- endif;
-
- $thumbnavcheck = module::is_active("thumbnav") and module::info("thumbnav");
- $iptccheck = module::is_active("iptc") and module::info("iptc");
-
- $this->prerequisite_check($group, "kbdnavcheck", ((module::is_active("kbd_nav")) and (module::info("kbd_nav"))),
- t("Kbd Navigation Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable Keyboard Navigation Support"), '', ''));
- $this->prerequisite_check($group, "thumbnavcheck", $thumbnavcheck,
- t("ThumbNav Module"), t("Found"), t("not Found"), TRUE, sprintf(t("Install %smodule%s to Enable Thumb Navigation Support"), '', ''));
- if (!module::get_var("th_greydragon", "allow_root_page")):
- $this->prerequisite_check($group, "rsscheck", $rssmodulecheck,
- t("RSS Module"), t("Found"), t("not Found"), TRUE, t("Install RSS module to Enable Root Page Support"));
- endif;
-
- $thumb_ratio = module::get_var("th_greydragon", "thumb_ratio", "photo");
- $thumb_ratio_ex = FALSE;
- switch ($thumb_ratio):
- case "photo_ex":
- $thumb_ratio = "photo";
- $thumb_ratio_ex = TRUE;
- break;
- case "film_ex":
- $thumb_ratio = "film";
- $thumb_ratio_ex = TRUE;
- break;
- case "digital_ex":
- $thumb_ratio = "digital";
- $thumb_ratio_ex = TRUE;
- break;
- case "wide_ex":
- $thumb_ratio = "wide";
- $thumb_ratio_ex = TRUE;
- break;
- default:
- break;
- endswitch;
-
- /* General Settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $sidebar_allowed = module::get_var("th_greydragon", "sidebar_allowed");
- $sidebar_visible = module::get_var("th_greydragon", "sidebar_visible");
-
- $group = $form->group("edit_theme")->label(t("General Settings"));
- $group->input("row_count")
- ->label(t("Rows per Album Page"))
- ->rules("required|valid_digit")
- ->error_messages("required", t("You must enter a number"))
- ->error_messages("valid_digit", t("You must enter a number"))
- ->value(module::get_var("th_greydragon", "row_count", 3));
- $group->dropdown("column_count")
- ->label(t("Columns per Album Page"))
- ->options(array("2" => t("2 columns"), "3" => t("3 columns"), "4" => t("4 columns"), "5" => t("5 columns"), "-1" => t("Flexible (3 x Number of Rows)")))
- ->selected(module::get_var("th_greydragon", "column_count", 3));
- $group->input("resize_size")
- ->label(t("Resized Image Size (in pixels)"))
- ->rules("required|valid_digit")
- ->error_messages("required", t("You must enter a number"))
- ->error_messages("valid_digit", t("You must enter a number"))
- ->value(module::get_var("gallery", "resize_size"));
- $group->input("logo_path")
- ->label(t("Alternate Logo Image"))
- ->value(module::get_var("th_greydragon", "logo_path"));
- $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"));
- $group->input("header_text")
- ->label(t("Header Text"))
- ->value(module::get_var("gallery", "header_text"));
- $group->input("footer_text")
- ->label(t("Footer Text"))
- ->value(module::get_var("gallery", "footer_text"));
- $group->input("copyright")
- ->label(t("Copyright Message"))
- ->value(module::get_var("th_greydragon", "copyright"));
- $group->dropdown("colorpack")
- ->label(t("Selected Color Pack"))
- ->options(self::get_colorpacks())
- ->selected(module::get_var("th_greydragon", "color_pack", "greydragon"));
- $group->dropdown("framepack")
- ->label(t("Selected Photo Frame Pack"))
- ->options(self::get_framepacks())
- ->selected(module::get_var("th_greydragon", "frame_pack", "greydragon"));
-
- /* Advanced Options - General ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("edit_theme_adv_main")->label(t("Advanced Options - General"));
- $group->checkbox("show_credits")
- ->label(t("Show Site Credits"))
- ->checked(module::get_var("gallery", "show_credits"));
- $group->checkbox("loginmenu_position")
- ->label(t("Place Login Link in the Header"))
- ->checked(module::get_var("th_greydragon", "loginmenu_position") == "header");
-
- $group->dropdown("mainmenu_position")
- ->label(t("Main Menu Position"))
- ->options(array("default" => t("Bottom-Left (Default)"), "top" => t("Top-Left"), "bar" => t("Top Bar")))
- ->selected(module::get_var("th_greydragon", "mainmenu_position"));
- $group->checkbox("show_guest_menu")
- ->label(t("Show Main Menu for Guest Users"))
- ->checked(module::get_var("th_greydragon", "show_guest_menu"));
- $group->dropdown("breadcrumbs_position")
- ->label(t("Breadcrumbs Position"))
- ->options(array("default" => t("Bottom-Right (Default)"), "bottom-left" => t("Bottom-Left"), "top-right" => t("Top-Right"), "top-left" => t("Top-Left"), "hide" => t("Hide")))
- ->selected(module::get_var("th_greydragon", "breadcrumbs_position"));
- $group->checkbox("breadcrumbs_showinroot")
- ->label(t("Show Breadcrumbs in root album/root page"))
- ->checked(module::get_var("th_greydragon", "breadcrumbs_showinroot"));
- $group->dropdown("photonav_position")
- ->label(t("Item Navigator Position"))
- ->options(array("top" => t("Top"), "bottom" => t("Bottom"), "both" => t("Both"), "none" => t("None")))
- ->selected(module::get_var("th_greydragon", "photonav_position"));
- $group->input("custom_css_path")
- ->label(t("Relative path to custom.css (optional)"))
- ->value(module::get_var("th_greydragon", "custom_css_path"));
- $group->checkbox("blendpagetrans")
- ->label(t("Blend Page Transition"))
- ->checked(module::get_var("th_greydragon", "blendpagetrans"));
- $group->checkbox("disable_seosupport")
- ->label(t("Disallow Search Engine Indexing (No Bots)"))
- ->checked(module::get_var("th_greydragon", "disable_seosupport"));
-
- /* Advanced Options - Album page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("edit_theme_adv_album")->label(t("Advanced Options - Albums"));
- $group->dropdown("album_descmode")
- ->label(t("Album Description Display Mode"))
- ->options(array("hide" => t("Hide"), "top" => t("Top"), "bottom" => t("Bottom")))
- ->selected(module::get_var("th_greydragon", "album_descmode"));
-
- /* Advanced Options - Album page - Thumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("edit_theme_adv_thumb")->label(t("Advanced Options - Album page - Thumbs"));
- $group->dropdown("thumb_ratio")
- ->label(t("Aspect Ratio"))
- ->options(array("photo" => t("Actual"), "film" => t("Film/Full Frame 3:2"), "digital" => t("Digital 4:3"), "wide" => t("Wide/HDTV 16:9")))
- ->selected($thumb_ratio);
- $group->checkbox("thumb_ratio_ex")
- ->label(t("Expanded Aspect Ratio (300px wide)"))
- ->checked($thumb_ratio_ex);
- $group->dropdown("thumb_descmode_a")
- ->label(t("Title Display Mode (Album)"))
- ->options(array("overlay" => t("Overlay Top"), "overlay_top" => t("Overlay Top (Static)"),
- "overlay_bottom" => t("Overlay Bottom (Static)"), "bottom" => t("Bottom"), "hide" => t("Hide")))
- ->selected(module::get_var("th_greydragon", "thumb_descmode_a"));
- $group->dropdown("thumb_descmode")
- ->label(t("Title Display Mode (Photo)"))
- ->options(array("overlay" => t("Overlay Top"), "overlay_top" => t("Overlay Top (Static)"),
- "overlay_bottom" => t("Overlay Bottom (Static)"), "bottom" => t("Bottom"), "hide" => t("Hide")))
- ->selected(module::get_var("th_greydragon", "thumb_descmode"));
- $group->dropdown("thumb_metamode")
- ->label(t("Meta Data Display Mode"))
- ->options(array("default" => t("Overlay (Default)"), "merged" => t("Merge with Title"), "hide" => t("Hide")))
- ->selected(module::get_var("th_greydragon", "thumb_metamode", "default"));
- $group->checkbox("thumb_random")
- ->label(t("Randomize Thumb Image"))
- ->checked(module::get_var("th_greydragon", "thumb_random"));
- $group->checkbox("thumb_topalign")
- ->label(t("Top Align Thumb Image"))
- ->checked(module::get_var("th_greydragon", "thumb_topalign"));
-
- /* 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_greydragon", "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_greydragon", "photo_descmode"));
- $group->checkbox("thumb_inpage")
- ->label(t("Keep Thumb Nav Block on the side"))
- ->checked(module::get_var("th_greydragon", "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_greydragon", "hide_photometa", TRUE));
- $group->checkbox("desc_allowbbcode")
- ->label(t("Allow BBCode/HTML in Descriptions"))
- ->checked(module::get_var("th_greydragon", "desc_allowbbcode"));
-
- /* Advanced Options - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("edit_theme_adv_root")->label(t("Advanced Options - Root Page"));
- $group->checkbox("allow_root_page")
- ->label(t("Allow root page (Note: ImageBlock Ex Module need to be installed)"))
- ->checked(module::get_var("th_greydragon", "allow_root_page"));
- $group->checkbox("show_root_desc")
- ->label(t("Show Gallery Description"))
- ->checked(!module::get_var("th_greydragon", "hide_root_desc"));
- $group->input("root_feed")
- ->label(t("Slideshow RSS Feed URL"))
- ->value(module::get_var("th_greydragon", "root_feed", "/gallery3/index.php/rss/feed/gallery/latest"));
- $group->input("root_delay")
- ->label(t("Slideshow Delay (Default: 15)"))
- ->rules("required|valid_digit")
- ->error_messages("required", t("You must enter a number"))
- ->error_messages("valid_digit", t("You must enter a number"))
- ->value(module::get_var("th_greydragon", "root_delay", "15"));
- $group->checkbox("hide_root_sidebar")
- ->label(t("Hide Sidebar"))
- ->checked(module::get_var("th_greydragon", "hide_root_sidebar"));
- $group->textarea("root_description")
- ->label(t("Alternative Description (optional)"))
- ->value(module::get_var("th_greydragon", "root_description"));
-
- /* Sidebar Options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
- $group = $form->group("edit_theme_side")->label(t("Sidebar Options"));
- $group->checkbox("hide_blockheader")
- ->label(t("Hide Block Header"))
- ->checked(module::get_var("th_greydragon", "hide_blockheader"));
- $group->checkbox("sidebar_albumonly")
- ->label(t("Show Sidebar for Albums Only"))
- ->checked(module::get_var("th_greydragon", "sidebar_albumonly"));
- $group->dropdown("sidebar_allowed")
- ->label(t("Allowed Sidebar Positions"))
- ->options(array("any" => t("Any"), "left" => t("Left"), "right" => t("Right"), "bottom" => t("Bottom"), "top" => t("Top"), "none" => t("Default Only")))
- ->selected($sidebar_allowed);
- $group->dropdown("sidebar_visible")
- ->label(t("Default Sidebar Position"))
- ->options(array("right" => t("Right"), "left" => t("Left"), "bottom" => t("Bottom"), "top" => t("Top"), "none" => t("No sidebar")))
- ->selected($sidebar_visible);
-
- /* 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 = '
';
- return t($help);
- }
-
- private function save_item_state($statename, $state, $value) {
- if ($state):
- module::set_var("th_greydragon", $statename, $value);
- else:
- module::clear_var("th_greydragon", $statename);
- endif;
- }
-
- protected function legacy() {
- module::clear_var("th_greydragon", "photonav_top");
- module::clear_var("th_greydragon", "photonav_bottom");
- module::clear_var("th_greydragon", "hide_sidebar_photo");
- module::clear_var("th_greydragon", "hide_thumbdesc");
- module::clear_var("th_greydragon", "use_detailview");
- module::clear_var("th_greydragon", "horizontal_crop");
- module::clear_var("th_greydragon", "photo_shadowbox");
- module::clear_var("th_greydragon", "root_text");
- module::clear_var("th_greydragon", "enable_pagecache");
- }
-
- 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_greydragon");
- }
-
- 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 = $form->edit_theme->resize_size->value;
-
- $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;
-
- $color_pack = $form->edit_theme->colorpack->value;
- $frame_pack = $form->edit_theme->framepack->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;
-
- $_priorratio = module::get_var("th_greydragon", "thumb_ratio", "photo");
- $thumb_ratio = $form->edit_theme_adv_thumb->thumb_ratio->value;
- $thumb_ratio_ex = $form->edit_theme_adv_thumb->thumb_ratio_ex->value;
- if ($thumb_ratio_ex):
- $thumb_ratio .= "_ex";
- endif;
-
- if ($thumb_ratio_ex):
- $thumb_size = 300;
- else:
- $thumb_size = 200;
- endif;
-
- if ($thumb_ratio == "photo"):
- $rule = Image::AUTO;
- else:
- $rule = Image::WIDTH;
- endif;
-
- 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;
-
- $row_count = $form->edit_theme->row_count->value;
- $column_count = $form->edit_theme->column_count->value;
- $this->save_item_state("row_count", 3, $row_count);
- $this->save_item_state("column_count", 3, $column_count);
- if ($column_count == -1):
- $column_count = 3;
- endif;
- module::set_var("gallery", "page_size", $row_count * $column_count);
- module::set_var("gallery", "header_text", $form->edit_theme->header_text->value);
- module::set_var("gallery", "footer_text", $form->edit_theme->footer_text->value);
- 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("copyright", $form->edit_theme->copyright->value, $form->edit_theme->copyright->value);
- $this->save_item_state("logo_path", $form->edit_theme->logo_path->value, $form->edit_theme->logo_path->value);
- $this->save_item_state("color_pack", (($color_pack) and ($color_pack != "greydragon")), $color_pack);
- $this->save_item_state("frame_pack", (($frame_pack) and ($frame_pack != "greydragon")), $frame_pack);
-
- // * Advanced Options - General ******************************************
-
- module::set_var("gallery", "show_credits", $form->edit_theme_adv_main->show_credits->value);
- $this->save_item_state("show_guest_menu", $form->edit_theme_adv_main->show_guest_menu->value, TRUE);
- $this->save_item_state("loginmenu_position", $form->edit_theme_adv_main->loginmenu_position->value == "1", "header");
- $this->save_item_state("mainmenu_position", $form->edit_theme_adv_main->mainmenu_position->value != "default", $form->edit_theme_adv_main->mainmenu_position->value);
- $this->save_item_state("breadcrumbs_position", $form->edit_theme_adv_main->breadcrumbs_position->value != "default", $form->edit_theme_adv_main->breadcrumbs_position->value);
- $this->save_item_state("breadcrumbs_showinroot",$form->edit_theme_adv_main->breadcrumbs_showinroot->value, TRUE);
- $this->save_item_state("photonav_position", $form->edit_theme_adv_main->photonav_position->value != "top", $form->edit_theme_adv_main->photonav_position->value);
- $this->save_item_state("custom_css_path", $form->edit_theme_adv_main->custom_css_path->value != "", $form->edit_theme_adv_main->custom_css_path->value);
- $this->save_item_state("blendpagetrans", $form->edit_theme_adv_main->blendpagetrans->value, TRUE);
- $this->save_item_state("disable_seosupport", $form->edit_theme_adv_main->disable_seosupport->value, TRUE);
-
- // * Advanced Options - Album page ***************************************
-
- $this->save_item_state("album_descmode", $form->edit_theme_adv_album->album_descmode->value != "hide", $form->edit_theme_adv_album->album_descmode->value);
-
- $this->save_item_state("thumb_ratio", $thumb_ratio != "photo", $thumb_ratio);
- $this->save_item_state("thumb_descmode_a", $thumb_descmode_a != "overlay", $thumb_descmode_a);
- $this->save_item_state("thumb_descmode", $thumb_descmode != "overlay", $thumb_descmode);
- $this->save_item_state("thumb_metamode", $thumb_metamode != "default", $thumb_metamode);
- $this->save_item_state("thumb_random", $form->edit_theme_adv_thumb->thumb_random->value, TRUE);
- $this->save_item_state("thumb_topalign", $form->edit_theme_adv_thumb->thumb_topalign->value, TRUE);
-
- // * 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);
-
- // * Advanced Options - Root page ****************************************
-
- $imageblockexcheck = module::info("imageblockex");
- $rssmodulecheck = module::is_active("rss") and module::info("rss");
-
- $root_feed = $form->edit_theme_adv_root->root_feed->value;
- $this->save_item_state("allow_root_page", $form->edit_theme_adv_root->allow_root_page->value, TRUE);
- $this->save_item_state("hide_root_desc", !$form->edit_theme_adv_root->show_root_desc->value, TRUE);
- $this->save_item_state("root_feed", $root_feed != "gallery/latest", $root_feed);
- $this->save_item_state("root_delay", $form->edit_theme_adv_root->root_delay->value != "15", $form->edit_theme_adv_root->root_delay->value);
- $this->save_item_state("hide_root_sidebar", $form->edit_theme_adv_root->hide_root_sidebar->value, TRUE);
- $this->save_item_state("root_description", $form->edit_theme_adv_root->root_description->value, $form->edit_theme_adv_root->root_description->value);
-
- // * Sidebar Options *****************************************************
-
- $sidebar_allowed = $form->edit_theme_side->sidebar_allowed->value;
- $sidebar_visible = $form->edit_theme_side->sidebar_visible->value;
-
- if ($sidebar_allowed == "right"):
- $sidebar_visible = "right";
- endif;
- if ($sidebar_allowed == "left"):
- $sidebar_visible = "left";
- endif;
-
- $this->save_item_state("hide_blockheader", $form->edit_theme_side->hide_blockheader->value, TRUE);
- $this->save_item_state("sidebar_albumonly", $form->edit_theme_side->sidebar_albumonly->value, TRUE);
- $this->save_item_state("sidebar_allowed", $sidebar_allowed != "any", $sidebar_allowed);
- $this->save_item_state("sidebar_visible", $sidebar_visible != "right", $sidebar_visible);
-
- 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("Grey Dragon 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();
- }
-}
-?>
\ No newline at end of file
diff --git a/admin/views/admin_include.html.php b/admin/views/admin_include.html.php
deleted file mode 100644
index b3dd0837..00000000
--- a/admin/views/admin_include.html.php
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
- 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/admin/views/admin_theme_options.html.php b/admin/views/admin_theme_options.html.php
deleted file mode 100644
index e5cb0553..00000000
--- a/admin/views/admin_theme_options.html.php
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- $view = new View("admin_include.html");
-
- $view->is_module = FALSE;
- $view->name = "greydragon";
- $view->form = $form;
- $view->help = $help;
- print $view;
-?>
-
diff --git a/changelog.txt b/changelog.txt
deleted file mode 100644
index 8b137891..00000000
--- a/changelog.txt
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/css/base.css b/css/base.css
deleted file mode 100644
index 46ec1b6a..00000000
--- a/css/base.css
+++ /dev/null
@@ -1,285 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules - Main CSS ruleset
- *
- * Color rules for font/background/lines can be found in dedicated colorpack files
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* screen.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-body { font-family: Arial, verdana, sans-serif; font-size: 0.9em; }
-
-a { text-decoration: none; outline: none; -moz-outline-style: none; }
-a:focus, a:active, a:hover { text-decoration: none; outline: none; }
-img { border: none; }
-p { text-indent: 0; }
-ul { list-style: none none; padding: 0; }
-
-h1 { font-weight: bold; font-size: 1.1em; padding-bottom: 1px; min-height: 1.1em; }
-h2 { font-weight: bold; font-size: 1.1em; min-height: 1.1em; }
-h3 { font-weight: bold; }
-h4 { font-weight: bold; }
-h5 { font-weight: bold; }
-
-.txtright { text-align: right; }
-.g-metadata { overflow: hidden; }
-.g-avatar { float: right; }
-.g-hide { display: none; }
-
-.ui-icon { display: inline-block; zoom: 1; width: 16px; height: 15px; }
-.ui-icon-first { background-position: -162px -178px; }
-.ui-icon-first-d { background-position: -162px -162px; }
-.ui-icon-prev { background-position: -178px -178px; }
-.ui-icon-prev-d { background-position: -178px -162px; }
-.ui-icon-parent { background-position: -226px -178px; }
-.ui-icon-parent-d { background-position: -226px -162px; }
-.ui-icon-next { background-position: -194px -178px; }
-.ui-icon-next-d { background-position: -194px -162px; }
-.ui-icon-last { background-position: -210px -178px; }
-.ui-icon-last-d { background-position: -210px -162px; }
-.ui-icon-signal-diag { background-position: -16px -178px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-plus { background-position: -14px -129px; }
-.ui-icon-minus { background-position: -46px -129px; }
-.ui-icon-note { background-position: -66px -98px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-left .ui-icon { float: left; margin-right: .2em; }
-.ui-icon-right .ui-icon { float: right; margin-left: .2em; }
-
-/* screen.css - Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-header { height: 90px; padding: 0; font-size: 0.9em; }
-#g-logo { position: absolute; top: 8px; left: 16px; }
-
-.g-breadcrumbs { position: absolute; background-color: transparent; }
-.g-breadcrumbs.g-default { bottom: 4px; right: 14px; }
-.g-breadcrumbs.g-bottom-left { bottom: 4px; left: 21.4em; }
-.g-breadcrumbs.g-top-right { top: 4px; right: 14px; }
-.g-breadcrumbs.g-top-left { top: 4px; left: 21.4em; }
-
-.g-breadcrumbs li { display: inline; padding-left: 1em; padding-right: 0.4em; }
-.g-breadcrumbs li.g-first { background-image: none; padding-left: 0; }
-.rtl .g-breadcrumbs .g-first { background-image: none; padding-left: 0; }
-.g-breadcrumbs li.g-active { padding-right: 0; }
-
-#g-header .g-message-block { position: absolute; z-index: 10; min-width: 30em; padding: 0; right: 20em; top: 34px; overflow: hidden; font: bold 9pt Arial, verdana, sans-serif; text-align: center; }
-#g-header #g-login-menu { position: absolute; top: 0.2em; right: 1em; background-color: transparent; display: none; }
-#g-site-status li { padding: .3em .3em .3em 30px; }
-
-/* screen.css - Main ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-main { display: block; margin: 0; }
-#g-main-in { display: block; position: relative; }
-
-#g-column-center, #g-column-centerleft { padding: 6px 6px 6px 10px; }
-#g-column-centerfull { padding: 6px 12px 6px 10px; }
-#g-column-centerright { padding: 6px 10px 6px 6px; }
-#g-column-left { padding: 6px 4px 6px 10px; }
-#g-column-right { padding: 6px 10px 6px 4px; }
-
-/* screen.css - Footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-footer { padding: 6px 6px 6px 14px; zoom: 1; font-size: 0.9em; }
-#g-footer ul { float: left; padding: 0; text-align: left; }
-#g-footer li { padding: 0 0 2px 0; }
-
-#g-footer #g-login-menu { position: absolute; bottom: 0.5em; right: 1em; background-color: transparent; display: none; }
-
-#g-login-menu li { display: inline; padding-left: 1.2em; }
-#g-logout-link { float: none; margin-right: 0; }
-
-#g-copyright { font-size: x-small; }
-#g-footer #g-footer-rightside { float: right; padding-right: 6px; text-align: right; }
-#g-credits { margin-right: 14px; }
-#g-credits li.g-branding a { float: left; }
-#g-credits .g-first { display: none; }
-#g-gallery-logo { display: block; width: 70px; height: 18px; background: transparent url('../images/gallery.png') no-repeat; }
-#g-theme-logo { display: block; width: 70px; height: 18px; }
-
-/* screen.css - Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-paginator { display: inline-block; width: 100%; padding: 4px 0 0 0; zoom: 1; }
-.g-paginator li { display: inline; float: left; margin-left: 0; zoom: 1; }
-.g-paginator a { padding: 0 0 0 2px; }
-
-.g-paginator .g-pagination { width: 80%; font-size: 0.8em; }
-.g-paginator .g-navigation { text-align: right; width: 20%; }
-
-/* screen.css - Album grid ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-album-grid { padding: 6px 0 0 0; width: 100%; display: inline-block; margin: 0px auto; }
-#g-album-grid .g-item { position: relative; float: left; margin: 4px 8px 4px 0; min-width: 212px; zoom: 1; }
-.g-album-grid-container .g-column-2>li { width: 48%; margin-right: 0; }
-.g-album-grid-container .g-column-3>li { width: 32%; margin-right: 0; }
-.g-album-grid-container .g-column-4>li { width: 23%; margin-right: 0; }
-.g-album-grid-container .g-column-5>li { width: 19%; margin-right: 0; }
-#g-album-grid .g-item p { text-align: center; }
-#g-album-grid h2 { position: absolute; top: 164px; left: 12px; width: 150px; font: 100%/100% Arial, Helvetica, sans-serif; }
-#g-album-grid h2 a { display: block; margin-top: 4px; font: bold 0.8em Arial, Helvetica, Verdana, Sans-Serif; letter-spacing: 0.1em; text-transform: uppercase; min-height: 2em; }
-
-/* screen.css - Thumbs : Common ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-thumbslide { font-size: 0.9em; width: 208px; min-height: 139px; padding-top: 6px; padding-left: 6px; overflow: hidden; position: relative; text-align: left; }
-.g-thumbtype-sqr .g-thumbslide { height: 208px; }
-.g-thumbtype-flm .g-thumbslide { height: 141px; }
-.g-thumbtype-dgt .g-thumbslide { height: 158px; }
-.g-thumbtype-wd .g-thumbslide { height: 120px; }
-
-.g-extended .g-thumbslide { width: 308px; }
-.g-thumbtype-sqr.g-extended .g-thumbslide { height: 308px; }
-.g-thumbtype-flm.g-extended .g-thumbslide { height: 207px; }
-.g-thumbtype-dgt.g-extended .g-thumbslide { height: 233px; }
-.g-thumbtype-wd.g-extended .g-thumbslide { height: 176px; }
-
-.g-thumbcrop { overflow: hidden; position: relative; width: 200px; min-height: 112px; }
-.g-thumbtype-sqr .g-thumbcrop { height: 200px; }
-.g-thumbtype-flm .g-thumbcrop { height: 133px; }
-.g-thumbtype-dgt .g-thumbcrop { height: 150px; }
-.g-thumbtype-wd .g-thumbcrop { height: 112px; }
-
-.g-extended .g-thumbcrop { width: 300px; }
-.g-thumbtype-sqr.g-extended .g-thumbcrop { height: 300px; }
-.g-thumbtype-flm.g-extended .g-thumbcrop { height: 199px; }
-.g-thumbtype-dgt.g-extended .g-thumbcrop { height: 225px; }
-.g-thumbtype-wd.g-extended .g-thumbcrop { height: 168px; }
-
-.g-album .g-description strong { padding-left: 16px; }
-
-/* Force size of the link to fill thumbcrop */
-
-.g-thumbcrop a.g-thumblink { display: block; position: relative; min-width: 200px; }
-.g-thumbtype-sqr a.g-thumblink { min-height: 200px; }
-.g-thumbtype-flm a.g-thumblink { min-height: 133px; }
-.g-thumbtype-dgt a.g-thumblink { min-height: 150px; }
-.g-thumbtype-wd a.g-thumblink { min-height: 112px; }
-
-.g-extended .g-thumbcrop a.g-thumblink { min-width: 300px; }
-.g-thumbtype-sqr.g-extended a.g-thumblink { min-height: 300px; }
-.g-thumbtype-flm.g-extended a.g-thumblink { min-height: 200px; }
-.g-thumbtype-dgt.g-extended a.g-thumblink { min-height: 225px; }
-.g-thumbtype-wd.g-extended a.g-thumblink { min-height: 168px; }
-
-/* screen.css - Thumbs : Overlay ~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-thumbslide .g-description { display: none; position: absolute; left: 6px; top: 6px; min-height: 24px; width: 184px; overflow: hidden; z-index: 3; text-align: left; padding: 2px 8px; font-size: 0.85em; }
-.g-extended .g-thumbslide .g-description { width: 284px; }
-.g-thumbslide:hover .g-description { display: block; }
-.g-thumbslide .g-description li { display: inline; padding-right: 0.8em; }
-.g-thumbslide .g-description .g-title { display: block; font-weight: bold; font-size: 1.1em; letter-spacing: 0.1em; text-transform: uppercase; padding-top: 3px; }
-.g-album .g-thumbslide .g-description .g-title { padding-left: 24px; }
-
-.g-thumbslide .g-description.g-overlay-top { display: block; }
-.g-thumbslide .g-description.g-overlay-bottom { display: block; top: auto; bottom: 6px; }
-
-.g-thumbslide .g-metadata { display: none; position: absolute; left: 6px; bottom: 6px; padding: 2px 4px 2px 10px; width: 186px; }
-.g-thumbslide .g-metadata li { padding: 0; margin: 0; font-size: 0.9em; }
-.g-extended .g-thumbslide .g-metadata { width: 286px; }
-.g-thumbslide:hover .g-metadata { display: block; }
-
-/* screen.css - Thumbs : Expanded View mode ~~~~~~~~~~~~*/
-
-.g-expanded .g-thumbslide { font-size: 0.9em; width: 208px; min-height: 139px; padding-top: 6px; padding-left: 6px; line-height: 1.2em; overflow: hidden; }
-.g-thumbtype-sqr.g-expanded .g-thumbslide { height: 238px; }
-.g-thumbtype-flm.g-expanded .g-thumbslide { height: 171px; }
-.g-thumbtype-dgt.g-expanded .g-thumbslide { height: 188px; }
-.g-thumbtype-wd.g-expanded .g-thumbslide { height: 150px; }
-
-.g-extended.g-expanded .g-thumbslide { width: 308px; }
-.g-thumbtype-sqr.g-extended.g-expanded .g-thumbslide { height: 346px; }
-.g-thumbtype-flm.g-extended.g-expanded .g-thumbslide { height: 244px; }
-.g-thumbtype-dgt.g-extended.g-expanded .g-thumbslide { height: 270px; }
-.g-thumbtype-wd.g-extended.g-expanded .g-thumbslide { height: 214px; }
-
-.g-expanded .g-thumbslide .g-description { position: static; display: block; }
-.g-expanded .g-thumbslide .g-description li { display: inline; padding-right: 0.8em; }
-.g-expanded .g-thumbslide .g-description .g-title { display: block; font-weight: bold; font-size: 1.1em; letter-spacing: 0.1em; text-transform: uppercase; }
-.g-album.g-expanded .g-thumbslide .g-description .g-title { padding-left: 24px; }
-
-.g-expanded .g-thumbslide .g-description.g-overlay-bottom { width: 192px; }
-.g-expanded .g-thumbslide .g-metadata { bottom: 10px; }
-.g-expanded .g-thumbslide .g-metadata li { padding: 0; margin: 0; font-size: 0.9em; }
-.g-expanded .g-thumbslide:hover .g-metadata { display: block; bottom: 40px; }
-
-/* screen.css - Photo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-item { float: left; height: 100%; width: 100%; }
-#g-photo { padding: 6px 0 6px 0; text-align: center; float: left; height: 100%; width: 100%; }
-div.g-resize { position: relative; left: 50%; float: left; padding: 5px; font-size: 0.9em; }
-div.g-resize>a { float: left; overflow: hidden; }
-div.g-resize>a img { float: left; }
-
-div.g-resize .g-description { display: none; position: absolute; left: 5px; text-align: left; padding: 10px; }
-div.g-resize .g-description strong { display: block; margin-bottom: 5px; text-transform: uppercase; }
-div.g-resize .g-description.g-align-top { top: 0px; margin-top: 5px; }
-div.g-resize .g-description.g-align-bottom { bottom: 4px; }
-div.g-resize:hover .g-description { display: block; }
-
-div.g-resize .g-more { display: block; position: absolute; right: 16px; padding: 4px 8px; }
-div.g-resize:hover .g-more { display: none; visibility: hidden; }
-div.g-resize .g-more.g-align-top { top: 16px; }
-div.g-resize .g-more.g-align-bottom { bottom: 20px; }
-
-.ul-table { text-align: center; margin: 0px auto; padding: 0; list-style-type: none; clear: both; }
-.ul-table li { float: left; text-align: center; }
-
-#g-info { display: inline-block; width: 100%; }
-#g-info .g-description { margin-top: .4em; margin-bottom: .4em; padding: .5em 1em; }
-#g-movie { padding: 6px 0 6px 6px; position: relative; }
-
-#g-item a.g-movie { display: block; margin: 0 auto; }
-
-.g-description .g-metadata { padding: 0.4em 0 0 0; font-size: 0.8em; }
-.g-description .g-metadata li { display: inline; padding-right: 1em; }
-
-/* screen.css - Sidebar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* screen.css - Sidebar : Common ~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-block { margin-bottom: 4px; padding-bottom: 4px; position: relative; clear: both; }
-.g-block h2 { padding: 6px 4px 6px 8px; font-size: 1em; }
-.g-block-content { margin: 6px 6px 0 6px; display: block; zoom: 1; }
-
-#g-column-top .g-block, #g-column-bottom .g-block { float: left; clear: none; width: 240px; margin-left: 10px; }
-#g-column-top .g-toolbar, #g-column-bottom .g-toolbar { margin-bottom: 0.5em; }
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { font-size: 2px; }
-
-/* screen.css - Sidebar : Buttons ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-viewformat { z-index: 5; position: absolute; padding: 0; top: 6px; right: 10px; }
-#g-viewformat li { float: left; margin-right: 2px; }
-#g-viewformat span { display: block; width: 17px; height: 15px; line-height: 1px; text-indent: -900em; background-repeat: no-repeat; }
-#g-viewformat .g-sidebar-left { background-position: -128px -210px; }
-#g-viewformat .g-sidebar-top { background-position: -148px -210px; }
-#g-viewformat .g-sidebar-full { background-position: -168px -210px; }
-#g-viewformat .g-sidebar-right { background-position: -188px -210px; }
-#g-viewformat .g-sidebar-bottom { background-position: -208px -210px; }
-#g-viewformat .g-sidebar-left:hover, #g-viewformat .g-sidebar-left.g-current { background-position: -128px -225px; }
-#g-viewformat .g-sidebar-top:hover, #g-viewformat .g-sidebar-top.g-current { background-position: -148px -225px; }
-#g-viewformat .g-sidebar-full:hover, #g-viewformat .g-sidebar-full.g-current { background-position: -168px -225px; }
-#g-viewformat .g-sidebar-right:hover, #g-viewformat .g-sidebar-right.g-current { background-position: -188px -225px; }
-#g-viewformat .g-sidebar-bottom:hover,#g-viewformat .g-sidebar-bottom.g-current{ background-position: -208px -225px; }
-
-#g-view-menu { position: absolute; top: 6px; right: 106px; height: 16px; z-index: 5; zoom: 1; margin: 0 0 6px 0; padding: 0 0 4px 0; }
-#g-view-menu.g-buttonset-shift { right: 6px; }
-.g-toolbar { margin: 0 0 4px 0; }
-.g-menu { margin: 0; padding: 0; text-align: left; }
-.g-menu li { display: inline; }
-
-.g-menu-element,
-.g-menu-link { display: inline; float: left; margin-right: 4px; }
-
-.g-buttonset .g-menu-link { text-indent: -99999px; width: 22px; height: 15px; overflow: hidden; }
-
-#g-slideshow-link { width: 22px; height: 15px; background-position: -103px -210px; }
-#g-slideshow-link:hover { background-position: -103px -225px; }
-
-.g-fullsize-link:hover, #g-exifdata-link:hover { background-position: left bottom; }
-
-/* screen.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-rootpage-quote { float: left; width: 300px; padding-top: 6px; font-size: 110%; }
-#g-rootpage-roll { float: right; text-align: center; z-index: 1; position: relative; width: 800px; height: 540px; }
-#g-rootpage-link { z-index: 10; position: absolute; height: 540px; width: 800px; top: 0; left: 0; cursor: pointer; }
-#g-rootpage-roll span { z-index: 11; display: block; position: absolute; right: 16px; padding: 4px 8px; top: 20px; cursor: pointer; font-size: 0.9em; }
-#g-rootpage-roll.g-full { margin-left: auto; margin-right: auto; float: none; }
diff --git a/css/colorpacks/blackhawk/colors.css b/css/colorpacks/blackhawk/colors.css
deleted file mode 100644
index 06b6b408..00000000
--- a/css/colorpacks/blackhawk/colors.css
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * ColorPack: SlateBlue
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { background-color: #101010; }
-body { color: #8C8C8C; background: #101010; }
-
-h1 { border-bottom: #424242 1px solid; }
-a { color: #6392CF !important; }
-.ui-icon, #g-slideshow-link { background-image: url(images/ui-icons.png); }
-
-#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
-#g-site-status .g-error { background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; }
-#g-site-status .g-info { background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; }
-#g-site-status .g-success { background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; }
-#g-site-status .g-warning { background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; }
-
-/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-header { border: #424242 1px solid; }
-#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
-.g-breadcrumbs li { background: transparent url(images/ico-separator.png) no-repeat 0 0.2em; }
-.rtl .g-breadcrumbs li { background: transparent url('images/ico-separator-rtl.png') no-repeat 0 0.2em; }
-#g-main { border-left: #424242 1px solid; border-right: #424242 1px solid; }
-#g-footer { font-size: 10px; border: #424242 1px solid; }
-#g-theme-logo { background: transparent url('images/colorpack.png') no-repeat; }
-
-/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-column-top, #g-column-bottom { border-left: #424242 1px solid; border-right: #424242 1px solid; }
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
-#g-info .g-description { border: #424242 1px solid; }
-
-.g-thumbcrop { border-color: #424142; }
-.g-thumbslide, .g-album .g-thumbslide { background: #212021; border-color: #424142 #000 #000 #424142; }
-.g-thumbslide .g-description { color: #fff; border-top: 1px solid #424142; border-bottom: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(images/ico-album.png) no-repeat 8px 4px; }
-.g-album .g-thumbslide .g-description { background: #1E1E1E url(images/ico-album.png) no-repeat 8px 4px; }
-.g-thumbslide .g-metadata { border-top: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #424142; background: #1E1E1E; }
-
-/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-div.g-resize { background: #212021; border-top: 1px solid #424142; border-left: 1px solid #424142; border-right: 1px solid #000; border-bottom: 1px solid #000; }
-div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
-div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
-div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
-
-/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
-
-.g-block h2 { border-top: 1px solid #424142; border-left: 1px solid #424142; border-right: 1px solid #000; border-bottom: 1px solid #000; }
-
-/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
-
-.g-fullsize-link { background: url("images/view-fullsize.png") top left no-repeat; }
-#g-exifdata-link { background: url("images/view-info.png") top left no-repeat; }
-
-/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-rootpage-roll span { border: 1px solid #424142; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-body { background-color: #101415; }
-#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('images/section.png') repeat-x; }
-#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
-
-/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
-#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
-
-#g-add-photos-status li.g-success { background: url('images/ico-success.png') transparent no-repeat .4em 50%; }
-#g-add-photos-status li.g-error { background: url('images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
-.uploadifyQueueItem { color: #000; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-error #g-login>ul { border: #888 1px solid; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li a:hover { color: #000000; background-color: #303030; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
-#g-site-menu li ul { border: #000000 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
-
-#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
-#g-site-menu.g-bar li:hover,
-#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #303030; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-data table { border: #303030 1px solid; }
-#g-exif-data .g-even { background-color: #404040; }
-#g-exif-data .g-odd { background-color: #303030; }
-
-/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata .g-description { border-top: 1px solid #424242; }
-
-/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-image-block img { border: 1px solid #888; background: #555; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments .g-author { border-bottom: 1px solid #424242; color: #8C8C8C; }
-#g-comments-link { background-image: url(images/view-comments.png); }
-#g-comment-detail>ul>li { border: 1px dotted #424242; }
-#g-comment-form { border: 1px dotted #424242; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-view-menu #g-calendarview-link { background-image: url(images/view-calendar.png); }
-#g-view-calendar-form ul { border: 1px #888 solid; }
-table.calendar { border: #a2adbc 1px solid; color: #616b76; }
-table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #8C8C8C; }
-table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
-table.calendar td.title { background-color: #a2adbc; color: #fff; }
-table.calendar td.title a { color: #fff !important; }
-table.calendar td a { color: red !important; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #424242; color: #8C8C8C; }
-#g-quick-search-form input[type="submit"] { background: transparent url(images/search.png) no-repeat center top; border: none; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#checkout legend { background: url(images/section.png) repeat-x; }
-
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.ui-dialog .ui-dialog-titlebar { background: #424242; }
-.ui-widget-content { border: 1px solid #303030; background-color: #101010; color: #8C8C8C; }
-.ui-progressbar .ui-progressbar-value { background: #424242; }
\ No newline at end of file
diff --git a/css/colorpacks/blackhawk/images/ajax-loading.gif b/css/colorpacks/blackhawk/images/ajax-loading.gif
deleted file mode 100644
index 0996045a..00000000
Binary files a/css/colorpacks/blackhawk/images/ajax-loading.gif and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/colorpack.png b/css/colorpacks/blackhawk/images/colorpack.png
deleted file mode 100644
index 96f5372f..00000000
Binary files a/css/colorpacks/blackhawk/images/colorpack.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ico-album.png b/css/colorpacks/blackhawk/images/ico-album.png
deleted file mode 100644
index ac87ec4f..00000000
Binary files a/css/colorpacks/blackhawk/images/ico-album.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ico-separator-rtl.png b/css/colorpacks/blackhawk/images/ico-separator-rtl.png
deleted file mode 100644
index 9dc1ae51..00000000
Binary files a/css/colorpacks/blackhawk/images/ico-separator-rtl.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ico-separator.png b/css/colorpacks/blackhawk/images/ico-separator.png
deleted file mode 100644
index 3e158515..00000000
Binary files a/css/colorpacks/blackhawk/images/ico-separator.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ico-success.png b/css/colorpacks/blackhawk/images/ico-success.png
deleted file mode 100644
index a9925a06..00000000
Binary files a/css/colorpacks/blackhawk/images/ico-success.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ico-warning.png b/css/colorpacks/blackhawk/images/ico-warning.png
deleted file mode 100644
index 628cf2da..00000000
Binary files a/css/colorpacks/blackhawk/images/ico-warning.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/search.png b/css/colorpacks/blackhawk/images/search.png
deleted file mode 100644
index 1bfa4115..00000000
Binary files a/css/colorpacks/blackhawk/images/search.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/ui-icons.png b/css/colorpacks/blackhawk/images/ui-icons.png
deleted file mode 100644
index 72a29115..00000000
Binary files a/css/colorpacks/blackhawk/images/ui-icons.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/view-calendar.png b/css/colorpacks/blackhawk/images/view-calendar.png
deleted file mode 100644
index 206ccd66..00000000
Binary files a/css/colorpacks/blackhawk/images/view-calendar.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/view-comments.png b/css/colorpacks/blackhawk/images/view-comments.png
deleted file mode 100644
index 293c587e..00000000
Binary files a/css/colorpacks/blackhawk/images/view-comments.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/view-fullsize.png b/css/colorpacks/blackhawk/images/view-fullsize.png
deleted file mode 100644
index ed76257a..00000000
Binary files a/css/colorpacks/blackhawk/images/view-fullsize.png and /dev/null differ
diff --git a/css/colorpacks/blackhawk/images/view-info.png b/css/colorpacks/blackhawk/images/view-info.png
deleted file mode 100644
index 521439ce..00000000
Binary files a/css/colorpacks/blackhawk/images/view-info.png and /dev/null differ
diff --git a/css/colorpacks/carbon/colors.css b/css/colorpacks/carbon/colors.css
deleted file mode 100644
index fd8de016..00000000
--- a/css/colorpacks/carbon/colors.css
+++ /dev/null
@@ -1,179 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * ColorPack: Carbon
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { background-color: #333; }
-body { color: #999; background-color: #333; }
-
-h1 { border-bottom: #6f6f6f 1px solid; }
-a { color: #999 !important; font-weight: bold; }
-.ui-icon, #g-slideshow-link { background-image: url(images/ui-icons.png); }
-
-#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
-#g-site-status .g-error { background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; }
-#g-site-status .g-info { background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; }
-#g-site-status .g-success { background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; }
-#g-site-status .g-warning { background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; }
-
-/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
-.g-breadcrumbs li { background: transparent url(images/ico-separator.png) no-repeat 0 0.2em; }
-.rtl .g-breadcrumbs li { background: transparent url('images/ico-separator-rtl.png') no-repeat 0 0.2em; }
-#g-main { background-color: #3f3f3f; margin-left: 10px; margin-right: 10px; }
-#g-theme-logo { background: transparent url('images/colorpack.png') no-repeat; }
-
-/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-column-top { border-top: #737373 1px solid; }
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
-#g-info .g-description { border: #6f6f6f 1px solid; }
-
-.g-thumbslide { background: #555; border-color: #303E43; }
-.g-album .g-thumbslide { border-color: #6f6f6f; }
-.g-thumbcrop { border-color: #303E43; }
-
-.g-thumbslide .g-description { color: #fff; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(images/ico-album.png) no-repeat 8px 4px; }
-.g-album .g-thumbslide .g-description { background: #3f3f3f url(images/ico-album.png) no-repeat 8px 4px; }
-.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; color: #FFF; }
-.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #3f3f3f; }
-
-/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-div.g-resize { border: 1px solid #888; background: #555; }
-div.g-resize .g-description { color: #fff; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
-div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
-div.g-resize .g-more { border: 1px solid #999; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
-
-/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
-
-.g-block { border: 1px solid #6f6f6f; }
-.g-block h2 { background: url(images/section.png) repeat-x; }
-
-/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
-
-.g-fullsize-link { background: url("images/view-fullsize.png") top left no-repeat; }
-#g-exifdata-link { background: url("images/view-info.png") top left no-repeat; }
-
-/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-rootpage-roll span { border: 1px solid #999; background: #3f3f3f; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li a:hover { color: #000000; background-color: #333; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #333; border-bottom: #000000 1px solid; }
-#g-site-menu li ul { border: #000000 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #333; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #ddf2ff; }
-
-#g-site-menu.g-bar { border: #000000 1px solid; background-color: #333; }
-#g-site-menu.g-bar li:hover,
-#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #333 none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #ddf2ff; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-body { background-color: #101415; }
-#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background-color: #333; }
-#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
-
-/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
-#g-add-photos-button { border: #303030 1px solid; color: #bbb; }
-#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
-
-#g-add-photos-status li.g-success { background: url('images/ico-success.png') transparent no-repeat .4em 50%; }
-#g-add-photos-status li.g-error { background: url('images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
-.uploadifyQueueItem { color: #000; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li a:hover { color: #000000; background-color: #303030; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
-#g-site-menu li ul { border: #000000 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #303030; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-data table { border: #303030 1px solid; }
-#g-exif-data .g-even { background-color: #404040; }
-#g-exif-data .g-odd { background-color: #303030; }
-
-/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata .g-description { border-top: 1px solid #737373; }
-
-/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-image-block img { border: 1px solid #888; background: #555; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
-#g-comments-link { background-image: url(images/view-comments.png); }
-#g-comment-detail>ul>li { border: 1px dotted #737373; }
-#g-comment-form { border: 1px dotted #737373; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-view-menu #g-calendarview-link { background-image: url(images/view-calendar.png); }
-#g-view-calendar-form ul { border: 1px #888 solid; }
-table.calendar { border: #a2adbc 1px solid; color: #616b76; }
-table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
-table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
-table.calendar td.title { background-color: #a2adbc; color: #fff; }
-table.calendar td.title a { color: #fff !important; }
-table.calendar td a { color: red !important; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
-#g-quick-search-form input[type="submit"] { background: transparent url(images/search.png) no-repeat center top; border: none; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#checkout legend { background: url(images/section.png) repeat-x; }
-
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.ui-dialog .ui-dialog-titlebar { background: #333 url('images/section.png') repeat-x; }
-.ui-widget-content { border: 1px solid #303030; background-color: #333; color: #bbb; }
-.ui-progressbar .ui-progressbar-value { background: #737373; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-error #g-login>ul { border: #737373 1px solid; }
diff --git a/css/colorpacks/carbon/images/ajax-loading.gif b/css/colorpacks/carbon/images/ajax-loading.gif
deleted file mode 100644
index 0996045a..00000000
Binary files a/css/colorpacks/carbon/images/ajax-loading.gif and /dev/null differ
diff --git a/css/colorpacks/carbon/images/colorpack.png b/css/colorpacks/carbon/images/colorpack.png
deleted file mode 100644
index 0ba45826..00000000
Binary files a/css/colorpacks/carbon/images/colorpack.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-album.png b/css/colorpacks/carbon/images/ico-album.png
deleted file mode 100644
index ac87ec4f..00000000
Binary files a/css/colorpacks/carbon/images/ico-album.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-error.png b/css/colorpacks/carbon/images/ico-error.png
deleted file mode 100644
index c37bd062..00000000
Binary files a/css/colorpacks/carbon/images/ico-error.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-help.png b/css/colorpacks/carbon/images/ico-help.png
deleted file mode 100644
index 5c870176..00000000
Binary files a/css/colorpacks/carbon/images/ico-help.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-info.png b/css/colorpacks/carbon/images/ico-info.png
deleted file mode 100644
index 12cd1aef..00000000
Binary files a/css/colorpacks/carbon/images/ico-info.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-separator-rtl.png b/css/colorpacks/carbon/images/ico-separator-rtl.png
deleted file mode 100644
index 9dc1ae51..00000000
Binary files a/css/colorpacks/carbon/images/ico-separator-rtl.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-separator.png b/css/colorpacks/carbon/images/ico-separator.png
deleted file mode 100644
index 3e158515..00000000
Binary files a/css/colorpacks/carbon/images/ico-separator.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-success.png b/css/colorpacks/carbon/images/ico-success.png
deleted file mode 100644
index a9925a06..00000000
Binary files a/css/colorpacks/carbon/images/ico-success.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ico-warning.png b/css/colorpacks/carbon/images/ico-warning.png
deleted file mode 100644
index 628cf2da..00000000
Binary files a/css/colorpacks/carbon/images/ico-warning.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/loading-large.gif b/css/colorpacks/carbon/images/loading-large.gif
deleted file mode 100644
index cc70a7a8..00000000
Binary files a/css/colorpacks/carbon/images/loading-large.gif and /dev/null differ
diff --git a/css/colorpacks/carbon/images/loading-small.gif b/css/colorpacks/carbon/images/loading-small.gif
deleted file mode 100644
index d0bce154..00000000
Binary files a/css/colorpacks/carbon/images/loading-small.gif and /dev/null differ
diff --git a/css/colorpacks/carbon/images/search.png b/css/colorpacks/carbon/images/search.png
deleted file mode 100644
index 2d115cc8..00000000
Binary files a/css/colorpacks/carbon/images/search.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/section.png b/css/colorpacks/carbon/images/section.png
deleted file mode 100644
index 8180ecb3..00000000
Binary files a/css/colorpacks/carbon/images/section.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/ui-icons.png b/css/colorpacks/carbon/images/ui-icons.png
deleted file mode 100644
index d9210584..00000000
Binary files a/css/colorpacks/carbon/images/ui-icons.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/view-calendar.png b/css/colorpacks/carbon/images/view-calendar.png
deleted file mode 100644
index 5442fa51..00000000
Binary files a/css/colorpacks/carbon/images/view-calendar.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/view-comments.png b/css/colorpacks/carbon/images/view-comments.png
deleted file mode 100644
index 5449126b..00000000
Binary files a/css/colorpacks/carbon/images/view-comments.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/view-fullsize.png b/css/colorpacks/carbon/images/view-fullsize.png
deleted file mode 100644
index ed76257a..00000000
Binary files a/css/colorpacks/carbon/images/view-fullsize.png and /dev/null differ
diff --git a/css/colorpacks/carbon/images/view-info.png b/css/colorpacks/carbon/images/view-info.png
deleted file mode 100644
index ff30501c..00000000
Binary files a/css/colorpacks/carbon/images/view-info.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/colors.css b/css/colorpacks/greydragon/colors.css
deleted file mode 100644
index 56d90047..00000000
--- a/css/colorpacks/greydragon/colors.css
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * ColorPack: GreyDragon - Default color pack
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { background-color: #1A2022; }
-body { color: #BBB; background: #1A2022; }
-
-h1 { border-bottom: #737373 1px solid; }
-a { color: #6392CF !important; }
-.ui-icon, #g-slideshow-link { background-image: url(images/ui-icons.png); }
-
-#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
-#g-site-status .g-error { background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; }
-#g-site-status .g-info { background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; }
-#g-site-status .g-success { background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; }
-#g-site-status .g-warning { background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; }
-
-/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-header { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(images/background-top.gif) #1A2022 repeat-x; }
-#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
-.g-breadcrumbs li { background: transparent url(images/ico-separator.png) no-repeat 0 0.2em; }
-.rtl .g-breadcrumbs li { background: transparent url('images/ico-separator-rtl.png') no-repeat 0 0.2em; }
-#g-main { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(images/background-bottom.gif) #1A2022 repeat-x; }
-#g-footer { background: url(images/footer.png) #1A2022 repeat-x top !important; }
-#g-theme-logo { background: transparent url('images/colorpack.png') no-repeat; }
-
-/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-column-top { background: url(images/background-bottom.gif) #1A2022 repeat-x; border: #10151C 1px solid; }
-#g-column-bottom { background-color: #1a2022; border: #10151C 1px solid; }
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
-#g-info .g-description { border: #737373 1px solid; }
-
-.g-thumbslide { background: #1E1E1E url('images/image-thumb.gif') repeat-x; border-color: #303E43; }
-.g-album .g-thumbslide { border-color: #43565B; }
-.g-thumbcrop { border-color: #303E43; }
-
-.g-thumbslide .g-description { color: #fff; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-album.g-expanded .g-thumbslide .g-description { background: transparent url(images/ico-album.png) no-repeat 8px 4px; }
-.g-album .g-thumbslide .g-description { background: #1E1E1E url(images/ico-album.png) no-repeat 8px 4px; }
-.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-expanded .g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; }
-
-/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-div.g-resize { border: 1px solid #888; background: #555; }
-div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
-div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
-div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
-
-/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
-
-.g-block { border: 1px solid #737373; background-color: #101415; }
-.g-block h2 { background: url(images/section.png) repeat-x; }
-
-/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
-
-.g-fullsize-link { background: url("images/view-fullsize.png") top left no-repeat; }
-#g-exifdata-link { background: url("images/view-info.png") top left no-repeat; }
-
-/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-rootpage-roll span { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-body { background: #101415 url('images/ajax-loading.gif') no-repeat center center; }
-#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('images/section.png') repeat-x; }
-#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
-
-/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
-#ag-add-photos-button { border: #303030 1px solid; color: #bbb; }
-#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
-
-#g-add-photos-status li.g-success { background: url('images/ico-success.png') transparent no-repeat .4em 50%; }
-#g-add-photos-status li.g-error { background: url('images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
-.uploadifyQueueItem { color: #000; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li a:hover { color: #000000; background-color: #303030; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
-#g-site-menu li ul { border: #000000 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
-
-#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
-#g-site-menu.g-bar li:hover,
-#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
-
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #303030; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-data table { border: #303030 1px solid; }
-#g-exif-data .g-even { background-color: #404040; }
-#g-exif-data .g-odd { background-color: #303030; }
-
-/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata .g-description { border-top: 1px solid #737373; }
-
-/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-image-block img { border: 1px solid #888; background: #555; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
-#g-comments-link { background-image: url(images/view-comments.png); }
-#g-comment-detail>ul>li { border: 1px dotted #737373; }
-#g-comment-form { border: 1px dotted #737373; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-view-menu #g-calendarview-link { background-image: url(images/view-calendar.png); }
-#g-view-calendar-form ul { border: 1px #888 solid; }
-table.calendar { border: #a2adbc 1px solid; color: #616b76; }
-table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
-table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
-table.calendar td.title { background-color: #a2adbc; color: #fff; }
-table.calendar td.title a { color: #fff !important; }
-table.calendar td a { color: red !important; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
-#g-quick-search-form input[type="submit"] { background: transparent url(images/search.png) no-repeat center top; border: none; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#checkout legend { background: url(images/section.png) repeat-x; }
-
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.ui-dialog .ui-dialog-titlebar { background: #101415 url('images/section.png') repeat-x; }
-.ui-widget-content { border: 1px solid #303030; background-color: #1a2022; color: #bbb; }
-.ui-progressbar .ui-progressbar-value { background: #737373; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-error #g-login>ul { border: #888 1px solid; }
-
diff --git a/css/colorpacks/greydragon/images/ajax-loading.gif b/css/colorpacks/greydragon/images/ajax-loading.gif
deleted file mode 100644
index 0996045a..00000000
Binary files a/css/colorpacks/greydragon/images/ajax-loading.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/background-bottom.gif b/css/colorpacks/greydragon/images/background-bottom.gif
deleted file mode 100644
index 1f675f32..00000000
Binary files a/css/colorpacks/greydragon/images/background-bottom.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/background-top.gif b/css/colorpacks/greydragon/images/background-top.gif
deleted file mode 100644
index ec70a64d..00000000
Binary files a/css/colorpacks/greydragon/images/background-top.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/background.gif b/css/colorpacks/greydragon/images/background.gif
deleted file mode 100644
index b8083564..00000000
Binary files a/css/colorpacks/greydragon/images/background.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/colorpack.png b/css/colorpacks/greydragon/images/colorpack.png
deleted file mode 100644
index b4bd4cae..00000000
Binary files a/css/colorpacks/greydragon/images/colorpack.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/footer.png b/css/colorpacks/greydragon/images/footer.png
deleted file mode 100644
index 04d5ee54..00000000
Binary files a/css/colorpacks/greydragon/images/footer.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-album.png b/css/colorpacks/greydragon/images/ico-album.png
deleted file mode 100644
index ac87ec4f..00000000
Binary files a/css/colorpacks/greydragon/images/ico-album.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-error.png b/css/colorpacks/greydragon/images/ico-error.png
deleted file mode 100644
index c37bd062..00000000
Binary files a/css/colorpacks/greydragon/images/ico-error.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-help.png b/css/colorpacks/greydragon/images/ico-help.png
deleted file mode 100644
index 5c870176..00000000
Binary files a/css/colorpacks/greydragon/images/ico-help.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-info.png b/css/colorpacks/greydragon/images/ico-info.png
deleted file mode 100644
index 12cd1aef..00000000
Binary files a/css/colorpacks/greydragon/images/ico-info.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-separator-rtl.png b/css/colorpacks/greydragon/images/ico-separator-rtl.png
deleted file mode 100644
index 9dc1ae51..00000000
Binary files a/css/colorpacks/greydragon/images/ico-separator-rtl.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-separator.png b/css/colorpacks/greydragon/images/ico-separator.png
deleted file mode 100644
index 3e158515..00000000
Binary files a/css/colorpacks/greydragon/images/ico-separator.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-success.png b/css/colorpacks/greydragon/images/ico-success.png
deleted file mode 100644
index a9925a06..00000000
Binary files a/css/colorpacks/greydragon/images/ico-success.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ico-warning.png b/css/colorpacks/greydragon/images/ico-warning.png
deleted file mode 100644
index 628cf2da..00000000
Binary files a/css/colorpacks/greydragon/images/ico-warning.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/image-thumb-album.gif b/css/colorpacks/greydragon/images/image-thumb-album.gif
deleted file mode 100644
index 343dc63c..00000000
Binary files a/css/colorpacks/greydragon/images/image-thumb-album.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/image-thumb.gif b/css/colorpacks/greydragon/images/image-thumb.gif
deleted file mode 100644
index bc3a192f..00000000
Binary files a/css/colorpacks/greydragon/images/image-thumb.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/loading-large.gif b/css/colorpacks/greydragon/images/loading-large.gif
deleted file mode 100644
index cc70a7a8..00000000
Binary files a/css/colorpacks/greydragon/images/loading-large.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/loading-small.gif b/css/colorpacks/greydragon/images/loading-small.gif
deleted file mode 100644
index d0bce154..00000000
Binary files a/css/colorpacks/greydragon/images/loading-small.gif and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/search.png b/css/colorpacks/greydragon/images/search.png
deleted file mode 100644
index 1bfa4115..00000000
Binary files a/css/colorpacks/greydragon/images/search.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/section.png b/css/colorpacks/greydragon/images/section.png
deleted file mode 100644
index 8180ecb3..00000000
Binary files a/css/colorpacks/greydragon/images/section.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/ui-icons.png b/css/colorpacks/greydragon/images/ui-icons.png
deleted file mode 100644
index 72a29115..00000000
Binary files a/css/colorpacks/greydragon/images/ui-icons.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/view-calendar.png b/css/colorpacks/greydragon/images/view-calendar.png
deleted file mode 100644
index 206ccd66..00000000
Binary files a/css/colorpacks/greydragon/images/view-calendar.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/view-comments.png b/css/colorpacks/greydragon/images/view-comments.png
deleted file mode 100644
index 293c587e..00000000
Binary files a/css/colorpacks/greydragon/images/view-comments.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/view-fullsize.png b/css/colorpacks/greydragon/images/view-fullsize.png
deleted file mode 100644
index ed76257a..00000000
Binary files a/css/colorpacks/greydragon/images/view-fullsize.png and /dev/null differ
diff --git a/css/colorpacks/greydragon/images/view-info.png b/css/colorpacks/greydragon/images/view-info.png
deleted file mode 100644
index 521439ce..00000000
Binary files a/css/colorpacks/greydragon/images/view-info.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/colors.css b/css/colorpacks/slateblue/colors.css
deleted file mode 100644
index e42f904b..00000000
--- a/css/colorpacks/slateblue/colors.css
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * ColorPack: SlateBlue
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { background-color: #1c242e; }
-body { color: #BBB; background: #1c242e; }
-
-h1 { border-bottom: #737373 1px solid; }
-a { color: #6392CF !important; }
-.ui-icon, #g-slideshow-link { background-image: url(images/ui-icons.png); }
-
-#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
-#g-site-status .g-error { background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; }
-#g-site-status .g-info { background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; }
-#g-site-status .g-success { background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; }
-#g-site-status .g-warning { background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; }
-
-/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-header { border-left: #10151c 1px solid; border-right: #10151c 1px solid; background: url(images/background.jpg) #1c242e repeat-x; }
-#g-header .g-message-block { border: 1px #888 solid; background-color: #AAA; color: #000; }
-.g-breadcrumbs li { background: transparent url(images/ico-separator.png) no-repeat 0 0.2em; }
-.rtl .g-breadcrumbs li { background: transparent url('images/ico-separator-rtl.png') no-repeat 0 0.2em; }
-#g-main { border-left: #10151c 1px solid; border-right: #10151c 1px solid; }
-#g-footer { background: #000; font-size: 10px; }
-#g-theme-logo { background: transparent url('images/colorpack.png') no-repeat; }
-
-/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-column-top, #g-column-bottom { background-color: #1a1e27; border: #10151C 1px solid; border-top: none;}
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
-#g-info .g-description { border: #10151c 1px solid; background-color: #1a1e27; }
-
-.g-thumbslide { border-color: #303E43; }
-.g-album .g-thumbslide { border-color: #43565B; }
-.g-thumbcrop { border-color: #303E43; }
-
-.g-default .g-thumbslide .g-description { color: #fff; background: #1E1E1E; border-top: 1px solid #303e43; border-bottom: 1px solid #303e43; opacity:.85; -ms-filter: "alpha (opacity=85)"; filter: alpha (opacity=85); }
-.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
-.g-album .g-thumbslide .g-description { background-image: url(images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
-
-.g-thumbslide .g-metadata { border-top: 1px solid #303e43; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-div.g-resize { border: #10151c 1px solid; background: #4a4e67; }
-div.g-resize .g-description { color: #fff; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
-div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
-div.g-resize .g-more { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-.g-movie { border: 1px solid #888; padding: 5px; background: #555; }
-
-/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
-
-.g-block { border: #10151c 1px solid; background-color: #1a1e27; }
-.g-block h2 { background: #1c242e; border-bottom: #273444 1px solid; border-top: #273444 1px solid; }
-
-/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
-
-.g-fullsize-link { background: url("images/view-fullsize.png") top left no-repeat; }
-#g-exifdata-link { background: url("images/view-info.png") top left no-repeat; }
-
-/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-rootpage-roll span { border: 1px solid #999; background: #1E1E1E; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-body { background-color: #101415; }
-#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #101415 url('images/section.png') repeat-x; }
-#sb-counter a { color: #fff !important; font-weight: bold; font-size: 11px; }
-
-/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { background-color: #101010; border: #303030 1px solid; }
-#g-add-photos-status { background-color: #101010; border: #303030 1px solid; }
-
-#g-add-photos-status li.g-success { background: url('images/ico-success.png') transparent no-repeat .4em 50%; }
-#g-add-photos-status li.g-error { background: url('images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
-.uploadifyQueueItem { color: #000; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-error #g-login>ul { border: #888 1px solid; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile .g-avatar { border: 1px solid #888; background: #555; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li a:hover { color: #000000; background-color: #303030; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #303030; border-bottom: #000000 1px solid; }
-#g-site-menu li ul { border: #000000 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #212121; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #303030; }
-
-#g-site-menu.g-bar { border: #000000 1px solid; background-color: #212121; }
-#g-site-menu.g-bar li:hover,
-#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #181818 none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #303030; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-data table { border: #303030 1px solid; }
-#g-exif-data .g-even { background-color: #404040; }
-#g-exif-data .g-odd { background-color: #303030; }
-
-/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata .g-description { border-top: 1px solid #737373; }
-
-/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-image-block img { border: 1px solid #888; background: #555; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
-#g-comments-link { background-image: url(images/view-comments.png); }
-#g-comment-detail>ul>li { border: 1px dotted #737373; }
-#g-comment-form { border: 1px dotted #737373; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-view-menu #g-calendarview-link { background-image: url(images/view-calendar.png); }
-#g-view-calendar-form ul { border: 1px #888 solid; }
-table.calendar { border: #a2adbc 1px solid; color: #616b76; }
-table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
-table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
-table.calendar td.title { background-color: #a2adbc; color: #fff; }
-table.calendar td.title a { color: #fff !important; }
-table.calendar td a { color: red !important; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #737373; color: #BBB; }
-#g-quick-search-form input[type="submit"] { background: transparent url(images/search.png) no-repeat center top; border: none; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#checkout legend { background: url(images/section.png) repeat-x; }
-
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.ui-dialog .ui-dialog-titlebar { background: #101415 url('images/section.png') repeat-x; }
-.ui-widget-content { border: 1px solid #303030; background-color: #1a2022; color: #bbb; }
-.ui-progressbar .ui-progressbar-value { background: #737373; }
\ No newline at end of file
diff --git a/css/colorpacks/slateblue/images/ajax-loading.gif b/css/colorpacks/slateblue/images/ajax-loading.gif
deleted file mode 100644
index 0996045a..00000000
Binary files a/css/colorpacks/slateblue/images/ajax-loading.gif and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/background.jpg b/css/colorpacks/slateblue/images/background.jpg
deleted file mode 100644
index 7ec958a7..00000000
Binary files a/css/colorpacks/slateblue/images/background.jpg and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/colorpack.png b/css/colorpacks/slateblue/images/colorpack.png
deleted file mode 100644
index d3fd9930..00000000
Binary files a/css/colorpacks/slateblue/images/colorpack.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/footer.png b/css/colorpacks/slateblue/images/footer.png
deleted file mode 100644
index 04d5ee54..00000000
Binary files a/css/colorpacks/slateblue/images/footer.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-album.png b/css/colorpacks/slateblue/images/ico-album.png
deleted file mode 100644
index ac87ec4f..00000000
Binary files a/css/colorpacks/slateblue/images/ico-album.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-error.png b/css/colorpacks/slateblue/images/ico-error.png
deleted file mode 100644
index c37bd062..00000000
Binary files a/css/colorpacks/slateblue/images/ico-error.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-help.png b/css/colorpacks/slateblue/images/ico-help.png
deleted file mode 100644
index 5c870176..00000000
Binary files a/css/colorpacks/slateblue/images/ico-help.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-info.png b/css/colorpacks/slateblue/images/ico-info.png
deleted file mode 100644
index 12cd1aef..00000000
Binary files a/css/colorpacks/slateblue/images/ico-info.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-separator-rtl.png b/css/colorpacks/slateblue/images/ico-separator-rtl.png
deleted file mode 100644
index 9dc1ae51..00000000
Binary files a/css/colorpacks/slateblue/images/ico-separator-rtl.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-separator.png b/css/colorpacks/slateblue/images/ico-separator.png
deleted file mode 100644
index 3e158515..00000000
Binary files a/css/colorpacks/slateblue/images/ico-separator.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-success.png b/css/colorpacks/slateblue/images/ico-success.png
deleted file mode 100644
index a9925a06..00000000
Binary files a/css/colorpacks/slateblue/images/ico-success.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ico-warning.png b/css/colorpacks/slateblue/images/ico-warning.png
deleted file mode 100644
index 628cf2da..00000000
Binary files a/css/colorpacks/slateblue/images/ico-warning.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/loading-large.gif b/css/colorpacks/slateblue/images/loading-large.gif
deleted file mode 100644
index cc70a7a8..00000000
Binary files a/css/colorpacks/slateblue/images/loading-large.gif and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/loading-small.gif b/css/colorpacks/slateblue/images/loading-small.gif
deleted file mode 100644
index d0bce154..00000000
Binary files a/css/colorpacks/slateblue/images/loading-small.gif and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/search.png b/css/colorpacks/slateblue/images/search.png
deleted file mode 100644
index 1bfa4115..00000000
Binary files a/css/colorpacks/slateblue/images/search.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/section.png b/css/colorpacks/slateblue/images/section.png
deleted file mode 100644
index 8180ecb3..00000000
Binary files a/css/colorpacks/slateblue/images/section.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/ui-icons.png b/css/colorpacks/slateblue/images/ui-icons.png
deleted file mode 100644
index 72a29115..00000000
Binary files a/css/colorpacks/slateblue/images/ui-icons.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/view-calendar.png b/css/colorpacks/slateblue/images/view-calendar.png
deleted file mode 100644
index 206ccd66..00000000
Binary files a/css/colorpacks/slateblue/images/view-calendar.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/view-comments.png b/css/colorpacks/slateblue/images/view-comments.png
deleted file mode 100644
index 293c587e..00000000
Binary files a/css/colorpacks/slateblue/images/view-comments.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/view-fullsize.png b/css/colorpacks/slateblue/images/view-fullsize.png
deleted file mode 100644
index ed76257a..00000000
Binary files a/css/colorpacks/slateblue/images/view-fullsize.png and /dev/null differ
diff --git a/css/colorpacks/slateblue/images/view-info.png b/css/colorpacks/slateblue/images/view-info.png
deleted file mode 100644
index 521439ce..00000000
Binary files a/css/colorpacks/slateblue/images/view-info.png and /dev/null differ
diff --git a/css/colorpacks/wind/colors.css b/css/colorpacks/wind/colors.css
deleted file mode 100644
index d3e094c3..00000000
--- a/css/colorpacks/wind/colors.css
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * ColorPack: Wind - Wind theme-like color pack
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* styles.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { background-color: #ccc; }
-body { color: #000; background-color: #ccc; padding-left: 10px; padding-right: 10px; }
-
-a { color: #33629f !important }
-.ui-icon, #g-slideshow-link { background-image: url(images/ui-icons.png); }
-
-#g-site-status li { border-bottom: 1px solid #ccc; color: #333; }
-#g-site-status .g-error { background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; }
-#g-site-status .g-info { background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; }
-#g-site-status .g-success { background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; }
-#g-site-status .g-warning { background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; }
-
-/* styles.css - Layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-header { background-color: #e8e8e8; border-bottom: #ccc 1px solid; }
-#g-header .g-message-block { border: 1px #888 solid; background-color: #aaa; color: #000; }
-.g-breadcrumbs li { background: transparent url(images/ico-separator.png) no-repeat 0 0.2em; }
-.rtl .g-breadcrumbs li { background: transparent url('images/ico-separator-rtl.png') no-repeat 0 0.2em; }
-#g-main { background-color: #fff; }
-#g-footer { background-color: #e8e8e8; border-top: #ccc 1px solid; }
-#g-theme-logo { background: transparent url('images/colorpack.png') no-repeat; }
-
-/* styles.css - Album Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-column-top, #g-column-bottom { background-color: #e8e8e8; }
-#g-column-top .g-toolbar h1, #g-column-bottom .g-toolbar h1 { border: none; }
-#g-info h1, #g-album-header h1 { border-bottom: #ccc 1px solid; }
-#g-info .g-description { border: #888 1px solid; }
-
-.g-thumbslide { background: #e8e8e8; border-color: #707E83; }
-.g-album .g-thumbslide { border-color: #707E83; }
-.g-thumbcrop { border-color: #707E83; }
-
-.g-default .g-thumbslide .g-description { color: #000; border-top: 1px solid #707E83; border-bottom: 1px solid #707E83; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-.g-expanded .g-thumbslide .g-description { color: #fff; background: transparent; border: none; }
-.g-album .g-thumbslide .g-description { background-image: url(images/ico-album.png); background-repeat: no-repeat; background-position: 8px 4px; }
-
-.g-thumbslide .g-metadata { border-top: 1px solid #707E83; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* styles.css - Photo Layout ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-div.g-resize { border: 1px solid #888; background: #e8e8e8; }
-div.g-resize .g-description { color: #000; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-div.g-resize .g-description.g-align-top { border-bottom: 1px solid #999; }
-div.g-resize .g-description.g-align-bottom { border-top: 1px solid #999; }
-div.g-resize .g-more { border: 1px solid #999; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-.g-movie { border: 1px solid #888; padding: 5px; background: #e8e8e8; }
-
-/* styles.css - Sidebar Blocks : Common ~~~~~~~~~~~~~~*/
-
-.g-block { border: 1px solid #ccc; }
-.g-block h2 { background-color: #e8e8e8; }
-
-/* styles.css - Sidebar Blocks : Buttons ~~~~~~~~~~~~~*/
-
-.g-fullsize-link { background: url("images/view-fullsize.png") top left no-repeat; }
-#g-exifdata-link { background: url("images/view-info.png") top left no-repeat; }
-
-/* styles.css - Root Page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-rootpage-roll span { border: 1px solid #999; background: #e8e8e8; filter:alpha(opacity=85); opacity:.85; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-/* styles.css - Photo Slideshow ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-body { background-color: #fff; }
-#sb-title { border-left: #303030 1px solid; border-right: #303030 1px solid; background: #e8e8e8; color: #000; }
-#sb-title-inner { color: #000; }
-#sb-counter a { font-weight: bold; font-size: 11px; }
-
-/* forms.css - Add item ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { background-color: #fff; border: #303030 1px solid; }
-#g-add-photos-button { border: #303030 1px solid; }
-#g-add-photos-status { background-color: #fff; border: #303030 1px solid; }
-
-
-#g-add-photos-status li.g-success { background: url('images/ico-success.png') transparent no-repeat .4em 50%; }
-#g-add-photos-status li.g-error { background: url('images/ico-error.png') transparent no-repeat .4em 50%; color: #f00; }
-.uploadifyQueueItem { color: #000; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile h1 { border-bottom: #ccc 1px solid; }
-#g-user-profile .g-avatar { border: 1px solid #888; background: #fff; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu ul { border: #000000 0 solid; }
-#g-site-menu li { background-color: #bdd2ff; }
-#g-site-menu li a:hover { color: #000000; background-color: #cfdeff; }
-#g-site-menu li:hover,
-#g-site-menu li.iemhover { border: #303030 1px solid; background-color: #cfdeff; border-bottom: #cfdeff 1px solid; }
-#g-site-menu li ul { border: #cfdeff 1px solid; }
-#g-site-menu li ul li { border: #C0C0C0 0px solid; background-color: #bdd2ff; }
-#g-site-menu li ul li:hover,
-#g-site-menu li ul li.iemhover { border: #C0C0C0 0 solid; background-color: #ddf2ff; }
-
-#g-site-menu.g-bar { border: #cfdeff 1px solid; background-color: #bdd2ff; }
-#g-site-menu.g-bar li:hover,
-#g-site-menu.g-bar li.iemhover { border-bottom-color: transparent; }
-
-.g-item .g-context-menu { background-image: url(images/ui-icons.png); }
-.g-item .g-context-menu:hover { background: #bdd2ff none; border: 1px #888 solid; }
-.g-item .g-context-menu li li a:hover { background-color: #ddf2ff; }
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - Exif ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-data table { border: #303030 1px solid; }
-#g-exif-data .g-even { background-color: #A0A0A0; }
-#g-exif-data .g-odd { background-color: #C0C0C0; }
-
-/* modules.css - Info module ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata .g-description { border-top: 1px solid #ccc; }
-
-/* modules.css - Image block ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-image-block img { border: 1px solid #888; background: #555; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments .g-author { border-bottom: 1px solid #202628; color: #999; }
-#g-comments-link { background-image: url(images/view-comments.png); }
-#g-comment-detail>ul>li { border: 1px dotted #ccc; }
-#g-comment-form { border: 1px dotted #ccc; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-view-menu #g-calendarview-link { background-image: url(images/view-calendar.png); }
-#g-view-calendar-form ul { border: 1px #888 solid; }
-table.calendar { border: #a2adbc 1px solid; color: #616b76; }
-table.calendar th { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; background: #d9e2e1; color: #616b76; }
-table.calendar td { border-bottom: #a2adbc 1px solid; border-right: #a2adbc 1px solid; }
-table.calendar td.title { background-color: #a2adbc; color: #fff; }
-table.calendar td.title a { color: #fff !important; }
-table.calendar td a { color: red !important; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form input[type="text"] { background-color: transparent; border: 1px solid #ccc; color: #666; }
-#g-quick-search-form input[type="submit"] { border: #c5dbec 1px solid; text-indent: 0; width: auto; height: auto; font: 80% arial, helvetica, clean, sans-serif; font-weight: bold; padding-top: 3px; padding-bottom: 3px; }
-#g-search-results h1 { border-bottom: #ccc 1px solid; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#checkout legend { background-color: #e8e8e8; }
-
-/* forms.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.ui-dialog .ui-dialog-titlebar { background: #ccc url('images/section.png') repeat-x; }
-.ui-widget-content { border: 1px solid #303030; background-color: #fff; color: #000; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: #303030; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-error #g-login>ul { border: #888 1px solid; }
-
diff --git a/css/colorpacks/wind/images/ajax-loading.gif b/css/colorpacks/wind/images/ajax-loading.gif
deleted file mode 100644
index 53dd589f..00000000
Binary files a/css/colorpacks/wind/images/ajax-loading.gif and /dev/null differ
diff --git a/css/colorpacks/wind/images/colorpack.png b/css/colorpacks/wind/images/colorpack.png
deleted file mode 100644
index d2179200..00000000
Binary files a/css/colorpacks/wind/images/colorpack.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-album.png b/css/colorpacks/wind/images/ico-album.png
deleted file mode 100644
index ac87ec4f..00000000
Binary files a/css/colorpacks/wind/images/ico-album.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-error.png b/css/colorpacks/wind/images/ico-error.png
deleted file mode 100644
index c37bd062..00000000
Binary files a/css/colorpacks/wind/images/ico-error.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-help.png b/css/colorpacks/wind/images/ico-help.png
deleted file mode 100644
index 5c870176..00000000
Binary files a/css/colorpacks/wind/images/ico-help.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-info.png b/css/colorpacks/wind/images/ico-info.png
deleted file mode 100644
index 12cd1aef..00000000
Binary files a/css/colorpacks/wind/images/ico-info.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-separator-rtl.png b/css/colorpacks/wind/images/ico-separator-rtl.png
deleted file mode 100644
index 9dc1ae51..00000000
Binary files a/css/colorpacks/wind/images/ico-separator-rtl.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-separator.png b/css/colorpacks/wind/images/ico-separator.png
deleted file mode 100644
index 3e158515..00000000
Binary files a/css/colorpacks/wind/images/ico-separator.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-success.png b/css/colorpacks/wind/images/ico-success.png
deleted file mode 100644
index a9925a06..00000000
Binary files a/css/colorpacks/wind/images/ico-success.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ico-warning.png b/css/colorpacks/wind/images/ico-warning.png
deleted file mode 100644
index 628cf2da..00000000
Binary files a/css/colorpacks/wind/images/ico-warning.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/loading-large.gif b/css/colorpacks/wind/images/loading-large.gif
deleted file mode 100644
index cc70a7a8..00000000
Binary files a/css/colorpacks/wind/images/loading-large.gif and /dev/null differ
diff --git a/css/colorpacks/wind/images/loading-small.gif b/css/colorpacks/wind/images/loading-small.gif
deleted file mode 100644
index d0bce154..00000000
Binary files a/css/colorpacks/wind/images/loading-small.gif and /dev/null differ
diff --git a/css/colorpacks/wind/images/section.png b/css/colorpacks/wind/images/section.png
deleted file mode 100644
index 33fc3500..00000000
Binary files a/css/colorpacks/wind/images/section.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/ui-icons.png b/css/colorpacks/wind/images/ui-icons.png
deleted file mode 100644
index c43c58c0..00000000
Binary files a/css/colorpacks/wind/images/ui-icons.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/view-calendar.png b/css/colorpacks/wind/images/view-calendar.png
deleted file mode 100644
index 13e0e8fa..00000000
Binary files a/css/colorpacks/wind/images/view-calendar.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/view-comments.png b/css/colorpacks/wind/images/view-comments.png
deleted file mode 100644
index f33bdf19..00000000
Binary files a/css/colorpacks/wind/images/view-comments.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/view-fullsize.png b/css/colorpacks/wind/images/view-fullsize.png
deleted file mode 100644
index 58b3e0b4..00000000
Binary files a/css/colorpacks/wind/images/view-fullsize.png and /dev/null differ
diff --git a/css/colorpacks/wind/images/view-info.png b/css/colorpacks/wind/images/view-info.png
deleted file mode 100644
index 2cc7a68e..00000000
Binary files a/css/colorpacks/wind/images/view-info.png and /dev/null differ
diff --git a/css/fix-ie.css b/css/fix-ie.css
new file mode 100644
index 00000000..0633ff07
--- /dev/null
+++ b/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/css/forms.css b/css/forms.css
deleted file mode 100644
index 84292c5e..00000000
--- a/css/forms.css
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules related to forms/dialogs
- */
-
-.ui-widget-overlay { position: absolute; top:0; left:0; bottom: 0; right: 0; position: fixed; width:100%; filter: alpha(opacity=70); -moz-opacity: 0.7; -khtml-opacity: 0.7; opacity: 0.7; background-color: #111; zoom: 1; }
-.ui-widget-overlay { height: expression(document.documentElement.clientHeight + 'px'); }
-.ui-widget-overlay { height: 100%; }
-
-/* Dialog ----------------------------------*/
-.ui-dialog { position: relative; width: 300px; }
-.ui-dialog .ui-dialog-titlebar { height: 1em; padding: .5em .3em .3em 1em; position: relative; }
-.ui-dialog .ui-dialog-title { float: left; }
-.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; text-indent: -900em; }
-.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-dialog ul { padding: 0; }
-
-/* forms.css - Component containers ~~~~~~~~~~~~~~~~~~*/
-.ui-widget-header { color: #ffffff; font-weight: bold; }
-.ui-widget-header a { color: #ffffff; }
-.ui-widget-content a { color: #222222; }
-
-/* forms.css - Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-form { margin: 0; }
-form p.g-error { color: red; }
-fieldset { border: 1px solid #ccc; padding: 0 1em .8em 1em; }
-legend { 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; }
-
-/* forms.css - 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; margin-right: 0.6em; }
-input, select, textarea { display: block; clear: both; }
-input[type="submit"], input[type="reset"] { display: inline; }
-input[type="submit"], .g-button, button, .ui-dialog .g-cancel { cursor: pointer; /* hand-shaped cursor */ cursor: hand; /* for IE 5.x */ font-size: 0.8em; color: #333 !important; padding: 2px 10px; border: 1px solid; border-color: #999 #666 #666 #999; background-color: #ddd; font-weight: normal; margin-right: 0.4em; line-height: 1.0em; }
-.g-button { margin: 0 0.4em 0.4em 0; }
-.ui-dialog .g-cancel { margin-top: 0.6em; }
-
-.g-right { float: right; }
-
-/* forms.css - Forms in dialogs and panels ~~~~~~~~~~~*/
-
-#g-dialog ul li { padding-bottom: 0.6em; }
-#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%; }
-
-.ui-progressbar { height:2em; text-align: left; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
-.g-progress-bar { height: 1em; width: 100%; margin-top: .5em; display: inline-block; }
-#g-progress #g-status { padding: 0.5em 0; }
-
-/* forms.css - 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; }
-
-#g-quick-search-form input[type="submit"] { filter: none; margin-top: 0; }
-
-/* forms.css - Reauthentificate ~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-login fieldset { border: none; }
-#g-login legend { display: none; }
-#g-login label { display: block; }
-
-#g-error #g-login>ul { margin: 0.5em 0; padding: 0.5em 0 0.5em 0; width: 280px; display: inline-block; }
-#g-error #g-login>ul ul { padding: 0px; }
-#g-error #g-login input[type=text], #g-error #g-login input[type=password] { width: 100%; }
-#g-error #g-login .g-right { margin-right: 1em; }
-
-/* forms.css - User Profile ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-user-profile h1 { margin: 0 0 1em 0; }
-#g-user-profile .g-block { position: static; min-height: 5em; clear: none; }
-#g-user-profile .g-block ul { padding: 0.6em 0; }
-#g-user-profile th { text-align: left; }
-#g-user-profile .g-avatar { margin-top: 70px; }
-
-/* forms.css - Uploadify ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-add-photos-canvas { margin-top: 1.1em; }
-#g-add-photos-status #g-action-status li { padding-top: 0.3em; padding-bottom: 0.3em; padding-left: 2em; }
-.uploadifyQueueItem { padding-top; 6px; padding-bottom: 4ps; }
diff --git a/css/framepacks/android/frame.css b/css/framepacks/android/frame.css
deleted file mode 100644
index 3287cf0d..00000000
--- a/css/framepacks/android/frame.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - Android
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 10px; }
-.g-thumbslide { background: transparent; }
-.g-thumbslide .g-description { margin: 0 0 0 1px; }
-.g-thumbslide .g-metadata { margin: 0 0 1px 1px; }
-
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
-.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #ADAEAD; }
-
-.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/android/images/thumb-dgt-e.png b/css/framepacks/android/images/thumb-dgt-e.png
deleted file mode 100644
index 39a793af..00000000
Binary files a/css/framepacks/android/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-dgt-eext.png b/css/framepacks/android/images/thumb-dgt-eext.png
deleted file mode 100644
index df4aa490..00000000
Binary files a/css/framepacks/android/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-dgt-ext.png b/css/framepacks/android/images/thumb-dgt-ext.png
deleted file mode 100644
index 297a4563..00000000
Binary files a/css/framepacks/android/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-dgt.png b/css/framepacks/android/images/thumb-dgt.png
deleted file mode 100644
index b9cc40e1..00000000
Binary files a/css/framepacks/android/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-flm-e.png b/css/framepacks/android/images/thumb-flm-e.png
deleted file mode 100644
index b97c8c14..00000000
Binary files a/css/framepacks/android/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-flm-eext.png b/css/framepacks/android/images/thumb-flm-eext.png
deleted file mode 100644
index 45c38dc2..00000000
Binary files a/css/framepacks/android/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-flm-ext.png b/css/framepacks/android/images/thumb-flm-ext.png
deleted file mode 100644
index 7361f20e..00000000
Binary files a/css/framepacks/android/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-flm.png b/css/framepacks/android/images/thumb-flm.png
deleted file mode 100644
index a4074091..00000000
Binary files a/css/framepacks/android/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-sqr-e.png b/css/framepacks/android/images/thumb-sqr-e.png
deleted file mode 100644
index 33bcd99c..00000000
Binary files a/css/framepacks/android/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-sqr-eext.png b/css/framepacks/android/images/thumb-sqr-eext.png
deleted file mode 100644
index c9246373..00000000
Binary files a/css/framepacks/android/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-sqr-ext.png b/css/framepacks/android/images/thumb-sqr-ext.png
deleted file mode 100644
index 3fdc3a3e..00000000
Binary files a/css/framepacks/android/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-sqr.png b/css/framepacks/android/images/thumb-sqr.png
deleted file mode 100644
index 3a038b00..00000000
Binary files a/css/framepacks/android/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-wd-e.png b/css/framepacks/android/images/thumb-wd-e.png
deleted file mode 100644
index 3e78ce82..00000000
Binary files a/css/framepacks/android/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-wd-eext.png b/css/framepacks/android/images/thumb-wd-eext.png
deleted file mode 100644
index c51abf31..00000000
Binary files a/css/framepacks/android/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-wd-ext.png b/css/framepacks/android/images/thumb-wd-ext.png
deleted file mode 100644
index a5aa4b24..00000000
Binary files a/css/framepacks/android/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/android/images/thumb-wd.png b/css/framepacks/android/images/thumb-wd.png
deleted file mode 100644
index 36a6a4ff..00000000
Binary files a/css/framepacks/android/images/thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/book/frame.css b/css/framepacks/book/frame.css
deleted file mode 100644
index 0123ea20..00000000
--- a/css/framepacks/book/frame.css
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - Book
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 14px; }
-.g-thumbslide { background: transparent; }
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { background-color: #FFF; border-color: #ADAEAD; color: #111; margin: 0 0 1px 1px; }
-.g-thumbcrop { border: #ADAEAD 1px solid; }
-
-.g-album .g-thumbslide .g-description { background-image: none; }
-.g-album .g-thumbslide .g-description .g-title { padding-left: 0; }
-.g-expanded.g-album .g-thumbslide .g-description .g-title { padding-left: 0; }
-
-.g-album.g-thumbtype-sqr { background: url('images/a-thumb-sqr.png') no-repeat top left; }
-.g-album.g-thumbtype-flm { background: url('images/a-thumb-flm.png') no-repeat top left; }
-.g-album.g-thumbtype-dgt { background: url('images/a-thumb-dgt.png') no-repeat top left; }
-.g-album.g-thumbtype-wd { background: url('images/a-thumb-wd.png') no-repeat top left; }
-
-.g-album.g-thumbtype-sqr.g-extended { background-image: url('images/a-thumb-sqr-ext.png'); }
-.g-album.g-thumbtype-flm.g-extended { background-image: url('images/a-thumb-flm-ext.png'); }
-.g-album.g-thumbtype-dgt.g-extended { background-image: url('images/a-thumb-dgt-ext.png'); }
-.g-album.g-thumbtype-wd.g-extended { background-image: url('images/a-thumb-wd-ext.png'); }
-
-.g-album.g-thumbtype-sqr.g-expanded { background-image: url('images/a-thumb-sqr-e.png'); }
-.g-album.g-thumbtype-flm.g-expanded { background-image: url('images/a-thumb-flm-e.png'); }
-.g-album.g-thumbtype-dgt.g-expanded { background-image: url('images/a-thumb-dgt-e.png'); }
-.g-album.g-thumbtype-wd.g-expanded { background-image: url('images/a-thumb-wd-e.png'); }
-
-.g-album.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/a-thumb-sqr-eext.png'); }
-.g-album.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/a-thumb-flm-eext.png'); }
-.g-album.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/a-thumb-dgt-eext.png'); }
-.g-album.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/a-thumb-wd-eext.png'); }
-
-.g-photo.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-photo.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-photo.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-photo.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-photo.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-photo.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-photo.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-photo.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-photo.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-photo.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-photo.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-photo.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-photo.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-photo.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-photo.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-photo.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/book/images/a-thumb-dgt-e.png b/css/framepacks/book/images/a-thumb-dgt-e.png
deleted file mode 100644
index 486f50b4..00000000
Binary files a/css/framepacks/book/images/a-thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-dgt-eext.png b/css/framepacks/book/images/a-thumb-dgt-eext.png
deleted file mode 100644
index 64bd0178..00000000
Binary files a/css/framepacks/book/images/a-thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-dgt-ext.png b/css/framepacks/book/images/a-thumb-dgt-ext.png
deleted file mode 100644
index bb5089d1..00000000
Binary files a/css/framepacks/book/images/a-thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-dgt.png b/css/framepacks/book/images/a-thumb-dgt.png
deleted file mode 100644
index 458cc157..00000000
Binary files a/css/framepacks/book/images/a-thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-flm-e.png b/css/framepacks/book/images/a-thumb-flm-e.png
deleted file mode 100644
index 7be7ffe4..00000000
Binary files a/css/framepacks/book/images/a-thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-flm-eext.png b/css/framepacks/book/images/a-thumb-flm-eext.png
deleted file mode 100644
index 0ec4d3cf..00000000
Binary files a/css/framepacks/book/images/a-thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-flm-ext.png b/css/framepacks/book/images/a-thumb-flm-ext.png
deleted file mode 100644
index a06d963d..00000000
Binary files a/css/framepacks/book/images/a-thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-flm.png b/css/framepacks/book/images/a-thumb-flm.png
deleted file mode 100644
index b1ec950b..00000000
Binary files a/css/framepacks/book/images/a-thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-sqr-e.png b/css/framepacks/book/images/a-thumb-sqr-e.png
deleted file mode 100644
index bf972a3f..00000000
Binary files a/css/framepacks/book/images/a-thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-sqr-eext.png b/css/framepacks/book/images/a-thumb-sqr-eext.png
deleted file mode 100644
index c13dd02e..00000000
Binary files a/css/framepacks/book/images/a-thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-sqr-ext.png b/css/framepacks/book/images/a-thumb-sqr-ext.png
deleted file mode 100644
index f197016f..00000000
Binary files a/css/framepacks/book/images/a-thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-sqr.png b/css/framepacks/book/images/a-thumb-sqr.png
deleted file mode 100644
index 6eb7f262..00000000
Binary files a/css/framepacks/book/images/a-thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-wd-e.png b/css/framepacks/book/images/a-thumb-wd-e.png
deleted file mode 100644
index 2699b361..00000000
Binary files a/css/framepacks/book/images/a-thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-wd-eext.png b/css/framepacks/book/images/a-thumb-wd-eext.png
deleted file mode 100644
index ff78ba56..00000000
Binary files a/css/framepacks/book/images/a-thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-wd-ext.png b/css/framepacks/book/images/a-thumb-wd-ext.png
deleted file mode 100644
index 7501df7a..00000000
Binary files a/css/framepacks/book/images/a-thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/a-thumb-wd.png b/css/framepacks/book/images/a-thumb-wd.png
deleted file mode 100644
index df1164b2..00000000
Binary files a/css/framepacks/book/images/a-thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-dgt-e.png b/css/framepacks/book/images/thumb-dgt-e.png
deleted file mode 100644
index 2b9dc156..00000000
Binary files a/css/framepacks/book/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-dgt-eext.png b/css/framepacks/book/images/thumb-dgt-eext.png
deleted file mode 100644
index 9d5cbe1a..00000000
Binary files a/css/framepacks/book/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-dgt-ext.png b/css/framepacks/book/images/thumb-dgt-ext.png
deleted file mode 100644
index a1afba6e..00000000
Binary files a/css/framepacks/book/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-dgt.png b/css/framepacks/book/images/thumb-dgt.png
deleted file mode 100644
index 020ed3bb..00000000
Binary files a/css/framepacks/book/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-flm-e.png b/css/framepacks/book/images/thumb-flm-e.png
deleted file mode 100644
index 89724e8b..00000000
Binary files a/css/framepacks/book/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-flm-eext.png b/css/framepacks/book/images/thumb-flm-eext.png
deleted file mode 100644
index 1c84d919..00000000
Binary files a/css/framepacks/book/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-flm-ext.png b/css/framepacks/book/images/thumb-flm-ext.png
deleted file mode 100644
index 04bc46a2..00000000
Binary files a/css/framepacks/book/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-flm.png b/css/framepacks/book/images/thumb-flm.png
deleted file mode 100644
index 1709bbe8..00000000
Binary files a/css/framepacks/book/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-sqr-e.png b/css/framepacks/book/images/thumb-sqr-e.png
deleted file mode 100644
index ede2e1b2..00000000
Binary files a/css/framepacks/book/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-sqr-eext.png b/css/framepacks/book/images/thumb-sqr-eext.png
deleted file mode 100644
index 48416c6c..00000000
Binary files a/css/framepacks/book/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-sqr-ext.png b/css/framepacks/book/images/thumb-sqr-ext.png
deleted file mode 100644
index d7e2e530..00000000
Binary files a/css/framepacks/book/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-sqr.png b/css/framepacks/book/images/thumb-sqr.png
deleted file mode 100644
index 95e58902..00000000
Binary files a/css/framepacks/book/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-wd-e.png b/css/framepacks/book/images/thumb-wd-e.png
deleted file mode 100644
index eae6d66b..00000000
Binary files a/css/framepacks/book/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-wd-eext.png b/css/framepacks/book/images/thumb-wd-eext.png
deleted file mode 100644
index ee89913b..00000000
Binary files a/css/framepacks/book/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-wd-ext.png b/css/framepacks/book/images/thumb-wd-ext.png
deleted file mode 100644
index d303a1d6..00000000
Binary files a/css/framepacks/book/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/book/images/thumb-wd.png b/css/framepacks/book/images/thumb-wd.png
deleted file mode 100644
index 6d344c5a..00000000
Binary files a/css/framepacks/book/images/thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/darkglass/frame.css b/css/framepacks/darkglass/frame.css
deleted file mode 100644
index f7f7999a..00000000
--- a/css/framepacks/darkglass/frame.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - DarkGlass
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 10px; }
-.g-thumbslide { background: transparent; }
-.g-thumbslide .g-description { margin: 0 0 0 1px; }
-.g-thumbslide .g-metadata { margin: 0 0 1px 1px; }
-
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
-.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #7F7F7F; }
-
-.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/darkglass/images/thumb-dgt-e.png b/css/framepacks/darkglass/images/thumb-dgt-e.png
deleted file mode 100644
index c96c40c7..00000000
Binary files a/css/framepacks/darkglass/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-dgt-eext.png b/css/framepacks/darkglass/images/thumb-dgt-eext.png
deleted file mode 100644
index 0f871490..00000000
Binary files a/css/framepacks/darkglass/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-dgt-ext.png b/css/framepacks/darkglass/images/thumb-dgt-ext.png
deleted file mode 100644
index ed89c396..00000000
Binary files a/css/framepacks/darkglass/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-dgt.png b/css/framepacks/darkglass/images/thumb-dgt.png
deleted file mode 100644
index ace3e98f..00000000
Binary files a/css/framepacks/darkglass/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-flm-e.png b/css/framepacks/darkglass/images/thumb-flm-e.png
deleted file mode 100644
index f8e88412..00000000
Binary files a/css/framepacks/darkglass/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-flm-eext.png b/css/framepacks/darkglass/images/thumb-flm-eext.png
deleted file mode 100644
index 4e735c80..00000000
Binary files a/css/framepacks/darkglass/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-flm-ext.png b/css/framepacks/darkglass/images/thumb-flm-ext.png
deleted file mode 100644
index 9c0bff5d..00000000
Binary files a/css/framepacks/darkglass/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-flm.png b/css/framepacks/darkglass/images/thumb-flm.png
deleted file mode 100644
index 460ee7c1..00000000
Binary files a/css/framepacks/darkglass/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-sqr-e.png b/css/framepacks/darkglass/images/thumb-sqr-e.png
deleted file mode 100644
index eb28835a..00000000
Binary files a/css/framepacks/darkglass/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-sqr-eext.png b/css/framepacks/darkglass/images/thumb-sqr-eext.png
deleted file mode 100644
index 3af47df2..00000000
Binary files a/css/framepacks/darkglass/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-sqr-ext.png b/css/framepacks/darkglass/images/thumb-sqr-ext.png
deleted file mode 100644
index d2e268ea..00000000
Binary files a/css/framepacks/darkglass/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-sqr.png b/css/framepacks/darkglass/images/thumb-sqr.png
deleted file mode 100644
index da450390..00000000
Binary files a/css/framepacks/darkglass/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-wd-e.png b/css/framepacks/darkglass/images/thumb-wd-e.png
deleted file mode 100644
index 62f5f1e5..00000000
Binary files a/css/framepacks/darkglass/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-wd-eext.png b/css/framepacks/darkglass/images/thumb-wd-eext.png
deleted file mode 100644
index bf8b2e7c..00000000
Binary files a/css/framepacks/darkglass/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-wd-ext.png b/css/framepacks/darkglass/images/thumb-wd-ext.png
deleted file mode 100644
index bc994bc4..00000000
Binary files a/css/framepacks/darkglass/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/darkglass/images/thumb-wd.png b/css/framepacks/darkglass/images/thumb-wd.png
deleted file mode 100644
index 62e78818..00000000
Binary files a/css/framepacks/darkglass/images/thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/greydragon/frame.css b/css/framepacks/greydragon/frame.css
deleted file mode 100644
index ec8be7cc..00000000
--- a/css/framepacks/greydragon/frame.css
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - GreyDragon
- */
-
-.g-thumbslide .g-description { margin: 0 0 0 1px; }
-.g-thumbslide .g-metadata { margin: 0 0 1px 1px; }
-
-.g-thumbslide, .g-thumbslide-ext, .g-thumbcrop { border-width: 1px; border-style: solid; background-color: inherit; }
-.g-album .g-thumbslide, .g-album .g-thumbslide-ext { border-right-width: 4px; border-right-style: double; border-bottom-width: 4px; border-bottom-style: double; }
-.g-photo .g-thumbslide, .g-photo .g-thumbslide-ext { margin-bottom: 4px; } /* Need to compensate for double border in album's thumbs */
-
diff --git a/css/framepacks/iphone/frame.css b/css/framepacks/iphone/frame.css
deleted file mode 100644
index 1ad0169c..00000000
--- a/css/framepacks/iphone/frame.css
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - iPhone
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 10px; }
-.g-thumbslide { background: transparent; }
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #7D7E7D; margin: 0 0 1px 1px; }
-.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #7D7E7D; }
-
-.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/iphone/images/thumb-dgt-e.png b/css/framepacks/iphone/images/thumb-dgt-e.png
deleted file mode 100644
index daa20028..00000000
Binary files a/css/framepacks/iphone/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-dgt-eext.png b/css/framepacks/iphone/images/thumb-dgt-eext.png
deleted file mode 100644
index 9362e8b0..00000000
Binary files a/css/framepacks/iphone/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-dgt-ext.png b/css/framepacks/iphone/images/thumb-dgt-ext.png
deleted file mode 100644
index e4776164..00000000
Binary files a/css/framepacks/iphone/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-dgt.png b/css/framepacks/iphone/images/thumb-dgt.png
deleted file mode 100644
index c514620e..00000000
Binary files a/css/framepacks/iphone/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-flm-e.png b/css/framepacks/iphone/images/thumb-flm-e.png
deleted file mode 100644
index 3d3ddaa2..00000000
Binary files a/css/framepacks/iphone/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-flm-eext.png b/css/framepacks/iphone/images/thumb-flm-eext.png
deleted file mode 100644
index aedd5588..00000000
Binary files a/css/framepacks/iphone/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-flm-ext.png b/css/framepacks/iphone/images/thumb-flm-ext.png
deleted file mode 100644
index 62e62a21..00000000
Binary files a/css/framepacks/iphone/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-flm.png b/css/framepacks/iphone/images/thumb-flm.png
deleted file mode 100644
index 0094defc..00000000
Binary files a/css/framepacks/iphone/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-sqr-e.png b/css/framepacks/iphone/images/thumb-sqr-e.png
deleted file mode 100644
index 1dc590cb..00000000
Binary files a/css/framepacks/iphone/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-sqr-eext.png b/css/framepacks/iphone/images/thumb-sqr-eext.png
deleted file mode 100644
index 9f6024b9..00000000
Binary files a/css/framepacks/iphone/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-sqr-ext.png b/css/framepacks/iphone/images/thumb-sqr-ext.png
deleted file mode 100644
index 4233c84d..00000000
Binary files a/css/framepacks/iphone/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-sqr.png b/css/framepacks/iphone/images/thumb-sqr.png
deleted file mode 100644
index c9e57146..00000000
Binary files a/css/framepacks/iphone/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-wd-e.png b/css/framepacks/iphone/images/thumb-wd-e.png
deleted file mode 100644
index 15a0c4ca..00000000
Binary files a/css/framepacks/iphone/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-wd-eext.png b/css/framepacks/iphone/images/thumb-wd-eext.png
deleted file mode 100644
index 0867baa6..00000000
Binary files a/css/framepacks/iphone/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-wd-ext.png b/css/framepacks/iphone/images/thumb-wd-ext.png
deleted file mode 100644
index 213d4946..00000000
Binary files a/css/framepacks/iphone/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/iphone/images/thumb-wd.png b/css/framepacks/iphone/images/thumb-wd.png
deleted file mode 100644
index a25d4776..00000000
Binary files a/css/framepacks/iphone/images/thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/iphoto/frame.css b/css/framepacks/iphoto/frame.css
deleted file mode 100644
index fa8b63f6..00000000
--- a/css/framepacks/iphoto/frame.css
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - iPhoto
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 10px; }
-.g-thumbslide { background: transparent; }
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { background-color: #FFF; border-color: #ADAEAD; color: #111; margin: 0 0 1px 1px; }
-.g-thumbcrop { border: #ADAEAD 1px solid; }
-
-.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/iphoto/images/thumb-dgt-e.png b/css/framepacks/iphoto/images/thumb-dgt-e.png
deleted file mode 100644
index 616d1d55..00000000
Binary files a/css/framepacks/iphoto/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-dgt-eext.png b/css/framepacks/iphoto/images/thumb-dgt-eext.png
deleted file mode 100644
index 828528a3..00000000
Binary files a/css/framepacks/iphoto/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-dgt-ext.png b/css/framepacks/iphoto/images/thumb-dgt-ext.png
deleted file mode 100644
index c090406b..00000000
Binary files a/css/framepacks/iphoto/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-dgt.png b/css/framepacks/iphoto/images/thumb-dgt.png
deleted file mode 100644
index 5190758b..00000000
Binary files a/css/framepacks/iphoto/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-flm-e.png b/css/framepacks/iphoto/images/thumb-flm-e.png
deleted file mode 100644
index 251216be..00000000
Binary files a/css/framepacks/iphoto/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-flm-eext.png b/css/framepacks/iphoto/images/thumb-flm-eext.png
deleted file mode 100644
index c60ba426..00000000
Binary files a/css/framepacks/iphoto/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-flm-ext.png b/css/framepacks/iphoto/images/thumb-flm-ext.png
deleted file mode 100644
index b1f86759..00000000
Binary files a/css/framepacks/iphoto/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-flm.png b/css/framepacks/iphoto/images/thumb-flm.png
deleted file mode 100644
index 44c67c3e..00000000
Binary files a/css/framepacks/iphoto/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-sqr-e.png b/css/framepacks/iphoto/images/thumb-sqr-e.png
deleted file mode 100644
index 02ddcd29..00000000
Binary files a/css/framepacks/iphoto/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-sqr-eext.png b/css/framepacks/iphoto/images/thumb-sqr-eext.png
deleted file mode 100644
index a6f6946f..00000000
Binary files a/css/framepacks/iphoto/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-sqr-ext.png b/css/framepacks/iphoto/images/thumb-sqr-ext.png
deleted file mode 100644
index de2fae4e..00000000
Binary files a/css/framepacks/iphoto/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-sqr.png b/css/framepacks/iphoto/images/thumb-sqr.png
deleted file mode 100644
index 57c192f3..00000000
Binary files a/css/framepacks/iphoto/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-wd-e.png b/css/framepacks/iphoto/images/thumb-wd-e.png
deleted file mode 100644
index 492432e1..00000000
Binary files a/css/framepacks/iphoto/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-wd-eext.png b/css/framepacks/iphoto/images/thumb-wd-eext.png
deleted file mode 100644
index 901a13a8..00000000
Binary files a/css/framepacks/iphoto/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-wd-ext.png b/css/framepacks/iphoto/images/thumb-wd-ext.png
deleted file mode 100644
index 0efa7666..00000000
Binary files a/css/framepacks/iphoto/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/iphoto/images/thumb-wd.png b/css/framepacks/iphoto/images/thumb-wd.png
deleted file mode 100644
index f6bb30f6..00000000
Binary files a/css/framepacks/iphoto/images/thumb-wd.png and /dev/null differ
diff --git a/css/framepacks/simple/frame.css b/css/framepacks/simple/frame.css
deleted file mode 100644
index 77f1714a..00000000
--- a/css/framepacks/simple/frame.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - Simple
- */
-
-.g-thumbslide { abackground: transparent; }
-.g-thumbslide .g-description { margin: 0 0 0 1px; }
-.g-thumbslide .g-metadata { margin: 0 0 4px 1px; }
-
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { border-color: #ADAEAD; }
-.g-thumbcrop { border-width: 1px; border-style: solid; border-color: #ADAEAD; }
diff --git a/css/framepacks/slide/frame.css b/css/framepacks/slide/frame.css
deleted file mode 100644
index 62a88d33..00000000
--- a/css/framepacks/slide/frame.css
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2010 Serguei Dosyukov
- *
- * CSS rules - Frames - Slide
- */
-
-.g-album-grid-container .g-column-3>li { width: 30%; }
-#g-album-grid>li { padding: 10px 6px 10px 10px; }
-.g-thumbslide { background: transparent; }
-.g-default .g-thumbslide .g-description, .g-expanded .g-thumbslide .g-description, .g-thumbslide .g-metadata { background-color: #FFF; border-color: #ADAEAD; color: #111; margin: 0 0 1px 1px; }
-.g-thumbcrop { border: #ADAEAD 1px solid; }
-
-.g-thumbtype-sqr { background: url('images/thumb-sqr.png') no-repeat top left; }
-.g-thumbtype-flm { background: url('images/thumb-flm.png') no-repeat top left; }
-.g-thumbtype-dgt { background: url('images/thumb-dgt.png') no-repeat top left; }
-.g-thumbtype-wd { background: url('images/thumb-wd.png') no-repeat top left; }
-
-.g-thumbtype-sqr.g-extended { background-image: url('images/thumb-sqr-ext.png'); }
-.g-thumbtype-flm.g-extended { background-image: url('images/thumb-flm-ext.png'); }
-.g-thumbtype-dgt.g-extended { background-image: url('images/thumb-dgt-ext.png'); }
-.g-thumbtype-wd.g-extended { background-image: url('images/thumb-wd-ext.png'); }
-
-.g-thumbtype-sqr.g-expanded { background-image: url('images/thumb-sqr-e.png'); }
-.g-thumbtype-flm.g-expanded { background-image: url('images/thumb-flm-e.png'); }
-.g-thumbtype-dgt.g-expanded { background-image: url('images/thumb-dgt-e.png'); }
-.g-thumbtype-wd.g-expanded { background-image: url('images/thumb-wd-e.png'); }
-
-.g-thumbtype-sqr.g-expanded.g-extended { background-image: url('images/thumb-sqr-eext.png'); }
-.g-thumbtype-flm.g-expanded.g-extended { background-image: url('images/thumb-flm-eext.png'); }
-.g-thumbtype-dgt.g-expanded.g-extended { background-image: url('images/thumb-dgt-eext.png'); }
-.g-thumbtype-wd.g-expanded.g-extended { background-image: url('images/thumb-wd-eext.png'); }
diff --git a/css/framepacks/slide/images/thumb-dgt-e.png b/css/framepacks/slide/images/thumb-dgt-e.png
deleted file mode 100644
index 616d1d55..00000000
Binary files a/css/framepacks/slide/images/thumb-dgt-e.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-dgt-eext.png b/css/framepacks/slide/images/thumb-dgt-eext.png
deleted file mode 100644
index 828528a3..00000000
Binary files a/css/framepacks/slide/images/thumb-dgt-eext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-dgt-ext.png b/css/framepacks/slide/images/thumb-dgt-ext.png
deleted file mode 100644
index c090406b..00000000
Binary files a/css/framepacks/slide/images/thumb-dgt-ext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-dgt.png b/css/framepacks/slide/images/thumb-dgt.png
deleted file mode 100644
index 5190758b..00000000
Binary files a/css/framepacks/slide/images/thumb-dgt.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-flm-e.png b/css/framepacks/slide/images/thumb-flm-e.png
deleted file mode 100644
index 251216be..00000000
Binary files a/css/framepacks/slide/images/thumb-flm-e.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-flm-eext.png b/css/framepacks/slide/images/thumb-flm-eext.png
deleted file mode 100644
index c60ba426..00000000
Binary files a/css/framepacks/slide/images/thumb-flm-eext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-flm-ext.png b/css/framepacks/slide/images/thumb-flm-ext.png
deleted file mode 100644
index b1f86759..00000000
Binary files a/css/framepacks/slide/images/thumb-flm-ext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-flm.png b/css/framepacks/slide/images/thumb-flm.png
deleted file mode 100644
index 44c67c3e..00000000
Binary files a/css/framepacks/slide/images/thumb-flm.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-sqr-e.png b/css/framepacks/slide/images/thumb-sqr-e.png
deleted file mode 100644
index 02ddcd29..00000000
Binary files a/css/framepacks/slide/images/thumb-sqr-e.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-sqr-eext.png b/css/framepacks/slide/images/thumb-sqr-eext.png
deleted file mode 100644
index a6f6946f..00000000
Binary files a/css/framepacks/slide/images/thumb-sqr-eext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-sqr-ext.png b/css/framepacks/slide/images/thumb-sqr-ext.png
deleted file mode 100644
index de2fae4e..00000000
Binary files a/css/framepacks/slide/images/thumb-sqr-ext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-sqr.png b/css/framepacks/slide/images/thumb-sqr.png
deleted file mode 100644
index 57c192f3..00000000
Binary files a/css/framepacks/slide/images/thumb-sqr.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-wd-e.png b/css/framepacks/slide/images/thumb-wd-e.png
deleted file mode 100644
index 492432e1..00000000
Binary files a/css/framepacks/slide/images/thumb-wd-e.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-wd-eext.png b/css/framepacks/slide/images/thumb-wd-eext.png
deleted file mode 100644
index 901a13a8..00000000
Binary files a/css/framepacks/slide/images/thumb-wd-eext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-wd-ext.png b/css/framepacks/slide/images/thumb-wd-ext.png
deleted file mode 100644
index 0efa7666..00000000
Binary files a/css/framepacks/slide/images/thumb-wd-ext.png and /dev/null differ
diff --git a/css/framepacks/slide/images/thumb-wd.png b/css/framepacks/slide/images/thumb-wd.png
deleted file mode 100644
index f6bb30f6..00000000
Binary files a/css/framepacks/slide/images/thumb-wd.png and /dev/null differ
diff --git a/css/layout.css b/css/layout.css
deleted file mode 100644
index 2fd52399..00000000
--- a/css/layout.css
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules related to general layout
- * Defined as 70em wide
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* layout.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-html { overflow: auto; overflow: -moz-scrollbars-vertical; overflow-y: scroll; }
-* { margin: 0px; }
-body { min-width: 70em; padding: 0; margin: 0; }
-.g-hideitem { display: none; }
-
-/* layout.css - Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-header { position: relative; min-width: 70em; z-index: 5; }
-
-/* layout.css - Main ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-main { min-width: 69.7em; height: auto; bottom: auto; }
-#g-main-in { min-width: 69.7em; height: 100%; overflow: auto; bottom: auto; }
-#g-column-left { float: left; width: 16em; min-height: 32em; overflow: hidden; height: 100%; }
-#g-column-right { float: right; width: 16em; min-height: 32em; overflow: hidden; height: 100%; }
-#g-column-center { margin: 0 17em 0 17em; min-height: 32em; overflow: hidden; height: 100%; }
-#g-column-centerleft { min-height: 32em; overflow: hidden; height: 100%; }
-#g-column-centerright { min-height: 32em; overflow: hidden; height: 100%; }
-#g-column-centerfull { position: relative; min-height: 31em; overflow: hidden; height: 100%; }
-#g-column-top { display: block; overflow: hidden; }
-#g-column-bottom { display: block; overflow: hidden; }
-
-/* layout.css - Footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-footer { position: relative; height: auto; min-width: 70em; min-height: 2.8em; clear: both; display: block; overflow: auto; }
-#g-footer-leftside { float: left; display: inline; }
-#g-footer-rightside { float: right; display: inline; }
-
diff --git a/css/menus.css b/css/menus.css
deleted file mode 100644
index 8b0b8da6..00000000
--- a/css/menus.css
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules related to menus
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* menus.css - Main menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-site-menu { position: absolute; }
-#g-site-menu.g-default { left: 21em; bottom: 0; }
-#g-site-menu.g-top { left: 21em; top: 2px; }
-#g-site-menu.g-bottom-right { bottom: 0; right: 2em; }
-#g-site-menu.g-bar { left: 0; top: 0; width: 100%; padding-left: .5em; position: fixed !important; z-index: 9999; font-size: 0.9em; }
-
-#g-site-menu ul { float: left; width: 100%; white-space: nowrap; z-index: 102; }
-#g-site-menu>ul>li>ul { margin-top: 1px; }
-
-#g-site-menu ul ul ul { padding-top: 0; }
-#g-site-menu a { display: block; padding: 0.2em 0.4em; text-align: center; width: auto; letter-spacing: 0; cursor: pointer; z-index: 102; }
-#g-site-menu li { float: left; padding: 0; background-color: transparent; border: transparent 1px solid; z-index: 102; }
-#g-site-menu li ul a { text-align: left; padding: 0.3em 0; text-indent: 0.8em; letter-spacing: 0; }
-#g-site-menu li ul a:hover { background-image: none; }
-#g-site-menu li ul { position: absolute; margin: 0 0 0 -1px; width: 14em; height: auto; left: -999em; }
-
-#g-site-menu li li { width: 14em; padding-right: 0; }
-#g-site-menu li ul a { width: 14em; }
-#g-site-menu li ul ul { margin: -1.8em 0 0 14em; }
-#g-site-menu li:hover ul ul,
-#g-site-menu li:hover ul ul ul,
-#g-site-menu li.iemhover ul ul,
-#g-site-menu li.iemhover ul ul ul { left: -999em; }
-#g-site-menu li:hover ul,
-#g-site-menu li li:hover ul,
-#g-site-menu li li li:hover ul,
-#g-site-menu li.iemhover ul,
-#g-site-menu li li.iemhover ul,
-#g-site-menu li li li.iemhover ul { left: auto; }
-
-#g-site-menu>ul>li>ul { display: none; }
-
-/* menus.css - Context menu ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.g-item .g-context-menu { position: absolute; margin: 0; padding: 0; top: 6px; left: 196px; width: 14px; height: 14px; background-position: -178px -144px; z-index: 4; }
-.g-item.g-extended .g-context-menu { left: 296px; }
-.g-item .g-context-menu li { width: 100%; padding: 0; margin: 0; text-indent: -9999px; }
-.g-item .g-context-menu>li>a { font-size: 0em; }
-.g-item .g-context-menu:hover { top: 4px; left: 6px; width: 200px; height: auto; z-index: 102; }
-.g-item.g-extended .g-context-menu:hover { width: 300px; }
-.g-item .g-context-menu ul { padding: 0; margin: 0; }
-.g-item .g-context-menu li li { display: none; }
-.g-item .g-context-menu li li a { display: block; padding: 4px 6px; }
-.g-item .g-context-menu:hover li li { display: block; text-indent: 0px; }
-
-.g-item.g-detail .g-context-menu { left: auto; right: 6px; }
-.g-item.g-detail .g-context-menu:hover { left: auto; right: 6px; }
\ No newline at end of file
diff --git a/css/modules.css b/css/modules.css
deleted file mode 100644
index c695b349..00000000
--- a/css/modules.css
+++ /dev/null
@@ -1,165 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules related to modules
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* modules.css - ShadowBox Skin ~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#sb-title { overflow: hidden; }
-#sb-title-inner { font-size: 10pt; font-weight: bold; padding-left: 10px; }
-#sb-nav #sb-nav-close { background-image: url('../images/close.png'); width: 60px; }
-#sb-container > #sb-overlay { min-height: 530px; overflow: auto; }
-
-/* modules.css - FancyBox Skin ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#fancybox-outer { background: #555; }
-#fancybox-content { border-color: #555; }
-#fancybox-title-over { font-weight: bold; }
-.fancybox-title-inside { background: transparent; font-weight: bold; color: #FFF; text-align: left; }
-#fancybox-close { background: url(../images/close.png) 0 0 no-repeat; width: 60px; height: 16px; right: -6px; }
-#fancybox-left-ico { background: url(../images/arrows_left.png) no-repeat left center; width: 35px; height: 107px; top: 40%; }
-#fancybox-left:hover span { left: 10px; }
-#fancybox-right-ico { background: url(../images/arrows_right.png) no-repeat left center; width: 35px; height: 107px; top: 40%; }
-#fancybox-right:hover span { right: 10px; }
-
-/* modules.css - Exif Data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#ag-exif-data { width: auto; background-image: none; }
-#g-exif-data td { padding: 0.2em; }
-
-/* modules.css - Image Block ~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-image-block>div { margin-left: 1px; margin-right: 1px; }
-.g-image-block { text-align: center; }
-.g-image-block img { padding: 5px; max-width: 200px; height: auto; }
-
-/* modules.css - Image Block Ex ~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-rootpage #g-column-bottom #g-image-block-ex { display: none; }
-
-/* modules.css - RSS Feeds ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-ul#g-feeds { padding: 0; margin: 0; }
-
-/* modules.css - Tags ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-tag-cloud ul { padding: 0; font-size: 100%; }
-#g-tag-cloud ul li { line-height: 1.2em; }
-#g-tag-cloud ul li span { display: none; }
-
-#g-add-tag-form fieldset ul { float: left; display: inline-block; padding: 0; }
-#g-add-tag-form li { float: left; margin: 0; padding: 0; }
-
-/* modules.css - Comments ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-comments { margin-top: 2em; float: left; width: 100%; min-height: 2em; }
-#g-comments ul li { margin: 0.4em 0; }
-
-#g-comments .g-button { right: 0.4em; cursor: pointer; /* hand-shaped cursor */ cursor: hand; /* for IE 5.x */ font-size: 0.8em; color: #333 !important; padding: 2px 10px; margin-top: 0.4em; border: 1px solid; border-color: #999 #666 #666 #999; background-color: #ddd; font-weight: normal; }
-.ui-icon-comment { background-position: -210px -144px; }
-
-#g-comment-detail ul { padding: 0; }
-#g-comment-detail>ul>li { margin: 4px 0; padding: 6px; min-height: 40px; }
-#g-comment-detail div { margin-top: 6px; padding-bottom: 8px; }
-#g-comment-detail li.g-no-comments { display: none; }
-#g-comment-detail p.g-no-comments { padding-bottom: 4px; }
-
-#g-comment-form fieldset { border: none; }
-#g-comment-form legend { display: none; width: 100%; }
-#g-comment-form ul { padding: 0; }
-#g-comment-form>fieldset>ul { margin: 0px 10px; }
-#g-comment-form label { display: block; }
-#g-comment-form textarea { width: 99%; height: 140px; }
-#g-comment-form input[type="text"],
-#g-comment-form input[type="password"] { width: 99%; }
-
-#g-comments .g-author { height: 32px; line-height: 32px; }
-#g-comments .g-avatar { height: 32px; margin-right: .4em; width: 32px; }
-
-/* modules.css - Gallery Stats ~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-gallerystats ul { padding: 0; font-size: x-small; }
-
-/* modules.css - Info ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-metadata ul { padding: 0; }
-#g-metadata .g-description { margin-top: 0.4em; padding: 0.4em 0; }
-#g-metadata strong.caption { display: none; }
-
-/* modules.css - Calendar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-calendarview-link:hover { background-position: left bottom; }
-
-#g-view-calendar-form fieldset { border: none; }
-#g-view-calendar-form ul { padding: 8px; }
-#g-view-calendar-form li { padding-top: 8px; display: inline; padding-left: 10px; }
-#g-view-calendar-form label { margin: 4px 0; }
-#g-view-calendar-form select { margin: 4px 10px; }
-
-table.calendar { border-spacing: 1px; }
-table.calendar td.title a { font-weight: bold; }
-
-/* modules.css - ClustrMaps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-clustrmaps .g-block-content { text-align: center; }
-
-/* modules.css - GPS Info ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-exif-gps-maps ul { padding-left: 0; }
-
-/* modules.css - Search ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-quick-search-form { position: absolute; top: 3em; right: 1em; background: none transparent; }
-#g-quick-search-form label { display: none; }
-#g-quick-search-form li { display: inline; float: left; padding: 0px; }
-
-#g-quick-search-form input[type="text"] { width: 150px; padding-top: 0.1em; padding-bottom: 0.1em; }
-#g-quick-search-form input[type="submit"] { display: block; width: 23px; height: 23px; text-indent: -9999px; overflow: hidden; }
-
-/* modules.css - Basket ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.gBasketList img{max-width:60px !important}
-
-.basketbuttons span.ui-icon { display: none; }
-#payment { height: 100%; margin-left: 10px; }
-#payment p { padding: 4px; }
-#basketForm { width: 100%; float:right; }
-#checkout { }
-#checkout fieldset { border: none; }
-#checkout legend { width: 100%; padding: 4px 4px 4px 8px; font-size: 1em; font-weight: bold; }
-#checkout ul { padding: 8px; }
-#checkout li { padding-top: 8px; display: inline; }
-#checkout label { margin: 4px 0; }
-#checkout select { margin: 4px 10px; }
-
-#checkout textarea { display: block; clear: both; padding: .2em; width: 90%; }
-
-/* modules.css - Register ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#g-welcome-message p { padding-bottom: 6px; }
-#g-change-password-user-form { height: 100%; }
-
-/* modules.css - Localization ~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-#l10n-client .labels { border-top: white 1px solid; height: 1.7em; }
-#l10n-client h2 { padding-top: 0.4em; padding-bottom: 0.3em; }
-#l10n-client .label.translation { margin-top: -0.4em; height: 1.7em; }
-#l10n-client #l10n-client-toggler { line-height: 1.7em; height: 1.7em; }
-#l10n-client .string-list li { font-size: 0.8em; line-height: 1.1em; }
-#l10n-client #l10n-client-string-select { width: 24%; }
-#l10n-client #l10n-client-string-select .string-list { border: 1px #ccc solid; }
-#l10n-client #g-l10n-search-form ul { padding: 0; }
-#l10n-client #l10n-client-string-editor { margin-left: 1em; }
-#l10n-client-string-editor .source .source-text { margin: 0 0.4em 0 0; border: 1px #ccc solid; padding: 0.4em; line-height: 1em; }
-#l10n-client-string-editor .translation { height: 19em; }
-#l10n-client #l10n-edit-translation { width: 97%; height: 17em; border: 1px #ccc solid; font-family: monospace; padding: 0.4em; }
-
-/* modules.css - jcarousel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-.jcarousel-skin-tango .jcarousel-container { padding-top: 0.5em; }
-
-/* modules.css - ThumbNav ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-#g-thumbnav-block-inline { margin-top: 26px; }
-#g-thumbnav-block-inline h2 { display: none; }
\ No newline at end of file
diff --git a/css/old_ie.css b/css/old_ie.css
deleted file mode 100644
index 68f40535..00000000
--- a/css/old_ie.css
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules - IE 6 hacks
- */
-
-/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-/* old_ie.css - Common ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
-body { word-wrap: break-word; font-size: 0.89em; /* 100.1%; */ }
-
-.g-item .g-metadata:hover { padding: 0px 0 4px 6px; }
-#g-quick-search-form input[type="submit"] { padding: 3px 0 0 0; }
-#g-column-centerleft { margin: 0 17em 0 0; }
-#g-column-centerright { margin: 0 0 0 19em; }
-#g-dialog input.textbox, #g-dialog input[type=text], #g-dialog input[type=password], #g-dialog textarea { width: 94%; }
diff --git a/css/pear.css b/css/pear.css
new file mode 100644
index 00000000..f901c6cf
--- /dev/null
+++ b/css/pear.css
@@ -0,0 +1,26 @@
+.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;
+}
+
+body, html {
+ background-color: #000;
+}
diff --git a/css/rtl.css b/css/rtl.css
deleted file mode 100644
index 1d74d901..00000000
--- a/css/rtl.css
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules related to general layout
- * Defined as 70em wide
- */
-
-.rtl { direction: rtl; }
-
-.rtl #g-header, .rtl #g-main, .rtl #g-sidebar, .rtl #g-footer,
-.rtl caption, .rtl th, .rtl #g-dialog,
-.rtl .g-context-menu li a, .rtl #g-site-menu a,
-.rtl .g-metadata li, .rtl DIV.g-resize .g-description,
-.rtl .g-message-box li, .rtl #g-site-status li { text-align: right; }
-
-.rtl .g-text-right { text-align: left; }
-
-.rtl #g-site-menu li:hover ul ul,
-.rtl #g-site-menu li:hover ul ul ul,
-.rtl #g-site-menu li.iemhover ul ul,
-.rtl #g-site-menu li.iemhover ul ul ul { left: 999em; }
-
-.rtl .g-left, .rtl .g-inline li, .rtl .g-breadcrumbs li, .rtl .g-paginator li,
-.rtl .g-navigation li .rtl .g-buttonset li, .rtl .ui-icon-left .ui-icon,
-.rtl .g-metadata li,
-.rtl #g-column-bottom .g-block,
-.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-paginator .g-navigation { text-align: left; }
-
-.rtl #g-column-centerfull #g-album-header h1 { padding-right: 12em; }
-.rtl .g-buttonset .g-menu-link { text-indent: 9999px; }
-
-.rtl .g-thumbslide { padding-left: 0; padding-right: 6px; }
-.rtl .g-thumbslide .g-description { padding-left: 10px; }
-
-.rtl .ui-icon-first { background-position: -210px -178px; }
-.rtl .ui-icon-first-d { background-position: -210px -162px; }
-.rtl .ui-icon-prev { background-position: -194px -178px; }
-.rtl .ui-icon-prev-d { background-position: -194px -162px; }
-.rtl .ui-icon-next { background-position: -178px -178px; }
-.rtl .ui-icon-next-d { background-position: -178px -162px; }
-.rtl .ui-icon-last { background-position: -162px -178px; }
-.rtl .ui-icon-last-d { background-position: -162px -162px; }
diff --git a/css/screen.css b/css/screen.css
index a5868c8b..a49b8c28 100644
--- a/css/screen.css
+++ b/css/screen.css
@@ -1,15 +1,1362 @@
-/**
- * Gallery 3 Grey Dragon Theme
- * Copyright (C) 2006-2011 Serguei Dosyukov
- *
- * CSS rules - Kitchen sync
- *
- * Color rules for font/background/lines can be found in dedicated colorpack files
- */
-
-@import "layout.css";
-@import "menus.css";
-@import "modules.css";
-@import "forms.css";
-@import "base.css";
-@import "rtl.css";
+/**
+ * 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 {
+ padding: .2em 0;
+ width: 100%;
+}
+
+.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/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png b/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 00000000..5b5dab2a
Binary files /dev/null and b/css/themeroller/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png b/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png
new file mode 100644
index 00000000..47acaadd
Binary files /dev/null and b/css/themeroller/images/ui-bg_flat_55_fbec88_40x100.png differ
diff --git a/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png b/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png
new file mode 100644
index 00000000..9fb564f8
Binary files /dev/null and b/css/themeroller/images/ui-bg_glass_75_d0e5f5_1x400.png differ
diff --git a/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png b/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png
new file mode 100644
index 00000000..01495152
Binary files /dev/null and b/css/themeroller/images/ui-bg_glass_85_dfeffc_1x400.png differ
diff --git a/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png b/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 00000000..4443fdc1
Binary files /dev/null and b/css/themeroller/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
new file mode 100644
index 00000000..0cdbda36
Binary files /dev/null and b/css/themeroller/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png differ
diff --git a/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
new file mode 100644
index 00000000..4f3faf8a
Binary files /dev/null and b/css/themeroller/images/ui-bg_inset-hard_100_f5f8f9_1x100.png differ
diff --git a/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
new file mode 100644
index 00000000..38c38335
Binary files /dev/null and b/css/themeroller/images/ui-bg_inset-hard_100_fcfdfd_1x100.png differ
diff --git a/css/themeroller/images/ui-icons_217bc0_256x240.png b/css/themeroller/images/ui-icons_217bc0_256x240.png
new file mode 100644
index 00000000..7719d487
Binary files /dev/null and b/css/themeroller/images/ui-icons_217bc0_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_2e83ff_256x240.png b/css/themeroller/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 00000000..d9897d25
Binary files /dev/null and b/css/themeroller/images/ui-icons_2e83ff_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_469bdd_256x240.png b/css/themeroller/images/ui-icons_469bdd_256x240.png
new file mode 100644
index 00000000..d8161854
Binary files /dev/null and b/css/themeroller/images/ui-icons_469bdd_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_6da8d5_256x240.png b/css/themeroller/images/ui-icons_6da8d5_256x240.png
new file mode 100644
index 00000000..b3c7d662
Binary files /dev/null and b/css/themeroller/images/ui-icons_6da8d5_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_cd0a0a_256x240.png b/css/themeroller/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 00000000..2db88b79
Binary files /dev/null and b/css/themeroller/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_d8e7f3_256x240.png b/css/themeroller/images/ui-icons_d8e7f3_256x240.png
new file mode 100644
index 00000000..2c8aac46
Binary files /dev/null and b/css/themeroller/images/ui-icons_d8e7f3_256x240.png differ
diff --git a/css/themeroller/images/ui-icons_f9bd01_256x240.png b/css/themeroller/images/ui-icons_f9bd01_256x240.png
new file mode 100644
index 00000000..e81603f5
Binary files /dev/null and b/css/themeroller/images/ui-icons_f9bd01_256x240.png differ
diff --git a/css/themeroller/ui.base.css b/css/themeroller/ui.base.css
new file mode 100644
index 00000000..1a1810c8
--- /dev/null
+++ b/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/css/themeroller/ui.core.css b/css/themeroller/ui.core.css
new file mode 100644
index 00000000..d832ad7d
--- /dev/null
+++ b/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/css/themeroller/ui.datepicker.css b/css/themeroller/ui.datepicker.css
new file mode 100644
index 00000000..92986c9e
--- /dev/null
+++ b/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/css/themeroller/ui.dialog.css b/css/themeroller/ui.dialog.css
new file mode 100644
index 00000000..f10f4090
--- /dev/null
+++ b/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/css/themeroller/ui.progressbar.css b/css/themeroller/ui.progressbar.css
new file mode 100644
index 00000000..bc0939ec
--- /dev/null
+++ b/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/css/themeroller/ui.resizable.css b/css/themeroller/ui.resizable.css
new file mode 100644
index 00000000..44efeb2e
--- /dev/null
+++ b/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/css/themeroller/ui.tabs.css b/css/themeroller/ui.tabs.css
new file mode 100644
index 00000000..70ed3ef4
--- /dev/null
+++ b/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/css/themeroller/ui.theme.css b/css/themeroller/ui.theme.css
new file mode 100644
index 00000000..477252e5
--- /dev/null
+++ b/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/helpers/exif_event.php b/helpers/exif_event.php
deleted file mode 100644
index 02536ff4..00000000
--- a/helpers/exif_event.php
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-class exif_event_Core {
- static function item_created($item) {
- if (!$item->is_album()) {
- exif::extract($item);
- }
- }
-
- static function item_deleted($item) {
- db::build()
- ->delete("exif_records")
- ->where("item_id", "=", $item->id)
- ->execute();
- }
-
- static function photo_menu($menu, $theme) {
- $item = $theme->item();
- $menu->append(
- Menu::factory("link")
- ->id("exifdata-link")
- ->label(t("Photo Details"))
- ->url(url::site("exif/show/$item->id"))
- ->css_id("g-exifdata-link")
- ->css_class("g-dialog-link"));
- }
-}
-?>
diff --git a/helpers/greydragon_event.php b/helpers/greydragon_event.php
deleted file mode 100644
index e4b8ee09..00000000
--- a/helpers/greydragon_event.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-class greydragon_event_Core {
-
- static function site_menu($menu, $theme) {
- $submenu = $menu->get("add_menu");
- if (!empty($submenu)) {
- $item = $submenu->get("add_photos_item");
- if (!empty($item)) { $item->css_class("ui-icon-plus"); }
-
- $item = $submenu->get("add_album_item");
- if (!empty($item)) { $item->css_class("ui-icon-note"); }
- }
-
- $submenu = $menu->get("options_menu");
- if (!empty($submenu)) {
- $item = $submenu->get("edit_item");
- if (!empty($item)) { $item->css_class("ui-icon-pencil"); }
-
- $item = $submenu->get("edit_permissions");
- if (!empty($item)) { $item->css_class("ui-icon-key"); }
- }
- }
-}
-?>
\ No newline at end of file
diff --git a/helpers/greydragon_installer.php b/helpers/greydragon_installer.php
deleted file mode 100644
index 4f197872..00000000
--- a/helpers/greydragon_installer.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-class greydragon_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::clear("gd_init_configuration");
- }
-}
-
-?>
\ No newline at end of file
diff --git a/helpers/greydragon_theme.php b/helpers/greydragon_theme.php
deleted file mode 100644
index 3d255da7..00000000
--- a/helpers/greydragon_theme.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
- // Nothing to do here, just to fix errors when Kohana is unhappy about the file missing
-?>
\ No newline at end of file
diff --git a/icons/addcomment.gif b/icons/addcomment.gif
new file mode 100644
index 00000000..35cd6f81
Binary files /dev/null and b/icons/addcomment.gif differ
diff --git a/icons/album.gif b/icons/album.gif
new file mode 100644
index 00000000..9c59d447
Binary files /dev/null and b/icons/album.gif differ
diff --git a/icons/button_left.png b/icons/button_left.png
new file mode 100644
index 00000000..1567289c
Binary files /dev/null and b/icons/button_left.png differ
diff --git a/icons/button_right.png b/icons/button_right.png
new file mode 100644
index 00000000..6a62078b
Binary files /dev/null and b/icons/button_right.png differ
diff --git a/icons/carousel.png b/icons/carousel.png
new file mode 100644
index 00000000..17dab5b3
Binary files /dev/null and b/icons/carousel.png differ
diff --git a/icons/carousel_active.png b/icons/carousel_active.png
new file mode 100644
index 00000000..52be650e
Binary files /dev/null and b/icons/carousel_active.png differ
diff --git a/icons/cart.gif b/icons/cart.gif
new file mode 100644
index 00000000..27e7be94
Binary files /dev/null and b/icons/cart.gif differ
diff --git a/icons/close.gif b/icons/close.gif
new file mode 100644
index 00000000..3019ba47
Binary files /dev/null and b/icons/close.gif differ
diff --git a/icons/color.css b/icons/color.css
new file mode 100644
index 00000000..890e5112
--- /dev/null
+++ b/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/icons/color_picker.png b/icons/color_picker.png
new file mode 100644
index 00000000..d2e89ab4
Binary files /dev/null and b/icons/color_picker.png differ
diff --git a/icons/color_picker_sprite.png b/icons/color_picker_sprite.png
new file mode 100644
index 00000000..977797b0
Binary files /dev/null and b/icons/color_picker_sprite.png differ
diff --git a/icons/depricated/button_left.psd b/icons/depricated/button_left.psd
new file mode 100644
index 00000000..3904392e
Binary files /dev/null and b/icons/depricated/button_left.psd differ
diff --git a/icons/depricated/button_right.psd b/icons/depricated/button_right.psd
new file mode 100644
index 00000000..2c92dcbc
Binary files /dev/null and b/icons/depricated/button_right.psd differ
diff --git a/icons/depricated/carousel.psd b/icons/depricated/carousel.psd
new file mode 100644
index 00000000..8967b0f5
Binary files /dev/null and b/icons/depricated/carousel.psd differ
diff --git a/icons/depricated/download.psd b/icons/depricated/download.psd
new file mode 100644
index 00000000..6b98eb78
Binary files /dev/null and b/icons/depricated/download.psd differ
diff --git a/icons/depricated/email.psd b/icons/depricated/email.psd
new file mode 100644
index 00000000..7ac6e69c
Binary files /dev/null and b/icons/depricated/email.psd differ
diff --git a/icons/depricated/filmStrip.php b/icons/depricated/filmStrip.php
new file mode 100644
index 00000000..47fb09de
--- /dev/null
+++ b/icons/depricated/filmStrip.php
@@ -0,0 +1,63 @@
+
+$src = array (
+ "rounded_black.png",
+ "rounded_dkgrey.png",
+ "rounded_ltgrey.png",
+ "rounded_white.png"
+ );
+$under = 0; // combine images underneath or not?
+// -- end of config
+
+$imgBuf = array ();
+$maxW=0; $maxH=0;
+foreach ($src as $link)
+{
+ switch(substr ($link,strrpos ($link,".")+1))
+ {
+ case 'png':
+ $iTmp = imagecreatefrompng($link);
+ break;
+ case 'gif':
+ $iTmp = imagecreatefromgif($link);
+ break;
+ case 'jpeg':
+ case 'jpg':
+ $iTmp = imagecreatefromjpeg($link);
+ break;
+ }
+
+ if ($under)
+ {
+ $maxW=(imagesx($iTmp)>$maxW)?imagesx($iTmp):$maxW;
+ $maxH+=imagesy($iTmp);
+ }
+ else
+ {
+ $maxW+=imagesx($iTmp);
+ $maxH=(imagesy($iTmp)>$maxH)?imagesy($iTmp):$maxH;
+ }
+
+ array_push ($imgBuf,$iTmp);
+}
+
+$iOut = imagecreatetruecolor ($maxW,$maxH) ;
+$iOut = imagecreate ($maxW,$maxH) ;
+
+$pos=0;
+foreach ($imgBuf as $img)
+{
+ if ($under)
+ imagecopy ($iOut,$img,0,$pos,0,0,imagesx($img),imagesy($img));
+ else
+ imagecopy ($iOut,$img,$pos,0,0,0,imagesx($img),imagesy($img));
+ $pos+= $under ? imagesy($img) : imagesx($img);
+ imagedestroy ($img);
+}
+//header("Content-type: image/jpg");
+
+imagealphablending($iOut, true);
+imagesavealpha($iOut, true);
+
+imagepng($iOut);
+
+?>
diff --git a/icons/depricated/grid.psd b/icons/depricated/grid.psd
new file mode 100644
index 00000000..b14c31a6
Binary files /dev/null and b/icons/depricated/grid.psd differ
diff --git a/icons/depricated/knob.psd b/icons/depricated/knob.psd
new file mode 100644
index 00000000..9070fcdc
Binary files /dev/null and b/icons/depricated/knob.psd differ
diff --git a/icons/depricated/larger.psd b/icons/depricated/larger.psd
new file mode 100644
index 00000000..453acd39
Binary files /dev/null and b/icons/depricated/larger.psd differ
diff --git a/icons/depricated/mosaic.psd b/icons/depricated/mosaic.psd
new file mode 100644
index 00000000..2dffdd8d
Binary files /dev/null and b/icons/depricated/mosaic.psd differ
diff --git a/icons/depricated/options_bar_bg.psd b/icons/depricated/options_bar_bg.psd
new file mode 100644
index 00000000..e7b888fd
Binary files /dev/null and b/icons/depricated/options_bar_bg.psd differ
diff --git a/icons/depricated/pear_logo.psd b/icons/depricated/pear_logo.psd
new file mode 100644
index 00000000..f189804a
Binary files /dev/null and b/icons/depricated/pear_logo.psd differ
diff --git a/icons/depricated/slideshow.psd b/icons/depricated/slideshow.psd
new file mode 100644
index 00000000..96545903
Binary files /dev/null and b/icons/depricated/slideshow.psd differ
diff --git a/icons/depricated/smaller.psd b/icons/depricated/smaller.psd
new file mode 100644
index 00000000..ac7a78bd
Binary files /dev/null and b/icons/depricated/smaller.psd differ
diff --git a/icons/depricated/subscribe.psd b/icons/depricated/subscribe.psd
new file mode 100644
index 00000000..0477de31
Binary files /dev/null and b/icons/depricated/subscribe.psd differ
diff --git a/icons/depricated/top_bar_bg.psd b/icons/depricated/top_bar_bg.psd
new file mode 100644
index 00000000..e37f3c8d
Binary files /dev/null and b/icons/depricated/top_bar_bg.psd differ
diff --git a/icons/depricated/track_fill_left.psd b/icons/depricated/track_fill_left.psd
new file mode 100644
index 00000000..d9293674
Binary files /dev/null and b/icons/depricated/track_fill_left.psd differ
diff --git a/icons/depricated/upload.psd b/icons/depricated/upload.psd
new file mode 100644
index 00000000..d42ee0b7
Binary files /dev/null and b/icons/depricated/upload.psd differ
diff --git a/icons/download.png b/icons/download.png
new file mode 100644
index 00000000..998b3959
Binary files /dev/null and b/icons/download.png differ
diff --git a/icons/email.png b/icons/email.png
new file mode 100644
index 00000000..0110d0d1
Binary files /dev/null and b/icons/email.png differ
diff --git a/icons/exif.gif b/icons/exif.gif
new file mode 100644
index 00000000..281214be
Binary files /dev/null and b/icons/exif.gif differ
diff --git a/icons/first.gif b/icons/first.gif
new file mode 100644
index 00000000..8379f70d
Binary files /dev/null and b/icons/first.gif differ
diff --git a/icons/footer_bg.png b/icons/footer_bg.png
new file mode 100644
index 00000000..88b30955
Binary files /dev/null and b/icons/footer_bg.png differ
diff --git a/icons/grid.png b/icons/grid.png
new file mode 100644
index 00000000..11238964
Binary files /dev/null and b/icons/grid.png differ
diff --git a/icons/grid_active.png b/icons/grid_active.png
new file mode 100644
index 00000000..2602a795
Binary files /dev/null and b/icons/grid_active.png differ
diff --git a/icons/hud_control/close.png b/icons/hud_control/close.png
new file mode 100644
index 00000000..30ceceae
Binary files /dev/null and b/icons/hud_control/close.png differ
diff --git a/icons/hud_control/close_over.png b/icons/hud_control/close_over.png
new file mode 100644
index 00000000..df94e509
Binary files /dev/null and b/icons/hud_control/close_over.png differ
diff --git a/icons/hud_control/comment.png b/icons/hud_control/comment.png
new file mode 100644
index 00000000..68d21088
Binary files /dev/null and b/icons/hud_control/comment.png differ
diff --git a/icons/hud_control/comment_over.png b/icons/hud_control/comment_over.png
new file mode 100644
index 00000000..1d520d7f
Binary files /dev/null and b/icons/hud_control/comment_over.png differ
diff --git a/icons/hud_control/controlsbg.png b/icons/hud_control/controlsbg.png
new file mode 100644
index 00000000..8df96ad8
Binary files /dev/null and b/icons/hud_control/controlsbg.png differ
diff --git a/icons/hud_control/download.png b/icons/hud_control/download.png
new file mode 100644
index 00000000..dc66d16d
Binary files /dev/null and b/icons/hud_control/download.png differ
diff --git a/icons/hud_control/download_disabled.png b/icons/hud_control/download_disabled.png
new file mode 100644
index 00000000..5f424c6d
Binary files /dev/null and b/icons/hud_control/download_disabled.png differ
diff --git a/icons/hud_control/download_over.png b/icons/hud_control/download_over.png
new file mode 100644
index 00000000..a1723e7d
Binary files /dev/null and b/icons/hud_control/download_over.png differ
diff --git a/icons/hud_control/info.png b/icons/hud_control/info.png
new file mode 100644
index 00000000..ffb7f7a4
Binary files /dev/null and b/icons/hud_control/info.png differ
diff --git a/icons/hud_control/info_over.png b/icons/hud_control/info_over.png
new file mode 100644
index 00000000..42ec4475
Binary files /dev/null and b/icons/hud_control/info_over.png differ
diff --git a/icons/hud_control/next.png b/icons/hud_control/next.png
new file mode 100644
index 00000000..59dc8a39
Binary files /dev/null and b/icons/hud_control/next.png differ
diff --git a/icons/hud_control/next_disabled.png b/icons/hud_control/next_disabled.png
new file mode 100644
index 00000000..2d53548a
Binary files /dev/null and b/icons/hud_control/next_disabled.png differ
diff --git a/icons/hud_control/next_over.png b/icons/hud_control/next_over.png
new file mode 100644
index 00000000..0a14880e
Binary files /dev/null and b/icons/hud_control/next_over.png differ
diff --git a/icons/hud_control/pause.png b/icons/hud_control/pause.png
new file mode 100644
index 00000000..cb6ccc06
Binary files /dev/null and b/icons/hud_control/pause.png differ
diff --git a/icons/hud_control/pause_over.png b/icons/hud_control/pause_over.png
new file mode 100644
index 00000000..104edf7d
Binary files /dev/null and b/icons/hud_control/pause_over.png differ
diff --git a/icons/hud_control/play.png b/icons/hud_control/play.png
new file mode 100644
index 00000000..babcf734
Binary files /dev/null and b/icons/hud_control/play.png differ
diff --git a/icons/hud_control/play_over.png b/icons/hud_control/play_over.png
new file mode 100644
index 00000000..873e9d0f
Binary files /dev/null and b/icons/hud_control/play_over.png differ
diff --git a/icons/hud_control/prev.png b/icons/hud_control/prev.png
new file mode 100644
index 00000000..d141070a
Binary files /dev/null and b/icons/hud_control/prev.png differ
diff --git a/icons/hud_control/prev_disabled.png b/icons/hud_control/prev_disabled.png
new file mode 100644
index 00000000..d66f83ff
Binary files /dev/null and b/icons/hud_control/prev_disabled.png differ
diff --git a/icons/hud_control/prev_over.png b/icons/hud_control/prev_over.png
new file mode 100644
index 00000000..fd43d3f5
Binary files /dev/null and b/icons/hud_control/prev_over.png differ
diff --git a/icons/knob.png b/icons/knob.png
new file mode 100644
index 00000000..66f7d562
Binary files /dev/null and b/icons/knob.png differ
diff --git a/icons/larger.png b/icons/larger.png
new file mode 100644
index 00000000..c148bdf1
Binary files /dev/null and b/icons/larger.png differ
diff --git a/icons/last.gif b/icons/last.gif
new file mode 100644
index 00000000..2b526aac
Binary files /dev/null and b/icons/last.gif differ
diff --git a/icons/mosaic.png b/icons/mosaic.png
new file mode 100644
index 00000000..484fa7bd
Binary files /dev/null and b/icons/mosaic.png differ
diff --git a/icons/mosaic_active.png b/icons/mosaic_active.png
new file mode 100644
index 00000000..aedf8d48
Binary files /dev/null and b/icons/mosaic_active.png differ
diff --git a/icons/next.gif b/icons/next.gif
new file mode 100644
index 00000000..38becb6a
Binary files /dev/null and b/icons/next.gif differ
diff --git a/icons/options_bar_bg.png b/icons/options_bar_bg.png
new file mode 100644
index 00000000..6184e30f
Binary files /dev/null and b/icons/options_bar_bg.png differ
diff --git a/icons/pear.css b/icons/pear.css
new file mode 100644
index 00000000..4ecb4aeb
--- /dev/null
+++ b/icons/pear.css
@@ -0,0 +1,789 @@
+.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;
+}
+
+#footerWrapper {
+ min-width: 800px;
+width: 100%;
+background:transparent url('footer_bg.png') top center;
+height:40px;
+ clear:both;
+}
+
+#logoButton {
+ display: block;
+ z-index: 1000;
+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: 10000;
+ 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: 10000;
+
+}
+
+.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;
+}
+
+.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;
+}
+
+.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: 8000;
+ 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 #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: 99999;
+ background-color: #000000;
+}
+
+#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: 99999;
+}
+
+#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/icons/pear_logo_lrg.png b/icons/pear_logo_lrg.png
new file mode 100644
index 00000000..9041a714
Binary files /dev/null and b/icons/pear_logo_lrg.png differ
diff --git a/icons/pear_logo_sml.png b/icons/pear_logo_sml.png
new file mode 100644
index 00000000..d69401f9
Binary files /dev/null and b/icons/pear_logo_sml.png differ
diff --git a/icons/popup.gif b/icons/popup.gif
new file mode 100644
index 00000000..fbb09ea0
Binary files /dev/null and b/icons/popup.gif differ
diff --git a/icons/prev.gif b/icons/prev.gif
new file mode 100644
index 00000000..149864e4
Binary files /dev/null and b/icons/prev.gif differ
diff --git a/icons/reflection-black.png b/icons/reflection-black.png
new file mode 100644
index 00000000..5f9a7ccb
Binary files /dev/null and b/icons/reflection-black.png differ
diff --git a/icons/reflection-darkgrey.png b/icons/reflection-darkgrey.png
new file mode 100644
index 00000000..662cb232
Binary files /dev/null and b/icons/reflection-darkgrey.png differ
diff --git a/icons/reflection-lightgrey.png b/icons/reflection-lightgrey.png
new file mode 100644
index 00000000..89848422
Binary files /dev/null and b/icons/reflection-lightgrey.png differ
diff --git a/icons/reflection-white.png b/icons/reflection-white.png
new file mode 100644
index 00000000..27e02aaf
Binary files /dev/null and b/icons/reflection-white.png differ
diff --git a/icons/rounded.png b/icons/rounded.png
new file mode 100644
index 00000000..ce8e31d3
Binary files /dev/null and b/icons/rounded.png differ
diff --git a/icons/showsidebar.gif b/icons/showsidebar.gif
new file mode 100644
index 00000000..b5fcd868
Binary files /dev/null and b/icons/showsidebar.gif differ
diff --git a/icons/slideshow.gif b/icons/slideshow.gif
new file mode 100644
index 00000000..2738b9c8
Binary files /dev/null and b/icons/slideshow.gif differ
diff --git a/icons/slideshow.png b/icons/slideshow.png
new file mode 100644
index 00000000..54b04497
Binary files /dev/null and b/icons/slideshow.png differ
diff --git a/icons/slideshow_active.png b/icons/slideshow_active.png
new file mode 100644
index 00000000..4aa7386c
Binary files /dev/null and b/icons/slideshow_active.png differ
diff --git a/icons/smaller.png b/icons/smaller.png
new file mode 100644
index 00000000..c57cd27f
Binary files /dev/null and b/icons/smaller.png differ
diff --git a/icons/subscribe.png b/icons/subscribe.png
new file mode 100644
index 00000000..470cca6e
Binary files /dev/null and b/icons/subscribe.png differ
diff --git a/icons/table_left.gif b/icons/table_left.gif
new file mode 100644
index 00000000..fa3981cf
Binary files /dev/null and b/icons/table_left.gif differ
diff --git a/icons/table_left_on.gif b/icons/table_left_on.gif
new file mode 100644
index 00000000..9cd7c879
Binary files /dev/null and b/icons/table_left_on.gif differ
diff --git a/icons/table_right.gif b/icons/table_right.gif
new file mode 100644
index 00000000..cf4b804d
Binary files /dev/null and b/icons/table_right.gif differ
diff --git a/icons/table_right_on.gif b/icons/table_right_on.gif
new file mode 100644
index 00000000..f508859e
Binary files /dev/null and b/icons/table_right_on.gif differ
diff --git a/icons/top_bar_bg.png b/icons/top_bar_bg.png
new file mode 100644
index 00000000..a6bb0759
Binary files /dev/null and b/icons/top_bar_bg.png differ
diff --git a/icons/track_fill_left.png b/icons/track_fill_left.png
new file mode 100644
index 00000000..2866db5c
Binary files /dev/null and b/icons/track_fill_left.png differ
diff --git a/icons/track_fill_right.png b/icons/track_fill_right.png
new file mode 100644
index 00000000..c70af587
Binary files /dev/null and b/icons/track_fill_right.png differ
diff --git a/icons/upload.png b/icons/upload.png
new file mode 100644
index 00000000..6331c692
Binary files /dev/null and b/icons/upload.png differ
diff --git a/icons/viewcomments.gif b/icons/viewcomments.gif
new file mode 100644
index 00000000..fd3ca07d
Binary files /dev/null and b/icons/viewcomments.gif differ
diff --git a/images/apple-touch-icon.png b/images/apple-touch-icon.png
deleted file mode 100644
index 5017ea4a..00000000
Binary files a/images/apple-touch-icon.png and /dev/null differ
diff --git a/images/arrows_left.png b/images/arrows_left.png
deleted file mode 100644
index dc9dcdfd..00000000
Binary files a/images/arrows_left.png and /dev/null differ
diff --git a/images/arrows_right.png b/images/arrows_right.png
deleted file mode 100644
index 80188c17..00000000
Binary files a/images/arrows_right.png and /dev/null differ
diff --git a/images/avatar.jpg b/images/avatar.jpg
index 71166cc4..acad9314 100644
Binary files a/images/avatar.jpg and b/images/avatar.jpg differ
diff --git a/images/blue-grad.png b/images/blue-grad.png
deleted file mode 100644
index 36e0f6bc..00000000
Binary files a/images/blue-grad.png and /dev/null differ
diff --git a/images/button-grad-active-vs.png b/images/button-grad-active-vs.png
deleted file mode 100644
index dc641725..00000000
Binary files a/images/button-grad-active-vs.png and /dev/null differ
diff --git a/images/button-grad-vs.png b/images/button-grad-vs.png
deleted file mode 100644
index 51c55a3d..00000000
Binary files a/images/button-grad-vs.png and /dev/null differ
diff --git a/images/close.png b/images/close.png
deleted file mode 100644
index d874f9aa..00000000
Binary files a/images/close.png and /dev/null differ
diff --git a/images/donate.png b/images/donate.png
deleted file mode 100644
index f36bb57a..00000000
Binary files a/images/donate.png and /dev/null differ
diff --git a/images/gallery.png b/images/gallery.png
deleted file mode 100644
index 038b18a6..00000000
Binary files a/images/gallery.png and /dev/null differ
diff --git a/images/ico-album.png b/images/ico-album.png
new file mode 100644
index 00000000..affa1b84
Binary files /dev/null and b/images/ico-album.png differ
diff --git a/css/colorpacks/blackhawk/images/ico-error.png b/images/ico-error.png
similarity index 100%
rename from css/colorpacks/blackhawk/images/ico-error.png
rename to images/ico-error.png
diff --git a/css/colorpacks/blackhawk/images/ico-help.png b/images/ico-help.png
similarity index 100%
rename from css/colorpacks/blackhawk/images/ico-help.png
rename to images/ico-help.png
diff --git a/css/colorpacks/blackhawk/images/ico-info.png b/images/ico-info.png
similarity index 100%
rename from css/colorpacks/blackhawk/images/ico-info.png
rename to images/ico-info.png
diff --git a/images/ico-print.png b/images/ico-print.png
new file mode 100644
index 00000000..b82a8e1e
Binary files /dev/null and b/images/ico-print.png differ
diff --git a/images/ico-separator-rtl.gif b/images/ico-separator-rtl.gif
new file mode 100644
index 00000000..d9061a46
Binary files /dev/null and b/images/ico-separator-rtl.gif differ
diff --git a/images/ico-separator.gif b/images/ico-separator.gif
new file mode 100644
index 00000000..3de2d0d3
Binary files /dev/null and b/images/ico-separator.gif differ
diff --git a/images/ico-success-inactive.png b/images/ico-success-inactive.png
index a209fb67..74b2032f 100644
Binary files a/images/ico-success-inactive.png and b/images/ico-success-inactive.png differ
diff --git a/images/ico-success-passive.png b/images/ico-success-passive.png
index c8460d17..dc8d1ded 100644
Binary files a/images/ico-success-passive.png and b/images/ico-success-passive.png differ
diff --git a/images/ico-view-comments.png b/images/ico-view-comments.png
new file mode 100644
index 00000000..e5d3630f
Binary files /dev/null and b/images/ico-view-comments.png differ
diff --git a/images/ico-view-fullsize.png b/images/ico-view-fullsize.png
new file mode 100644
index 00000000..0be23e9b
Binary files /dev/null and b/images/ico-view-fullsize.png differ
diff --git a/images/ico-view-slideshow-rtl.png b/images/ico-view-slideshow-rtl.png
new file mode 100644
index 00000000..5788b3c3
Binary files /dev/null and b/images/ico-view-slideshow-rtl.png differ
diff --git a/images/ico-view-slideshow.png b/images/ico-view-slideshow.png
new file mode 100644
index 00000000..82f61f63
Binary files /dev/null and b/images/ico-view-slideshow.png differ
diff --git a/css/colorpacks/blackhawk/images/loading-large.gif b/images/loading-large.gif
similarity index 100%
rename from css/colorpacks/blackhawk/images/loading-large.gif
rename to images/loading-large.gif
diff --git a/css/colorpacks/blackhawk/images/loading-small.gif b/images/loading-small.gif
similarity index 100%
rename from css/colorpacks/blackhawk/images/loading-small.gif
rename to images/loading-small.gif
diff --git a/images/missing-img.png b/images/missing-img.png
deleted file mode 100644
index 12b7394f..00000000
Binary files a/images/missing-img.png and /dev/null differ
diff --git a/images/select-photos-backg.png b/images/select-photos-backg.png
new file mode 100644
index 00000000..81c2d616
Binary files /dev/null and b/images/select-photos-backg.png differ
diff --git a/js/animation.js b/js/animation.js
deleted file mode 100644
index ea7a0747..00000000
--- a/js/animation.js
+++ /dev/null
@@ -1,196 +0,0 @@
-
-// we need the browser-specific name of the CSS 2D Transform property
-window.transformName = (function() {
- var prefixedTransformNames = ["transform", "msTransform", "MozTransform", "WebkitTransform", "OTransform"];
-
- var tempDiv = document.createElement("div");
- for (var i = 0; i < prefixedTransformNames.length; ++i) {
- if (typeof tempDiv.style[prefixedTransformNames[i]] != 'undefined')
- return prefixedTransformNames[i];
- }
-
- return "noTransform";
-})();
-
-var aniList = new Object();
-
-var transformRegExs = {
- "scale" : /scale\(\s*([\d\.\-]+)\s*\)/,
- "rotate" : /rotate\(\s*([\d\.\-]+)\s*(deg|rad)\s*\)/
-};
-
-function AniItem(htmlElement, styleProperty, valueType, startValues, endValues, duration) {
-
- function DoOneUpdate(now) {
- var elapsed = now - this.startTime;
-
- // we're done when we're at the end
- this.done = !(elapsed < duration);
-
- function linearInterpolate(start, end) {
- if (elapsed < duration) {
- return start + elapsed * (end - start) / duration;
- } else {
- return end;
- }
- }
-
- function formatTransform(strValueNow, transformFunction, currentTransform)
- {
- var strValue = transformFunction + "(" + strValueNow + ")";
- if (currentTransform)
- {
- var rxFunction = transformRegExs[transformFunction];
- if (currentTransform.match(rxFunction))
- strValue = currentTransform.replace(rxFunction, strValue);
- else
- strValue = currentTransform + " " + strValue;
- }
- return strValue;
- }
-
- function formatValue(valueNow, valueType) {
- var strValue;
- switch (valueType) {
- case 'pixels':
- strValue = valueNow.toString() + "px";
- break;
- case 'scaleTransform':
- strValue = formatTransform(valueNow.toString(), "scale", htmlElement.style[styleProperty]);
- break;
- case 'rotateTransform':
- strValue = formatTransform(valueNow.toString() + "deg", "rotate", htmlElement.style[styleProperty]);
- break;
- case 'rotateAndScaleTransform':
- strValue = formatTransform(valueNow[0].toString() + "deg", "rotate", htmlElement.style[styleProperty]);
- strValue = formatTransform(valueNow[1].toString(), "scale", strValue);
- break;
- default:
- strValue = valueNow.toString();
- break;
- }
- return strValue;
- }
-
- var valuesNow;
- if (typeof startValues.length != 'undefined') {
- valuesNow = new Array();
- for (var i = 0; i < startValues.length; ++i)
- valuesNow.push(linearInterpolate(startValues[i], endValues[i]));
- }
- else {
- valuesNow = linearInterpolate(startValues, endValues);
- }
-
- htmlElement.style[styleProperty] = formatValue(valuesNow, valueType);
-
- }
-
- // the object properties
- this.AnimateFrame = DoOneUpdate;
- this.startTime = new Date().getTime();
- this.done = false;
-}
-
-function getCurrentTransformFunctionValue(htmlElement, transformFunction, defaultValue)
-{
- var currentValue = defaultValue;
- var currentTransform = htmlElement.style[window.transformName];
- if (currentTransform) {
- var m = currentTransform.match(transformRegExs[transformFunction]);
- if (m)
- {
- currentValue = parseFloat(m[1]);
-
- if (transformFunction == "rotate" && m[2] == "rad")
- currentValue = currentValue * 180 / Math.PI;
- }
- }
- return currentValue;
-}
-
-function getCurrentStringValue(htmlElement, styleProperty)
-{
- var currentStyleProp = htmlElement.style[styleProperty];
- if (currentStyleProp == null || currentStyleProp == '')
- currentStyleProp = htmlElement.currentStyle ? htmlElement.currentStyle[styleProperty] :
- window.getComputedStyle(htmlElement, null).getPropertyValue(styleProperty);
- return currentStyleProp;
-}
-
-function getCurrentNumberValue(htmlElement, styleProperty)
-{
- return parseFloat(getCurrentStringValue(htmlElement, styleProperty));
-}
-
-function getCurrentTransformScale(htmlElement) {
- return getCurrentTransformFunctionValue(htmlElement, "scale", 1);
-}
-
-function getCurrentTransformRotate(htmlElement) {
- return getCurrentTransformFunctionValue(htmlElement, "rotate", 0);
-}
-
-function animateTransformScale(htmlElement, endScale, duration) {
- var currentScale = getCurrentTransformScale(htmlElement);
- aniList[htmlElement.id + "st"] = new AniItem(htmlElement, window.transformName, "scaleTransform", currentScale, endScale, duration);
-}
-
-function animateTransformRotate(htmlElement, endRotate, duration) {
- var currentRotate = getCurrentTransformRotate(htmlElement);
- aniList[htmlElement.id + "rt"] = new AniItem(htmlElement, window.transformName, "rotateTransform", currentRotate, endRotate, duration);
-}
-
-function animateTransformRotateAndScale(htmlElement, endRotate, endScale, duration) {
- animateTransformRotate(htmlElement, endRotate, duration);
- animateTransformScale(htmlElement, endScale, duration);
-}
-
-function animateOpacity(htmlElement, endOpacity, duration)
-{
- var currentOpacity = getCurrentNumberValue(htmlElement, "opacity");
- aniList[htmlElement.id + "op"] = new AniItem(htmlElement, "opacity", "number", currentOpacity, endOpacity, duration);
-}
-
-//var lastAnimate = new Date().getTime();
-
-function _intervalAnimator() {
- var now = new Date().getTime() + 18; // look ahead to the next 18ms beat;
-
-// var logged = false;
-
- for (var name in aniList) {
- if (aniList[name] instanceof AniItem)
- {
- if (!aniList[name].done)
- {
-// if (!logged)
-// {
-// Debug("Animating at " + (now - lastAnimate) + 'ms');
-// lastAnimate = now;
-// logged = true;
-// }
-
- aniList[name].AnimateFrame(now);
- }
- }
- }
-}
-
-window.setInterval(_intervalAnimator, Math.floor(1000 / 60));
-
-function _aniListCleaner() {
- var nDeleted = 0;
- var startTime = new Date().getTime();
- for (var name in aniList) {
- if (aniList[name] instanceof AniItem) {
- if (aniList[name].done) {
- delete aniList[name];
- ++nDeleted;
- }
- }
- }
-// Debug(new Date().toTimeString() + ": done cleaning. " + nDeleted + " items deleted from aniList in " + (new Date().getTime() - startTime).toString() + "ms.");
-}
-
-window.setInterval(_aniListCleaner, 5000);
diff --git a/js/demo.js b/js/demo.js
deleted file mode 100644
index 84eb0e17..00000000
--- a/js/demo.js
+++ /dev/null
@@ -1,250 +0,0 @@
-// some configuration "constants"
-var DEFAULT_FLICKR_RESULTS_PER_PAGE = 24;
-var DEFAULT_SEARCH_TERM = "sunset";
-var DEBUG = false;
-
-function Debug(s) {
- if (DEBUG) {
- try {
- console.log("DEBUG: " + s);
- } catch (e) {
- // console does not exist...do nothing
- }
- }
-}
-
-function encodeHTML(s) {
- return s.replace("&", "&").replace("<", "<").replace(">", ">");
-}
-
-var nJSONRequests = 0;
-
-function SendJSONRequest(url) {
- var head = document.getElementsByTagName("head").item(0);
- var script = document.createElement("script");
- script.setAttribute("type", "text/javascript");
- script.setAttribute("src", url);
- script.setAttribute("id", "dynamicScript" + ++nJSONRequests);
- head.appendChild(script);
-}
-
-var currentSearchTermEncoded = "";
-
-// api documented at http://www.flickr.com/services/api/flickr.photos.search.html
-function ExecuteFlickrSearch(term) {
- currentSearchTermEncoded = encodeHTML(term);
- document.getElementById("gallery").innerHTML = "Searching for photos of “" + currentSearchTermEncoded + "”...
";
- document.getElementById("displayingN").innerHTML = "";
-
- var requestUrl = "http://api.flickr.com/services/rest/?" +
- [
- "jsoncallback=" + "HandleFlickrSearchResult",
- "method=" + "flickr.photos.search",
- "api_key=" + "afaf235416e5cb2fb406b7cae3caa43c",
- "text=" + term,
- "sort=" + "relevance", // "interestingness-desc", //
- "safe_search=" + "1",
- "content_type=" + "1",
- "license=" + "4,6,7",
- "per_page=" + DEFAULT_FLICKR_RESULTS_PER_PAGE,
- "page=" + 1,
- "extras=" + "owner_name,tags,url_sq,url_t,url_s,url_m,url_o",
- "format=" + "json"
- ].join("&");
-
- Debug("sending request: " + requestUrl);
- SendJSONRequest(requestUrl);
-}
-
-function formatTemplate() {
- var template =
- '' +
- '
' +
- '
' +
- '
' +
- 'from {1}' +
- '' +
- '
' +
- '
{2}
' +
- '
{4}
' +
- '
';
-
- for (var i = 0; i < arguments.length; ++i) {
- template = template.replace(new RegExp('\\{' + i + '\\}', 'gm'), encodeHTML(arguments[i].toString()));
- }
-
- return template;
-}
-
-function HandleFlickrSearchResult(data) {
- if (data.stat != "ok") {
- var msg = "Flickr returned error " + data.code + ": " + data.message + ".";
- Debug(msg);
- document.getElementById("gallery").innerHTML = "" + encodeHTML(msg) + "
";
- return;
- }
-
- var nPhotos = data.photos.photo.length;
- Debug("Got an \"ok\" response with " + nPhotos.toString() + " photos");
-
- if (nPhotos == 0) {
- document.getElementById("gallery").innerHTML = "Flickr returned no photos for “" + currentSearchTermEncoded + "”.
";
- return;
- }
-
- var gallery = "";
- for (var i = 0; i < nPhotos; i++) {
- var photo = data.photos.photo[i];
- gallery += formatTemplate(photo.url_m, photo.ownername, photo.title, photo.id, photo.tags, photo.owner, 20 + i);
- }
-
- document.getElementById("gallery").innerHTML = gallery;
- document.getElementById("displayingN").innerHTML = "Displaying " + nPhotos + " of " + data.photos.total.replace(/^(\d{1,3})(\d{3})/, "$1,$2") + " photos";
-
- // restore messiness if enabled
- if (document.getElementById("cbMessyLayout").checked)
- messyLayout(true);
-}
-
-function colorGalleryBackgroundClicked() {
- if (document.getElementById("cbColorGallery").checked) {
- document.getElementById("gallery").style.backgroundImage = "";
- }
- else {
- document.getElementById("gallery").style.backgroundImage = "none";
- }
-}
-
-function rotateImagesTo(nDeg, duration) {
- if (typeof duration == 'undefined')
- duration = 100;
-
- var photos = document.getElementsByClassName("photoWrapper");
- for (var i = 0; i < photos.length; i++) {
- animateTransformRotate(photos[i], nDeg, duration);
- }
-}
-
-function rotateImagesBy(nDeg, duration) {
- if (typeof duration == 'undefined')
- duration = 100;
-
- var photos = document.getElementsByClassName("photoWrapper");
- for (var i = 0; i < photos.length; i++) {
- animateTransformRotate(photos[i], getCurrentTransformRotate(photos[i]) + nDeg, duration);
- }
-}
-
-function messyLayout(messy) {
- var photos = document.getElementsByClassName("photoWrapper");
- for (var i = 0; i < photos.length; i++) {
- if (messy) {
- photos[i].style.zIndex = 1 + Math.floor(Math.random() * photos.length);
- animateTransformRotateAndScale(photos[i], -30 + Math.floor(Math.random() * 61), 1.2, 0);
- }
- else {
- photos[i].style.zIndex = "auto";
- animateTransformRotateAndScale(photos[i], 0, 1, 0);
- }
- }
-}
-
-HTMLElement.prototype.isOrIsADescendantOf = function(ancestor) {
- for (var n = this; n != null; n = n.parentNode)
- if (n == ancestor)
- return true;
-
- return false;
-};
-
-function entering(eventObj, targetElement) {
- var fromElement = eventObj.relatedTarget;
- return fromElement == null || !(fromElement instanceof HTMLElement) || !fromElement.isOrIsADescendantOf(targetElement);
-}
-
-function leaving(eventObj, targetElement) {
- var toElement = eventObj.relatedTarget;
- return toElement == null || !(toElement instanceof HTMLElement) || !toElement.isOrIsADescendantOf(targetElement);
-}
-
-var zoomFactors = [ 3, 2.5, 2 ];
-
-function overPhoto(wrapperElement, eventObj) {
- if (entering(eventObj, wrapperElement)) {
- wrapperElement.setAttribute("oldzIndex", getCurrentStringValue(wrapperElement, "zIndex"));
- wrapperElement.setAttribute("oldrotate", getCurrentTransformRotate(wrapperElement).toString());
- wrapperElement.setAttribute("oldscale", getCurrentTransformScale(wrapperElement).toString());
- wrapperElement.style.zIndex = 25;
- var zoomFactor = zoomFactors[document.getElementById("thumbnails").selectedIndex];
-
- animateTransformRotateAndScale(wrapperElement, -6, zoomFactor, 200);
- }
-}
-
-function clickPhoto(wrapperElement, eventObj) {
- var url = wrapperElement.getAttribute("flickrPageUrl");
- if (url && eventObj.ctrlKey) {
- location.href = url;
- }
- return false;
-}
-
-function keyDownPhoto(wrapperElement, eventObj) {
- var url = wrapperElement.getAttribute("flickrPageUrl");
- if (url && eventObj.keyCode == KEY_ENTER && eventObj.ctrlKey) {
- location.href = url;
- }
- return false;
-}
-
-function outPhoto(wrapperElement, eventObj) {
- if (leaving(eventObj, wrapperElement)) {
- if (document.getElementById("cbMessyLayout").checked) {
- wrapperElement.style.zIndex = wrapperElement.getAttribute("oldzIndex");
- animateTransformRotateAndScale(wrapperElement,
- parseFloat(wrapperElement.getAttribute("oldrotate")),
- parseFloat(wrapperElement.getAttribute("oldscale")), 200);
- }
- else {
- wrapperElement.style.zIndex = "auto";
- animateTransformRotateAndScale(wrapperElement, 0, 1, 200);
- }
- }
-}
-
-function doSearch() {
- var searchText = document.getElementById("searchText").value;
- if (searchText != "") {
- ExecuteFlickrSearch(searchText);
- }
-}
-
-function makeThumbnails(size) {
- var gal = document.getElementById('gallery');
- gal.className = gal.className.replace(/\b(small|medium|large)\b/, size);
-}
-
-function showTags(show) {
- var gal = document.getElementById('gallery');
- gal.className = gal.className.replace(/\s*showtags\b/, '') + ((show == "true") ? ' showtags' : '');
-}
-
-function init() {
-
- // this depends on initialization that has already been done in animation.js
- // we just set the class on a div to the script element property name for CSS3 2D Transforms
- document.getElementById("TransformNote").className = window.transformName;
-
- // kill text selection in IE
- document.getElementById("gallery").onselectstart = function() {return false;};
-
- // re-init the background color or image
- colorGalleryBackgroundClicked();
-
- // start with a default search (or the old one if this is a refresh)
- var searchTerm = document.getElementById("searchText").value;
- ExecuteFlickrSearch(searchTerm != "" ? searchTerm : DEFAULT_SEARCH_TERM);
-}
diff --git a/js/imageflow.js b/js/imageflow.js
new file mode 100644
index 00000000..f283c760
--- /dev/null
+++ b/js/imageflow.js
@@ -0,0 +1,437 @@
+/**
+ * ImageFlow 0.9
+ *
+ * This code is based on Michael L. Perrys Cover flow in Javascript.
+ * For he wrote that "You can take this code and use it as your own" [1]
+ * this is my attempt to improve some things. Feel free to use it! If
+ * you have any questions on it leave me a message in my shoutbox [2].
+ *
+ * The reflection is generated server-sided by a slightly hacked
+ * version of Richard Daveys easyreflections [3] written in PHP.
+ *
+ * The mouse wheel support is an implementation of Adomas Paltanavicius
+ * JavaScript mouse wheel code [4].
+ *
+ * Thanks to Stephan Droste ImageFlow is now compatible with Safari 1.x.
+ *
+ *
+ * [1] http://www.adventuresinsoftware.com/blog/?p=104#comment-1981
+ * [2] http://shoutbox.finnrudolph.de/
+ * [3] http://reflection.corephp.co.uk/v2.php
+ * [4] http://adomas.org/javascript-mouse-wheel/
+ */
+
+
+/* Configuration variables */
+var conf_reflection_p = 0.0; // Sets the height of the reflection in % of the source image
+var conf_focus = 4; // Sets the numbers of images on each side of the focussed one
+var conf_slider_width = 14; // Sets the px width of the slider div
+var conf_images_cursor = 'pointer'; // Sets the cursor type for all images default is 'default'
+var conf_slider_cursor = 'default'; // Sets the slider cursor type: try "e-resize" default is 'default'
+
+/* Id names used in the HTML */
+var conf_imageflow = 'imageflow'; // Default is 'imageflow'
+var conf_loading = 'loading'; // Default is 'loading'
+var conf_images = 'images'; // Default is 'images'
+var conf_captions = 'captions'; // Default is 'captions'
+var conf_scrollbar = 'scrollbar'; // Default is 'scrollbar'
+var conf_slider = 'slider'; // Default is 'slider'
+
+/* Define global variables */
+var caption_id = 0;
+var new_caption_id = 0;
+var current = 0;
+var target = 0;
+var mem_target = 0;
+var timer = 0;
+var array_images = new Array();
+var new_slider_pos = 0;
+var dragging = false;
+var dragobject = null;
+var dragx = 0;
+var posx = 0;
+var new_posx = 0;
+var xstep = 150;
+
+
+function step()
+{
+ switch (target < current-1 || target > current+1)
+ {
+ case true:
+ moveTo(current + (target-current)/3);
+ window.setTimeout(step, 50);
+ timer = 1;
+ break;
+
+ default:
+ timer = 0;
+ break;
+ }
+}
+
+function glideTo(x, new_caption_id)
+{
+ /* Animate gliding to new x position */
+ target = x;
+ mem_target = x;
+ if (timer == 0)
+ {
+ window.setTimeout(step, 50);
+ timer = 1;
+ }
+
+ /* Display new caption */
+ caption_id = new_caption_id;
+ caption = img_div.childNodes.item(array_images[caption_id]).getAttribute('alt');
+ if (caption == '') caption = ' ';
+ caption_div.innerHTML = caption;
+
+ /*swatchImg() */
+ currentImg=caption_id;
+
+ /* Set scrollbar slider to new position */
+ if (dragging == false)
+ {
+ new_slider_pos = (scrollbar_width * (-(x*100/((max-1)*xstep))) / 100) - new_posx;
+ slider_div.style.marginLeft = (new_slider_pos - conf_slider_width) + 'px';
+ }
+}
+
+function moveTo(x)
+{
+ current = x;
+ var zIndex = max;
+
+ /* Main loop */
+ for (var index = 0; index < max; index++)
+ {
+ var image = img_div.childNodes.item(array_images[index]);
+ var current_image = index * -xstep;
+
+ /* Don't display images that are not conf_focussed */
+ if ((current_image+max_conf_focus) < mem_target || (current_image-max_conf_focus) > mem_target)
+ {
+ image.style.visibility = 'hidden';
+ image.style.display = 'none';
+ }
+ else
+ {
+ var z = Math.sqrt(10000 + x * x) + 100;
+ var xs = x / z * size + size;
+
+ /* Still hide images until they are processed, but set display style to block */
+ image.style.display = 'block';
+
+ /* Process new image height and image width */
+ var new_img_h = (image.h / image.w * image.pc) / z * size;
+ switch ( new_img_h > max_height )
+ {
+ case false:
+ var new_img_w = image.pc / z * size;
+ break;
+
+ default:
+ new_img_h = max_height;
+ var new_img_w = image.w * new_img_h / image.h;
+ break;
+ }
+ var new_img_top = (images_width * 0.34 - new_img_h) + images_top + ((new_img_h / (conf_reflection_p + 1)) * conf_reflection_p);
+
+ /* Set new image properties */
+ image.style.left = xs - (image.pc / 2) / z * size + images_left + 'px';
+ if(new_img_w && new_img_h)
+ {
+ image.style.height = new_img_h + 'px';
+ image.style.width = new_img_w + 'px';
+ image.style.top = new_img_top + 'px';
+ }
+ image.style.visibility = 'visible';
+
+ /* Set image layer through zIndex */
+ switch ( x < 0 )
+ {
+ case true:
+ zIndex++;
+ break;
+
+ default:
+ zIndex = zIndex - 1;
+ break;
+ }
+
+ /* Change zIndex and onclick function of the focussed image */
+ switch ( image.i == caption_id )
+ {
+ case false:
+ image.onclick = function() { glideTo(this.x_pos, this.i); }
+ break;
+
+ default:
+ zIndex = zIndex + 1;
+ image.onclick = function() { document.location = this.url; }
+ break;
+ }
+ image.style.zIndex = zIndex;
+ }
+ x += xstep;
+ }
+}
+
+/* Main function */
+function refresh(onload)
+{
+ /* Cache document objects in global variables */
+ imageflow_div = document.getElementById(conf_imageflow);
+ img_div = document.getElementById(conf_images);
+ scrollbar_div = document.getElementById(conf_scrollbar);
+ slider_div = document.getElementById(conf_slider);
+ caption_div = document.getElementById(conf_captions);
+
+ /* Cache global variables, that only change on refresh */
+ images_width = img_div.offsetWidth;
+ images_top = imageflow_div.offsetTop;
+ images_left = imageflow_div.offsetLeft;
+ max_conf_focus = conf_focus * xstep;
+ size = images_width * 0.5;
+ scrollbar_width = images_width * 0.6;
+ conf_slider_width = conf_slider_width * 0.5;
+ max_height = images_width * 0.51;
+
+ /* Change imageflow div properties */
+// imageflow_div.style.height = max_height + 'px';
+
+ /* Change images div properties */
+ img_div.style.height = images_width * 0.338 + 'px';
+
+ /* Change captions div properties */
+ caption_div.style.width = images_width + 'px';
+ caption_div.style.marginTop = images_width * 0.03 + 'px';
+ caption_div.style.marginTop = images_width * 0.06 + 'px';
+ caption_div.style.marginTop = 20 + 'px';
+
+ /* Change scrollbar div properties */
+ scrollbar_div.style.marginTop = images_width * 0.02 + 'px';
+ scrollbar_div.style.marginTop = 15 + 'px';
+ scrollbar_div.style.marginLeft = images_width * 0.2 + 'px';
+ scrollbar_div.style.width = scrollbar_width + 'px';
+
+ /* Set slider attributes */
+ slider_div.onmousedown = function () { dragstart(this); };
+ slider_div.style.cursor = conf_slider_cursor;
+
+ /* Cache EVERYTHING! */
+ max = img_div.childNodes.length;
+ var i = 0;
+ for (var index = 0; index < max; index++)
+ {
+ var image = img_div.childNodes.item(index);
+ if (image.nodeType == 1)
+ {
+ array_images[i] = index;
+
+ /* Set image onclick by adding i and x_pos as attributes! */
+ image.onclick = function() { glideTo(this.x_pos, this.i); }
+ image.x_pos = (-i * xstep);
+ image.i = i;
+
+ /* Add width and height as attributes ONLY once onload */
+ if(onload == true)
+ {
+ image.w = slideshowImages[i][2];
+ image.h = slideshowImages[i][3];
+ }
+
+ /* Check source image format. Get image height minus reflection height! */
+ switch ((image.w + 1) > (image.h / (conf_reflection_p + 1)))
+ {
+ /* Landscape format */
+ case true:
+ image.pc = 155;
+ break;
+
+ /* Portrait and square format */
+ default:
+ image.pc = 112;
+ image.pc = 92;
+ break;
+ }
+
+ /* Set ondblclick event */
+ image.url = image.getAttribute('longdesc');
+ image.ondblclick = function() { document.location = this.url; }
+
+ /* Set image cursor type */
+ image.style.cursor = conf_images_cursor;
+
+ i++;
+ }
+ }
+ max = array_images.length;
+
+ /* Display images in current order */
+ moveTo(current);
+ glideTo(current, caption_id);
+}
+
+/* Show/hide element functions */
+function iShow(id)
+{
+ var element = document.getElementById(id);
+ element.style.visibility = 'visible';
+}
+function iHide(id)
+{
+ var element = document.getElementById(id);
+ element.style.visibility = 'hidden';
+ element.style.display = 'none';
+}
+
+/* Hide loading bar, show content and initialize mouse event listening after loading */
+window.onload = function()
+{
+ if(document.getElementById(conf_imageflow))
+ {
+ iHide(conf_loading);
+ refresh(true);
+ iShow(conf_images);
+ iShow(conf_scrollbar);
+ initMouseWheel();
+ initMouseDrag();
+ }
+}
+
+/* Refresh ImageFlow on window resize */
+window.onresize = function()
+{
+ if(document.getElementById(conf_imageflow)) refresh();
+}
+
+/* Fixes the back button issue */
+window.onunload = function()
+{
+ document = null;
+}
+
+
+/* Handle the wheel angle change (delta) of the mouse wheel */
+function handle(delta)
+{
+ var change = false;
+ switch (delta > 0)
+ {
+ case true:
+ if(caption_id >= 1)
+ {
+ target = target + xstep;
+ new_caption_id = caption_id - 1;
+ change = true;
+ }
+ break;
+
+ default:
+ if(caption_id < (max-1))
+ {
+ target = target - xstep;
+ new_caption_id = caption_id + 1;
+ change = true;
+ }
+ break;
+ }
+
+ /* Glide to next (mouse wheel down) / previous (mouse wheel up) image */
+ if (change == true)
+ {
+ glideTo(target, new_caption_id);
+ }
+}
+
+/* Event handler for mouse wheel event */
+function wheel(event)
+{
+ var delta = 0;
+ if (!event) event = window.event;
+ if (event.wheelDelta)
+ {
+ delta = event.wheelDelta / 120;
+ }
+ else if (event.detail)
+ {
+ delta = -event.detail / 3;
+ }
+ if (delta) handle(delta);
+ if (event.preventDefault) event.preventDefault();
+ event.returnValue = false;
+}
+
+/* Initialize mouse wheel event listener */
+function initMouseWheel()
+{
+ if(window.addEventListener) imageflow_div.addEventListener('DOMMouseScroll', wheel, false);
+ imageflow_div.onmousewheel = wheel;
+}
+
+/* This function is called to drag an object (= slider div) */
+function dragstart(element)
+{
+ dragobject = element;
+ dragx = posx - dragobject.offsetLeft + new_slider_pos;
+}
+
+/* This function is called to stop dragging an object */
+function dragstop()
+{
+ dragobject = null;
+ dragging = false;
+}
+
+/* This function is called on mouse movement and moves an object (= slider div) on user action */
+function drag(e)
+{
+ posx = document.all ? window.event.clientX : e.pageX;
+ if(dragobject != null)
+ {
+ dragging = true;
+ new_posx = (posx - dragx) + conf_slider_width;
+
+ /* Make sure, that the slider is moved in proper relation to previous movements by the glideTo function */
+ if(new_posx < ( - new_slider_pos)) new_posx = - new_slider_pos;
+ if(new_posx > (scrollbar_width - new_slider_pos)) new_posx = scrollbar_width - new_slider_pos;
+
+ var slider_pos = (new_posx + new_slider_pos);
+ var step_width = slider_pos / ((scrollbar_width) / (max-1));
+ var image_number = Math.round(step_width);
+ var new_target = (image_number) * -xstep;
+ var new_caption_id = image_number;
+
+ dragobject.style.left = new_posx + 'px';
+ glideTo(new_target, new_caption_id);
+ }
+}
+
+/* Initialize mouse event listener */
+function initMouseDrag()
+{
+ document.onmousemove = drag;
+ document.onmouseup = dragstop;
+
+ /* Avoid text and image selection while dragging */
+ document.onselectstart = function ()
+ {
+ if (dragging == true)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+}
+
+function getKeyCode(event)
+{
+ event = event || window.event;
+ return event.keyCode;
+}
+
diff --git a/js/jquery-ui-1.7.3.custom.min.js b/js/jquery-ui-1.7.3.custom.min.js
new file mode 100644
index 00000000..d33ad5be
--- /dev/null
+++ b/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/js/jquery.parsequery.js b/js/jquery.parsequery.js
new file mode 100644
index 00000000..b54d8522
--- /dev/null
+++ b/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/js/pear.js b/js/pear.js
new file mode 100644
index 00000000..9cf66033
--- /dev/null
+++ b/js/pear.js
@@ -0,0 +1,476 @@
+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][1]);
+ }
+ updateHash();
+}
+
+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)
+{
+ currentImg=id;
+ $('imageTitleLabel').update(""+slideshowImages[id][4]+"
");
+ $('play_detail').hide();
+ $('pause_detail').hide();
+ swatchImg(id);
+ new Effect.Appear('detailView', { duration: 1.0 });
+ hideHoverV = setTimeout("hideHoverView()",3000);
+ //Image count.
+ detailViewMode=true;
+ updateHash();
+ new Ajax.Request(slideshowImages[currentImg][1], { method:'get' });
+}
+
+function startImageFlow()
+{
+ var objBody = $('gsContent');
+ $('ContentAlbum').hide();
+ if ( document.getElementById('pearImageFlow') ) {
+ objBody.removeChild( document.getElementById('pearImageFlow') );
+ }
+ var objSlide = new Element('div', {'id': 'pearImageFlow'});
+
+ objSlide.update('');
+ objBody.appendChild(objSlide);
+
+ toggleReflex(true);
+ for (var i = 0; i < slideshowImages.length; i++) {
+ $('images').insert(new Element('img', {'src': slideshowImages[i][0],'longdesc': 'javascript:focusImage(\''+i+'\');', 'alt': document.getElementById('mosaicGridContainer').getElementsByTagName('img')[i].getAttribute('alt')}));
+ }
+
+ 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.onkeydown = function(event)
+ {
+ var charCode = getKeyCode(event);
+ 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').fade();
+ hideHoverV = null;
+}
+var hideHoverV=null;
+var hovering=false;
+function switchMode(mode){
+ $('mosaic').className="viewSwitcher mosaic mosaic-with-viewSwitcher";
+ $('grid').className="viewSwitcher grid grid-with-viewSwitcher";
+ $('carousel').className="viewSwitcher carousel carousel-with-viewSwitcher";
+
+ switch(mode){
+ case 'grid':
+ $('grid').className="sel grid viewSwitcher grid-with-sel grid-with-viewSwitcher sel-with-viewSwitcher grid-with-sel-with-viewSwitcher";
+ break;
+ case 'mosaic':
+ $('mosaic').className="mosaic viewSwitcher sel mosaic-with-viewSwitcher sel-with-viewSwitcher mosaic-with-sel mosaic-with-sel-with-viewSwitcher";
+ break;
+ case 'carousel':
+ $('carousel').className="sel carousel viewSwitcher carousel-with-sel carousel-with-viewSwitcher sel-with-viewSwitcher carousel-with-sel-with-viewSeitcher";
+ break;
+ }
+}
+
+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/js/ui.init.js b/js/ui.init.js
new file mode 100644
index 00000000..2c67bf3a
--- /dev/null
+++ b/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/js/ui.support.js b/js/ui.support.js
deleted file mode 100644
index b2eab466..00000000
--- a/js/ui.support.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-* Grey Dragon Theme: JS support
-*/
-
-jQuery.fn.extend({
-
- scrollTo: function(a, b) { },
-
- myAjaxLoginSubmit: function() {
- $('form#g-login-form').one('submit', function() {
- $(this).ajaxSubmit({
- dataType: 'json',
- success: function(data) {
- if (data.result == 'error') {
- $('#g-login').html(data.form);
- $().myAjaxLoginSubmit();
- } else {
- // object
- alert(typeof(data));
- Shadowbox.close();
- window.location.reload();
- }
- }
- });
- return false;
- });
- },
-
- myAjaxSubmit: function() {
- $('form').one('submit', function() {
- try {
- $(this).ajaxSubmit({
- success: function(data) {
- // object
- // alert(typeof(data));
- if (data.result == 'error') {
- $('#sb-content form').html(data.form);
- $().myAjaxSubmit();
- } else {
- Shadowbox.close();
- if (data.reload) {
- window.location.reload();
- }
- }
- }
- });
- } catch (e) {
- window.location.reload();
- }
-
- return false;
- });
- },
-
- theme_ready: function() {
- try {
- if (typeof Shadowbox != 'undefined') {
- Shadowbox.setup("a.g-fullsize-link", {player: 'img'});
- Shadowbox.setup("a.g-sb-preview", {player: 'img', gallery: "preview", animate: true, continuous: true, counterType: "skip", animSequence: "wh", slideshowDelay: 7 });
- }
- } catch (e) { }
-
- // Initialize dialogs
- $(".g-dialog-link").gallery_dialog();
-
- // Initialize short forms
- $(".g-short-form").gallery_short_form();
-
- try {
- $(".g-message-block").fadeOut(10000);
- $(".g-ajax-link").gallery_ajax();
- } catch (e) { }
-
- $("#g-site-menu>ul>li>ul").show();
- $("#g-login-menu").show();
- $(".g-context-menu").show();
- }
-
-});
-
-function onMiniSlideShowReady() {
- $("#g-rootpage-link").css("background-image", "none");
-}
-
-$(document).ready(function() {
- $().theme_ready();
-});
diff --git a/libraries/MY_Theme_View.php b/libraries/MY_Theme_View.php
deleted file mode 100644
index 38cc7809..00000000
--- a/libraries/MY_Theme_View.php
+++ /dev/null
@@ -1,599 +0,0 @@
-
-
-class Theme_View extends Theme_View_Core {
-
- protected $photonav_position;
- protected $sidebarvisible;
- protected $sidebarallowed;
- protected $logopath;
- protected $favicon = "lib/images/favicon.ico";
- protected $appletouchicon;
- protected $album_descmode = "hide";
- protected $thumb_descmode_a = "overlay";
- protected $thumb_descmode = "overlay";
- protected $photo_descmode = "overlay_top";
- protected $thumb_topalign = FALSE;
- protected $thumb_metamode = "default";
- protected $is_blockheader_visible = TRUE;
- protected $is_photometa_visible = FALSE;
- protected $disable_seosupport = FALSE;
- protected $mainmenu_position = "bottom-left";
- protected $breadcrumbs_position = "bottom-right";
- protected $breadcrumbs_showinroot = FALSE;
- protected $copyright = null;
- protected $show_guest_menu = FALSE;
- protected $loginmenu_position = "footer";
- protected $desc_allowbbcode = FALSE;
- protected $enable_pagecache = FALSE;
- protected $flex_rows = FALSE;
- protected $photo_popupbox = "default";
- protected $custom_css_path = "";
- protected $thumb_inpage = FALSE;
- protected $thumb_random = FALSE;
- protected $blendpagetrans = FALSE;
- protected $row_count = 3;
- protected $column_count = 3;
-
- protected $crop_factor = -1;
- protected $crop_class = "";
- protected $_thumb_size_x = 200;
- protected $_thumb_size_y = 200;
- protected $allow_root_page = FALSE;
- protected $show_root_page = FALSE;
- protected $show_root_desc = TRUE;
- protected $root_feed = "gallery/latest";
- protected $root_delay = 15;
- protected $root_description;
-
- protected $colorpack = "greydragon";
- protected $framepack = "greydragon";
- protected $themename = "";
- protected $themeversion = "";
- protected $themecss = array();
-
- protected $is_rtl = FALSE;
-
- protected function ensurevalue($value, $default) {
- if ((!isset($value)) or ($value == "")):
- return $default;
- else:
- return $value;
- endif;
- }
-
- protected function ensureoptionsvalue($key, $default) {
- return ($this->ensurevalue(module::get_var("th_greydragon", $key), $default));
- }
-
- public function read_session_cmdparam($cmd, $cookie, $issession, $default) {
- try {
- $_var = $_GET[$cmd];
- } catch (Exception $e) {
- };
-
- if (isset($_var)):
- $_from_cmd = TRUE;
- if ($_var == "default"):
- $_var = $default;
- endif;
- else:
- $_from_cmd = FALSE;
- if ($cookie):
- try {
- $_var = $_COOKIE[$cookie];
- } catch (Exception $e) {
- };
- endif;
- endif;
-
- if (!isset($_var)):
- $_var = $default;
- endif;
-
- if ($issession):
- if ($_from_cmd):
- setcookie($cookie, $_var, 0);
- endif;
- else:
- setcookie($cookie, $_var, time() + 31536000);
- endif;
- return $_var;
- }
-
- public function load_sessioninfo() {
- // Sidebar position is kept for 360 days. Can be changed via url
- $this->sidebarvisible = $this->read_session_cmdparam("sb", "gd_sidebar_pos", FALSE, $this->ensureoptionsvalue("sidebar_visible", "right"));
- $this->colorpack = $this->read_session_cmdparam("colorpack", "gd_colorpack", TRUE, $this->ensureoptionsvalue("color_pack", "greydragon"));
- $this->framepack = $this->read_session_cmdparam("framepack", "", TRUE, $this->ensureoptionsvalue("frame_pack", "greydragon"));
- $this->is_rtl = $this->read_session_cmdparam("is_rtl", "gd_rtl", TRUE, "no") == "yes";
-
- if ($this->ensureoptionsvalue("allow_root_page", FALSE)):
- $_root = $this->read_session_cmdparam("root", "gd_rootpage", TRUE, "yes");
-
- $this->show_root_page = ($_root == "yes");
- $this->allow_root_page = TRUE;
-
- if ($this->show_root_page):
- $item = $this->item();
- if ((module::is_active("imageblockex") && module::info("imageblockex")) && ($item) && ($item->id == 1)):
- if (($this->sidebarvisible == "left") or ($this->sidebarvisible == "right")):
- $this->sidebarvisible = "bottom";
- endif;
- else:
- $this->show_root_page = FALSE;
- setcookie("gd_rootpage", "no", 0);
- endif;
-
- if ($this->ensureoptionsvalue("hide_root_sidebar", FALSE)):
- $this->sidebarallowed = "none";
- $this->sidebarvisible = "none";
- endif;
- endif;
- endif;
-
- $this->sidebarallowed = $this->ensureoptionsvalue("sidebar_allowed", "any");
- $this->sidebarvisible = $this->ensurevalue($this->sidebarvisible, "right");
-
- switch ($this->sidebarallowed):
- case "none":
- $this->sidebarvisible = $this->ensureoptionsvalue("sidebar_visible", "right");
- break;
- case "right":
- $this->sidebarvisible = "right";
- break;
- case "left":
- $this->sidebarvisible = "left";
- break;
- case "bottom":
- $this->sidebarvisible = "bottom";
- break;
- case "top":
- $this->sidebarvisible = "top";
- break;
- endswitch;
-
- if ($this->item()):
- if ($this->ensureoptionsvalue("sidebar_albumonly", FALSE)):
- if (!$this->item()->is_album()):
- $this->sidebarvisible = "none";
- $this->sidebarallowed = "none";
- endif;
- endif;
- endif;
-
- $this->row_count = $this->ensureoptionsvalue("row_count", 3);
- $this->column_count = $this->ensureoptionsvalue("column_count", 3);
- $this->logopath = $this->ensureoptionsvalue("logo_path", url::file("lib/images/logo.png"));
- $this->favicon = $this->ensurevalue(module::get_var("gallery", "favicon_url"), url::file("lib/images/favicon.ico"));
- $this->appletouchicon = module::get_var("gallery", "appletouchicon_url");
- $this->horizontal_crop = $this->ensureoptionsvalue("horizontal_crop", FALSE);
- $this->album_descmode = $this->ensureoptionsvalue("album_descmode", "hide");
- $this->thumb_descmode_a = $this->ensureoptionsvalue("thumb_descmode_a", "overlay");
- $this->thumb_descmode = $this->ensureoptionsvalue("thumb_descmode", "overlay");
- $this->photo_descmode = $this->ensureoptionsvalue("photo_descmode", "overlay_top");
-
- $this->thumb_random = $this->ensureoptionsvalue("thumb_random", FALSE);
- $this->thumb_topalign = $this->ensureoptionsvalue("thumb_topalign", FALSE);
- if (module::is_active("info")):
- $this->thumb_metamode = $this->ensureoptionsvalue("thumb_metamode", "default");
- $this->is_photometa_visible = (!$this->ensureoptionsvalue("hide_photometa", TRUE));
- else:
- $this->thumb_metamode = "hide";
- $this->is_photometa_visible = FALSE;
- endif;
- $this->disable_seosupport = $this->ensureoptionsvalue("disable_seosupport", FALSE);
- $this->is_blockheader_visible = (!$this->ensureoptionsvalue("hide_blockheader", FALSE));
-
- $this->mainmenu_position = $this->ensureoptionsvalue("mainmenu_position", "default");
- $this->show_guest_menu = $this->ensureoptionsvalue("show_guest_menu", FALSE);
- $this->breadcrumbs_position = $this->ensureoptionsvalue("breadcrumbs_position", "default");
- $this->breadcrumbs_showinroot = $this->ensureoptionsvalue("breadcrumbs_showinroot", FALSE);
-
- $this->loginmenu_position = $this->ensureoptionsvalue("loginmenu_position", "default");
- $this->copyright = $this->ensureoptionsvalue("copyright", null);
- $this->photonav_position = $this->ensureoptionsvalue("photonav_position", "top");
- $this->desc_allowbbcode = $this->ensureoptionsvalue("desc_allowbbcode", FALSE);
- $this->enable_pagecache = $this->ensureoptionsvalue("enable_pagecache", FALSE);
- $this->flex_rows = $this->ensureoptionsvalue("flex_rows", FALSE);
- $this->show_root_desc = !$this->ensureoptionsvalue("hide_root_desc", FALSE);
- $this->root_feed = $this->ensureoptionsvalue("root_feed", "gallery/latest");
- $this->root_delay = $this->ensureoptionsvalue("root_delay", "15");
- $this->root_description = module::get_var("th_greydragon", "root_description");
- if (((module::is_active("shadowbox")) and (module::info("shadowbox")))
- or ((module::is_active("fancybox")) and (module::info("fancybox")))
- or ((module::is_active("colorbox")) and (module::info("colorbox")))
- ):
- $this->photo_popupbox = $this->ensureoptionsvalue("photo_popupbox", "default");
- else:
- $this->photo_popupbox = "none";
- endif;
-
- try {
- $theme_info = new ArrayObject(parse_ini_file(THEMEPATH . "greydragon/theme.info"), ArrayObject::ARRAY_AS_PROPS);
- $this->themename = $theme_info->name;
- $this->themeversion = $theme_info->version;
- } catch (Exception $e) {
- $this->themename = "Grey Dragon Theme";
- $this->themeversion = "2.7.+";
- }
-
- $this->custom_css_path = $this->ensureoptionsvalue("custom_css_path", "");
-
- switch (module::get_var("th_greydragon", "thumb_ratio")):
- /* case "square":
- $this->crop_factor = 1;
- $this->thumb_type = 'g-thumbtype-sqr';
- break;
- */
- case "digital":
- $this->crop_factor = 4/3;
- $this->thumb_type = 'g-thumbtype-dgt';
- break;
- case "digital_ex":
- $this->crop_factor = 4/3;
- $this->thumb_type = 'g-thumbtype-dgt g-extended';
- $this->_thumb_size_x = 300;
- break;
- case "film":
- $this->crop_factor = 3/2;
- $this->thumb_type = 'g-thumbtype-flm';
- break;
- case "film_ex":
- $this->crop_factor = 3/2;
- $this->thumb_type = 'g-thumbtype-flm g-extended';
- $this->_thumb_size_x = 300;
- break;
- case "wide":
- $this->crop_factor = 16/9;
- $this->thumb_type = 'g-thumbtype-wd';
- break;
- case "wide_ex":
- $this->crop_factor = 16/9;
- $this->thumb_type = 'g-thumbtype-wd g-extended';
- $this->_thumb_size_x = 300;
- break;
- case "photo_ex":
- $this->crop_factor = 1;
- $this->thumb_type = 'g-thumbtype-sqr g-extended';
- $this->_thumb_size_x = 300;
- break;
- case "photo":
- default:
- $this->crop_factor = 1;
- $this->thumb_type = 'g-thumbtype-sqr';
- break;
- endswitch;
-
- $this->_thumb_size_y = intval($this->_thumb_size_x / $this->crop_factor);
-
- if (($this->sidebarvisible == "none") or ($this->sidebarvisible == "bottom") or ($this->sidebarvisible == "top") ):
- $this->thumb_inpage = $this->ensureoptionsvalue("thumb_inpage", FALSE);
- endif;
- $this->blendpagetrans = $this->ensureoptionsvalue("blendpagetrans", FALSE);
- }
-
- public function is_sidebarallowed($align) {
- return (($this->sidebarallowed == "any") or ($this->sidebarallowed == $align));
- }
-
- public function custom_header() {
- if (Kohana::find_file('views', "header.html", FALSE)):
- return new View("header.html");
- endif;
- }
-
- public function custom_footer() {
- if (Kohana::find_file('views', "footer.html", FALSE)):
- return new View("footer.html");
- endif;
- }
-
- public function breadcrumb_menu($theme, $parents) {
- $content = "";
- if ($this->breadcrumbs_position == "hide"):
- elseif ($this->item() and (!empty($parents) or (empty($parents) and $this->breadcrumbs_showinroot))):
- $limit_title_length = module::get_var("gallery", "visible_title_length", 999);
-
- $content .= '';
- endif;
-
- return $content;
- }
-
- protected function sidebar_menu_item($type, $url, $caption, $css) {
- if (!$this->is_sidebarallowed($type)):
- return "";
- endif;
-
- $iscurrent = ($this->sidebarvisible == $type);
- $content_menu = '';
- if (!$iscurrent):
- $content_menu .= '';
- endif;
- $content_menu .= '';
- if (!$iscurrent):
- $content_menu .= '';
- endif;
-
- return $content_menu . '';
- }
-
- public function sidebar_menu($url) {
- if ($this->sidebarallowed != "any"):
- return "";
- endif;
- if ($this->page_subtype == "profile"):
- return "";
- endif;
-
- $content_menu = $this->sidebar_menu_item("left", $url, t("Sidebar Left"), "left");
- $content_menu .= $this->sidebar_menu_item("top", $url, t("Sidebar Top"), "top");
- $content_menu .= $this->sidebar_menu_item("none", $url, t("No Sidebar"), "full");
- $content_menu .= $this->sidebar_menu_item("bottom", $url, t("Sidebar Bottom"), "bottom");
- $content_menu .= $this->sidebar_menu_item("right", $url, t("Sidebar Right"), "right");
- return '';
- }
-
- public function add_paginator($position) {
- if (($this->photonav_position == "both") or ($this->photonav_position == $position)):
- return ($this->paginator());
- else:
- return "";
- endif;
- }
-
- public function get_grid_column_class() {
- switch ($this->column_count):
- case 5:
- return "g-column-5";
- break;
- case 4:
- return "g-column-4";
- break;
- case 2:
- return "g-column-2";
- break;
- case -1:
- return "g-column-flex";
- break;
- case 3:
- default:
- return "g-column-3";
- break;
- endswitch;
- }
-
- public function get_thumb_element($item, $addcontext = FALSE) {
- $thumb_item = $item;
- if ($this->thumb_random):
- if ($item->is_album() && ($rnd = item::random_query()->where("parent_id", "=", $item->id)->find()) && $rnd->loaded()):
- $thumb_item = $rnd;
- endif;
- endif;
-
- $is_portrait = ($thumb_item->thumb_height > $thumb_item->thumb_width);
-
- $item_class = $item->is_album() ? "g-album" : "g-photo";
- $content = 'thumb_top($item);
-
- if ($this->thumb_topalign):
- $_shift = "";
- else:
- if (($this->crop_factor == 1) and (!$is_portrait)):
- $_shift = 'style="margin-top: ' . intval(($this->_thumb_size_y - $thumb_item->thumb_height) / 2) . 'px;"';
- else:
- if (($this->crop_factor > 0) and ($is_portrait)):
- $_shift = 'style="margin-top: -' . intval(($thumb_item->thumb_height - $this->_thumb_size_y) / 2) . 'px;"';
- else:
- $_shift = "";
- endif;
- endif;
- endif;
-
- // $ss = 'z-index: 22; opacity: 1; -ms-transform: rotate(' . (-15 + rand(0, 31)) . 'deg);'; style="' . $ss . '"
-
- $content .= '';
- $content .= '';
- if ($thumb_item->has_thumb()):
- $content .= $thumb_item->thumb_img();
- else:
- $content .= '';
- endif;
- $content .= '
';
-
- if (($this->thumb_metamode != "hide") and ($_thumb_descmode == "overlay_bottom")):
- $_thumb_metamode = "merged";
- else:
- $_thumb_metamode = $this->thumb_metamode;
- endif;
-
- if (($_thumb_descmode == "overlay") or ($_thumb_descmode == "overlay_top") or ($_thumb_descmode == "overlay_bottom")):
- $content .= '
bb2html(html::purify($item->title), 2) . '';
- if ($_thumb_metamode == "merged"):
- $content .= $this->thumb_info($item);
- endif;
- $content .= '
';
- endif;
-
- if (($_thumb_metamode == "default") and ($_thumb_descmode != "overlay_bottom")):
- $content .= '
';
- endif;
-
- if ($_thumb_descmode == "bottom"):
- $content .= '
';
- $content .= '- ' . $this->bb2html(html::purify($item->title), 2) . '
';
- if ($_thumb_metamode == "merged"):
- $content .= $this->thumb_info($item);
- endif;
- $content .= '
';
- endif;
-
- if ($addcontext):
- $_text = $this->context_menu($item, "#g-item-id-{$item->id} .g-thumbnail");
- $content .= (stripos($_text, '
'))? $_text : null;
- endif;
-
- $content .= ' ';
- $content .= $this->thumb_bottom($item);
- $content .= '';
-
- return $content;
- }
-
- public function get_block_html($module) {
- $active = block_manager::get_active("site_sidebar");
- $result = "";
- foreach ($active as $id => $desc) {
- if (($desc[0] == $module) and (method_exists("$desc[0]_block", "get"))) {
- $block = call_user_func(array("$desc[0]_block", "get"), $desc[1], $this);
- if (!empty($block)) {
- $block->id = $id;
- $block->css_id = $block->css_id . "-inline";
- $result .= $block;
- }
- }
- }
- return $result;
- }
-
- public function css_link($file, $direct = FALSE) {
- if (!$direct):
- $file = $this->url("css/" . $file);
- endif;
- return "\n\n";
- }
-
- public function theme_css_inject() {
- return $this->css("screen.css");
- }
-
- public function credits() {
- if (module::get_var("gallery", "show_credits")):
- $version_string = SafeString::of_safe_html('Gallery ' . gallery::VERSION);
- return ''
- . '- '
- . '
'
- . gallery_theme::credits()
- . '
';
- else:
- return '';
- endif;
- }
-
- // $mode: bit 1 - use mix mode ($mode in [1, 3]), bit 2 - strips bbcode ($mode in [2, 3])
- public function bb2html($text, $mode) {
- // Syntax Sample:
- // --------------
- // [img]http://elouai.com/images/star.gif[/img]
- // [url="http://elouai.com"]eLouai[/url]
- // [size="25"]HUGE[/size]
- // [color="red"]RED[/color]
- // [b]bold[/b]
- // [i]italic[/i]
- // [u]underline[/u]
- // [list][*]item[*]item[*]item[/list]
- // [code]value="123";[/code]
- // [quote]John said yadda yadda yadda[/quote]
-
- static $bbcode_mappings = array(
- "#\\[b\\](.*?)\\[/b\\]#" => "$1",
- "#\\[i\\](.*?)\\[/i\\]#" => "$1",
- "#\\[u\\](.*?)\\[/u\\]#" => "$1",
- "#\\[s\\](.*?)\\[/s\\]#" => "$1",
- "#\\[o\\](.*?)\\[/o\\]#" => "$1",
- "#\\[url\\](.*?)\[/url\\]#" => "$1",
- "#\\[url=(.*?)\\](.*?)\[/url\\]#" => "$2",
- "#\\[mail=(.*?)\\](.*?)\[/mail\\]#" => "$2",
- "#\\[img\\](.*?)\\[/img\\]#" => "",
- "#\\[img=(.*?)\\](.*?)\[/img\\]#" => "",
- "#\\[quote\\](.*?)\\[/quote\\]#" => "$1
",
- "#\\[code\\](.*?)\\[/code\\]#" => "$1
",
- "#\\[size=([^\\[]*)\\]([^\\[]*)\\[/size\\]#" => "$2",
- "#\\[color=([^\\[]*)\\]([^\\[]*)\\[/color\\]#" => "$2",
- "#\\[class=([^\\[]*)\\]([^\\[]*)\\[/class\\]#" => "$2",
- "#\\[center\\](.*?)\\[/center\\]#" => "$1
",
- "#\\[list\\](.*?)\\[/list\\]#" => "",
- "#\\[ul\\](.*?)\\[/ul\\]#" => "",
- "#\\[li\\](.*?)\\[/li\\]#" => "$1",
- );
-
- static $bbcode_strip = '|[[\/\!]*?[^\[\]]*?]|si';
-
- // Replace any html brackets with HTML Entities to prevent executing HTML or script
- // Don't use strip_tags here because it breaks [url] search by replacing & with amp
- if (($mode == 1) or ($mode == 3)):
- $newtext = str_replace("<", "<", $text);
- $newtext = str_replace(">", ">", $newtext);
- $newtext = str_replace(""", "\"", $newtext);
- else:
- $newtext = str_replace("<", "<", $text);
- $newtext = str_replace(">", ">", $newtext);
- $newtext = str_replace(""", """, $newtext);
- endif;
-
- // Convert new line chars to html
tags
- $newtext = nl2br($newtext);
-
- if (strpos($text, "[") !== false):
- if (($mode == 2) or ($mode == 3)):
- $newtext = preg_replace($bbcode_strip, '', $newtext);
- else:
- $newtext = preg_replace(array_keys($bbcode_mappings), array_values($bbcode_mappings), $newtext);
- endif;
- endif;
-
- return stripslashes($newtext); //stops slashing, useful when pulling from db
- }
-
-}
-
-?>
\ No newline at end of file
diff --git a/theme.info b/theme.info
index ac3b3cc2..a4393d0c 100644
--- a/theme.info
+++ b/theme.info
@@ -1,9 +1,6 @@
-name = ".Pear"
-description = "Gallery4 theme that mimics the looks of gallery.mac.com"
-version = 0.0.1
-author = "2011 Fredrik Erlandsson"
-site = 1
-admin = 0
-support = "http://gallery.menalto.com/node/"
-download = "https://github.com/fredrike/pear4gallery3/zipball/master";
-vote = "http://gallery.menalto.com/gallery/g3demosites/";
+name = ".Pear"
+description = "A theme with the intention to mimic Apples mobile me gallery."
+version = 1
+author = "Fredrik Erlandsson "
+site = 1
+admin = 0
diff --git a/thumbnail.png b/thumbnail.png
old mode 100644
new mode 100755
index 4b80ecaf..2c9ee43d
Binary files a/thumbnail.png and b/thumbnail.png differ
diff --git a/views/album.html.php b/views/album.html.php
index cb1a15d1..59e0837a 100644
--- a/views/album.html.php
+++ b/views/album.html.php
@@ -1,53 +1,79 @@
-
-
-
-= $theme->add_paginator("top"); ?>
-
- if (($theme->album_descmode == "top") and ($item->description)): ?>
- = $theme->bb2html(html::purify($item->description), 1) ?>
- endif; ?>
-
-
-
- if (count($children)): ?>
- foreach ($children as $i => $child): ?>
- = $theme->get_thumb_element($child, TRUE) ?>
- 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() ?>
-
- if (($theme->album_descmode == "bottom") and ($item->description)): ?>
- = $theme->bb2html(html::purify($item->description), 1) ?>
- endif; ?>
-
-= $theme->add_paginator("bottom"); ?>
+
+ /* 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/count($granchildren));
+ foreach ($granchildren as $i => $granchild):?>
+ if ($child->has_thumb()): ?>
+ = $granchild->thumb_img(array("style" => "display: none;")) ?>
+
+ endif ?>
+ $offset+=$step;
+endforeach;
+endif;
+// End skimming // ?>
+ = $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/views/block.html.php b/views/block.html.php
index ea7ce07a..699d7c22 100644
--- a/views/block.html.php
+++ b/views/block.html.php
@@ -1,29 +1,10 @@
-
- if ($anchor): ?>
-
- endif ?>
-
- if (isset($theme) and ($theme->is_blockheader_visible)): ?>
-
= $title ?>
- endif ?>
-
- = $content ?>
-
-
+
+ if ($anchor): ?>
+
+ endif ?>
+
+
= $title ?>
+
+ = $content ?>
+
+
diff --git a/views/calpage.html.php b/views/calpage.html.php
deleted file mode 100644
index 5c666dd7..00000000
--- a/views/calpage.html.php
+++ /dev/null
@@ -1,264 +0,0 @@
-
-
- $theme->load_sessioninfo(); ?>
-
-html_attributes() ?> xml:lang="en" lang="en" = ($theme->is_rtl)? "dir=rtl" : null; ?> >
-
- $item = $theme->item();
- if (($theme->enable_pagecache) and (isset($item))):
- // Page will expire in 60 seconds
- header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60).'GMT');
- header("Cache-Control: public");
- header("Cache-Control: post-check=3600, pre-check=43200", false);
- header("Content-Type: text/html; charset=UTF-8");
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- endif;
-?>
-
-
-
- $theme->start_combining("script,css") ?>
- if ($page_title): ?>
- $_title = $page_title ?>
- else: ?>
- if ($theme->item()): ?>
- $_title = $theme->bb2html($theme->item()->title, 2); ?>
- elseif ($theme->tag()): ?>
- $_title = t("Photos tagged with %tag_title", array("tag_title" => $theme->bb2html($theme->tag()->name, 2))) ?>
- else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
- $_title = $theme->bb2html(item::root()->title, 2); ?>
- endif ?>
- endif ?>
-= $_title ?>
- if ($theme->disable_seosupport): ?>
-
-
-
-
-
- endif; ?>
- if ($theme->blendpagetrans): ?>
-
-
- endif; ?>
-
-
- = $_title; ?>" />
-
- if ($theme->allow_root_page): ?>
-: = t("Root Page") ?>; action-uri== item::root()->url(); ?>?root=yes; icon-uri=favicon.ico" />
-: = t("Root Album") ?>; action-uri== item::root()->url(); ?>?root=no; icon-uri=favicon.ico" />
- else: ?>
-: = t("Root Album") ?>; action-uri== item::root()->url(); ?>; icon-uri=favicon.ico" />
- endif; ?>
- if (identity::active_user()->admin): ?>
-
-: = t("Dashboard") ?>; action-uri== url::site("admin"); ?>; icon-uri=favicon.ico" />
- endif; ?>
-
-
-
- if ($theme->appletouchicon): ?>
-
- endif; ?>
-= $theme->script("json2-min.js") ?>
-= $theme->script("jquery.js") ?>
-= $theme->script("jquery.form.js") ?>
-= $theme->script("jquery-ui.js") ?>
-= $theme->script("gallery.common.js") ?>
- /* MSG_CANCEL is required by gallery.dialog.js */ ?>
-
-= $theme->script("gallery.ajax.js"); ?>
-= $theme->script("gallery.dialog.js"); ?>
-
- /* These are page specific but they get combined */ ?>
- if ($theme->page_subtype == "photo"): ?>
-= $theme->script("jquery.scrollTo.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.support.js"); ?>
-= $theme->theme_css_inject(); ?>
-
-
-= $theme->get_combined("css"); ?>
-
-= $theme->css_link("colorpacks/" . $theme->colorpack . "/colors.css", FALSE); ?>
-= $theme->css_link("framepacks/" . $theme->framepack . "/frame.css", FALSE); ?>
- if ($theme->custom_css_path != ""): ?>
-= $theme->css_link($theme->custom_css_path, TRUE); ?>
- endif; ?>
-
-= $theme->get_combined("script") ?>
-
-
- if ($theme->thumb_inpage): ?>
-
- endif; ?>
-
- if ($theme->item()): ?>
- $item = $theme->item(); ?>
- else: ?>
- $item = item::root(); ?>
- endif; ?>
-body_attributes() ?>= ($theme->show_root_page)? ' id="g-rootpage"' : null; ?> = ($theme->is_rtl)? "class=\"rtl\"" : null; ?> >
-= $theme->page_top() ?>
-= $theme->site_status() ?>
- if (((!$user->guest) or ($theme->show_guest_menu)) and ($theme->mainmenu_position == "bar")): ?>
-
-
- = $theme->site_menu($theme->item() ? "#g-item-id-{$theme->item()->id}" : "") ?>
-
- endif ?>
-
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "top")): ?>
-
- = new View("sidebar.html") ?>
-
- endif; ?>
-
-
- if (!$theme->show_root_page): ?>
- = $theme->sidebar_menu($item->url()) ?>
-
- endif; ?>
- switch ($theme->sidebarvisible):
- case "left":
- echo '
';
- $closediv = TRUE;
- break;
- case "none":
- case "top":
- case "bottom":
- if (($theme->thumb_inpage) and ($page_subtype == "photo")):
- echo '
';
- $closediv = TRUE;
- else:
- $closediv = FALSE;
- endif;
- break;
- default:
- echo '
';
- $closediv = TRUE;
- break;
- endswitch; ?>
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate")): ?>
- if (($theme->sidebarvisible == "none") or ($theme->sidebarvisible == "bottom") or ($theme->sidebarvisible == "top")): ?>
- if (($theme->thumb_inpage) and ($page_subtype == "photo")): ?>
-= '
'; ?>
-= $theme->get_block_html("thumbnav"); ?>
- endif; ?>
- else: ?>
-= new View("sidebar.html") ?>
- endif; ?>
- endif ?>
-= ($closediv)? "
" : null; ?>
-
- switch ($theme->sidebarvisible):
- case "left":
- echo '
';
- break;
- case "none":
- case "top":
- case "bottom":
- if (($theme->thumb_inpage) and ($page_subtype == "photo")):
- echo '
';
- else:
- echo '
';
- endif;
- break;
- default:
- echo '
';
- break;
- endswitch;
-
- if ($theme->show_root_page):
- echo new View("rootpage.html");
- else:
- echo $content;
- endif; ?>
-
-
-
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "bottom")): ?>
-
- = new View("sidebar.html") ?>
-
- endif; ?>
-
-= $theme->page_bottom() ?>
-
-
diff --git a/views/dynamic.html.php b/views/dynamic.html.php
index ed367682..a8a4d362 100644
--- a/views/dynamic.html.php
+++ b/views/dynamic.html.php
@@ -1,38 +1,29 @@
-
- if (!isset($title)):
- $title = "";
- endif;
-?>
-
-= $theme->add_paginator("top"); ?>
-
-
- foreach ($children as $i => $child): ?>
- = $theme->get_thumb_element($child) ?>
- endforeach ?>
-
-
-= $theme->dynamic_bottom() ?>
-= $theme->add_paginator("bottom"); ?>
+
+
+
+
+ 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/views/exif_sidebar.html.php b/views/exif_sidebar.html.php
deleted file mode 100644
index 50a81d7b..00000000
--- a/views/exif_sidebar.html.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/views/info_block.html.php b/views/info_block.html.php
deleted file mode 100644
index 8e7381f0..00000000
--- a/views/info_block.html.php
+++ /dev/null
@@ -1,29 +0,0 @@
-
- if (array_key_exists("description", $metadata)): ?>
- $metadata["description"]["value"] = $theme->bb2html($metadata["description"]["value"], 1) ?>
- endif; ?>
-
-
diff --git a/views/movie.html.php b/views/movie.html.php
index b9f6bcfd..158857db 100644
--- a/views/movie.html.php
+++ b/views/movie.html.php
@@ -1,39 +1,19 @@
-
-
- = $theme->photo_top() ?>
-
-
-
= $theme->bb2html(html::purify($item->title), 1) ?>
-
= $theme->bb2html(html::purify($item->description), 1) ?>
-
-
- = $theme->add_paginator("top"); ?>
-
-
- = $theme->resize_top($item) ?>
- = $item->movie_img(array("class" => "g-movie", "id" => "g-movie-id-{$item->id}")); ?>
- // = $theme->context_menu($item, "#g-movie-id-{$item->id}") ?>
- = $theme->resize_bottom($item) ?>
-
-
- = $theme->add_paginator("bottom"); ?>
-
- = $theme->photo_bottom() ?>
-
+
+
+ = $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/views/no_sidebar.html.php b/views/no_sidebar.html.php
index ab0146c6..58c57256 100644
--- a/views/no_sidebar.html.php
+++ b/views/no_sidebar.html.php
@@ -1,19 +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/views/page.html.php b/views/page.html.php
index d6740ad6..66a48181 100644
--- a/views/page.html.php
+++ b/views/page.html.php
@@ -1,268 +1,161 @@
-
+
- $theme->load_sessioninfo(); ?>
-
-html_attributes() ?> xml:lang="en" lang="en" = ($theme->is_rtl)? "dir=rtl" : null; ?> >
-
- $item = $theme->item();
- if (($theme->enable_pagecache) and (isset($item))):
- // Page will expire in 60 seconds
- header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 60).'GMT');
- header("Cache-Control: public");
- header("Cache-Control: post-check=3600, pre-check=43200", false);
- header("Content-Type: text/html; charset=UTF-8");
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
- endif;
-?>
-
-
-
- $theme->start_combining("script,css") ?>
- if ($page_title): ?>
- $_title = $page_title ?>
- else: ?>
- if ($theme->item()): ?>
- $_title = $theme->bb2html($theme->item()->title, 2); ?>
- elseif ($theme->tag()): ?>
- $_title = t("Photos tagged with %tag_title", array("tag_title" => $theme->bb2html($theme->tag()->name, 2))) ?>
- else: /* Not an item, not a tag, no page_title specified. Help! */ ?>
- $_title = $theme->bb2html(item::root()->title, 2); ?>
- endif ?>
- endif ?>
-
= $_title ?>
- if ($theme->disable_seosupport): ?>
-
-
-
-
-
- endif; ?>
- if ($theme->blendpagetrans): ?>
-
-
- endif; ?>
-
-
-
= $_title; ?>" />
-
- if ($theme->allow_root_page): ?>
-
: = t("Root Page") ?>; action-uri== item::root()->url(); ?>?root=yes; icon-uri=favicon.ico" />
-
: = t("Root Album") ?>; action-uri== item::root()->url(); ?>?root=no; icon-uri=favicon.ico" />
- else: ?>
-
: = t("Root Album") ?>; action-uri== item::root()->url(); ?>; icon-uri=favicon.ico" />
- endif; ?>
- if (identity::active_user()->admin): ?>
-
-
: = t("Dashboard") ?>; action-uri== url::site("admin"); ?>; icon-uri=favicon.ico" />
- endif; ?>
-
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+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->appletouchicon): ?>
-
- endif; ?>
-= $theme->script("json2-min.js") ?>
-= $theme->script("jquery.js") ?>
-= $theme->script("jquery.form.js") ?>
-= $theme->script("jquery-ui.js") ?>
-= $theme->script("gallery.common.js") ?>
- /* MSG_CANCEL is required by gallery.dialog.js */ ?>
-
-= $theme->script("gallery.ajax.js"); ?>
-= $theme->script("gallery.dialog.js"); ?>
+ if ($theme->page_type == "collection"): ?>
+ if ($thumb_proportion != 1): ?>
+ $new_width = round($thumb_proportion * 213) ?>
+ $new_height = round($thumb_proportion * 240) ?>
+
+ endif ?>
+ endif ?>
- /* These are page specific but they get combined */ ?>
- if ($theme->page_subtype == "photo"): ?>
-= $theme->script("jquery.scrollTo.js"); ?>
- elseif ($theme->page_subtype == "movie"): ?>
-= $theme->script("flowplayer.js") ?>
- endif ?>
+ = $theme->script("json2-min.js") ?>
+ = $theme->script("jquery.js") ?>
+ = $theme->script("jquery.form.js") ?>
+ = $theme->script("jquery-ui.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") ?>
-= $theme->head() ?>
+ /* 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 specific CSS/JS goes last so that it can override module CSS/JS */ ?>
-= $theme->script("animation.js"); ?>
-= $theme->script("ui.support.js"); ?>
+ = $theme->head() ?>
-= $theme->theme_css_inject(); ?>
+ /* Theme specific CSS/JS goes last so that it can override module CSS/JS */ ?>
+ = $theme->script("ui.init.js") ?>
+ = $theme->script("jquery-ui-1.7.3.custom.min.js") ?>
+ = $theme->script("jquery.parsequery.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->get_combined("css"); ?>
+
+ = $theme->get_combined("script") ?>
-= $theme->css_link("colorpacks/" . $theme->colorpack . "/colors.css", FALSE); ?>
-= $theme->css_link("framepacks/" . $theme->framepack . "/frame.css", FALSE); ?>
- if ($theme->custom_css_path != ""): ?>
-= $theme->css_link($theme->custom_css_path, TRUE); ?>
- endif; ?>
-
-= $theme->get_combined("script") ?>
+
+ = $theme->get_combined("css") ?>
+
" media="screen,print,projection" />
+
" media="screen,print,projection" />
+
-= $theme->messages() ?>
-= $theme->header_bottom() ?>
-
- if ($theme->loginmenu_position == "header"): ?>
-= $theme->user_menu() ?>
- endif ?>
- if (empty($parents)): ?>
-= $theme->breadcrumb_menu($theme, null); ?>
- else: ?>
-= $theme->breadcrumb_menu($theme, $parents); ?>
- endif; ?>
-= $theme->custom_header(); ?>
+ = $theme->header_bottom() ?>
+
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "top")): ?>
-
- = new View("sidebar.html") ?>
-
- endif; ?>
-
-
- if (!$theme->show_root_page): ?>
- = $theme->sidebar_menu($item->url()) ?>
-
- endif; ?>
- switch ($theme->sidebarvisible):
- case "left":
- echo '
';
- $closediv = TRUE;
- break;
- case "none":
- case "top":
- case "bottom":
- if (($theme->thumb_inpage) and ($page_subtype == "photo")):
- echo '
';
- $closediv = TRUE;
- else:
- $closediv = FALSE;
- endif;
- break;
- default:
- echo '
';
- $closediv = TRUE;
- break;
- endswitch; ?>
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate")): ?>
- if (($theme->sidebarvisible == "none") or ($theme->sidebarvisible == "bottom") or ($theme->sidebarvisible == "top")): ?>
- if (($theme->thumb_inpage) and ($page_subtype == "photo")): ?>
-= '
'; ?>
-= $theme->get_block_html("thumbnav"); ?>
- endif; ?>
- else: ?>
-= new View("sidebar.html") ?>
- endif; ?>
- endif ?>
-= ($closediv)? "
" : null; ?>
- switch ($theme->sidebarvisible):
- case "left":
- echo '
';
- break;
- case "none":
- case "top":
- case "bottom":
- if (($theme->thumb_inpage) and ($page_subtype == "photo")):
- echo '
';
- else:
- echo '
';
- endif;
- break;
- default:
- echo '
';
- break;
- endswitch;
+
+
+ if ($theme->item() && !empty($parents)): ?>
+ $parent = end($parents) ?>
+
+ endif ?>
+
+
= html::purify(text::limit_chars($theme->item()->title, module::get_var("gallery", "visible_title_length"))) ?>
+ (//$theme->item()->children;?>)
+
+
+
- if ($theme->show_root_page):
- echo new View("rootpage.html");
- else:
- echo $content;
- endif; ?>
-
-
+= $content ?>
+
+
- if (($theme->page_subtype != "login") and ($theme->page_subtype != "reauthenticate") and ($theme->sidebarvisible == "bottom")): ?>
-
- = new View("sidebar.html") ?>
-
- endif; ?>
-
-= $theme->page_bottom() ?>
-
+
+
diff --git a/views/paginator.html.php b/views/paginator.html.php
index 5ec396aa..5034c965 100644
--- a/views/paginator.html.php
+++ b/views/paginator.html.php
@@ -1,21 +1,4 @@
-
+
// 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
@@ -43,146 +26,62 @@
//
?>
-
- $_pagelist = array();
-
- switch ($page_type) {
- case "collection":
- if (isset($item)):
- $parent = $item->parent();
- endif;
- $current_page = $page;
- $total_pages = $max_pages;
- // Prepare page url list
- for ($i = 1; $i <= $total_pages; $i++):
- $_pagelist[$i] = url::site(url::merge(array("page" => $i)));
- endfor;
- break;
- case "item":
- if (isset($item)):
- $parent = $item->parent();
- endif;
- $current_page = $position;
- $total_pages = $total;
- if (isset($parent)):
- $siblings = $parent->children();
- for ($i = 1; $i <= $total; $i++):
- $_pagelist[$i] = $siblings[$i-1]->url();
- endfor;
- endif;
- break;
- default:
- $current_page = 1;
- $total_pages = 1;
- $_pagelist[1] = url::site();
- break;
- }
-
- if ($total_pages <= 1):
- $pagination_msg = " ";
- else:
- $pagination_msg = t("Page:") . ' ';
- if ($total_pages < 13):
- for ($i = 1; $i <= $total_pages; $i++):
- if ($i == $current_page):
- $pagination_msg .= '
' . t($i) . '';
- else:
- $pagination_msg .= '
' . t($i) . '';
- endif;
- if ($i < $total_pages):
- $pagination_msg .= '·';
- endif;
- endfor;
- elseif ($current_page < 9):
- for ($i = 1; $i <= 10; $i++):
- if ($i == $current_page):
- $pagination_msg .= '
' . t($i) . '';
- else:
- $pagination_msg .= '
' . t($i) . '';
- endif;
- if ($i < 10):
- $pagination_msg .= '·';
- endif;
- endfor;
-
- $pagination_msg .= '…';
- $pagination_msg .= '
' . t($total_pages - 1) . '';
- $pagination_msg .= '·';
- $pagination_msg .= '
' . t($total_pages) . '';
-
- elseif ($current_page > $total_pages - 8):
- $pagination_msg .= '
' . t(1) . '';
- $pagination_msg .= '·';
- $pagination_msg .= '
' . t(2) . '';
- $pagination_msg .= '…';
-
- for ($i = $total_pages - 9; $i <= $total_pages; $i++):
- if ($i == $current_page):
- $pagination_msg .= '
' . t($i) . '';
- else:
- $pagination_msg .= '
' . t($i) . '';
- endif;
- if ($i < $total_pages):
- $pagination_msg .= '·';
- endif;
- endfor;
-
- else:
- $pagination_msg .= '
' . t(1) . '';
- $pagination_msg .= '·';
- $pagination_msg .= '
' . t(2) . '';
- $pagination_msg .= '…';
-
- for ($i = $current_page - 5; $i <= $current_page + 5; $i++):
- if ($i == $current_page):
- $pagination_msg .= '
' . t($i) . '';
- else:
- $pagination_msg .= '
' . t($i) . '';
- endif;
- if ($i < $current_page + 5):
- $pagination_msg .= '·';
- endif;
- endfor;
-
- $pagination_msg .= '…';
- $pagination_msg .= '
' . t($total_pages - 1) . '';
- $pagination_msg .= '·';
- $pagination_msg .= '
' . t($total_pages) . '';
- endif;
- endif;
-?>
-
-
-
- -
- if ($current_page > 1): ?>
- " id="g-navi-first" href="= $_pagelist[1] ?>">
- else: ?>
-
+
\ No newline at end of file
+
+
-
+ 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 (isset($next_page_url)): ?>
+
+ = t("Next") ?>
+ else: ?>
+
+ = t("Next") ?>
+ endif ?>
+
+ if ($page_type == "collection"): ?>
+ if (isset($last_page_url)): ?>
+
+ = t("Last") ?>
+ else: ?>
+
+ = t("Last") ?>
+ endif ?>
+ endif ?>
+
+
diff --git a/views/photo.html.php b/views/photo.html.php
index e2c96b01..b42ab987 100644
--- a/views/photo.html.php
+++ b/views/photo.html.php
@@ -1,112 +1,51 @@
-
-
- if ($theme->desc_allowbbcode):
- $_description = $theme->bb2html($item->description, 1);
- else:
- $_description = nl2br(html::purify($item->description));
- endif;
-
- if ($theme->is_photometa_visible):
- $_description .= '
';
- endif;
-
- switch ($theme->photo_popupbox):
- case "preview":
- $include_list = FALSE;
- $include_single = TRUE;
- break;
- case "none":
- $include_list = FALSE;
- $include_single = FALSE;
- break;
- default:
- $include_list = TRUE;
- $include_single = TRUE;
- break;
- endswitch;
-?>
-
-
- $_title = $theme->bb2html(html::purify($item->title), 1); ?>
-
-
= $_title ?>
-
- = $theme->add_paginator("top"); ?>
- = $theme->photo_top() ?>
- if (($theme->photo_descmode == "top") and ($_description)): ?>
-
- endif; ?>
-
- = $theme->resize_top($item) ?>
- $_resizewidth = $item->resize_width;
- $siblings = $item->parent()->children(); ?>
-
- $script = "\n"; ?>
- $_align = "";
- if ($_description):
- switch ($theme->photo_descmode):
- case "overlay_top":
- $_align = "g-align-top";
- break;
- case "overlay_bottom":
- $_align = "g-align-bottom";
- break;
- default:
- break;
- endswitch;
- endif; ?>
- if ($_align): ?>
-
= t("More") ?>
-
- = $_title ?>
- = $_description ?>
-
- endif ?>
-
- = $theme->resize_bottom($item) ?>
-
- if (($theme->photo_descmode == "bottom") and ($_description)): ?>
-
- endif; ?>
- = $theme->add_paginator("bottom"); ?>
- = $theme->photo_bottom() ?>
-
-= $script ?>
\ No newline at end of file
+
+
+ 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/views/rootpage.html.php b/views/rootpage.html.php
deleted file mode 100644
index d014b70d..00000000
--- a/views/rootpage.html.php
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
- $link_url = item::root()->url();
- if ($theme->allow_root_page):
- $link_url .= "?root=no";
- endif;
- if ($theme->show_root_desc):
- if ($theme->root_description):
- $root_text = $theme->root_description;
- elseif (isset($item)):
- $root_text = $item->description;
- endif;
- if ($root_text):
- ?>
= $theme->bb2html($root_text, 1); ?>
- endif;
- endif;
-?>
-
>
-
-
-
= t("Click to Enter") ?>
-
diff --git a/views/rss_block.html.php b/views/rss_block.html.php
deleted file mode 100644
index c8ca10f5..00000000
--- a/views/rss_block.html.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
diff --git a/views/search.html.php b/views/search.html.php
deleted file mode 100644
index 217b09c9..00000000
--- a/views/search.html.php
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
= t("Search Results for \"%term\"", array("term" => $q)) ?>
-
- if (count($items)): ?>
-
- = $theme->add_paginator("top"); ?>
-
-
- foreach ($items as $item): ?>
- // $item_class = $item->is_album() ? "g-album" : "g-photo" ?>
- // - ?>
- = $theme->get_thumb_element($item) ?>
- //
?>
- endforeach ?>
-
-
- = $theme->add_paginator("bottom"); ?>
- else: ?>
-
-
= t("No results found for %term", array("term" => $q)) ?>
-
- endif; ?>
-
\ No newline at end of file
diff --git a/views/sidebar.html.php b/views/sidebar.html.php
index 246c60e1..086d1359 100644
--- a/views/sidebar.html.php
+++ b/views/sidebar.html.php
@@ -1,26 +1,16 @@
-
-= $theme->sidebar_top() ?>
-
- try {
- echo $theme->sidebar_blocks();
- } catch (Exception $e) {
- }
-?>
-= $theme->sidebar_bottom() ?>
+
+= $theme->sidebar_top() ?>
+
+
+= $theme->sidebar_blocks() ?>
+= $theme->sidebar_bottom() ?>