From 25e5ad8ffaf056d7f9a6c9e135ba9fb751d67aea Mon Sep 17 00:00:00 2001 From: Jerzy Brzozowski Date: Tue, 20 Aug 2019 16:44:43 +0200 Subject: [PATCH 1/4] Changes in project structure --- HTML5-ImageUploader.sublime-project | 8 + HTML5-ImageUploader.sublime-workspace | 1413 +++++++++++++++++ .../resources/public/js => }/ImageUploader.js | 768 ++++----- .../main/resources/public => test}/index.html | 173 +- 4 files changed, 1883 insertions(+), 479 deletions(-) create mode 100644 HTML5-ImageUploader.sublime-project create mode 100644 HTML5-ImageUploader.sublime-workspace rename src/{main/resources/public/js => }/ImageUploader.js (97%) rename {src/main/resources/public => test}/index.html (68%) diff --git a/HTML5-ImageUploader.sublime-project b/HTML5-ImageUploader.sublime-project new file mode 100644 index 0000000..24db303 --- /dev/null +++ b/HTML5-ImageUploader.sublime-project @@ -0,0 +1,8 @@ +{ + "folders": + [ + { + "path": "." + } + ] +} diff --git a/HTML5-ImageUploader.sublime-workspace b/HTML5-ImageUploader.sublime-workspace new file mode 100644 index 0000000..b670468 --- /dev/null +++ b/HTML5-ImageUploader.sublime-workspace @@ -0,0 +1,1413 @@ +{ + "auto_complete": + { + "selected_items": + [ + [ + "DA", + "DAYS" + ], + [ + "DAY", + "DAYS_MAX" + ], + [ + "xDe", + "xDebugCustom" + ], + [ + "xD", + "xDebugEnabled" + ], + [ + "sy", + "synced_folder" + ], + [ + "wit", + "withProfiler" + ], + [ + "input", + "input-group" + ], + [ + "valid", + "validForAnonymous" + ], + [ + "clas", + "classic" + ], + [ + "array_f", + "array_filter" + ], + [ + "readCate", + "readCategoryHotsRandom" + ], + [ + "padd", + "padding-top" + ], + [ + "accent", + "color-accent" + ], + [ + "z-", + "z-depth-1-half" + ], + [ + "bor", + "border-left" + ], + [ + "no", + "nowrap\twhite-space" + ], + [ + "ali", + "align-items" + ], + [ + "text-w", + "text-overflow\tproperty" + ], + [ + "barI", + "barItem" + ], + [ + "barB", + "barButikLimit" + ], + [ + "max", + "maxHeight" + ], + [ + "bar", + "barButikLabel" + ], + [ + "readCat", + "readCatsCnv" + ], + [ + "BAR", + "BAR_BUTIK_CAT_RAND" + ], + [ + "B", + "BAR_BUTIK_NONE" + ], + [ + "buti", + "barButik" + ], + [ + "BA", + "BAR_BUTIK_CAT_RAND" + ], + [ + "over", + "overflow-x\tproperty" + ], + [ + "catName", + "catNames" + ], + [ + "Re", + "ResultRow" + ], + [ + "to", + "toInject" + ], + [ + "carous", + "carousel" + ], + [ + "but", + "butikInfo" + ], + [ + "butik", + "butikInfo" + ], + [ + "alig", + "align-self" + ], + [ + "card-", + "card-img-top" + ], + [ + "szafa", + "szafaCat" + ], + [ + "szaa", + "szafaCat" + ], + [ + "clot", + "clothInfo" + ], + [ + "cat_", + "cat_html" + ], + [ + "inje", + "injectButikReplace" + ], + [ + "res", + "result" + ], + [ + "injec", + "injectButikLimit" + ], + [ + "ads", + "adsCnt" + ], + [ + "var", + "var_dump" + ], + [ + "array_", + "array_push" + ], + [ + "promoIn", + "promoInjectLimit" + ], + [ + "IDX_", + "IDX_CAT_HTMLNAME" + ], + [ + "Di", + "DisplayItemsControl" + ], + [ + "debug", + "debug_print_backtrace" + ], + [ + "print", + "print_r" + ], + [ + "ca", + "category" + ], + [ + "urlHo", + "urlHotMain" + ], + [ + "TYPE", + "TYPE_JSON" + ], + [ + "vb", + "vbGuestAutoUpdate" + ], + [ + "fore", + "foreach" + ], + [ + "backgroun", + "background-position\tproperty" + ], + [ + "co", + "cover\tbackground-size" + ], + [ + "back", + "background-size\tproperty" + ], + [ + "show", + "showAdsMobile" + ], + [ + "skip", + "skippedRows" + ], + [ + "verif", + "verifyCodeRegexClean" + ], + [ + "accoun", + "accountNo" + ], + [ + "CS", + "CSV_TITLE_1" + ], + [ + "date", + "date_to" + ], + [ + "conv", + "conversion" + ], + [ + "conver", + "convertAd" + ], + [ + "TYPE_", + "TYPE_MOBILE" + ], + [ + "bal", + "balanceReal" + ], + [ + "margi", + "margin-bottom\tproperty" + ], + [ + "marg", + "margin-bottom\tproperty" + ], + [ + "color-acc", + "color-accent-dark" + ], + [ + "color-text-", + "color-text-lighter" + ], + [ + "space", + "space-between\talign-content" + ], + [ + "shop", + "shop_info" + ], + [ + "erro", + "error_reporting" + ], + [ + "withA", + "withApacheSites" + ], + [ + "gene", + "generateInfo" + ], + [ + "t_w", + "t_w_p" + ], + [ + "pic", + "picture-row" + ], + [ + "form", + "form-control" + ], + [ + "fo", + "form-control" + ], + [ + "vals", + "valsEx" + ], + [ + "val", + "valsUrl" + ], + [ + "posi", + "position-relative" + ], + [ + "wid", + "width\tproperty" + ], + [ + "scale", + "scaleWidth" + ], + [ + "sca", + "scaleWPerc" + ], + [ + "scap", + "scaleHPerc" + ], + [ + "flex", + "flex-flow\tproperty" + ], + [ + "style", + "styleSheet" + ], + [ + "Grupa", + "GrupaSzafaInfrastructure" + ], + [ + "pri", + "print_r" + ], + [ + "enabled", + "enabledVerAdv" + ], + [ + "norm", + "normalizeForRegex" + ], + [ + "fiel", + "fieldsForReges" + ], + [ + "add", + "addslashes" + ], + [ + "str_rep", + "str_replace" + ], + [ + "norma", + "normalizeWhiteSpace" + ], + [ + "user", + "user_info" + ], + [ + "_str", + "_str_t" + ], + [ + "DO", + "DOTPAY_accountNo" + ], + [ + "preg_c", + "preg_replace" + ], + [ + "Obserw", + "Obserwujący" + ], + [ + "prep", + "prepareForUsersList" + ], + [ + "fav", + "favdata" + ], + [ + "esc", + "escapeHtml" + ], + [ + "plain_", + "plain_stripped" + ], + [ + "pre", + "prepareTotalItems" + ], + [ + "inline", + "inline-block\tdisplay" + ], + [ + "AD", + "AD_DEBUG" + ], + [ + "AD_", + "AD_GA_DEBUG" + ], + [ + "AD_GA_DESK", + "AD_GA_DESKTOP_TO" + ], + [ + "AD_G", + "AD_GA_DEBUG" + ], + [ + "AD_GA", + "AD_GA_DESKTOP_TO" + ], + [ + "AD_GA_DE", + "AD_GA_DESKTOP_FROM" + ], + [ + "wra", + "word-wrap\tproperty" + ], + [ + "spa", + "space-between\tjustify-content" + ], + [ + "bran", + "brandUrlPfx" + ], + [ + "for", + "foreach\tforeach …" + ], + [ + "defin", + "defined" + ], + [ + "showAds", + "showAdsDesktop" + ], + [ + "messa", + "messages" + ], + [ + "phoru", + "phorum_mod_ads_helper_add_ads" + ], + [ + "veri", + "verifyCodeRegexClean" + ], + [ + "A", + "AD_GA_MOBILE_FROM" + ], + [ + "QR_", + "QR_GET_FAV_WATCHING" + ], + [ + "QR", + "QR_GET_FAV_USERS" + ] + ] + }, + "buffers": + [ + { + "file": "src-old/main/resources/public/js/ImageUploader.js", + "settings": + { + "buffer_size": 13620, + "line_ending": "Windows" + } + } + ], + "build_system": "", + "build_system_choices": + [ + ], + "build_varint": "", + "command_palette": + { + "height": 354.0, + "last_filter": "", + "selected_items": + [ + [ + "pci", + "Package Control: Install Package" + ], + [ + "Package Control: ", + "Package Control: Upgrade/Overwrite All Packages" + ], + [ + "dis", + "Package Control: Disable Package" + ], + [ + "PHP Code Sniffer: ", + "PHP Code Sniffer: Sniff this file" + ], + [ + "pcu", + "Package Control: Upgrade Package" + ], + [ + "PCI", + "Package Control: Install Package" + ] + ], + "width": 480.0 + }, + "console": + { + "height": 508.0, + "history": + [ + "clear", + "sublime.debug", + "sublime", + "debug", + "cls", + "clear", + "cls", + "clr", + "clear", + "import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) " + ] + }, + "distraction_free": + { + "menu_visible": true, + "show_minimap": false, + "show_open_files": false, + "show_tabs": false, + "side_bar_visible": false, + "status_bar_visible": false + }, + "expanded_folders": + [ + "/D/Projects/Work/HTML5-ImageUploader", + "/D/Projects/Work/HTML5-ImageUploader/src-old", + "/D/Projects/Work/HTML5-ImageUploader/src-old/main", + "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources", + "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources/public", + "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources/public/js" + ], + "file_history": + [ + "/D/Projects/Work/szafa/szafa.pl/app-ads.txt", + "/D/Projects/Work/szafa/szafa.pl/templates/help.tpl", + "/D/Projects/Work/szafa/szafa.pl/ajax/functions.php", + "/D/Projects/Work/szafa/vm/.common/upload.ini", + "/D/Projects/Work/szafa/vm/.common/xdebug_remote.ini", + "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init-pre.sh", + "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init-xdebug.sh", + "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init.sh", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/bar-butik.tpl", + "/D/Projects/Work/szafa/szafa.pl/includes/config_butik_cats_conversion.php", + "/D/Projects/Work/szafa/szafa.pl/includes/config_mods.php", + "/D/Projects/Work/szafa/szafa.pl/generators/butik_cats_hot.php", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/carousel-lists.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/przedmiot.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/Category.php", + "/D/Projects/Work/szafa/scss/szafa/_global.scss", + "/D/Projects/Work/szafa/scss/szafa/_theme_defaults.scss", + "/D/Projects/Work/szafa/scss/szafa/_popular.scss", + "/D/Projects/Work/szafa/szafa.pl/mods/filtruj.php", + "/D/Projects/Work/szafa/szafa.pl/templates/category.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/category.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/menu-fixed.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/UrlHelper.php", + "/D/Projects/Work/szafa/szafa.pl/includes/config.php", + "/D/Projects/Work/szafa/szafa.pl/templates/layout.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/search.php", + "/D/Projects/Work/szafa/szafa.pl/templates/search.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/DisplayItemsControl.php", + "/D/Projects/Work/szafa/szafa.pl/class/ModsConstructor.php", + "/D/Projects/Work/szafa/szafa.pl/templates/konkursy/2019-second-hand.tpl", + "/D/Projects/Work/szafa/szafa.pl/static/theme.css", + "/D/Projects/Work/szafa/szafa.pl/class/ModsBase.php", + "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_contests_add_sell.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_contests_add_sell.php", + "/D/Projects/Work/szafa/szafa.pl/templates/head.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/porada.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/similar-items.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/przedmiot.php", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/single-item.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/Searcher.php", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/box-nowosci-left.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/OVUser.php", + "/D/Projects/Work/szafa/szafa.pl/class/CurlHelper.php", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/display-item-cloth.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/index.php", + "/D/Projects/Work/szafa/szafa.pl/class/Cache.php", + "/D/Projects/Work/szafa/szafa.pl/templates/index.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/layout1to2.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/display-2-single-item.tpl", + "/D/Projects/Work/szafa/szafka.pl/templates/filtruj.tpl", + "/D/Projects/Work/szafa/infrastructure/crons/main-machine.cron", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/logo.tpl", + "/D/Projects/Work/szafa/szafa.pl/generators/night.php", + "/D/Projects/Work/szafa/acc.szafa.pl/mods/email_verify.php", + "/D/Projects/Work/szafa/acc.szafa.pl/class/Frame.php", + "/D/Projects/Work/szafa/szafa.pl/mods/aktywacja.php", + "/D/Projects/Work/szafa/szafa.pl/templates/email_verify_reactivate.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/logo-img.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/email_verify_reactivate.php", + "/D/Projects/Work/szafa/szafa.pl/mods/category.php", + "/D/Projects/Work/szafa/szafa.pl/generators/out.txt", + "/D/Projects/Work/szafa/szafa.pl/static/common.js", + "/D/Projects/Work/szafa/scss/szafa/_forum-fixes.scss", + "/D/Projects/Work/szafa/szafa.pl/mods/dodaj-do-kramiku.php", + "/D/Projects/Work/szafa/szafa.pl/templates/bezpieczna-szafa-gwarancja.tpl", + "/D/Projects/Work/szafa/scss/szafa/_admin.scss", + "/D/Projects/Work/szafa/scss/szafa/_base.scss", + "/D/Projects/Work/szafa/acc.szafa.pl/class/DBHelper.php", + "/D/Projects/Work/szafa/szafa.pl/class/DBHelper.php", + "/D/Projects/Work/szafa/forum.szafa.pl/templates/.htaccess", + "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa/footer.tpl", + "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa/forum_best.tpl", + "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa-2/footer.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/contexti.tpl", + "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/Vagrantfile", + "/D/Projects/Work/szafa/szafa.pl/ads.txt", + "/D/Projects/Work/szafa/forum.szafa.pl/templates/emerald/forum_best.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-mobile.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-responsive.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/Unifier.php", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ads-foot-mobile.tpl", + "/D/Downloads/transakcje20190514115816.csv", + "/D/Projects/Own/zazielen/mockup/index.html", + "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-mobile-div-by.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/stopka.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/item-right.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/cloth-action-icons.tpl", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/hourly.php", + "/D/Projects/Work/szafa/szafa.pl/templates/bezpieczna-szafa.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/NewCloth.php", + "/D/Projects/Work/szafa/szafka.pl/templates/przedmiot_strona_prawa.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/lista.php", + "/D/Projects/Work/szafa/szafa.pl/.htaccess", + "/D/Projects/Work/szafa/szafa.pl/templates/layout_base.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/before-body-end.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ad-fly-sky-right.tpl", + "/D/Projects/Work/szafa/szafa.pl/includes/__gver.php", + "/D/Projects/Work/szafa/gulpfile-szafa-GroM.js", + "/D/Projects/Work/szafa/szafa.pl/class/ClothCarousel.php", + "/D/Projects/Work/szafa/szafa.pl/class/BalanceHelper.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/AliorBank2018.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/mods/weryfikacje-szczegoly.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/AliorBank.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/getPaymentsFromAlior.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/verifyProperUsers.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/templates/menu-top.tpl", + "/D/Downloads/export20190329172620.csv", + "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_news_form.tpl", + "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_news_form.php", + "/D/Projects/Work/szafa/szafa.pl/class/Advice.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/mods/weryfikacje-upload.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/templates/weryfikacje-upload.tpl", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/Xcms.php", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/Banks.php", + "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_payoff_file.php", + "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_payoff_files.php", + "/D/Projects/Work/szafa/szafa.pl/templates/profil.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/footer.tpl", + "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ad-ga-mc.tpl", + "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/getPaymentsFromMbank.php", + "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_forum_ciekawe.tpl", + "/D/Projects/Work/szafa/szafa.pl/includes/config_autoloader.php", + "/D/Projects/Work/szafa/szafa.pl/mods/cloth_new_shop.php", + "/D/Projects/Work/szafa/szafa.pl/mods/new_item.php", + "/D/Projects/Work/szafa/szafa.pl/class/NewClothShop.php", + "/D/Projects/Work/szafa/scss/szafa/_unpopular.scss", + "/D/Projects/Work/szafa/szafa.pl/templates/ustawienia_saldo.tpl", + "/D/Projects/Work/szafa/szafa.pl/class/Balance.php" + ], + "find": + { + "height": 40.0 + }, + "find_in_files": + { + "height": 198.0, + "where_history": + [ + ] + }, + "find_state": + { + "case_sensitive": false, + "find_history": + [ + ], + "highlight": true, + "in_selection": false, + "preserve_case": false, + "regex": false, + "replace_history": + [ + ], + "reverse": false, + "show_context": true, + "use_buffer2": true, + "whole_word": false, + "wrap": true + }, + "groups": + [ + { + "selected": 0, + "sheets": + [ + { + "buffer": 0, + "file": "src-old/main/resources/public/js/ImageUploader.js", + "semi_transient": true, + "settings": + { + "buffer_size": 13620, + "regions": + { + }, + "selection": + [ + [ + 0, + 0 + ] + ], + "settings": + { + "SL.211.region_keys": + [ + ], + "syntax": "Packages/JavaScript/JavaScript.sublime-syntax", + "tab_size": 4, + "translate_tabs_to_spaces": true + }, + "translation.x": 0.0, + "translation.y": 0.0, + "zoom_level": 1.0 + }, + "stack_index": 0, + "type": "text" + } + ] + } + ], + "incremental_find": + { + "height": 27.0 + }, + "input": + { + "height": 80.0 + }, + "layout": + { + "cells": + [ + [ + 0, + 0, + 1, + 1 + ] + ], + "cols": + [ + 0.0, + 1.0 + ], + "rows": + [ + 0.0, + 1.0 + ] + }, + "menu_visible": true, + "output.SublimeLinter": + { + "height": 0.0 + }, + "output.SublimeLinter Messages": + { + "height": 120.0 + }, + "output.find_results": + { + "height": 0.0 + }, + "output.unsaved_changes": + { + "height": 120.0 + }, + "pinned_build_system": "", + "project": "HTML5-ImageUploader.sublime-project", + "replace": + { + "height": 50.0 + }, + "save_all_on_build": true, + "select_file": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + [ + "lista_prze", + "szafa.pl\\mods\\lista_przedmiotow.php" + ], + [ + "htace", + "szafa.pl\\.htaccess" + ], + [ + "confi", + "szafa.pl\\includes\\config.php" + ], + [ + "admin_aba", + "szafa.pl\\mods\\admin\\admin_abandoned_transactions.php" + ], + [ + "DBH", + "szafa.pl\\class\\DBHelper.php" + ], + [ + "htacc", + "szafa.pl\\.htaccess" + ], + [ + "blogs\\blo", + "szafa.pl\\templates\\blogs\\blog.tpl" + ], + [ + "config_mod", + "szafa.pl\\includes\\config_mods.php" + ], + [ + "spolecz", + "szafa.pl\\mods\\spolecznosc.php" + ], + [ + "", + "szafa.pl\\class\\DBHelper.php" + ], + [ + "admin_an", + "szafa.pl\\mods\\admin\\admin_abandoned_transactions.php" + ], + [ + "help.tpl", + "szafa.pl\\templates\\help.tpl" + ], + [ + "function", + "szafa.pl\\ajax\\functions.php" + ], + [ + "butik", + "szafa.pl\\class\\Butik.php" + ], + [ + "config_bu", + "szafa.pl\\includes\\config_butik_cats_conversion.php" + ], + [ + "Mod", + "szafa.pl\\class\\ModsBase.php" + ], + [ + "_pop", + "scss\\szafa\\_popular.scss" + ], + [ + "layou", + "szafa.pl\\templates\\layout_base.tpl" + ], + [ + "Buti", + "szafa.pl\\class\\Butik.php" + ], + [ + "ModsB", + "szafa.pl\\class\\ModsBase.php" + ], + [ + "single", + "szafa.pl\\templates\\parts\\single-item.tpl" + ], + [ + "vagr", + "vm\\ubuntu-szafa.pl\\Vagrantfile" + ], + [ + "popular", + "scss\\szafa\\_popular.scss" + ], + [ + "Cate", + "szafa.pl\\class\\Category.php" + ], + [ + "Butik", + "szafa.pl\\class\\Butik.php" + ], + [ + "fil", + "szafa.pl\\mods\\filtruj.php" + ], + [ + "boxy/cate", + "szafa.pl\\templates\\boxy\\category.tpl" + ], + [ + "categor", + "szafa.pl\\templates\\category.tpl" + ], + [ + "filtru", + "szafa.pl\\mods\\filtruj.php" + ], + [ + "przedmiot.ph", + "szafa.pl\\mods\\przedmiot.php" + ], + [ + "parts/ca", + "szafa.pl\\templates\\parts\\carousel-lists.tpl" + ], + [ + "przedmiot.tp", + "szafa.pl\\templates\\przedmiot.tpl" + ], + [ + "config_", + "szafa.pl\\includes\\config_butik_cats_conversion.php" + ], + [ + "admin_conadd", + "szafa.pl\\templates\\admin\\admin_contests_add_sell.tpl" + ], + [ + "Mods", + "szafa.pl\\class\\ModsBase.php" + ], + [ + "config", + "szafa.pl\\includes\\config.php" + ], + [ + "contestadd", + "szafa.pl\\mods\\admin\\admin_contests_add_sell.php" + ], + [ + "ModsCon", + "szafa.pl\\class\\ModsConstructor.php" + ], + [ + "second", + "szafa.pl\\templates\\konkursy\\2019-second-hand.tpl" + ], + [ + "theme.css", + "szafa.pl\\static\\theme.css" + ], + [ + "Searc", + "szafa.pl\\class\\Searcher.php" + ], + [ + "search.tpl", + "szafa.pl\\templates\\search.tpl" + ], + [ + "sear", + "szafa.pl\\mods\\search.php" + ], + [ + "UrlH", + "szafa.pl\\class\\UrlHelper.php" + ], + [ + "filtr", + "szafa.pl\\mods\\filtruj.php" + ], + [ + "Displ", + "szafa.pl\\class\\DisplayItemsControl.php" + ], + [ + "porada", + "szafa.pl\\templates\\porada.tpl" + ], + [ + "simi", + "szafa.pl\\templates\\boxy\\similar-items.tpl" + ], + [ + "Cloth", + "szafa.pl\\class\\ClothCarousel.php" + ], + [ + "przedmiot.tpl", + "szafa.pl\\templates\\przedmiot.tpl" + ], + [ + "przedmio", + "szafa.pl\\mods\\przedmiot.php" + ], + [ + "single-it", + "szafa.pl\\templates\\parts\\single-item.tpl" + ], + [ + "butik_", + "szafa.pl\\generators\\butik_cats_hot.php" + ], + [ + "sin", + "szafa.pl\\templates\\parts\\single-item.tpl" + ], + [ + "layout1", + "szafa.pl\\templates\\layout1to2.tpl" + ], + [ + "templates/inde", + "szafa.pl\\templates\\index.tpl" + ], + [ + "mods/inde", + "szafa.pl\\mods\\index.php" + ], + [ + "generhot", + "szafa.pl\\generators\\butik_cats_hot.php" + ], + [ + "categ", + "szafa.pl\\templates\\category.tpl" + ], + [ + "filtruj", + "szafka.pl\\templates\\filtruj.tpl" + ], + [ + "parts/disp", + "szafa.pl\\templates\\parts\\display-item-cloth.tpl" + ], + [ + "szafa.pl\\templates\\item", + "szafa.pl\\templates\\parts\\single-item.tpl" + ], + [ + "Cac", + "szafa.pl\\class\\Cache.php" + ], + [ + "logo.tpl", + "szafa.pl\\templates\\parts\\logo.tpl" + ], + [ + "parts/logo-i", + "szafa.pl\\templates\\parts\\logo-img.tpl" + ], + [ + "email_verify_rea", + "szafa.pl\\templates\\email_verify_reactivate.tpl" + ], + [ + "email_veri_re", + "szafa.pl\\mods\\email_verify_reactivate.php" + ], + [ + "modsaktyw", + "szafa.pl\\mods\\aktywacja.php" + ], + [ + "Frame", + "acc.szafa.pl\\class\\Frame.php" + ], + [ + "Displa", + "szafa.pl\\class\\DisplayItemsControl.php" + ], + [ + "Display", + "szafa.pl\\class\\DisplayItemsControl.php" + ], + [ + "Cache", + "szafa.pl\\class\\CacheHelper.php" + ], + [ + "CacheH", + "szafa.pl\\class\\CacheHelper.php" + ], + [ + "single-", + "szafa.pl\\templates\\parts\\single-item.tpl" + ], + [ + "nig", + "szafa.pl\\generators\\night.php" + ], + [ + "Va", + "vm\\ubuntu-szafa.pl\\Vagrantfile" + ], + [ + "config.p", + "szafa.pl\\includes\\config.php" + ], + [ + "ads.", + "szafa.pl\\ads.txt" + ], + [ + "parts/conte", + "szafa.pl\\templates\\parts\\contexti.tpl" + ], + [ + "forum_bes", + "forum.szafa.pl\\templates\\nowa-szafa\\forum_best.tpl" + ], + [ + "forum/templates/", + "forum.szafa.pl\\templates\\.htaccess" + ], + [ + "pora", + "szafa.pl\\templates\\porada.tpl" + ], + [ + "acc\\DBH", + "acc.szafa.pl\\class\\DBHelper.php" + ], + [ + "OvUser", + "szafa.pl\\class\\OVUser.php" + ], + [ + "ads/", + "szafa.pl\\templates\\parts\\ads\\ga-responsive.tpl" + ], + [ + "_glo", + "scss\\szafa\\_global.scss" + ], + [ + "_p", + "scss\\szafa\\_popular.scss" + ], + [ + "ga-", + "szafa.pl\\templates\\parts\\ads\\ga-mobile.tpl" + ], + [ + "ga-mo", + "szafa.pl\\templates\\parts\\ads\\ga-mobile-div-by.tpl" + ], + [ + "boxy/stop", + "szafa.pl\\templates\\boxy\\stopka.tpl" + ], + [ + "Uni", + "szafa.pl\\class\\Unifier.php" + ], + [ + "before", + "szafa.pl\\templates\\before-body-end.tpl" + ], + [ + "alyout_b", + "szafa.pl\\templates\\layout_base.tpl" + ], + [ + "prawa", + "szafka.pl\\templates\\przedmiot_strona_prawa.tpl" + ], + [ + "newclot", + "szafa.pl\\class\\NewCloth.php" + ], + [ + "przedmi", + "szafa.pl\\mods\\przedmiot.php" + ], + [ + "_admi", + "scss\\szafa\\_admin.scss" + ], + [ + "_admin", + "scss\\szafa\\_admin.scss" + ], + [ + "_ad", + "scss\\szafa\\_admin.scss" + ], + [ + "config.php", + "szafa.pl\\includes\\config.php" + ], + [ + "prze", + "szafa.pl\\templates\\przedmiot.tpl" + ], + [ + "Searcher", + "szafa.pl\\class\\Searcher.php" + ], + [ + "lis", + "szafa.pl\\mods\\lista.php" + ], + [ + "head", + "szafa.pl\\templates\\head.tpl" + ], + [ + "layout_bas", + "szafa.pl\\templates\\layout_base.tpl" + ], + [ + "cate", + "szafa.pl\\templates\\category.tpl" + ], + [ + "lista.php", + "szafa.pl\\mods\\lista.php" + ], + [ + "config_mo", + "szafa.pl\\includes\\config_mods.php" + ], + [ + "htac", + "szafa.pl\\.htaccess" + ], + [ + "admin_new_fo", + "szafa.pl\\templates\\admin\\admin_news_form.tpl" + ], + [ + "Advice", + "szafa.pl\\class\\Advice.php" + ], + [ + "verifyprop", + "acc.szafa.pl\\crm\\crond\\verifyProperUsers.php" + ], + [ + "weryf", + "acc.szafa.pl\\crm\\admin\\mods\\weryfikacje-szczegoly.php" + ], + [ + "xcms", + "acc.szafa.pl\\crm\\class\\Xcms.php" + ], + [ + "Bank", + "acc.szafa.pl\\crm\\class\\Banks.php" + ], + [ + "getPa", + "acc.szafa.pl\\crm\\crond\\getPaymentsFromAlior.php" + ], + [ + "footer", + "szafa.pl\\templates\\footer.tpl" + ], + [ + "ad-ga-mc", + "szafa.pl\\templates\\boxy\\ad-ga-mc.tpl" + ], + [ + "profil", + "szafa.pl\\templates\\profil.tpl" + ], + [ + "acc\\mbank", + "acc.szafa.pl\\crm\\crond\\getPaymentsFromMbank.php" + ], + [ + "Alior", + "acc.szafa.pl\\crm\\class\\AliorBank.php" + ], + [ + "layou_b", + "szafa.pl\\templates\\layout_base.tpl" + ], + [ + "ModsC", + "szafa.pl\\class\\ModsConstructor.php" + ], + [ + "gulp", + "gulpfile-szafa-GroM.js" + ], + [ + "ClothCa", + "szafa.pl\\class\\ClothCarousel.php" + ], + [ + "BalanceHel", + "szafa.pl\\class\\BalanceHelper.php" + ], + [ + "admin_payoff_files", + "szafa.pl\\mods\\admin\\admin_payoff_files.php" + ], + [ + "admin_payo", + "szafa.pl\\mods\\admin\\admin_payoff_file.php" + ] + ], + "width": 0.0 + }, + "select_project": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 0.0 + }, + "select_symbol": + { + "height": 0.0, + "last_filter": "", + "selected_items": + [ + ], + "width": 0.0 + }, + "selected_group": 0, + "settings": + { + }, + "show_minimap": true, + "show_open_files": false, + "show_tabs": true, + "side_bar_visible": true, + "side_bar_width": 333.0, + "status_bar_visible": true, + "template_settings": + { + } +} diff --git a/src/main/resources/public/js/ImageUploader.js b/src/ImageUploader.js similarity index 97% rename from src/main/resources/public/js/ImageUploader.js rename to src/ImageUploader.js index d8a4491..0a04fe2 100644 --- a/src/main/resources/public/js/ImageUploader.js +++ b/src/ImageUploader.js @@ -1,384 +1,384 @@ -/** - * ImageUploader.js - a client-side image resize and upload javascript module - * - * @author Ross Turner (https://github.com/rossturner) - */ -var ImageUploader = function(config) { - if (!config || (!config.inputElement) || (!config.inputElement.getAttribute) || config.inputElement.getAttribute('type') !== 'file') { - throw new Error('Config object passed to ImageUploader constructor must include "inputElement" set to be an element of type="file"'); - } - this.setConfig(config); - - var This = this; - this.config.inputElement.addEventListener('change', function(event) { - var fileArray = []; - var cursor = 0; - for (; cursor < This.config.inputElement.files.length; ++cursor) { - fileArray.push(This.config.inputElement.files[cursor]); - } - This.progressObject = { - total : parseInt(fileArray.length, 10), - done : 0, - currentItemTotal : 0, - currentItemDone : 0 - }; - if (typeof This.config.onProgress === 'function') { - This.config.onProgress(This.progressObject); - } - This.handleFileList(fileArray, This.progressObject); - }, false); - - if (This.config.debug) { - console.log('Initialised ImageUploader for ' + This.config.inputElement); - } - -}; - -ImageUploader.prototype.handleFileList = function(fileArray) { - var This = this; - if (fileArray.length > 1) { - var file = fileArray.shift(); - this.handleFileSelection(file, function() { - This.handleFileList(fileArray); - }); - } else if (fileArray.length === 1) { - this.handleFileSelection(fileArray[0], function() { - if (typeof This.config.onComplete === 'function') { - This.config.onComplete(This.progressObject); - } - }); - } -}; - -ImageUploader.prototype.handleFileSelection = function(file, completionCallback) { - var img = document.createElement('img'); - this.currentFile = file; - var reader = new FileReader(); - var This = this; - reader.onload = function(e) { - img.src = e.target.result; - - img.onload = function () { - //Rotate image first if required - if (This.config.autoRotate) { - if (This.config.debug) { - console.log('ImageUploader: detecting image orientation...'); - } - if ((typeof EXIF.getData === "function") && (typeof EXIF.getTag === "function")) { - EXIF.getData(img, function () { - var orientation = EXIF.getTag(this, "Orientation"); - if (This.config.debug) { - console.log('ImageUploader: image orientation from EXIF tag = ' + orientation); - } - This.scaleImage(img, completionCallback, orientation); - }); - } else { - console.error("ImageUploader: can't read EXIF data, the Exif.js library not found"); - This.scaleImage(img, completionCallback); - } - } else { - //No rotation, just scale the image - This.scaleImage(img, completionCallback); - } - }; - }; - reader.readAsDataURL(file); -}; - -ImageUploader.prototype.drawImage = function(context, img, x, y, width, height, deg, flip, flop, center) { - context.save(); - - if(typeof width === "undefined") { width = img.width; } - if(typeof height === "undefined") { height = img.height; } - if(typeof center === "undefined") { center = false; } - - // Set rotation point to center of image, instead of top/left - if(center) { - x -= width/2; - y -= height/2; - } - - // Set the origin to the center of the image - context.translate(x + width/2, y + height/2); - - // Rotate the canvas around the origin - var rad = 2 * Math.PI - deg * Math.PI / 180; - context.rotate(rad); - - // Flip/flop the canvas - if(flip) { flipScale = -1; } else { flipScale = 1; } - if(flop) { flopScale = -1; } else { flopScale = 1; } - context.scale(flipScale, flopScale); - - // Draw the image - context.drawImage(img, -width/2, -height/2, width, height); - - context.restore(); -}; - -ImageUploader.prototype.scaleImage = function(img, completionCallback, orientation) { - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.save(); - - //Good explanation of EXIF orientation is here http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ - var width = canvas.width; - var styleWidth = canvas.style.width; - var height = canvas.height; - var styleHeight = canvas.style.height; - if (typeof orientation === 'undefined') { - orientation = 1; - } - if (orientation) { - if (orientation > 4) { - canvas.width = height; - canvas.style.width = styleHeight; - canvas.height = width; - canvas.style.height = styleWidth; - } - switch (orientation) { - case 2: - ctx.translate(width, 0); - ctx.scale(-1,1); - break; - case 3: - ctx.translate(width,height); - ctx.rotate(Math.PI); - break; - case 4: - ctx.translate(0,height); - ctx.scale(1,-1); - break; - case 5: - ctx.rotate(0.5 * Math.PI); - ctx.scale(1,-1); - break; - case 6: - ctx.rotate(0.5 * Math.PI); - ctx.translate(0,-height); - break; - case 7: - ctx.rotate(0.5 * Math.PI); - ctx.translate(width,-height); - ctx.scale(-1,1); - break; - case 8: - ctx.rotate(-0.5 * Math.PI); - ctx.translate(-width,0); - break; - } - } - ctx.drawImage(img, 0, 0); - ctx.restore(); - - //Let's find the max available width for scaled image - var ratio = canvas.width/canvas.height; - var mWidth = Math.min(this.config.maxWidth, ratio*this.config.maxHeight); - if ( (this.config.maxSize>0) && (this.config.maxSize= (2 * mWidth)) { - canvas = this.getHalfScaleCanvas(canvas); - } - - if (canvas.width > mWidth) { - canvas = this.scaleCanvasWithAlgorithm(canvas, mWidth); - } - - var imageData = canvas.toDataURL('image/jpeg', this.config.quality); - if (typeof this.config.onScale === 'function') { - this.config.onScale(imageData); - } - this.performUpload(imageData, completionCallback); -}; - -ImageUploader.prototype.performUpload = function(imageData, completionCallback) { - var xhr = new XMLHttpRequest(); - var This = this; - var uploadInProgress = true; - var headers = this.config.requestHeaders; - var headersArray; - var i; - - xhr.onload = function(e) { - uploadInProgress = false; - This.uploadComplete(e, completionCallback); - }; - xhr.upload.addEventListener("progress", function(e) { - This.progressUpdate(e.loaded, e.total); - }, false); - xhr.open('POST', this.config.uploadUrl, true); - - if(typeof headers === 'object' && headers !== null) { - Object.keys(headers).forEach(function(key,index) { - if(typeof headers[key] !== 'string') { - headersArray = headers[key]; - for(i = 0, j = headersArray.length; i < j; i++) { - xhr.setRequestHeader(key, headersArray[i]); - } - } else { - xhr.setRequestHeader(key, headers[key]); - } - }); - } - - xhr.send(imageData.split(',')[1]); - - if (this.config.timeout) { - setTimeout(function() { - if (uploadInProgress) { - xhr.abort(); - This.uploadComplete({ - target: { - status: 'Timed out' - } - }, completionCallback); - } - }, this.config.timeout); - } - - if (this.config.debug) { - var resizedImage = document.createElement('img'); - this.config.workspace.appendChild(document.createElement('br')); - this.config.workspace.appendChild(resizedImage); - - resizedImage.src = imageData; - } -}; - -ImageUploader.prototype.uploadComplete = function(event, completionCallback) { - this.progressObject.done++; - this.progressUpdate(0, 0); - completionCallback(); - if (typeof this.config.onFileComplete === 'function') { - this.config.onFileComplete(event, this.currentFile); - } -}; - -ImageUploader.prototype.progressUpdate = function(itemDone, itemTotal) { - console.log('Uploaded '+itemDone+' of '+itemTotal); - this.progressObject.currentItemDone = itemDone; - this.progressObject.currentItemTotal = itemTotal; - if (this.config.onProgress) { - this.config.onProgress(this.progressObject); - } -}; - -ImageUploader.prototype.scaleCanvasWithAlgorithm = function(canvas, maxWidth) { - var scaledCanvas = document.createElement('canvas'); - - var scale = maxWidth / canvas.width; - - scaledCanvas.width = canvas.width * scale; - scaledCanvas.height = canvas.height * scale; - - var srcImgData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height); - var destImgData = scaledCanvas.getContext('2d').createImageData(scaledCanvas.width, scaledCanvas.height); - - this.applyBilinearInterpolation(srcImgData, destImgData, scale); - - scaledCanvas.getContext('2d').putImageData(destImgData, 0, 0); - - return scaledCanvas; -}; - -ImageUploader.prototype.getHalfScaleCanvas = function(canvas) { - var halfCanvas = document.createElement('canvas'); - halfCanvas.width = canvas.width / 2; - halfCanvas.height = canvas.height / 2; - - halfCanvas.getContext('2d').drawImage(canvas, 0, 0, halfCanvas.width, halfCanvas.height); - - return halfCanvas; -}; - -ImageUploader.prototype.applyBilinearInterpolation = function(srcCanvasData, destCanvasData, scale) { - function inner(f00, f10, f01, f11, x, y) { - var un_x = 1.0 - x; - var un_y = 1.0 - y; - return (f00 * un_x * un_y + f10 * x * un_y + f01 * un_x * y + f11 * x * y); - } - var i, j; - var iyv, iy0, iy1, ixv, ix0, ix1; - var idxD, idxS00, idxS10, idxS01, idxS11; - var dx, dy; - var r, g, b, a; - for (i = 0; i < destCanvasData.height; ++i) { - iyv = i / scale; - iy0 = Math.floor(iyv); - // Math.ceil can go over bounds - iy1 = (Math.ceil(iyv) > (srcCanvasData.height - 1) ? (srcCanvasData.height - 1) : Math.ceil(iyv)); - for (j = 0; j < destCanvasData.width; ++j) { - ixv = j / scale; - ix0 = Math.floor(ixv); - // Math.ceil can go over bounds - ix1 = (Math.ceil(ixv) > (srcCanvasData.width - 1) ? (srcCanvasData.width - 1) : Math.ceil(ixv)); - idxD = (j + destCanvasData.width * i) * 4; - // matrix to vector indices - idxS00 = (ix0 + srcCanvasData.width * iy0) * 4; - idxS10 = (ix1 + srcCanvasData.width * iy0) * 4; - idxS01 = (ix0 + srcCanvasData.width * iy1) * 4; - idxS11 = (ix1 + srcCanvasData.width * iy1) * 4; - // overall coordinates to unit square - dx = ixv - ix0; - dy = iyv - iy0; - // I let the r, g, b, a on purpose for debugging - r = inner(srcCanvasData.data[idxS00], srcCanvasData.data[idxS10], srcCanvasData.data[idxS01], srcCanvasData.data[idxS11], dx, dy); - destCanvasData.data[idxD] = r; - - g = inner(srcCanvasData.data[idxS00 + 1], srcCanvasData.data[idxS10 + 1], srcCanvasData.data[idxS01 + 1], srcCanvasData.data[idxS11 + 1], dx, dy); - destCanvasData.data[idxD + 1] = g; - - b = inner(srcCanvasData.data[idxS00 + 2], srcCanvasData.data[idxS10 + 2], srcCanvasData.data[idxS01 + 2], srcCanvasData.data[idxS11 + 2], dx, dy); - destCanvasData.data[idxD + 2] = b; - - a = inner(srcCanvasData.data[idxS00 + 3], srcCanvasData.data[idxS10 + 3], srcCanvasData.data[idxS01 + 3], srcCanvasData.data[idxS11 + 3], dx, dy); - destCanvasData.data[idxD + 3] = a; - } - } -}; - -ImageUploader.prototype.setConfig = function(customConfig) { - this.config = customConfig; - this.config.debug = this.config.debug || false; - this.config.quality = 1.00; - if (0.00 < customConfig.quality && customConfig.quality <= 1.00) { - this.config.quality = customConfig.quality; - } - if ( (!this.config.maxWidth) || (this.config.maxWidth<0) ){ - this.config.maxWidth = 1024; - } - if ( (!this.config.maxHeight) || (this.config.maxHeight<0) ) { - this.config.maxHeight = 1024; - } - if ( (!this.config.maxSize) || (this.config.maxSize<0) ) { - this.config.maxSize = null; - } - if ( (!this.config.scaleRatio) || (this.config.scaleRatio <= 0) || (this.config.scaleRatio >= 1) ) { - this.config.scaleRatio = null; - } - this.config.autoRotate = true; - if (typeof customConfig.autoRotate === 'boolean') { - this.config.autoRotate = customConfig.autoRotate; - } - - // Create container if none set - if (!this.config.workspace) { - this.config.workspace = document.createElement('div'); - document.body.appendChild(this.config.workspace); - } -}; +/** + * ImageUploader.js - a client-side image resize and upload javascript module + * + * @author Ross Turner (https://github.com/rossturner) + */ +var ImageUploader = function(config) { + if (!config || (!config.inputElement) || (!config.inputElement.getAttribute) || config.inputElement.getAttribute('type') !== 'file') { + throw new Error('Config object passed to ImageUploader constructor must include "inputElement" set to be an element of type="file"'); + } + this.setConfig(config); + + var This = this; + this.config.inputElement.addEventListener('change', function(event) { + var fileArray = []; + var cursor = 0; + for (; cursor < This.config.inputElement.files.length; ++cursor) { + fileArray.push(This.config.inputElement.files[cursor]); + } + This.progressObject = { + total : parseInt(fileArray.length, 10), + done : 0, + currentItemTotal : 0, + currentItemDone : 0 + }; + if (typeof This.config.onProgress === 'function') { + This.config.onProgress(This.progressObject); + } + This.handleFileList(fileArray, This.progressObject); + }, false); + + if (This.config.debug) { + console.log('Initialised ImageUploader for ' + This.config.inputElement); + } + +}; + +ImageUploader.prototype.handleFileList = function(fileArray) { + var This = this; + if (fileArray.length > 1) { + var file = fileArray.shift(); + this.handleFileSelection(file, function() { + This.handleFileList(fileArray); + }); + } else if (fileArray.length === 1) { + this.handleFileSelection(fileArray[0], function() { + if (typeof This.config.onComplete === 'function') { + This.config.onComplete(This.progressObject); + } + }); + } +}; + +ImageUploader.prototype.handleFileSelection = function(file, completionCallback) { + var img = document.createElement('img'); + this.currentFile = file; + var reader = new FileReader(); + var This = this; + reader.onload = function(e) { + img.src = e.target.result; + + img.onload = function () { + //Rotate image first if required + if (This.config.autoRotate) { + if (This.config.debug) { + console.log('ImageUploader: detecting image orientation...'); + } + if ((typeof EXIF.getData === "function") && (typeof EXIF.getTag === "function")) { + EXIF.getData(img, function () { + var orientation = EXIF.getTag(this, "Orientation"); + if (This.config.debug) { + console.log('ImageUploader: image orientation from EXIF tag = ' + orientation); + } + This.scaleImage(img, completionCallback, orientation); + }); + } else { + console.error("ImageUploader: can't read EXIF data, the Exif.js library not found"); + This.scaleImage(img, completionCallback); + } + } else { + //No rotation, just scale the image + This.scaleImage(img, completionCallback); + } + }; + }; + reader.readAsDataURL(file); +}; + +ImageUploader.prototype.drawImage = function(context, img, x, y, width, height, deg, flip, flop, center) { + context.save(); + + if(typeof width === "undefined") { width = img.width; } + if(typeof height === "undefined") { height = img.height; } + if(typeof center === "undefined") { center = false; } + + // Set rotation point to center of image, instead of top/left + if(center) { + x -= width/2; + y -= height/2; + } + + // Set the origin to the center of the image + context.translate(x + width/2, y + height/2); + + // Rotate the canvas around the origin + var rad = 2 * Math.PI - deg * Math.PI / 180; + context.rotate(rad); + + // Flip/flop the canvas + if(flip) { flipScale = -1; } else { flipScale = 1; } + if(flop) { flopScale = -1; } else { flopScale = 1; } + context.scale(flipScale, flopScale); + + // Draw the image + context.drawImage(img, -width/2, -height/2, width, height); + + context.restore(); +}; + +ImageUploader.prototype.scaleImage = function(img, completionCallback, orientation) { + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.save(); + + //Good explanation of EXIF orientation is here http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ + var width = canvas.width; + var styleWidth = canvas.style.width; + var height = canvas.height; + var styleHeight = canvas.style.height; + if (typeof orientation === 'undefined') { + orientation = 1; + } + if (orientation) { + if (orientation > 4) { + canvas.width = height; + canvas.style.width = styleHeight; + canvas.height = width; + canvas.style.height = styleWidth; + } + switch (orientation) { + case 2: + ctx.translate(width, 0); + ctx.scale(-1,1); + break; + case 3: + ctx.translate(width,height); + ctx.rotate(Math.PI); + break; + case 4: + ctx.translate(0,height); + ctx.scale(1,-1); + break; + case 5: + ctx.rotate(0.5 * Math.PI); + ctx.scale(1,-1); + break; + case 6: + ctx.rotate(0.5 * Math.PI); + ctx.translate(0,-height); + break; + case 7: + ctx.rotate(0.5 * Math.PI); + ctx.translate(width,-height); + ctx.scale(-1,1); + break; + case 8: + ctx.rotate(-0.5 * Math.PI); + ctx.translate(-width,0); + break; + } + } + ctx.drawImage(img, 0, 0); + ctx.restore(); + + //Let's find the max available width for scaled image + var ratio = canvas.width/canvas.height; + var mWidth = Math.min(this.config.maxWidth, ratio*this.config.maxHeight); + if ( (this.config.maxSize>0) && (this.config.maxSize= (2 * mWidth)) { + canvas = this.getHalfScaleCanvas(canvas); + } + + if (canvas.width > mWidth) { + canvas = this.scaleCanvasWithAlgorithm(canvas, mWidth); + } + + var imageData = canvas.toDataURL('image/jpeg', this.config.quality); + if (typeof this.config.onScale === 'function') { + this.config.onScale(imageData); + } + this.performUpload(imageData, completionCallback); +}; + +ImageUploader.prototype.performUpload = function(imageData, completionCallback) { + var xhr = new XMLHttpRequest(); + var This = this; + var uploadInProgress = true; + var headers = this.config.requestHeaders; + var headersArray; + var i; + + xhr.onload = function(e) { + uploadInProgress = false; + This.uploadComplete(e, completionCallback); + }; + xhr.upload.addEventListener("progress", function(e) { + This.progressUpdate(e.loaded, e.total); + }, false); + xhr.open('POST', this.config.uploadUrl, true); + + if(typeof headers === 'object' && headers !== null) { + Object.keys(headers).forEach(function(key,index) { + if(typeof headers[key] !== 'string') { + headersArray = headers[key]; + for(i = 0, j = headersArray.length; i < j; i++) { + xhr.setRequestHeader(key, headersArray[i]); + } + } else { + xhr.setRequestHeader(key, headers[key]); + } + }); + } + + xhr.send(imageData.split(',')[1]); + + if (this.config.timeout) { + setTimeout(function() { + if (uploadInProgress) { + xhr.abort(); + This.uploadComplete({ + target: { + status: 'Timed out' + } + }, completionCallback); + } + }, this.config.timeout); + } + + if (this.config.debug) { + var resizedImage = document.createElement('img'); + this.config.workspace.appendChild(document.createElement('br')); + this.config.workspace.appendChild(resizedImage); + + resizedImage.src = imageData; + } +}; + +ImageUploader.prototype.uploadComplete = function(event, completionCallback) { + this.progressObject.done++; + this.progressUpdate(0, 0); + completionCallback(); + if (typeof this.config.onFileComplete === 'function') { + this.config.onFileComplete(event, this.currentFile); + } +}; + +ImageUploader.prototype.progressUpdate = function(itemDone, itemTotal) { + console.log('Uploaded '+itemDone+' of '+itemTotal); + this.progressObject.currentItemDone = itemDone; + this.progressObject.currentItemTotal = itemTotal; + if (this.config.onProgress) { + this.config.onProgress(this.progressObject); + } +}; + +ImageUploader.prototype.scaleCanvasWithAlgorithm = function(canvas, maxWidth) { + var scaledCanvas = document.createElement('canvas'); + + var scale = maxWidth / canvas.width; + + scaledCanvas.width = canvas.width * scale; + scaledCanvas.height = canvas.height * scale; + + var srcImgData = canvas.getContext('2d').getImageData(0, 0, canvas.width, canvas.height); + var destImgData = scaledCanvas.getContext('2d').createImageData(scaledCanvas.width, scaledCanvas.height); + + this.applyBilinearInterpolation(srcImgData, destImgData, scale); + + scaledCanvas.getContext('2d').putImageData(destImgData, 0, 0); + + return scaledCanvas; +}; + +ImageUploader.prototype.getHalfScaleCanvas = function(canvas) { + var halfCanvas = document.createElement('canvas'); + halfCanvas.width = canvas.width / 2; + halfCanvas.height = canvas.height / 2; + + halfCanvas.getContext('2d').drawImage(canvas, 0, 0, halfCanvas.width, halfCanvas.height); + + return halfCanvas; +}; + +ImageUploader.prototype.applyBilinearInterpolation = function(srcCanvasData, destCanvasData, scale) { + function inner(f00, f10, f01, f11, x, y) { + var un_x = 1.0 - x; + var un_y = 1.0 - y; + return (f00 * un_x * un_y + f10 * x * un_y + f01 * un_x * y + f11 * x * y); + } + var i, j; + var iyv, iy0, iy1, ixv, ix0, ix1; + var idxD, idxS00, idxS10, idxS01, idxS11; + var dx, dy; + var r, g, b, a; + for (i = 0; i < destCanvasData.height; ++i) { + iyv = i / scale; + iy0 = Math.floor(iyv); + // Math.ceil can go over bounds + iy1 = (Math.ceil(iyv) > (srcCanvasData.height - 1) ? (srcCanvasData.height - 1) : Math.ceil(iyv)); + for (j = 0; j < destCanvasData.width; ++j) { + ixv = j / scale; + ix0 = Math.floor(ixv); + // Math.ceil can go over bounds + ix1 = (Math.ceil(ixv) > (srcCanvasData.width - 1) ? (srcCanvasData.width - 1) : Math.ceil(ixv)); + idxD = (j + destCanvasData.width * i) * 4; + // matrix to vector indices + idxS00 = (ix0 + srcCanvasData.width * iy0) * 4; + idxS10 = (ix1 + srcCanvasData.width * iy0) * 4; + idxS01 = (ix0 + srcCanvasData.width * iy1) * 4; + idxS11 = (ix1 + srcCanvasData.width * iy1) * 4; + // overall coordinates to unit square + dx = ixv - ix0; + dy = iyv - iy0; + // I let the r, g, b, a on purpose for debugging + r = inner(srcCanvasData.data[idxS00], srcCanvasData.data[idxS10], srcCanvasData.data[idxS01], srcCanvasData.data[idxS11], dx, dy); + destCanvasData.data[idxD] = r; + + g = inner(srcCanvasData.data[idxS00 + 1], srcCanvasData.data[idxS10 + 1], srcCanvasData.data[idxS01 + 1], srcCanvasData.data[idxS11 + 1], dx, dy); + destCanvasData.data[idxD + 1] = g; + + b = inner(srcCanvasData.data[idxS00 + 2], srcCanvasData.data[idxS10 + 2], srcCanvasData.data[idxS01 + 2], srcCanvasData.data[idxS11 + 2], dx, dy); + destCanvasData.data[idxD + 2] = b; + + a = inner(srcCanvasData.data[idxS00 + 3], srcCanvasData.data[idxS10 + 3], srcCanvasData.data[idxS01 + 3], srcCanvasData.data[idxS11 + 3], dx, dy); + destCanvasData.data[idxD + 3] = a; + } + } +}; + +ImageUploader.prototype.setConfig = function(customConfig) { + this.config = customConfig; + this.config.debug = this.config.debug || false; + this.config.quality = 1.00; + if (0.00 < customConfig.quality && customConfig.quality <= 1.00) { + this.config.quality = customConfig.quality; + } + if ( (!this.config.maxWidth) || (this.config.maxWidth<0) ){ + this.config.maxWidth = 1024; + } + if ( (!this.config.maxHeight) || (this.config.maxHeight<0) ) { + this.config.maxHeight = 1024; + } + if ( (!this.config.maxSize) || (this.config.maxSize<0) ) { + this.config.maxSize = null; + } + if ( (!this.config.scaleRatio) || (this.config.scaleRatio <= 0) || (this.config.scaleRatio >= 1) ) { + this.config.scaleRatio = null; + } + this.config.autoRotate = true; + if (typeof customConfig.autoRotate === 'boolean') { + this.config.autoRotate = customConfig.autoRotate; + } + + // Create container if none set + if (!this.config.workspace) { + this.config.workspace = document.createElement('div'); + document.body.appendChild(this.config.workspace); + } +}; diff --git a/src/main/resources/public/index.html b/test/index.html similarity index 68% rename from src/main/resources/public/index.html rename to test/index.html index 2856589..ff85e34 100644 --- a/src/main/resources/public/index.html +++ b/test/index.html @@ -1,95 +1,78 @@ - - - - -HTML5 ImageUploader Example - - - - - - - - - - - - - - - - - -

HTML5 ImageUploader Example

-

- Jersey resource -

- -

Todo List

-
    -
  • Input type file (multiple) for image selection -
  • -
  • Javascript unit tests on behaviour of ImageUploader module
  • -
  • Drag and drop image selection
  • -
  • Client-side image preview in div / img / canvas -
  • -
  • Upload progress bar
  • -
  • Client side resize to specified max width and/or - height using Canvas and bilinear - interpolation - -
  • -
  • web workers if supported for client side operations such as - resize algorithm
  • -
  • XMLHttpRequest2 for file upload with progress status
  • -
  • Check for required javascript APIs (XMLHttpRequest2 and - FileReader?) in current browser with optional callback for behaviour
  • -
  • Handle on error of XMLHttpRequest
  • -
  • Optional timeout in config to trigger on error
  • -
- -

The ImageUploader in all its glory!

- - - -
-
-
- - - - + + + + +HTML5 ImageUploader Example + + + + + + + + + + + + + +

HTML5 ImageUploader Example

+

+ Jersey resource +

+ +

Todo List

+
    +
  • Input type file (multiple) for image selection
  • +
  • Javascript unit tests on behaviour of ImageUploader module
  • +
  • Drag and drop image selection
  • +
  • Client-side image preview in div / img / canvas
  • +
  • Upload progress bar
  • +
  • Client side resize to specified max width and/or height using Canvas and bilinear interpolation
  • +
  • web workers if supported for client side operations such as resize algorithm
  • +
  • XMLHttpRequest2 for file upload with progress status
  • +
  • Check for required javascript APIs (XMLHttpRequest2 and FileReader?) in current browser with optional callback for behaviour
  • +
  • Handle on error of XMLHttpRequest
  • +
  • Optional timeout in config to trigger on error
  • +
+ +

The ImageUploader in all its glory!

+ + + +
+
+
+ + + + From 021b3f26658ff355285dc95c435ea638c8eba566 Mon Sep 17 00:00:00 2001 From: Jerzy Brzozowski Date: Thu, 22 Aug 2019 18:02:17 +0200 Subject: [PATCH 2/4] Demo moved to node --- .gitignore | 3 +- HTML5-ImageUploader.sublime-workspace | 1413 ------------------------- package-lock.json | 424 ++++++++ package.json | 26 + src/ImageUploader.js | 280 +++-- test/index.html | 11 +- 6 files changed, 643 insertions(+), 1514 deletions(-) delete mode 100644 HTML5-ImageUploader.sublime-workspace create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore index cbf7581..1a79108 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ target/ -.settings/ \ No newline at end of file +.settings/ +/node_modules/ diff --git a/HTML5-ImageUploader.sublime-workspace b/HTML5-ImageUploader.sublime-workspace deleted file mode 100644 index b670468..0000000 --- a/HTML5-ImageUploader.sublime-workspace +++ /dev/null @@ -1,1413 +0,0 @@ -{ - "auto_complete": - { - "selected_items": - [ - [ - "DA", - "DAYS" - ], - [ - "DAY", - "DAYS_MAX" - ], - [ - "xDe", - "xDebugCustom" - ], - [ - "xD", - "xDebugEnabled" - ], - [ - "sy", - "synced_folder" - ], - [ - "wit", - "withProfiler" - ], - [ - "input", - "input-group" - ], - [ - "valid", - "validForAnonymous" - ], - [ - "clas", - "classic" - ], - [ - "array_f", - "array_filter" - ], - [ - "readCate", - "readCategoryHotsRandom" - ], - [ - "padd", - "padding-top" - ], - [ - "accent", - "color-accent" - ], - [ - "z-", - "z-depth-1-half" - ], - [ - "bor", - "border-left" - ], - [ - "no", - "nowrap\twhite-space" - ], - [ - "ali", - "align-items" - ], - [ - "text-w", - "text-overflow\tproperty" - ], - [ - "barI", - "barItem" - ], - [ - "barB", - "barButikLimit" - ], - [ - "max", - "maxHeight" - ], - [ - "bar", - "barButikLabel" - ], - [ - "readCat", - "readCatsCnv" - ], - [ - "BAR", - "BAR_BUTIK_CAT_RAND" - ], - [ - "B", - "BAR_BUTIK_NONE" - ], - [ - "buti", - "barButik" - ], - [ - "BA", - "BAR_BUTIK_CAT_RAND" - ], - [ - "over", - "overflow-x\tproperty" - ], - [ - "catName", - "catNames" - ], - [ - "Re", - "ResultRow" - ], - [ - "to", - "toInject" - ], - [ - "carous", - "carousel" - ], - [ - "but", - "butikInfo" - ], - [ - "butik", - "butikInfo" - ], - [ - "alig", - "align-self" - ], - [ - "card-", - "card-img-top" - ], - [ - "szafa", - "szafaCat" - ], - [ - "szaa", - "szafaCat" - ], - [ - "clot", - "clothInfo" - ], - [ - "cat_", - "cat_html" - ], - [ - "inje", - "injectButikReplace" - ], - [ - "res", - "result" - ], - [ - "injec", - "injectButikLimit" - ], - [ - "ads", - "adsCnt" - ], - [ - "var", - "var_dump" - ], - [ - "array_", - "array_push" - ], - [ - "promoIn", - "promoInjectLimit" - ], - [ - "IDX_", - "IDX_CAT_HTMLNAME" - ], - [ - "Di", - "DisplayItemsControl" - ], - [ - "debug", - "debug_print_backtrace" - ], - [ - "print", - "print_r" - ], - [ - "ca", - "category" - ], - [ - "urlHo", - "urlHotMain" - ], - [ - "TYPE", - "TYPE_JSON" - ], - [ - "vb", - "vbGuestAutoUpdate" - ], - [ - "fore", - "foreach" - ], - [ - "backgroun", - "background-position\tproperty" - ], - [ - "co", - "cover\tbackground-size" - ], - [ - "back", - "background-size\tproperty" - ], - [ - "show", - "showAdsMobile" - ], - [ - "skip", - "skippedRows" - ], - [ - "verif", - "verifyCodeRegexClean" - ], - [ - "accoun", - "accountNo" - ], - [ - "CS", - "CSV_TITLE_1" - ], - [ - "date", - "date_to" - ], - [ - "conv", - "conversion" - ], - [ - "conver", - "convertAd" - ], - [ - "TYPE_", - "TYPE_MOBILE" - ], - [ - "bal", - "balanceReal" - ], - [ - "margi", - "margin-bottom\tproperty" - ], - [ - "marg", - "margin-bottom\tproperty" - ], - [ - "color-acc", - "color-accent-dark" - ], - [ - "color-text-", - "color-text-lighter" - ], - [ - "space", - "space-between\talign-content" - ], - [ - "shop", - "shop_info" - ], - [ - "erro", - "error_reporting" - ], - [ - "withA", - "withApacheSites" - ], - [ - "gene", - "generateInfo" - ], - [ - "t_w", - "t_w_p" - ], - [ - "pic", - "picture-row" - ], - [ - "form", - "form-control" - ], - [ - "fo", - "form-control" - ], - [ - "vals", - "valsEx" - ], - [ - "val", - "valsUrl" - ], - [ - "posi", - "position-relative" - ], - [ - "wid", - "width\tproperty" - ], - [ - "scale", - "scaleWidth" - ], - [ - "sca", - "scaleWPerc" - ], - [ - "scap", - "scaleHPerc" - ], - [ - "flex", - "flex-flow\tproperty" - ], - [ - "style", - "styleSheet" - ], - [ - "Grupa", - "GrupaSzafaInfrastructure" - ], - [ - "pri", - "print_r" - ], - [ - "enabled", - "enabledVerAdv" - ], - [ - "norm", - "normalizeForRegex" - ], - [ - "fiel", - "fieldsForReges" - ], - [ - "add", - "addslashes" - ], - [ - "str_rep", - "str_replace" - ], - [ - "norma", - "normalizeWhiteSpace" - ], - [ - "user", - "user_info" - ], - [ - "_str", - "_str_t" - ], - [ - "DO", - "DOTPAY_accountNo" - ], - [ - "preg_c", - "preg_replace" - ], - [ - "Obserw", - "Obserwujący" - ], - [ - "prep", - "prepareForUsersList" - ], - [ - "fav", - "favdata" - ], - [ - "esc", - "escapeHtml" - ], - [ - "plain_", - "plain_stripped" - ], - [ - "pre", - "prepareTotalItems" - ], - [ - "inline", - "inline-block\tdisplay" - ], - [ - "AD", - "AD_DEBUG" - ], - [ - "AD_", - "AD_GA_DEBUG" - ], - [ - "AD_GA_DESK", - "AD_GA_DESKTOP_TO" - ], - [ - "AD_G", - "AD_GA_DEBUG" - ], - [ - "AD_GA", - "AD_GA_DESKTOP_TO" - ], - [ - "AD_GA_DE", - "AD_GA_DESKTOP_FROM" - ], - [ - "wra", - "word-wrap\tproperty" - ], - [ - "spa", - "space-between\tjustify-content" - ], - [ - "bran", - "brandUrlPfx" - ], - [ - "for", - "foreach\tforeach …" - ], - [ - "defin", - "defined" - ], - [ - "showAds", - "showAdsDesktop" - ], - [ - "messa", - "messages" - ], - [ - "phoru", - "phorum_mod_ads_helper_add_ads" - ], - [ - "veri", - "verifyCodeRegexClean" - ], - [ - "A", - "AD_GA_MOBILE_FROM" - ], - [ - "QR_", - "QR_GET_FAV_WATCHING" - ], - [ - "QR", - "QR_GET_FAV_USERS" - ] - ] - }, - "buffers": - [ - { - "file": "src-old/main/resources/public/js/ImageUploader.js", - "settings": - { - "buffer_size": 13620, - "line_ending": "Windows" - } - } - ], - "build_system": "", - "build_system_choices": - [ - ], - "build_varint": "", - "command_palette": - { - "height": 354.0, - "last_filter": "", - "selected_items": - [ - [ - "pci", - "Package Control: Install Package" - ], - [ - "Package Control: ", - "Package Control: Upgrade/Overwrite All Packages" - ], - [ - "dis", - "Package Control: Disable Package" - ], - [ - "PHP Code Sniffer: ", - "PHP Code Sniffer: Sniff this file" - ], - [ - "pcu", - "Package Control: Upgrade Package" - ], - [ - "PCI", - "Package Control: Install Package" - ] - ], - "width": 480.0 - }, - "console": - { - "height": 508.0, - "history": - [ - "clear", - "sublime.debug", - "sublime", - "debug", - "cls", - "clear", - "cls", - "clr", - "clear", - "import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0ef93d5f746d80ef60'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by) " - ] - }, - "distraction_free": - { - "menu_visible": true, - "show_minimap": false, - "show_open_files": false, - "show_tabs": false, - "side_bar_visible": false, - "status_bar_visible": false - }, - "expanded_folders": - [ - "/D/Projects/Work/HTML5-ImageUploader", - "/D/Projects/Work/HTML5-ImageUploader/src-old", - "/D/Projects/Work/HTML5-ImageUploader/src-old/main", - "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources", - "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources/public", - "/D/Projects/Work/HTML5-ImageUploader/src-old/main/resources/public/js" - ], - "file_history": - [ - "/D/Projects/Work/szafa/szafa.pl/app-ads.txt", - "/D/Projects/Work/szafa/szafa.pl/templates/help.tpl", - "/D/Projects/Work/szafa/szafa.pl/ajax/functions.php", - "/D/Projects/Work/szafa/vm/.common/upload.ini", - "/D/Projects/Work/szafa/vm/.common/xdebug_remote.ini", - "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init-pre.sh", - "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init-xdebug.sh", - "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/provision-init.sh", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/bar-butik.tpl", - "/D/Projects/Work/szafa/szafa.pl/includes/config_butik_cats_conversion.php", - "/D/Projects/Work/szafa/szafa.pl/includes/config_mods.php", - "/D/Projects/Work/szafa/szafa.pl/generators/butik_cats_hot.php", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/carousel-lists.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/przedmiot.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/Category.php", - "/D/Projects/Work/szafa/scss/szafa/_global.scss", - "/D/Projects/Work/szafa/scss/szafa/_theme_defaults.scss", - "/D/Projects/Work/szafa/scss/szafa/_popular.scss", - "/D/Projects/Work/szafa/szafa.pl/mods/filtruj.php", - "/D/Projects/Work/szafa/szafa.pl/templates/category.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/category.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/menu-fixed.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/UrlHelper.php", - "/D/Projects/Work/szafa/szafa.pl/includes/config.php", - "/D/Projects/Work/szafa/szafa.pl/templates/layout.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/search.php", - "/D/Projects/Work/szafa/szafa.pl/templates/search.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/DisplayItemsControl.php", - "/D/Projects/Work/szafa/szafa.pl/class/ModsConstructor.php", - "/D/Projects/Work/szafa/szafa.pl/templates/konkursy/2019-second-hand.tpl", - "/D/Projects/Work/szafa/szafa.pl/static/theme.css", - "/D/Projects/Work/szafa/szafa.pl/class/ModsBase.php", - "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_contests_add_sell.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_contests_add_sell.php", - "/D/Projects/Work/szafa/szafa.pl/templates/head.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/porada.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/similar-items.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/przedmiot.php", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/single-item.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/Searcher.php", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/box-nowosci-left.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/OVUser.php", - "/D/Projects/Work/szafa/szafa.pl/class/CurlHelper.php", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/display-item-cloth.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/index.php", - "/D/Projects/Work/szafa/szafa.pl/class/Cache.php", - "/D/Projects/Work/szafa/szafa.pl/templates/index.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/layout1to2.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/display-2-single-item.tpl", - "/D/Projects/Work/szafa/szafka.pl/templates/filtruj.tpl", - "/D/Projects/Work/szafa/infrastructure/crons/main-machine.cron", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/logo.tpl", - "/D/Projects/Work/szafa/szafa.pl/generators/night.php", - "/D/Projects/Work/szafa/acc.szafa.pl/mods/email_verify.php", - "/D/Projects/Work/szafa/acc.szafa.pl/class/Frame.php", - "/D/Projects/Work/szafa/szafa.pl/mods/aktywacja.php", - "/D/Projects/Work/szafa/szafa.pl/templates/email_verify_reactivate.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/logo-img.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/email_verify_reactivate.php", - "/D/Projects/Work/szafa/szafa.pl/mods/category.php", - "/D/Projects/Work/szafa/szafa.pl/generators/out.txt", - "/D/Projects/Work/szafa/szafa.pl/static/common.js", - "/D/Projects/Work/szafa/scss/szafa/_forum-fixes.scss", - "/D/Projects/Work/szafa/szafa.pl/mods/dodaj-do-kramiku.php", - "/D/Projects/Work/szafa/szafa.pl/templates/bezpieczna-szafa-gwarancja.tpl", - "/D/Projects/Work/szafa/scss/szafa/_admin.scss", - "/D/Projects/Work/szafa/scss/szafa/_base.scss", - "/D/Projects/Work/szafa/acc.szafa.pl/class/DBHelper.php", - "/D/Projects/Work/szafa/szafa.pl/class/DBHelper.php", - "/D/Projects/Work/szafa/forum.szafa.pl/templates/.htaccess", - "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa/footer.tpl", - "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa/forum_best.tpl", - "/D/Projects/Work/szafa/forum.szafa.pl/templates/nowa-szafa-2/footer.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/contexti.tpl", - "/D/Projects/Work/szafa/vm/ubuntu-szafa.pl/Vagrantfile", - "/D/Projects/Work/szafa/szafa.pl/ads.txt", - "/D/Projects/Work/szafa/forum.szafa.pl/templates/emerald/forum_best.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-mobile.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-responsive.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/Unifier.php", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ads-foot-mobile.tpl", - "/D/Downloads/transakcje20190514115816.csv", - "/D/Projects/Own/zazielen/mockup/index.html", - "/D/Projects/Work/szafa/szafa.pl/templates/parts/ads/ga-mobile-div-by.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/stopka.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/item-right.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/cloth-action-icons.tpl", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/hourly.php", - "/D/Projects/Work/szafa/szafa.pl/templates/bezpieczna-szafa.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/NewCloth.php", - "/D/Projects/Work/szafa/szafka.pl/templates/przedmiot_strona_prawa.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/lista.php", - "/D/Projects/Work/szafa/szafa.pl/.htaccess", - "/D/Projects/Work/szafa/szafa.pl/templates/layout_base.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/before-body-end.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ad-fly-sky-right.tpl", - "/D/Projects/Work/szafa/szafa.pl/includes/__gver.php", - "/D/Projects/Work/szafa/gulpfile-szafa-GroM.js", - "/D/Projects/Work/szafa/szafa.pl/class/ClothCarousel.php", - "/D/Projects/Work/szafa/szafa.pl/class/BalanceHelper.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/AliorBank2018.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/mods/weryfikacje-szczegoly.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/AliorBank.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/getPaymentsFromAlior.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/verifyProperUsers.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/templates/menu-top.tpl", - "/D/Downloads/export20190329172620.csv", - "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_news_form.tpl", - "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_news_form.php", - "/D/Projects/Work/szafa/szafa.pl/class/Advice.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/mods/weryfikacje-upload.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/admin/templates/weryfikacje-upload.tpl", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/Xcms.php", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/class/Banks.php", - "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_payoff_file.php", - "/D/Projects/Work/szafa/szafa.pl/mods/admin/admin_payoff_files.php", - "/D/Projects/Work/szafa/szafa.pl/templates/profil.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/footer.tpl", - "/D/Projects/Work/szafa/szafa.pl/templates/boxy/ad-ga-mc.tpl", - "/D/Projects/Work/szafa/acc.szafa.pl/crm/crond/getPaymentsFromMbank.php", - "/D/Projects/Work/szafa/szafa.pl/templates/admin/admin_forum_ciekawe.tpl", - "/D/Projects/Work/szafa/szafa.pl/includes/config_autoloader.php", - "/D/Projects/Work/szafa/szafa.pl/mods/cloth_new_shop.php", - "/D/Projects/Work/szafa/szafa.pl/mods/new_item.php", - "/D/Projects/Work/szafa/szafa.pl/class/NewClothShop.php", - "/D/Projects/Work/szafa/scss/szafa/_unpopular.scss", - "/D/Projects/Work/szafa/szafa.pl/templates/ustawienia_saldo.tpl", - "/D/Projects/Work/szafa/szafa.pl/class/Balance.php" - ], - "find": - { - "height": 40.0 - }, - "find_in_files": - { - "height": 198.0, - "where_history": - [ - ] - }, - "find_state": - { - "case_sensitive": false, - "find_history": - [ - ], - "highlight": true, - "in_selection": false, - "preserve_case": false, - "regex": false, - "replace_history": - [ - ], - "reverse": false, - "show_context": true, - "use_buffer2": true, - "whole_word": false, - "wrap": true - }, - "groups": - [ - { - "selected": 0, - "sheets": - [ - { - "buffer": 0, - "file": "src-old/main/resources/public/js/ImageUploader.js", - "semi_transient": true, - "settings": - { - "buffer_size": 13620, - "regions": - { - }, - "selection": - [ - [ - 0, - 0 - ] - ], - "settings": - { - "SL.211.region_keys": - [ - ], - "syntax": "Packages/JavaScript/JavaScript.sublime-syntax", - "tab_size": 4, - "translate_tabs_to_spaces": true - }, - "translation.x": 0.0, - "translation.y": 0.0, - "zoom_level": 1.0 - }, - "stack_index": 0, - "type": "text" - } - ] - } - ], - "incremental_find": - { - "height": 27.0 - }, - "input": - { - "height": 80.0 - }, - "layout": - { - "cells": - [ - [ - 0, - 0, - 1, - 1 - ] - ], - "cols": - [ - 0.0, - 1.0 - ], - "rows": - [ - 0.0, - 1.0 - ] - }, - "menu_visible": true, - "output.SublimeLinter": - { - "height": 0.0 - }, - "output.SublimeLinter Messages": - { - "height": 120.0 - }, - "output.find_results": - { - "height": 0.0 - }, - "output.unsaved_changes": - { - "height": 120.0 - }, - "pinned_build_system": "", - "project": "HTML5-ImageUploader.sublime-project", - "replace": - { - "height": 50.0 - }, - "save_all_on_build": true, - "select_file": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - [ - "lista_prze", - "szafa.pl\\mods\\lista_przedmiotow.php" - ], - [ - "htace", - "szafa.pl\\.htaccess" - ], - [ - "confi", - "szafa.pl\\includes\\config.php" - ], - [ - "admin_aba", - "szafa.pl\\mods\\admin\\admin_abandoned_transactions.php" - ], - [ - "DBH", - "szafa.pl\\class\\DBHelper.php" - ], - [ - "htacc", - "szafa.pl\\.htaccess" - ], - [ - "blogs\\blo", - "szafa.pl\\templates\\blogs\\blog.tpl" - ], - [ - "config_mod", - "szafa.pl\\includes\\config_mods.php" - ], - [ - "spolecz", - "szafa.pl\\mods\\spolecznosc.php" - ], - [ - "", - "szafa.pl\\class\\DBHelper.php" - ], - [ - "admin_an", - "szafa.pl\\mods\\admin\\admin_abandoned_transactions.php" - ], - [ - "help.tpl", - "szafa.pl\\templates\\help.tpl" - ], - [ - "function", - "szafa.pl\\ajax\\functions.php" - ], - [ - "butik", - "szafa.pl\\class\\Butik.php" - ], - [ - "config_bu", - "szafa.pl\\includes\\config_butik_cats_conversion.php" - ], - [ - "Mod", - "szafa.pl\\class\\ModsBase.php" - ], - [ - "_pop", - "scss\\szafa\\_popular.scss" - ], - [ - "layou", - "szafa.pl\\templates\\layout_base.tpl" - ], - [ - "Buti", - "szafa.pl\\class\\Butik.php" - ], - [ - "ModsB", - "szafa.pl\\class\\ModsBase.php" - ], - [ - "single", - "szafa.pl\\templates\\parts\\single-item.tpl" - ], - [ - "vagr", - "vm\\ubuntu-szafa.pl\\Vagrantfile" - ], - [ - "popular", - "scss\\szafa\\_popular.scss" - ], - [ - "Cate", - "szafa.pl\\class\\Category.php" - ], - [ - "Butik", - "szafa.pl\\class\\Butik.php" - ], - [ - "fil", - "szafa.pl\\mods\\filtruj.php" - ], - [ - "boxy/cate", - "szafa.pl\\templates\\boxy\\category.tpl" - ], - [ - "categor", - "szafa.pl\\templates\\category.tpl" - ], - [ - "filtru", - "szafa.pl\\mods\\filtruj.php" - ], - [ - "przedmiot.ph", - "szafa.pl\\mods\\przedmiot.php" - ], - [ - "parts/ca", - "szafa.pl\\templates\\parts\\carousel-lists.tpl" - ], - [ - "przedmiot.tp", - "szafa.pl\\templates\\przedmiot.tpl" - ], - [ - "config_", - "szafa.pl\\includes\\config_butik_cats_conversion.php" - ], - [ - "admin_conadd", - "szafa.pl\\templates\\admin\\admin_contests_add_sell.tpl" - ], - [ - "Mods", - "szafa.pl\\class\\ModsBase.php" - ], - [ - "config", - "szafa.pl\\includes\\config.php" - ], - [ - "contestadd", - "szafa.pl\\mods\\admin\\admin_contests_add_sell.php" - ], - [ - "ModsCon", - "szafa.pl\\class\\ModsConstructor.php" - ], - [ - "second", - "szafa.pl\\templates\\konkursy\\2019-second-hand.tpl" - ], - [ - "theme.css", - "szafa.pl\\static\\theme.css" - ], - [ - "Searc", - "szafa.pl\\class\\Searcher.php" - ], - [ - "search.tpl", - "szafa.pl\\templates\\search.tpl" - ], - [ - "sear", - "szafa.pl\\mods\\search.php" - ], - [ - "UrlH", - "szafa.pl\\class\\UrlHelper.php" - ], - [ - "filtr", - "szafa.pl\\mods\\filtruj.php" - ], - [ - "Displ", - "szafa.pl\\class\\DisplayItemsControl.php" - ], - [ - "porada", - "szafa.pl\\templates\\porada.tpl" - ], - [ - "simi", - "szafa.pl\\templates\\boxy\\similar-items.tpl" - ], - [ - "Cloth", - "szafa.pl\\class\\ClothCarousel.php" - ], - [ - "przedmiot.tpl", - "szafa.pl\\templates\\przedmiot.tpl" - ], - [ - "przedmio", - "szafa.pl\\mods\\przedmiot.php" - ], - [ - "single-it", - "szafa.pl\\templates\\parts\\single-item.tpl" - ], - [ - "butik_", - "szafa.pl\\generators\\butik_cats_hot.php" - ], - [ - "sin", - "szafa.pl\\templates\\parts\\single-item.tpl" - ], - [ - "layout1", - "szafa.pl\\templates\\layout1to2.tpl" - ], - [ - "templates/inde", - "szafa.pl\\templates\\index.tpl" - ], - [ - "mods/inde", - "szafa.pl\\mods\\index.php" - ], - [ - "generhot", - "szafa.pl\\generators\\butik_cats_hot.php" - ], - [ - "categ", - "szafa.pl\\templates\\category.tpl" - ], - [ - "filtruj", - "szafka.pl\\templates\\filtruj.tpl" - ], - [ - "parts/disp", - "szafa.pl\\templates\\parts\\display-item-cloth.tpl" - ], - [ - "szafa.pl\\templates\\item", - "szafa.pl\\templates\\parts\\single-item.tpl" - ], - [ - "Cac", - "szafa.pl\\class\\Cache.php" - ], - [ - "logo.tpl", - "szafa.pl\\templates\\parts\\logo.tpl" - ], - [ - "parts/logo-i", - "szafa.pl\\templates\\parts\\logo-img.tpl" - ], - [ - "email_verify_rea", - "szafa.pl\\templates\\email_verify_reactivate.tpl" - ], - [ - "email_veri_re", - "szafa.pl\\mods\\email_verify_reactivate.php" - ], - [ - "modsaktyw", - "szafa.pl\\mods\\aktywacja.php" - ], - [ - "Frame", - "acc.szafa.pl\\class\\Frame.php" - ], - [ - "Displa", - "szafa.pl\\class\\DisplayItemsControl.php" - ], - [ - "Display", - "szafa.pl\\class\\DisplayItemsControl.php" - ], - [ - "Cache", - "szafa.pl\\class\\CacheHelper.php" - ], - [ - "CacheH", - "szafa.pl\\class\\CacheHelper.php" - ], - [ - "single-", - "szafa.pl\\templates\\parts\\single-item.tpl" - ], - [ - "nig", - "szafa.pl\\generators\\night.php" - ], - [ - "Va", - "vm\\ubuntu-szafa.pl\\Vagrantfile" - ], - [ - "config.p", - "szafa.pl\\includes\\config.php" - ], - [ - "ads.", - "szafa.pl\\ads.txt" - ], - [ - "parts/conte", - "szafa.pl\\templates\\parts\\contexti.tpl" - ], - [ - "forum_bes", - "forum.szafa.pl\\templates\\nowa-szafa\\forum_best.tpl" - ], - [ - "forum/templates/", - "forum.szafa.pl\\templates\\.htaccess" - ], - [ - "pora", - "szafa.pl\\templates\\porada.tpl" - ], - [ - "acc\\DBH", - "acc.szafa.pl\\class\\DBHelper.php" - ], - [ - "OvUser", - "szafa.pl\\class\\OVUser.php" - ], - [ - "ads/", - "szafa.pl\\templates\\parts\\ads\\ga-responsive.tpl" - ], - [ - "_glo", - "scss\\szafa\\_global.scss" - ], - [ - "_p", - "scss\\szafa\\_popular.scss" - ], - [ - "ga-", - "szafa.pl\\templates\\parts\\ads\\ga-mobile.tpl" - ], - [ - "ga-mo", - "szafa.pl\\templates\\parts\\ads\\ga-mobile-div-by.tpl" - ], - [ - "boxy/stop", - "szafa.pl\\templates\\boxy\\stopka.tpl" - ], - [ - "Uni", - "szafa.pl\\class\\Unifier.php" - ], - [ - "before", - "szafa.pl\\templates\\before-body-end.tpl" - ], - [ - "alyout_b", - "szafa.pl\\templates\\layout_base.tpl" - ], - [ - "prawa", - "szafka.pl\\templates\\przedmiot_strona_prawa.tpl" - ], - [ - "newclot", - "szafa.pl\\class\\NewCloth.php" - ], - [ - "przedmi", - "szafa.pl\\mods\\przedmiot.php" - ], - [ - "_admi", - "scss\\szafa\\_admin.scss" - ], - [ - "_admin", - "scss\\szafa\\_admin.scss" - ], - [ - "_ad", - "scss\\szafa\\_admin.scss" - ], - [ - "config.php", - "szafa.pl\\includes\\config.php" - ], - [ - "prze", - "szafa.pl\\templates\\przedmiot.tpl" - ], - [ - "Searcher", - "szafa.pl\\class\\Searcher.php" - ], - [ - "lis", - "szafa.pl\\mods\\lista.php" - ], - [ - "head", - "szafa.pl\\templates\\head.tpl" - ], - [ - "layout_bas", - "szafa.pl\\templates\\layout_base.tpl" - ], - [ - "cate", - "szafa.pl\\templates\\category.tpl" - ], - [ - "lista.php", - "szafa.pl\\mods\\lista.php" - ], - [ - "config_mo", - "szafa.pl\\includes\\config_mods.php" - ], - [ - "htac", - "szafa.pl\\.htaccess" - ], - [ - "admin_new_fo", - "szafa.pl\\templates\\admin\\admin_news_form.tpl" - ], - [ - "Advice", - "szafa.pl\\class\\Advice.php" - ], - [ - "verifyprop", - "acc.szafa.pl\\crm\\crond\\verifyProperUsers.php" - ], - [ - "weryf", - "acc.szafa.pl\\crm\\admin\\mods\\weryfikacje-szczegoly.php" - ], - [ - "xcms", - "acc.szafa.pl\\crm\\class\\Xcms.php" - ], - [ - "Bank", - "acc.szafa.pl\\crm\\class\\Banks.php" - ], - [ - "getPa", - "acc.szafa.pl\\crm\\crond\\getPaymentsFromAlior.php" - ], - [ - "footer", - "szafa.pl\\templates\\footer.tpl" - ], - [ - "ad-ga-mc", - "szafa.pl\\templates\\boxy\\ad-ga-mc.tpl" - ], - [ - "profil", - "szafa.pl\\templates\\profil.tpl" - ], - [ - "acc\\mbank", - "acc.szafa.pl\\crm\\crond\\getPaymentsFromMbank.php" - ], - [ - "Alior", - "acc.szafa.pl\\crm\\class\\AliorBank.php" - ], - [ - "layou_b", - "szafa.pl\\templates\\layout_base.tpl" - ], - [ - "ModsC", - "szafa.pl\\class\\ModsConstructor.php" - ], - [ - "gulp", - "gulpfile-szafa-GroM.js" - ], - [ - "ClothCa", - "szafa.pl\\class\\ClothCarousel.php" - ], - [ - "BalanceHel", - "szafa.pl\\class\\BalanceHelper.php" - ], - [ - "admin_payoff_files", - "szafa.pl\\mods\\admin\\admin_payoff_files.php" - ], - [ - "admin_payo", - "szafa.pl\\mods\\admin\\admin_payoff_file.php" - ] - ], - "width": 0.0 - }, - "select_project": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 0.0 - }, - "select_symbol": - { - "height": 0.0, - "last_filter": "", - "selected_items": - [ - ], - "width": 0.0 - }, - "selected_group": 0, - "settings": - { - }, - "show_minimap": true, - "show_open_files": false, - "show_tabs": true, - "side_bar_visible": true, - "side_bar_width": 333.0, - "status_bar_visible": true, - "template_settings": - { - } -} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8ba9d86 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,424 @@ +{ + "name": "html5-imageuploader", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.0" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2a213e1 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "html5-imageuploader", + "version": "1.0.0", + "description": "The primary goal of this project is ImageUploader.js, a javascript module which can perform client-side resizing of images and uploads to a remote server using only HTML5 features (e.g. the Canvas and FileReader APIs).", + "main": "index.js", + "directories": { + "test": "test" + }, + "dependencies": {}, + "devDependencies": { + "express": "^4.17.1" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/GroM/HTML5-ImageUploader.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/GroM/HTML5-ImageUploader/issues" + }, + "homepage": "https://github.com/GroM/HTML5-ImageUploader#readme" +} diff --git a/src/ImageUploader.js b/src/ImageUploader.js index 0a04fe2..7b475be 100644 --- a/src/ImageUploader.js +++ b/src/ImageUploader.js @@ -1,19 +1,23 @@ /** * ImageUploader.js - a client-side image resize and upload javascript module - * + * * @author Ross Turner (https://github.com/rossturner) */ -var ImageUploader = function(config) { - if (!config || (!config.inputElement) || (!config.inputElement.getAttribute) || config.inputElement.getAttribute('type') !== 'file') { +var ImageUploader = function(config) +{ + if (!config || (!config.inputElement) || (!config.inputElement.getAttribute) || config.inputElement.getAttribute('type') !== 'file') + { throw new Error('Config object passed to ImageUploader constructor must include "inputElement" set to be an element of type="file"'); } this.setConfig(config); var This = this; - this.config.inputElement.addEventListener('change', function(event) { + this.config.inputElement.addEventListener('change', function(event) + { var fileArray = []; var cursor = 0; - for (; cursor < This.config.inputElement.files.length; ++cursor) { + for (; cursor < This.config.inputElement.files.length; ++cursor) + { fileArray.push(This.config.inputElement.files[cursor]); } This.progressObject = { @@ -22,61 +26,81 @@ var ImageUploader = function(config) { currentItemTotal : 0, currentItemDone : 0 }; - if (typeof This.config.onProgress === 'function') { + if (typeof This.config.onProgress === 'function') + { This.config.onProgress(This.progressObject); } This.handleFileList(fileArray, This.progressObject); }, false); - if (This.config.debug) { + if (This.config.debug) + { console.log('Initialised ImageUploader for ' + This.config.inputElement); } }; -ImageUploader.prototype.handleFileList = function(fileArray) { +ImageUploader.prototype.handleFileList = function(fileArray) +{ var This = this; - if (fileArray.length > 1) { + if (fileArray.length > 1) + { var file = fileArray.shift(); - this.handleFileSelection(file, function() { + this.handleFileSelection(file, function() + { This.handleFileList(fileArray); }); - } else if (fileArray.length === 1) { - this.handleFileSelection(fileArray[0], function() { - if (typeof This.config.onComplete === 'function') { + } + else if (fileArray.length === 1) + { + this.handleFileSelection(fileArray[0], function() + { + if (typeof This.config.onComplete === 'function') + { This.config.onComplete(This.progressObject); } }); } }; -ImageUploader.prototype.handleFileSelection = function(file, completionCallback) { +ImageUploader.prototype.handleFileSelection = function(file, completionCallback) +{ var img = document.createElement('img'); this.currentFile = file; var reader = new FileReader(); var This = this; - reader.onload = function(e) { + reader.onload = function(e) + { img.src = e.target.result; - img.onload = function () { + img.onload = function () + { //Rotate image first if required - if (This.config.autoRotate) { - if (This.config.debug) { + if (This.config.autoRotate) + { + if (This.config.debug) + { console.log('ImageUploader: detecting image orientation...'); } - if ((typeof EXIF.getData === "function") && (typeof EXIF.getTag === "function")) { - EXIF.getData(img, function () { + if ((typeof EXIF.getData === "function") && (typeof EXIF.getTag === "function")) + { + EXIF.getData(img, function () + { var orientation = EXIF.getTag(this, "Orientation"); if (This.config.debug) { console.log('ImageUploader: image orientation from EXIF tag = ' + orientation); } This.scaleImage(img, completionCallback, orientation); }); - } else { + } + else + { console.error("ImageUploader: can't read EXIF data, the Exif.js library not found"); This.scaleImage(img, completionCallback); } - } else { + } + else + { //No rotation, just scale the image This.scaleImage(img, completionCallback); } @@ -85,15 +109,26 @@ ImageUploader.prototype.handleFileSelection = function(file, completionCallback) reader.readAsDataURL(file); }; -ImageUploader.prototype.drawImage = function(context, img, x, y, width, height, deg, flip, flop, center) { +ImageUploader.prototype.drawImage = function(context, img, x, y, width, height, deg, flip, flop, center) +{ context.save(); - if(typeof width === "undefined") { width = img.width; } - if(typeof height === "undefined") { height = img.height; } - if(typeof center === "undefined") { center = false; } + if(typeof width === "undefined") + { + width = img.width; + } + if(typeof height === "undefined") + { + height = img.height; + } + if(typeof center === "undefined") + { + center = false; + } // Set rotation point to center of image, instead of top/left - if(center) { + if(center) + { x -= width/2; y -= height/2; } @@ -102,71 +137,79 @@ ImageUploader.prototype.drawImage = function(context, img, x, y, width, height, context.translate(x + width/2, y + height/2); // Rotate the canvas around the origin - var rad = 2 * Math.PI - deg * Math.PI / 180; + var rad = 2 * Math.PI - deg * Math.PI / 180; context.rotate(rad); // Flip/flop the canvas - if(flip) { flipScale = -1; } else { flipScale = 1; } - if(flop) { flopScale = -1; } else { flopScale = 1; } - context.scale(flipScale, flopScale); + flipScale = flip ? -1 : 1; + flopScale = flop ? -1 : 1; + if(flipScale != 1 && flopScale != 1) + { + context.scale(flipScale, flopScale); + } - // Draw the image + // Draw the image context.drawImage(img, -width/2, -height/2, width, height); context.restore(); }; -ImageUploader.prototype.scaleImage = function(img, completionCallback, orientation) { +ImageUploader.prototype.scaleImage = function(img, completionCallback, orientation) +{ var canvas = document.createElement('canvas'); canvas.width = img.width; canvas.height = img.height; - var ctx = canvas.getContext('2d'); + var ctx = canvas.getContext('2d'); ctx.save(); - + //Good explanation of EXIF orientation is here http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ var width = canvas.width; var styleWidth = canvas.style.width; var height = canvas.height; var styleHeight = canvas.style.height; - if (typeof orientation === 'undefined') { + if (typeof orientation === 'undefined') + { orientation = 1; } - if (orientation) { - if (orientation > 4) { - canvas.width = height; - canvas.style.width = styleHeight; + if (orientation) + { + if (orientation > 4) + { + canvas.width = height; + canvas.style.width = styleHeight; canvas.height = width; canvas.style.height = styleWidth; } - switch (orientation) { - case 2: + switch (orientation) + { + case 2: ctx.translate(width, 0); - ctx.scale(-1,1); + ctx.scale(-1, 1); break; - case 3: - ctx.translate(width,height); + case 3: + ctx.translate(width, height); ctx.rotate(Math.PI); break; case 4: - ctx.translate(0,height); - ctx.scale(1,-1); + ctx.translate(0, height); + ctx.scale(1, -1); break; case 5: ctx.rotate(0.5 * Math.PI); - ctx.scale(1,-1); + ctx.scale(1, -1); break; case 6: ctx.rotate(0.5 * Math.PI); - ctx.translate(0,-height); + ctx.translate(0, -height); break; - case 7: + case 7: ctx.rotate(0.5 * Math.PI); - ctx.translate(width,-height); - ctx.scale(-1,1); + ctx.translate(width, -height); + ctx.scale(-1, 1); break; case 8: ctx.rotate(-0.5 * Math.PI); - ctx.translate(-width,0); + ctx.translate(-width, 0); break; } } @@ -174,39 +217,47 @@ ImageUploader.prototype.scaleImage = function(img, completionCallback, orientati ctx.restore(); //Let's find the max available width for scaled image - var ratio = canvas.width/canvas.height; - var mWidth = Math.min(this.config.maxWidth, ratio*this.config.maxHeight); - if ( (this.config.maxSize>0) && (this.config.maxSize 0) && (this.config.maxSize < canvas.width * canvas.height / 1000000) ) + { mWidth = Math.min(mWidth, Math.floor(Math.sqrt(this.config.maxSize * ratio) * 1000)); } - if ( !!this.config.scaleRatio ) { + if ( !!this.config.scaleRatio ) + { mWidth = Math.min(mWidth, Math.floor(this.config.scaleRatio * canvas.width)); } - if (this.config.debug){ + if (this.config.debug) + { console.log('ImageUploader: original image size = ' + canvas.width + ' px (width) X ' + canvas.height + ' px (height)'); console.log('ImageUploader: scaled image size = ' + mWidth + ' px (width) X ' + Math.floor(mWidth/ratio) + ' px (height)'); } - if (mWidth<=0){ + if (mWidth <= 0) + { mWidth = 1; console.warn('ImageUploader: image size is too small'); } - - while (canvas.width >= (2 * mWidth)) { + + while (canvas.width >= (2 * mWidth)) + { canvas = this.getHalfScaleCanvas(canvas); } - if (canvas.width > mWidth) { + if (canvas.width > mWidth) + { canvas = this.scaleCanvasWithAlgorithm(canvas, mWidth); } var imageData = canvas.toDataURL('image/jpeg', this.config.quality); - if (typeof this.config.onScale === 'function') { + if (typeof this.config.onScale === 'function') + { this.config.onScale(imageData); } this.performUpload(imageData, completionCallback); }; -ImageUploader.prototype.performUpload = function(imageData, completionCallback) { +ImageUploader.prototype.performUpload = function(imageData, completionCallback) +{ var xhr = new XMLHttpRequest(); var This = this; var uploadInProgress = true; @@ -214,44 +265,56 @@ ImageUploader.prototype.performUpload = function(imageData, completionCallback) var headersArray; var i; - xhr.onload = function(e) { + xhr.onload = function(e) + { uploadInProgress = false; This.uploadComplete(e, completionCallback); }; - xhr.upload.addEventListener("progress", function(e) { + xhr.upload.addEventListener("progress", function(e) + { This.progressUpdate(e.loaded, e.total); }, false); xhr.open('POST', this.config.uploadUrl, true); - - if(typeof headers === 'object' && headers !== null) { - Object.keys(headers).forEach(function(key,index) { - if(typeof headers[key] !== 'string') { + + if(typeof headers === 'object' && headers !== null) + { + Object.keys(headers).forEach(function(key,index) + { + if(typeof headers[key] !== 'string') + { headersArray = headers[key]; - for(i = 0, j = headersArray.length; i < j; i++) { + for(i = 0, j = headersArray.length; i < j; i++) + { xhr.setRequestHeader(key, headersArray[i]); - } - } else { - xhr.setRequestHeader(key, headers[key]); + } + } + else + { + xhr.setRequestHeader(key, headers[key]); } }); } - + xhr.send(imageData.split(',')[1]); - if (this.config.timeout) { - setTimeout(function() { - if (uploadInProgress) { + if (this.config.timeout) + { + setTimeout(function() + { + if (uploadInProgress) + { xhr.abort(); This.uploadComplete({ target: { - status: 'Timed out' + status: 'Timed out' } }, completionCallback); } }, this.config.timeout); } - - if (this.config.debug) { + + if (this.config.debug) + { var resizedImage = document.createElement('img'); this.config.workspace.appendChild(document.createElement('br')); this.config.workspace.appendChild(resizedImage); @@ -260,25 +323,30 @@ ImageUploader.prototype.performUpload = function(imageData, completionCallback) } }; -ImageUploader.prototype.uploadComplete = function(event, completionCallback) { +ImageUploader.prototype.uploadComplete = function(event, completionCallback) +{ this.progressObject.done++; this.progressUpdate(0, 0); completionCallback(); - if (typeof this.config.onFileComplete === 'function') { + if (typeof this.config.onFileComplete === 'function') + { this.config.onFileComplete(event, this.currentFile); } }; -ImageUploader.prototype.progressUpdate = function(itemDone, itemTotal) { +ImageUploader.prototype.progressUpdate = function(itemDone, itemTotal) +{ console.log('Uploaded '+itemDone+' of '+itemTotal); this.progressObject.currentItemDone = itemDone; this.progressObject.currentItemTotal = itemTotal; - if (this.config.onProgress) { + if (this.config.onProgress) + { this.config.onProgress(this.progressObject); } }; -ImageUploader.prototype.scaleCanvasWithAlgorithm = function(canvas, maxWidth) { +ImageUploader.prototype.scaleCanvasWithAlgorithm = function(canvas, maxWidth) +{ var scaledCanvas = document.createElement('canvas'); var scale = maxWidth / canvas.width; @@ -296,7 +364,8 @@ ImageUploader.prototype.scaleCanvasWithAlgorithm = function(canvas, maxWidth) { return scaledCanvas; }; -ImageUploader.prototype.getHalfScaleCanvas = function(canvas) { +ImageUploader.prototype.getHalfScaleCanvas = function(canvas) +{ var halfCanvas = document.createElement('canvas'); halfCanvas.width = canvas.width / 2; halfCanvas.height = canvas.height / 2; @@ -306,23 +375,28 @@ ImageUploader.prototype.getHalfScaleCanvas = function(canvas) { return halfCanvas; }; -ImageUploader.prototype.applyBilinearInterpolation = function(srcCanvasData, destCanvasData, scale) { - function inner(f00, f10, f01, f11, x, y) { +ImageUploader.prototype.applyBilinearInterpolation = function(srcCanvasData, destCanvasData, scale) +{ + function inner(f00, f10, f01, f11, x, y) + { var un_x = 1.0 - x; var un_y = 1.0 - y; return (f00 * un_x * un_y + f10 * x * un_y + f01 * un_x * y + f11 * x * y); } + var i, j; var iyv, iy0, iy1, ixv, ix0, ix1; var idxD, idxS00, idxS10, idxS01, idxS11; var dx, dy; var r, g, b, a; - for (i = 0; i < destCanvasData.height; ++i) { + for (i = 0; i < destCanvasData.height; ++i) + { iyv = i / scale; iy0 = Math.floor(iyv); // Math.ceil can go over bounds iy1 = (Math.ceil(iyv) > (srcCanvasData.height - 1) ? (srcCanvasData.height - 1) : Math.ceil(iyv)); - for (j = 0; j < destCanvasData.width; ++j) { + for (j = 0; j < destCanvasData.width; ++j) + { ixv = j / scale; ix0 = Math.floor(ixv); // Math.ceil can go over bounds @@ -352,32 +426,40 @@ ImageUploader.prototype.applyBilinearInterpolation = function(srcCanvasData, des } }; -ImageUploader.prototype.setConfig = function(customConfig) { +ImageUploader.prototype.setConfig = function(customConfig) +{ this.config = customConfig; this.config.debug = this.config.debug || false; this.config.quality = 1.00; - if (0.00 < customConfig.quality && customConfig.quality <= 1.00) { + if (0.00 < customConfig.quality && customConfig.quality <= 1.00) + { this.config.quality = customConfig.quality; } - if ( (!this.config.maxWidth) || (this.config.maxWidth<0) ){ + if ( (!this.config.maxWidth) || (this.config.maxWidth<0) ) + { this.config.maxWidth = 1024; } - if ( (!this.config.maxHeight) || (this.config.maxHeight<0) ) { + if ( (!this.config.maxHeight) || (this.config.maxHeight<0) ) + { this.config.maxHeight = 1024; } - if ( (!this.config.maxSize) || (this.config.maxSize<0) ) { + if ( (!this.config.maxSize) || (this.config.maxSize<0) ) + { this.config.maxSize = null; } - if ( (!this.config.scaleRatio) || (this.config.scaleRatio <= 0) || (this.config.scaleRatio >= 1) ) { + if ( (!this.config.scaleRatio) || (this.config.scaleRatio <= 0) || (this.config.scaleRatio >= 1) ) + { this.config.scaleRatio = null; } this.config.autoRotate = true; - if (typeof customConfig.autoRotate === 'boolean') { + if (typeof customConfig.autoRotate === 'boolean') + { this.config.autoRotate = customConfig.autoRotate; } // Create container if none set - if (!this.config.workspace) { + if (!this.config.workspace) + { this.config.workspace = document.createElement('div'); document.body.appendChild(this.config.workspace); } diff --git a/test/index.html b/test/index.html index ff85e34..2e688ae 100644 --- a/test/index.html +++ b/test/index.html @@ -17,11 +17,20 @@ - + + + +

HTML5 ImageUploader Example

From 3927c9b980585bf26c22bd483cc1f5d806cace39 Mon Sep 17 00:00:00 2001 From: Jerzy Brzozowski Date: Thu, 22 Aug 2019 18:02:42 +0200 Subject: [PATCH 3/4] Demo moved to node --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2a213e1..cdbbe6c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "html5-imageuploader", "version": "1.0.0", "description": "The primary goal of this project is ImageUploader.js, a javascript module which can perform client-side resizing of images and uploads to a remote server using only HTML5 features (e.g. the Canvas and FileReader APIs).", - "main": "index.js", + "main": "app.js", "directories": { "test": "test" }, @@ -11,7 +11,8 @@ "express": "^4.17.1" }, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node app.js" }, "repository": { "type": "git", From 2963050b46b91b6875357a9f07cfe2ac07147b69 Mon Sep 17 00:00:00 2001 From: Jerzy Brzozowski Date: Thu, 22 Aug 2019 18:03:39 +0200 Subject: [PATCH 4/4] Remove --- .../imageuploader/ImageResource.java | 58 --- src/main/resources/public/WEB-INF/web.xml | 29 -- .../resources/public/css/bootstrap.min.css | 356 ------------------ .../images/ui-bg_flat_55_999999_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_75_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_glass_45_0078ae_1x400.png | Bin 136 -> 0 bytes .../images/ui-bg_glass_55_f8da4e_1x400.png | Bin 131 -> 0 bytes .../images/ui-bg_glass_75_79c9ec_1x400.png | Bin 132 -> 0 bytes .../ui-bg_gloss-wave_45_e14f1c_500x100.png | Bin 3649 -> 0 bytes .../ui-bg_gloss-wave_50_6eac2c_500x100.png | Bin 4256 -> 0 bytes .../ui-bg_gloss-wave_75_2191c0_500x100.png | Bin 3457 -> 0 bytes .../ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin 88 -> 0 bytes .../start/images/ui-icons_0078ae_256x240.png | Bin 4369 -> 0 bytes .../start/images/ui-icons_056b93_256x240.png | Bin 4369 -> 0 bytes .../start/images/ui-icons_d8e7f3_256x240.png | Bin 4369 -> 0 bytes .../start/images/ui-icons_e0fdff_256x240.png | Bin 5355 -> 0 bytes .../start/images/ui-icons_f5e175_256x240.png | Bin 4369 -> 0 bytes .../start/images/ui-icons_f7a50d_256x240.png | Bin 4369 -> 0 bytes .../start/images/ui-icons_fcd113_256x240.png | Bin 4369 -> 0 bytes .../css/start/jquery-ui-1.8.17.custom.css | 297 --------------- .../public/demo-only/js/CFInstall.min.js | 10 - .../public/demo-only/js/jquery-1.7.1.min.js | 4 - .../js/jquery-ui-1.8.17.custom.min.js | 29 -- 23 files changed, 783 deletions(-) delete mode 100644 src/main/java/net/rossturner/imageuploader/ImageResource.java delete mode 100644 src/main/resources/public/WEB-INF/web.xml delete mode 100644 src/main/resources/public/css/bootstrap.min.css delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_flat_55_999999_40x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_glass_45_0078ae_1x400.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_glass_55_f8da4e_1x400.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_glass_75_79c9ec_1x400.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_0078ae_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_056b93_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_d8e7f3_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_e0fdff_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_f5e175_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_f7a50d_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/images/ui-icons_fcd113_256x240.png delete mode 100644 src/main/resources/public/demo-only/css/start/jquery-ui-1.8.17.custom.css delete mode 100644 src/main/resources/public/demo-only/js/CFInstall.min.js delete mode 100644 src/main/resources/public/demo-only/js/jquery-1.7.1.min.js delete mode 100644 src/main/resources/public/demo-only/js/jquery-ui-1.8.17.custom.min.js diff --git a/src/main/java/net/rossturner/imageuploader/ImageResource.java b/src/main/java/net/rossturner/imageuploader/ImageResource.java deleted file mode 100644 index a2b52b2..0000000 --- a/src/main/java/net/rossturner/imageuploader/ImageResource.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.rossturner.imageuploader; - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.io.IOUtils; -import spark.Spark; - -import javax.servlet.MultipartConfigElement; -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.StandardCopyOption; - - -/** - * Example resource class hosted at the URI path "/myresource" - */ -@Slf4j -public class ImageResource { - - public static void main(String[] args) { - Spark.staticFiles.location("/public"); // Static files - - Spark.get("/api/image", (req, res) -> { - res.type("text/plain"); - return "Hi there!"; - }); - - Spark.post("/api/image", (req, res) -> { - - Integer value; - - try (InputStream is = req.raw().getInputStream()) { - StringWriter writer = new StringWriter(); - IOUtils.copy(is, writer); - String theString = writer.toString(); - value = theString.length(); - - counter++; - - File of = new File("./image"+counter+".jpg"); - FileOutputStream osf = new FileOutputStream(of); - try { - osf.write(Base64.decodeBase64(theString)); - osf.flush(); - } finally { - osf.close(); - } - - } - - return Integer.toString(value); - }); - } - - static int counter = 0; - -} diff --git a/src/main/resources/public/WEB-INF/web.xml b/src/main/resources/public/WEB-INF/web.xml deleted file mode 100644 index a91524d..0000000 --- a/src/main/resources/public/WEB-INF/web.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - Jersey Web Application - com.sun.jersey.spi.container.servlet.ServletContainer - - - com.sun.jersey.config.property.packages - net.rossturner.imageuploader - - 1 - - - Jersey Web Application - /api/* - - - - - - default - - useFileMappedBuffer - false - - - diff --git a/src/main/resources/public/css/bootstrap.min.css b/src/main/resources/public/css/bootstrap.min.css deleted file mode 100644 index 617c87f..0000000 --- a/src/main/resources/public/css/bootstrap.min.css +++ /dev/null @@ -1,356 +0,0 @@ -html,body{margin:0;padding:0;} -h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,cite,code,del,dfn,em,img,q,s,samp,small,strike,strong,sub,sup,tt,var,dd,dl,dt,li,ol,ul,fieldset,form,label,legend,button,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;line-height:1;font-family:inherit;} -table{border-collapse:collapse;border-spacing:0;} -ol,ul{list-style:none;} -q:before,q:after,blockquote:before,blockquote:after{content:"";} -html{overflow-y:scroll;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} -a:focus{outline:thin dotted;} -a:hover,a:active{outline:0;} -article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} -audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} -audio:not([controls]){display:none;} -sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} -sup{top:-0.5em;} -sub{bottom:-0.25em;} -img{border:0;-ms-interpolation-mode:bicubic;} -button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;} -button,input{line-height:normal;*overflow:visible;} -button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} -button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;} -input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;} -input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} -textarea{overflow:auto;vertical-align:top;} -body{background-color:#ffffff;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:18px;color:#404040;} -.container{width:940px;margin-left:auto;margin-right:auto;zoom:1;}.container:before,.container:after{display:table;content:"";zoom:1;} -.container:after{clear:both;} -.container-fluid{position:relative;min-width:940px;padding-left:20px;padding-right:20px;zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";zoom:1;} -.container-fluid:after{clear:both;} -.container-fluid>.sidebar{position:absolute;top:0;left:20px;width:220px;} -.container-fluid>.content{margin-left:240px;} -a{color:#0069d6;text-decoration:none;line-height:inherit;font-weight:inherit;}a:hover{color:#00438a;text-decoration:underline;} -.pull-right{float:right;} -.pull-left{float:left;} -.hide{display:none;} -.show{display:block;} -.row{zoom:1;margin-left:-20px;}.row:before,.row:after{display:table;content:"";zoom:1;} -.row:after{clear:both;} -.row>[class*="span"]{display:inline;float:left;margin-left:20px;} -.span1{width:40px;} -.span2{width:100px;} -.span3{width:160px;} -.span4{width:220px;} -.span5{width:280px;} -.span6{width:340px;} -.span7{width:400px;} -.span8{width:460px;} -.span9{width:520px;} -.span10{width:580px;} -.span11{width:640px;} -.span12{width:700px;} -.span13{width:760px;} -.span14{width:820px;} -.span15{width:880px;} -.span16{width:940px;} -.span17{width:1000px;} -.span18{width:1060px;} -.span19{width:1120px;} -.span20{width:1180px;} -.span21{width:1240px;} -.span22{width:1300px;} -.span23{width:1360px;} -.span24{width:1420px;} -.row>.offset1{margin-left:80px;} -.row>.offset2{margin-left:140px;} -.row>.offset3{margin-left:200px;} -.row>.offset4{margin-left:260px;} -.row>.offset5{margin-left:320px;} -.row>.offset6{margin-left:380px;} -.row>.offset7{margin-left:440px;} -.row>.offset8{margin-left:500px;} -.row>.offset9{margin-left:560px;} -.row>.offset10{margin-left:620px;} -.row>.offset11{margin-left:680px;} -.row>.offset12{margin-left:740px;} -.span-one-third{width:300px;} -.span-two-thirds{width:620px;} -.row>.offset-one-third{margin-left:340px;} -.row>.offset-two-thirds{margin-left:660px;} -p{font-size:13px;font-weight:normal;line-height:18px;margin-bottom:9px;}p small{font-size:11px;color:#bfbfbf;} -h1,h2,h3,h4,h5,h6{font-weight:bold;color:#404040;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#bfbfbf;} -h1{margin-bottom:18px;font-size:30px;line-height:36px;}h1 small{font-size:18px;} -h2{font-size:24px;line-height:36px;}h2 small{font-size:14px;} -h3,h4,h5,h6{line-height:36px;} -h3{font-size:18px;}h3 small{font-size:14px;} -h4{font-size:16px;}h4 small{font-size:12px;} -h5{font-size:14px;} -h6{font-size:13px;color:#bfbfbf;text-transform:uppercase;} -ul,ol{margin:0 0 18px 25px;} -ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} -ul{list-style:disc;} -ol{list-style:decimal;} -li{line-height:18px;color:#808080;} -ul.unstyled{list-style:none;margin-left:0;} -dl{margin-bottom:18px;}dl dt,dl dd{line-height:18px;} -dl dt{font-weight:bold;} -dl dd{margin-left:9px;} -hr{margin:20px 0 19px;border:0;border-bottom:1px solid #eee;} -strong{font-style:inherit;font-weight:bold;} -em{font-style:italic;font-weight:inherit;line-height:inherit;} -.muted{color:#bfbfbf;} -blockquote{margin-bottom:18px;border-left:5px solid #eee;padding-left:15px;}blockquote p{font-size:14px;font-weight:300;line-height:18px;margin-bottom:0;} -blockquote small{display:block;font-size:12px;font-weight:300;line-height:18px;color:#bfbfbf;}blockquote small:before{content:'\2014 \00A0';} -address{display:block;line-height:18px;margin-bottom:18px;} -code,pre{padding:0 3px 2px;font-family:Monaco, Andale Mono, Courier New, monospace;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} -code{background-color:#fee9cc;color:rgba(0, 0, 0, 0.75);padding:1px 3px;} -pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;} -form{margin-bottom:18px;} -fieldset{margin-bottom:18px;padding-top:18px;}fieldset legend{display:block;padding-left:150px;font-size:19.5px;line-height:1;color:#404040;*padding:0 0 5px 145px;*line-height:1.5;} -form .clearfix{margin-bottom:18px;zoom:1;}form .clearfix:before,form .clearfix:after{display:table;content:"";zoom:1;} -form .clearfix:after{clear:both;} -label,input,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:normal;} -label{padding-top:6px;font-size:13px;line-height:18px;float:left;width:130px;text-align:right;color:#404040;} -form .input{margin-left:150px;} -input[type=checkbox],input[type=radio]{cursor:pointer;} -input,textarea,select,.uneditable-input{display:inline-block;width:210px;height:18px;padding:4px;font-size:13px;line-height:18px;color:#808080;border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} -select{padding:initial;} -input[type=checkbox],input[type=radio]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;border:none;} -input[type=file]{background-color:#ffffff;padding:initial;border:initial;line-height:initial;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} -input[type=button],input[type=reset],input[type=submit]{width:auto;height:auto;} -select,input[type=file]{height:27px;*height:auto;line-height:27px;*margin-top:4px;} -select[multiple]{height:inherit;background-color:#ffffff;} -textarea{height:auto;} -.uneditable-input{background-color:#ffffff;display:block;border-color:#eee;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} -:-moz-placeholder{color:#bfbfbf;} -::-webkit-input-placeholder{color:#bfbfbf;} -input,textarea{-webkit-transition:border linear 0.2s,box-shadow linear 0.2s;-moz-transition:border linear 0.2s,box-shadow linear 0.2s;-ms-transition:border linear 0.2s,box-shadow linear 0.2s;-o-transition:border linear 0.2s,box-shadow linear 0.2s;transition:border linear 0.2s,box-shadow linear 0.2s;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1);} -input:focus,textarea:focus{outline:0;border-color:rgba(82, 168, 236, 0.8);-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);-moz-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1),0 0 8px rgba(82, 168, 236, 0.6);} -input[type=file]:focus,input[type=checkbox]:focus,select:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;outline:1px dotted #666;} -form .clearfix.error>label,form .clearfix.error .help-block,form .clearfix.error .help-inline{color:#b94a48;} -form .clearfix.error input,form .clearfix.error textarea{color:#b94a48;border-color:#ee5f5b;}form .clearfix.error input:focus,form .clearfix.error textarea:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} -form .clearfix.error .input-prepend .add-on,form .clearfix.error .input-append .add-on{color:#b94a48;background-color:#fce6e6;border-color:#b94a48;} -form .clearfix.warning>label,form .clearfix.warning .help-block,form .clearfix.warning .help-inline{color:#c09853;} -form .clearfix.warning input,form .clearfix.warning textarea{color:#c09853;border-color:#ccae64;}form .clearfix.warning input:focus,form .clearfix.warning textarea:focus{border-color:#be9a3f;-webkit-box-shadow:0 0 6px #e5d6b1;-moz-box-shadow:0 0 6px #e5d6b1;box-shadow:0 0 6px #e5d6b1;} -form .clearfix.warning .input-prepend .add-on,form .clearfix.warning .input-append .add-on{color:#c09853;background-color:#d2b877;border-color:#c09853;} -form .clearfix.success>label,form .clearfix.success .help-block,form .clearfix.success .help-inline{color:#468847;} -form .clearfix.success input,form .clearfix.success textarea{color:#468847;border-color:#57a957;}form .clearfix.success input:focus,form .clearfix.success textarea:focus{border-color:#458845;-webkit-box-shadow:0 0 6px #9acc9a;-moz-box-shadow:0 0 6px #9acc9a;box-shadow:0 0 6px #9acc9a;} -form .clearfix.success .input-prepend .add-on,form .clearfix.success .input-append .add-on{color:#468847;background-color:#bcddbc;border-color:#468847;} -.input-mini,input.mini,textarea.mini,select.mini{width:60px;} -.input-small,input.small,textarea.small,select.small{width:90px;} -.input-medium,input.medium,textarea.medium,select.medium{width:150px;} -.input-large,input.large,textarea.large,select.large{width:210px;} -.input-xlarge,input.xlarge,textarea.xlarge,select.xlarge{width:270px;} -.input-xxlarge,input.xxlarge,textarea.xxlarge,select.xxlarge{width:530px;} -textarea.xxlarge{overflow-y:auto;} -input.span1,textarea.span1{display:inline-block;float:none;width:30px;margin-left:0;} -input.span2,textarea.span2{display:inline-block;float:none;width:90px;margin-left:0;} -input.span3,textarea.span3{display:inline-block;float:none;width:150px;margin-left:0;} -input.span4,textarea.span4{display:inline-block;float:none;width:210px;margin-left:0;} -input.span5,textarea.span5{display:inline-block;float:none;width:270px;margin-left:0;} -input.span6,textarea.span6{display:inline-block;float:none;width:330px;margin-left:0;} -input.span7,textarea.span7{display:inline-block;float:none;width:390px;margin-left:0;} -input.span8,textarea.span8{display:inline-block;float:none;width:450px;margin-left:0;} -input.span9,textarea.span9{display:inline-block;float:none;width:510px;margin-left:0;} -input.span10,textarea.span10{display:inline-block;float:none;width:570px;margin-left:0;} -input.span11,textarea.span11{display:inline-block;float:none;width:630px;margin-left:0;} -input.span12,textarea.span12{display:inline-block;float:none;width:690px;margin-left:0;} -input.span13,textarea.span13{display:inline-block;float:none;width:750px;margin-left:0;} -input.span14,textarea.span14{display:inline-block;float:none;width:810px;margin-left:0;} -input.span15,textarea.span15{display:inline-block;float:none;width:870px;margin-left:0;} -input.span16,textarea.span16{display:inline-block;float:none;width:930px;margin-left:0;} -input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f5f5f5;border-color:#ddd;cursor:not-allowed;} -.actions{background:#f5f5f5;margin-top:18px;margin-bottom:18px;padding:17px 20px 18px 150px;border-top:1px solid #ddd;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;}.actions .secondary-action{float:right;}.actions .secondary-action a{line-height:30px;}.actions .secondary-action a:hover{text-decoration:underline;} -.help-inline,.help-block{font-size:13px;line-height:18px;color:#bfbfbf;} -.help-inline{padding-left:5px;*position:relative;*top:-5px;} -.help-block{display:block;max-width:600px;} -.inline-inputs{color:#808080;}.inline-inputs span{padding:0 2px 0 1px;} -.input-prepend input,.input-append input{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;} -.input-prepend .add-on,.input-append .add-on{position:relative;background:#f5f5f5;border:1px solid #ccc;z-index:2;float:left;display:block;width:auto;min-width:16px;height:18px;padding:4px 4px 4px 5px;margin-right:-1px;font-weight:normal;line-height:18px;color:#bfbfbf;text-align:center;text-shadow:0 1px 0 #ffffff;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} -.input-prepend .active,.input-append .active{background:#a9dba9;border-color:#46a546;} -.input-prepend .add-on{*margin-top:1px;} -.input-append input{float:left;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;} -.input-append .add-on{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin-right:0;margin-left:-1px;} -.inputs-list{margin:0 0 5px;width:100%;}.inputs-list li{display:block;padding:0;width:100%;} -.inputs-list label{display:block;float:none;width:auto;padding:0;margin-left:20px;line-height:18px;text-align:left;white-space:normal;}.inputs-list label strong{color:#808080;} -.inputs-list label small{font-size:11px;font-weight:normal;} -.inputs-list .inputs-list{margin-left:25px;margin-bottom:10px;padding-top:0;} -.inputs-list:first-child{padding-top:6px;} -.inputs-list li+li{padding-top:2px;} -.inputs-list input[type=radio],.inputs-list input[type=checkbox]{margin-bottom:0;margin-left:-20px;float:left;} -.form-stacked{padding-left:20px;}.form-stacked fieldset{padding-top:9px;} -.form-stacked legend{padding-left:0;} -.form-stacked label{display:block;float:none;width:auto;font-weight:bold;text-align:left;line-height:20px;padding-top:0;} -.form-stacked .clearfix{margin-bottom:9px;}.form-stacked .clearfix div.input{margin-left:0;} -.form-stacked .inputs-list{margin-bottom:0;}.form-stacked .inputs-list li{padding-top:0;}.form-stacked .inputs-list li label{font-weight:normal;padding-top:0;} -.form-stacked div.clearfix.error{padding-top:10px;padding-bottom:10px;padding-left:10px;margin-top:0;margin-left:-10px;} -.form-stacked .actions{margin-left:-20px;padding-left:20px;} -table{width:100%;margin-bottom:18px;padding:0;font-size:13px;border-collapse:collapse;}table th,table td{padding:10px 10px 9px;line-height:18px;text-align:left;} -table th{padding-top:9px;font-weight:bold;vertical-align:middle;} -table td{vertical-align:top;border-top:1px solid #ddd;} -table tbody th{border-top:1px solid #ddd;vertical-align:top;} -.condensed-table th,.condensed-table td{padding:5px 5px 4px;} -.bordered-table{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.bordered-table th+th,.bordered-table td+td,.bordered-table th+td{border-left:1px solid #ddd;} -.bordered-table thead tr:first-child th:first-child,.bordered-table tbody tr:first-child td:first-child{-webkit-border-radius:4px 0 0 0;-moz-border-radius:4px 0 0 0;border-radius:4px 0 0 0;} -.bordered-table thead tr:first-child th:last-child,.bordered-table tbody tr:first-child td:last-child{-webkit-border-radius:0 4px 0 0;-moz-border-radius:0 4px 0 0;border-radius:0 4px 0 0;} -.bordered-table tbody tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;} -.bordered-table tbody tr:last-child td:last-child{-webkit-border-radius:0 0 4px 0;-moz-border-radius:0 0 4px 0;border-radius:0 0 4px 0;} -table .span1{width:20px;} -table .span2{width:60px;} -table .span3{width:100px;} -table .span4{width:140px;} -table .span5{width:180px;} -table .span6{width:220px;} -table .span7{width:260px;} -table .span8{width:300px;} -table .span9{width:340px;} -table .span10{width:380px;} -table .span11{width:420px;} -table .span12{width:460px;} -table .span13{width:500px;} -table .span14{width:540px;} -table .span15{width:580px;} -table .span16{width:620px;} -.zebra-striped tbody tr:nth-child(odd) td,.zebra-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;} -.zebra-striped tbody tr:hover td,.zebra-striped tbody tr:hover th{background-color:#f5f5f5;} -table .header{cursor:pointer;}table .header:after{content:"";float:right;margin-top:7px;border-width:0 4px 4px;border-style:solid;border-color:#000 transparent;visibility:hidden;} -table .headerSortUp,table .headerSortDown{background-color:rgba(141, 192, 219, 0.25);text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);} -table .header:hover:after{visibility:visible;} -table .headerSortDown:after,table .headerSortDown:hover:after{visibility:visible;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} -table .headerSortUp:after{border-bottom:none;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #000;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:alpha(opacity=60);-khtml-opacity:0.6;-moz-opacity:0.6;opacity:0.6;} -table .blue{color:#049cdb;border-bottom-color:#049cdb;} -table .headerSortUp.blue,table .headerSortDown.blue{background-color:#ade6fe;} -table .green{color:#46a546;border-bottom-color:#46a546;} -table .headerSortUp.green,table .headerSortDown.green{background-color:#cdeacd;} -table .red{color:#9d261d;border-bottom-color:#9d261d;} -table .headerSortUp.red,table .headerSortDown.red{background-color:#f4c8c5;} -table .yellow{color:#ffc40d;border-bottom-color:#ffc40d;} -table .headerSortUp.yellow,table .headerSortDown.yellow{background-color:#fff6d9;} -table .orange{color:#f89406;border-bottom-color:#f89406;} -table .headerSortUp.orange,table .headerSortDown.orange{background-color:#fee9cc;} -table .purple{color:#7a43b6;border-bottom-color:#7a43b6;} -table .headerSortUp.purple,table .headerSortDown.purple{background-color:#e2d5f0;} -.topbar{height:40px;position:fixed;top:0;left:0;right:0;z-index:10000;overflow:visible;}.topbar a{color:#bfbfbf;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);} -.topbar h3 a:hover,.topbar .brand:hover,.topbar ul .active>a{background-color:#333;background-color:rgba(255, 255, 255, 0.05);color:#ffffff;text-decoration:none;} -.topbar h3{position:relative;} -.topbar h3 a,.topbar .brand{float:left;display:block;padding:8px 20px 12px;margin-left:-20px;color:#ffffff;font-size:20px;font-weight:200;line-height:1;} -.topbar p{margin:0;line-height:40px;}.topbar p a:hover{background-color:transparent;color:#ffffff;} -.topbar form{float:left;margin:5px 0 0 0;position:relative;filter:alpha(opacity=100);-khtml-opacity:1;-moz-opacity:1;opacity:1;} -.topbar form.pull-right{float:right;} -.topbar input{background-color:#444;background-color:rgba(255, 255, 255, 0.3);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:normal;font-weight:13px;line-height:1;padding:4px 9px;color:#ffffff;color:rgba(255, 255, 255, 0.75);border:1px solid #111;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1),0 1px 0px rgba(255, 255, 255, 0.25);-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}.topbar input:-moz-placeholder{color:#e6e6e6;} -.topbar input::-webkit-input-placeholder{color:#e6e6e6;} -.topbar input:hover{background-color:#bfbfbf;background-color:rgba(255, 255, 255, 0.5);color:#ffffff;} -.topbar input:focus,.topbar input.focused{outline:0;background-color:#ffffff;color:#404040;text-shadow:0 1px 0 #ffffff;border:0;padding:5px 10px;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);} -.topbar-inner,.topbar .fill{background-color:#222;background-color:#222222;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));background-image:-moz-linear-gradient(top, #333333, #222222);background-image:-ms-linear-gradient(top, #333333, #222222);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #333333), color-stop(100%, #222222));background-image:-webkit-linear-gradient(top, #333333, #222222);background-image:-o-linear-gradient(top, #333333, #222222);background-image:linear-gradient(top, #333333, #222222);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.25),inset 0 -1px 0 rgba(0, 0, 0, 0.1);} -.topbar div>ul,.nav{display:block;float:left;margin:0 10px 0 0;position:relative;left:0;}.topbar div>ul>li,.nav>li{display:block;float:left;} -.topbar div>ul a,.nav a{display:block;float:none;padding:10px 10px 11px;line-height:19px;text-decoration:none;}.topbar div>ul a:hover,.nav a:hover{color:#ffffff;text-decoration:none;} -.topbar div>ul .active>a,.nav .active>a{background-color:#222;background-color:rgba(0, 0, 0, 0.5);} -.topbar div>ul.secondary-nav,.nav.secondary-nav{float:right;margin-left:10px;margin-right:0;}.topbar div>ul.secondary-nav .menu-dropdown,.nav.secondary-nav .menu-dropdown,.topbar div>ul.secondary-nav .dropdown-menu,.nav.secondary-nav .dropdown-menu{right:0;border:0;} -.topbar div>ul a.menu:hover,.nav a.menu:hover,.topbar div>ul li.open .menu,.nav li.open .menu,.topbar div>ul .dropdown-toggle:hover,.nav .dropdown-toggle:hover,.topbar div>ul .dropdown.open .dropdown-toggle,.nav .dropdown.open .dropdown-toggle{background:#444;background:rgba(255, 255, 255, 0.05);} -.topbar div>ul .menu-dropdown,.nav .menu-dropdown,.topbar div>ul .dropdown-menu,.nav .dropdown-menu{background-color:#333;}.topbar div>ul .menu-dropdown a.menu,.nav .menu-dropdown a.menu,.topbar div>ul .dropdown-menu a.menu,.nav .dropdown-menu a.menu,.topbar div>ul .menu-dropdown .dropdown-toggle,.nav .menu-dropdown .dropdown-toggle,.topbar div>ul .dropdown-menu .dropdown-toggle,.nav .dropdown-menu .dropdown-toggle{color:#ffffff;}.topbar div>ul .menu-dropdown a.menu.open,.nav .menu-dropdown a.menu.open,.topbar div>ul .dropdown-menu a.menu.open,.nav .dropdown-menu a.menu.open,.topbar div>ul .menu-dropdown .dropdown-toggle.open,.nav .menu-dropdown .dropdown-toggle.open,.topbar div>ul .dropdown-menu .dropdown-toggle.open,.nav .dropdown-menu .dropdown-toggle.open{background:#444;background:rgba(255, 255, 255, 0.05);} -.topbar div>ul .menu-dropdown li a,.nav .menu-dropdown li a,.topbar div>ul .dropdown-menu li a,.nav .dropdown-menu li a{color:#999;text-shadow:0 1px 0 rgba(0, 0, 0, 0.5);}.topbar div>ul .menu-dropdown li a:hover,.nav .menu-dropdown li a:hover,.topbar div>ul .dropdown-menu li a:hover,.nav .dropdown-menu li a:hover{background-color:#191919;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#292929), to(#191919));background-image:-moz-linear-gradient(top, #292929, #191919);background-image:-ms-linear-gradient(top, #292929, #191919);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #292929), color-stop(100%, #191919));background-image:-webkit-linear-gradient(top, #292929, #191919);background-image:-o-linear-gradient(top, #292929, #191919);background-image:linear-gradient(top, #292929, #191919);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#292929', endColorstr='#191919', GradientType=0);color:#ffffff;} -.topbar div>ul .menu-dropdown .active a,.nav .menu-dropdown .active a,.topbar div>ul .dropdown-menu .active a,.nav .dropdown-menu .active a{color:#ffffff;} -.topbar div>ul .menu-dropdown .divider,.nav .menu-dropdown .divider,.topbar div>ul .dropdown-menu .divider,.nav .dropdown-menu .divider{background-color:#222;border-color:#444;} -.topbar ul .menu-dropdown li a,.topbar ul .dropdown-menu li a{padding:4px 15px;} -li.menu,.dropdown{position:relative;} -a.menu:after,.dropdown-toggle:after{width:0;height:0;display:inline-block;content:"↓";text-indent:-99999px;vertical-align:top;margin-top:8px;margin-left:4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #ffffff;filter:alpha(opacity=50);-khtml-opacity:0.5;-moz-opacity:0.5;opacity:0.5;} -.menu-dropdown,.dropdown-menu{background-color:#ffffff;float:left;display:none;position:absolute;top:40px;z-index:900;min-width:160px;max-width:220px;_width:160px;margin-left:0;margin-right:0;padding:6px 0;zoom:1;border-color:#999;border-color:rgba(0, 0, 0, 0.2);border-style:solid;border-width:0 1px 1px;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);box-shadow:0 2px 4px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.menu-dropdown li,.dropdown-menu li{float:none;display:block;background-color:none;} -.menu-dropdown .divider,.dropdown-menu .divider{height:1px;margin:5px 0;overflow:hidden;background-color:#eee;border-bottom:1px solid #ffffff;} -.topbar .dropdown-menu a,.dropdown-menu a{display:block;padding:4px 15px;clear:both;font-weight:normal;line-height:18px;color:#808080;text-shadow:0 1px 0 #ffffff;}.topbar .dropdown-menu a:hover,.dropdown-menu a:hover,.topbar .dropdown-menu a.hover,.dropdown-menu a.hover{background-color:#dddddd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#eeeeee), to(#dddddd));background-image:-moz-linear-gradient(top, #eeeeee, #dddddd);background-image:-ms-linear-gradient(top, #eeeeee, #dddddd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #dddddd));background-image:-webkit-linear-gradient(top, #eeeeee, #dddddd);background-image:-o-linear-gradient(top, #eeeeee, #dddddd);background-image:linear-gradient(top, #eeeeee, #dddddd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#dddddd', GradientType=0);color:#404040;text-decoration:none;-webkit-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 0 rgba(0, 0, 0, 0.025),inset 0 -1px rgba(0, 0, 0, 0.025);} -.open .menu,.dropdown.open .menu,.open .dropdown-toggle,.dropdown.open .dropdown-toggle{color:#ffffff;background:#ccc;background:rgba(0, 0, 0, 0.3);} -.open .menu-dropdown,.dropdown.open .menu-dropdown,.open .dropdown-menu,.dropdown.open .dropdown-menu{display:block;} -.tabs,.pills{margin:0 0 18px;padding:0;list-style:none;zoom:1;}.tabs:before,.pills:before,.tabs:after,.pills:after{display:table;content:"";zoom:1;} -.tabs:after,.pills:after{clear:both;} -.tabs>li,.pills>li{float:left;}.tabs>li>a,.pills>li>a{display:block;} -.tabs{border-color:#ddd;border-style:solid;border-width:0 0 1px;}.tabs>li{position:relative;margin-bottom:-1px;}.tabs>li>a{padding:0 15px;margin-right:2px;line-height:34px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.tabs>li>a:hover{text-decoration:none;background-color:#eee;border-color:#eee #eee #ddd;} -.tabs .active>a,.tabs .active>a:hover{color:#808080;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} -.tabs .menu-dropdown,.tabs .dropdown-menu{top:35px;border-width:1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} -.tabs a.menu:after,.tabs .dropdown-toggle:after{border-top-color:#999;margin-top:15px;margin-left:5px;} -.tabs li.open.menu .menu,.tabs .open.dropdown .dropdown-toggle{border-color:#999;} -.tabs li.open a.menu:after,.tabs .dropdown.open .dropdown-toggle:after{border-top-color:#555;} -.pills a{margin:5px 3px 5px 0;padding:0 15px;line-height:30px;text-shadow:0 1px 1px #ffffff;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;}.pills a:hover{color:#ffffff;text-decoration:none;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#00438a;} -.pills .active a{color:#ffffff;text-shadow:0 1px 1px rgba(0, 0, 0, 0.25);background-color:#0069d6;} -.pills-vertical>li{float:none;} -.tab-content>.tab-pane,.pill-content>.pill-pane,.tab-content>div,.pill-content>div{display:none;} -.tab-content>.active,.pill-content>.active{display:block;} -.breadcrumb{padding:7px 14px;margin:0 0 18px;background-color:#f5f5f5;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ffffff), to(#f5f5f5));background-image:-moz-linear-gradient(top, #ffffff, #f5f5f5);background-image:-ms-linear-gradient(top, #ffffff, #f5f5f5);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));background-image:-webkit-linear-gradient(top, #ffffff, #f5f5f5);background-image:-o-linear-gradient(top, #ffffff, #f5f5f5);background-image:linear-gradient(top, #ffffff, #f5f5f5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);border:1px solid #ddd;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;}.breadcrumb li{display:inline;text-shadow:0 1px 0 #ffffff;} -.breadcrumb .divider{padding:0 5px;color:#bfbfbf;} -.breadcrumb .active a{color:#404040;} -.hero-unit{background-color:#f5f5f5;margin-bottom:30px;padding:60px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;} -.hero-unit p{font-size:18px;font-weight:200;line-height:27px;} -footer{margin-top:17px;padding-top:17px;border-top:1px solid #eee;} -.page-header{margin-bottom:17px;border-bottom:1px solid #ddd;-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);box-shadow:0 1px 0 rgba(255, 255, 255, 0.5);}.page-header h1{margin-bottom:8px;} -.btn.danger,.alert-message.danger,.btn.danger:hover,.alert-message.danger:hover,.btn.error,.alert-message.error,.btn.error:hover,.alert-message.error:hover,.btn.success,.alert-message.success,.btn.success:hover,.alert-message.success:hover,.btn.info,.alert-message.info,.btn.info:hover,.alert-message.info:hover{color:#ffffff;} -.btn .close,.alert-message .close{font-family:Arial,sans-serif;line-height:18px;} -.btn.danger,.alert-message.danger,.btn.error,.alert-message.error{background-color:#c43c35;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-ms-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(top, #ee5f5b, #c43c35);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#c43c35 #c43c35 #882a25;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} -.btn.success,.alert-message.success{background-color:#57a957;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-ms-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(top, #62c462, #57a957);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#57a957 #57a957 #3d773d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} -.btn.info,.alert-message.info{background-color:#339bb9;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-ms-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(top, #5bc0de, #339bb9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#339bb9 #339bb9 #22697d;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} -.btn{cursor:pointer;display:inline-block;background-color:#e6e6e6;background-repeat:no-repeat;background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);background-image:-ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:-o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);background-image:linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);padding:5px 14px 6px;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);color:#333;font-size:13px;line-height:normal;border:1px solid #ccc;border-bottom-color:#bbb;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2),0 1px 2px rgba(0, 0, 0, 0.05);-webkit-transition:0.1s linear all;-moz-transition:0.1s linear all;-ms-transition:0.1s linear all;-o-transition:0.1s linear all;transition:0.1s linear all;}.btn:hover{background-position:0 -15px;color:#333;text-decoration:none;} -.btn:focus{outline:1px dotted #666;} -.btn.primary{color:#ffffff;background-color:#0064cd;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#049cdb), to(#0064cd));background-image:-moz-linear-gradient(top, #049cdb, #0064cd);background-image:-ms-linear-gradient(top, #049cdb, #0064cd);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #049cdb), color-stop(100%, #0064cd));background-image:-webkit-linear-gradient(top, #049cdb, #0064cd);background-image:-o-linear-gradient(top, #049cdb, #0064cd);background-image:linear-gradient(top, #049cdb, #0064cd);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#049cdb', endColorstr='#0064cd', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#0064cd #0064cd #003f81;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);} -.btn.active,.btn:active{-webkit-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:inset 0 2px 4px rgba(0, 0, 0, 0.25),0 1px 2px rgba(0, 0, 0, 0.05);} -.btn.disabled{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} -.btn[disabled]{cursor:default;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=65);-khtml-opacity:0.65;-moz-opacity:0.65;opacity:0.65;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} -.btn.large{font-size:15px;line-height:normal;padding:9px 14px 9px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} -.btn.small{padding:7px 9px 7px;font-size:11px;} -:root .alert-message,:root .btn{border-radius:0 \0;} -button.btn::-moz-focus-inner,input[type=submit].btn::-moz-focus-inner{padding:0;border:0;} -.close{float:right;color:#000000;font-size:20px;font-weight:bold;line-height:13.5px;text-shadow:0 1px 0 #ffffff;filter:alpha(opacity=25);-khtml-opacity:0.25;-moz-opacity:0.25;opacity:0.25;}.close:hover{color:#000000;text-decoration:none;filter:alpha(opacity=40);-khtml-opacity:0.4;-moz-opacity:0.4;opacity:0.4;} -.alert-message{position:relative;padding:7px 15px;margin-bottom:18px;color:#404040;background-color:#eedc94;background-repeat:repeat-x;background-image:-khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94));background-image:-moz-linear-gradient(top, #fceec1, #eedc94);background-image:-ms-linear-gradient(top, #fceec1, #eedc94);background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94));background-image:-webkit-linear-gradient(top, #fceec1, #eedc94);background-image:-o-linear-gradient(top, #fceec1, #eedc94);background-image:linear-gradient(top, #fceec1, #eedc94);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0);text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);border-color:#eedc94 #eedc94 #e4c652;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);border-width:1px;border-style:solid;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25);}.alert-message .close{margin-top:1px;*margin-top:0;} -.alert-message a{font-weight:bold;color:#404040;} -.alert-message.danger p a,.alert-message.error p a,.alert-message.success p a,.alert-message.info p a{color:#ffffff;} -.alert-message h5{line-height:18px;} -.alert-message p{margin-bottom:0;} -.alert-message div{margin-top:5px;margin-bottom:2px;line-height:28px;} -.alert-message .btn{-webkit-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);-moz-box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);box-shadow:0 1px 0 rgba(255, 255, 255, 0.25);} -.alert-message.block-message{background-image:none;background-color:#fdf5d9;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);padding:14px;border-color:#fceec1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}.alert-message.block-message ul,.alert-message.block-message p{margin-right:30px;} -.alert-message.block-message ul{margin-bottom:0;} -.alert-message.block-message li{color:#404040;} -.alert-message.block-message .alert-actions{margin-top:5px;} -.alert-message.block-message.error,.alert-message.block-message.success,.alert-message.block-message.info{color:#404040;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} -.alert-message.block-message.error{background-color:#fddfde;border-color:#fbc7c6;} -.alert-message.block-message.success{background-color:#d1eed1;border-color:#bfe7bf;} -.alert-message.block-message.info{background-color:#ddf4fb;border-color:#c6edf9;} -.alert-message.block-message.danger p a,.alert-message.block-message.error p a,.alert-message.block-message.success p a,.alert-message.block-message.info p a{color:#404040;} -.pagination{height:36px;margin:18px 0;}.pagination ul{float:left;margin:0;border:1px solid #ddd;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} -.pagination li{display:inline;} -.pagination a{float:left;padding:0 14px;line-height:34px;border-right:1px solid;border-right-color:#ddd;border-right-color:rgba(0, 0, 0, 0.15);*border-right-color:#ddd;text-decoration:none;} -.pagination a:hover,.pagination .active a{background-color:#c7eefe;} -.pagination .disabled a,.pagination .disabled a:hover{background-color:transparent;color:#bfbfbf;} -.pagination .next a{border:0;} -.well{background-color:#f5f5f5;margin-bottom:20px;padding:19px;min-height:20px;border:1px solid #eee;border:1px solid rgba(0, 0, 0, 0.05);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} -.modal-backdrop{background-color:#000000;position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;}.modal-backdrop.fade{opacity:0;} -.modal-backdrop,.modal-backdrop.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} -.modal{position:fixed;top:50%;left:50%;z-index:11000;max-height:500px;overflow:auto;width:560px;margin:-250px 0 0 -280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.modal .close{margin-top:7px;} -.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-ms-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} -.modal.fade.in{top:50%;} -.modal-header{border-bottom:1px solid #eee;padding:5px 15px;} -.modal-body{padding:15px;} -.modal-body form{margin-bottom:0;} -.modal-footer{background-color:#f5f5f5;padding:14px 15px 15px;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;zoom:1;margin-bottom:0;}.modal-footer:before,.modal-footer:after{display:table;content:"";zoom:1;} -.modal-footer:after{clear:both;} -.modal-footer .btn{float:right;margin-left:5px;} -.modal .popover,.modal .twipsy{z-index:12000;} -.twipsy{display:block;position:absolute;visibility:visible;padding:5px;font-size:11px;z-index:1000;filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;}.twipsy.fade.in{filter:alpha(opacity=80);-khtml-opacity:0.8;-moz-opacity:0.8;opacity:0.8;} -.twipsy.above .twipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} -.twipsy.left .twipsy-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} -.twipsy.below .twipsy-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} -.twipsy.right .twipsy-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} -.twipsy-inner{padding:3px 8px;background-color:#000000;color:white;text-align:center;max-width:200px;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} -.twipsy-arrow{position:absolute;width:0;height:0;} -.popover{position:absolute;top:0;left:0;z-index:1000;padding:5px;display:none;}.popover.above .arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;} -.popover.right .arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;} -.popover.below .arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;} -.popover.left .arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;} -.popover .arrow{position:absolute;width:0;height:0;} -.popover .inner{background:#000000;background:rgba(0, 0, 0, 0.8);padding:3px;overflow:hidden;width:280px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);} -.popover .title{background-color:#f5f5f5;padding:9px 15px;line-height:1;-webkit-border-radius:3px 3px 0 0;-moz-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;border-bottom:1px solid #eee;} -.popover .content{background-color:#ffffff;padding:14px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;}.popover .content p,.popover .content ul,.popover .content ol{margin-bottom:0;} -.fade{-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-ms-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;opacity:0;}.fade.in{opacity:1;} -.label{padding:1px 3px 2px;font-size:9.75px;font-weight:bold;color:#ffffff;text-transform:uppercase;white-space:nowrap;background-color:#bfbfbf;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;text-shadow:none;}.label.important{background-color:#c43c35;} -.label.warning{background-color:#f89406;} -.label.success{background-color:#46a546;} -.label.notice{background-color:#62cffc;} -.media-grid{margin-left:-20px;margin-bottom:0;zoom:1;}.media-grid:before,.media-grid:after{display:table;content:"";zoom:1;} -.media-grid:after{clear:both;} -.media-grid li{display:inline;} -.media-grid a{float:left;padding:4px;margin:0 0 18px 20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:0 1px 1px rgba(0, 0, 0, 0.075);}.media-grid a img{display:block;} -.media-grid a:hover{border-color:#0069d6;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_flat_55_999999_40x100.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_flat_55_999999_40x100.png deleted file mode 100644 index 6b6de7d5af391fdae847bff6a3c0aea46596dc01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`T) z7#^)sa^eD?IO|R0&uiqZh6adImlC&OVxF{e)AU@RGZ;Kw{an^LB{Ts5 DOb#zJ diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png deleted file mode 100644 index 5b5dab2ab7b1c50dea9cfe73dc5a269a92d2d4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`R^ z$vje}bP0l+XkK DSH>_4 diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_glass_45_0078ae_1x400.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_glass_45_0078ae_1x400.png deleted file mode 100644 index 3dac65068c84bd0ecfff5188f540c182fd169cad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour2IWy978O6-<~%VY%maDy|{O; z$__{EHiJg4C=rLrLX14cXJ_ZueT>}xS8Rbs*Zrb7;%o`VYKv9Nn5R#(Fe+GLF>CX# lM%%gFCi@DOX>^&(9ns}DIA!Y189<{MJYD@<);T3K0RS}&EUW+k diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_glass_55_f8da4e_1x400.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_glass_55_f8da4e_1x400.png deleted file mode 100644 index b383704a49d8334bf593fe5acacfe39f93776fb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq`W*`978O6-=1G6*bumMHLzK+IlM6Uw<=GY|5{{$M%R6#>y2zVoZA|l3ncEGnHw#<`@xCLrOmbp g#_<-xB1fggKfmN$(P5D72{e|$)78&qol`;+01;y>g8%>k diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png deleted file mode 100644 index b9851ba5d6c20c710571dfd6a67637ce376d456c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3649 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 diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png deleted file mode 100644 index 76dac56d2c5b0c1b6735bcd6117f3d10a95a50d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4256 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 aVL*6y?dQ$#a|iS;;O*(>QG4d{-~SJ&h4LT( diff --git a/src/main/resources/public/demo-only/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/src/main/resources/public/demo-only/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png deleted file mode 100644 index 38c38335d0919ceb7b0dd09e88a86be90a966ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l)R^lV~E7m1R+}Z$C%HZkh=d#Wzp$Pz8A{XNT diff --git a/src/main/resources/public/demo-only/css/start/images/ui-icons_0078ae_256x240.png b/src/main/resources/public/demo-only/css/start/images/ui-icons_0078ae_256x240.png deleted file mode 100644 index 5b36315f4b4130cd899894ee9f3bf955a34e3b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/src/main/resources/public/demo-only/css/start/images/ui-icons_d8e7f3_256x240.png b/src/main/resources/public/demo-only/css/start/images/ui-icons_d8e7f3_256x240.png deleted file mode 100644 index ad2dc6f9dbeeabbda9ae6917659b6df07817ec35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/src/main/resources/public/demo-only/css/start/images/ui-icons_e0fdff_256x240.png b/src/main/resources/public/demo-only/css/start/images/ui-icons_e0fdff_256x240.png deleted file mode 100644 index 6f12e5f10dc988c84898edf8e89b759310210fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5355 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 diff --git a/src/main/resources/public/demo-only/css/start/images/ui-icons_f5e175_256x240.png b/src/main/resources/public/demo-only/css/start/images/ui-icons_f5e175_256x240.png deleted file mode 100644 index eda3b8a0514d7da24d66891245b17f0d2fca3d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 zcmd^?`8O2)_s3^phOrG}UnfiUEn8(9QW1?MNkxXVDEpFin2{xWrLx5kBC;k~Gmw z<@?HsG!Qg3zaV+-xQ3ldtad!U<6iGz_enGH*2akP_r)o1D&8p^5M)_c8IIj6Wy*7HJo&CBLuo~nj>(63pZzO(Vv^ZuB3 zMYigjkwA;FEy|G}1jpiMj6|NTm7Uyiw=@FDE*nX<>jR!W@9XIyf%$Fd*J5*D0Z0Lm z9}ZQxyT|x5ftNy?V>EbJz-K>bV9gs9RaXUP<^=;e?&Fqxj;6{ieR-a-@HycA1KMKhql8GOmcxwZ?_-(3hMK^^a*(gaFvBH ziIC!fgH4$W*NbKIaY&T?%&13``KbD@S-0`xQ%v3TV+B!;RC7O!+1a9QCA$H@3tR;k z)SSoR7(s4)f{zM}eWgFN{(ZH5d1O}l)f$ruT!)Q&NImXyZsTzOf9TwctcSfr+M)aJ z5otO+$jvm-P4)ykH)x|cO5xeb>?!`qGw$(>&axqLL6yoB${vsMXgL_-bz@2J_tS92 zdvZG-+vKl@K4Vr(EL{WQt@Z+Ea-hxX0}nTSZxnpi^#Kn8Ox8FgIS|hc}KJQ4tm*HO16ui{(O9} z1YN)GjiQt6fGq`Cj+^`zUf?8hk^(T{{cOQGWFP98am}is28A!5%{R#ENv8fCN!j69 zlMEK(2z?|BY=Je$XD9mB-Kkem*(d-j^9j$2#6r$Dz?s)-TCDCGCs z8>6Pvj{Y+YIeFA@qY22V$)awy@q!9A4rgk5b9TcC;s9Ig^G|6nDP+5=Fzg&?(L=vc zCbGd>fSu~@6!94td+o#d@sid!EIX$rx7*cawe6 z`dScJ+$HssdOjE)O#Ybs56vm-FQ$7yuJJD^Zqk%hMaIgAJ<2yb_MFQte_i;62ScT$ zpjifYyR_E=rQ+>H)pmlr-Udzg*-!|ssw(D7wJvC+Sf8bb9;;q8#z?0p!!bsd{wy|5 zpBaMHE-Ve>i#LLjHRaMLtp%9&(HCng7Sw96jVv!#0k%?F^K7&=T)mnYn)D9(i;4x5 z^NJTJwq~pv;kH@#ejTd*48~(J(r6j34|m`h9fEDj0im)~+%I5XphWymhT;_Zty|Q& zzjPg#-ufAHZ1M*Gccw?Kf|8Pnhtb0`!{N`Bqsa37J+>wC$!e z00k+2Egzz;rbcWoUB%Jvp8W1}$XD%e3>4y;;OZ1ccT-O#uW6Ys@C}Pa`nZrNKzR(2 z4e%3)@QI4SE&E!lW`5y14QhbepBG%_XBV-O(%5tj)@9#|;sC-MNev!zGDHk}JdpGC`iJF#8=8-P$Xoku_=Dw%Cv3{U7L>gf zRQ?<$t`cZ*MP5GQmbmx#!+*!zu>0MewRO9GFGS{b^m_fJ-N0?j@EqoFf>$khj+E|@ z7r3We&^tR^YZrxKe*d22agXqCO0l44&kqCv{u)T|(lv`~PK@DvE z{QI_TlCH5z*gR!>LO)k67{^R+vWx24U2^2ODXpwT;6y+6+$5m)_*w4WY&#do9dCeE z)>p+Ykdhq($DhmMiaYXey!@N%L26uz($aJ!QT{B^Wu}U$^9e#5)=c+XF9@Ill?ZmM zlNgHiz*9!vDc&uxOo;ZVxb`Q!Sk0*gnfxWzmbZh4(=%CD%qP?0=);n$&zaW_$UKV9 z8axdcN#AyZ{P)wj?V{P}vM)YY!>6@}^>U+iv$`9>nMTCPjN>z%yF&3yf%>+T@0vh4 zlC8Xa6zeo?%=o3}M8{aebLHcO{^1Ar8qiM=Gquf?Jo)q5`-+?sUpg?QXyEUpWSm+n z$K-UyqkIwHLquru~o(OF)hhz$Y*|X>ZIbswnxRvr~ z2=rdOGVuD|xRlpAZE<0!X1F(%Anpl^@V^D3vbM}qxe|NI;TTiZy7(IM;R69RkA>a& z6gwYE2sREzQ_LHmWqB+ogMk(fMaSFeoDq-!HkFB_nXt5+2ncFuk9BQL1I&oB1zZi) zYW{6_&-Ip1l*OVRA##1ILQS;5R{-K^0wGTiJbVSi@LA^$D$;@J>^G{6@&+%4{b3(s zC~LEHiTv(0b#zxt?YJ0r_~pUZM~mQ(??(n#>&tD%+@nq=Abj5*8R!~Ul1`G~=qFJ4 zfl|m8ZDCYgtr`4LcOpgiJYX9qRY5;DcWti~PmS$VB$E-Zt^f4)vLDOe_3XTq5^ylW zJ9PKm!V-8sAOJXnUfuFNIf0R9tK-pNs2hO04zr620}5B(Ok>yB)Of-3sP59qfQNbm zA4{w!2@cB;GbR(~szVrbO%(w=5S!X`o@o@x++wbN_tMPT0Vc)*I;Fgsbf^*g0 z2Di?HTApwKq3+YwfNsqd3iP%{hyK1iyuVZc@*0tO_3+N0#GFsz>8MjeJ2UJ%L!%hi zGYYAthH`E+ywA*u{(eJ=ia3h*%k?779rk-K<0VZAPkl;TFUbmei|$fqWO8!_zIvqt z$ly$VrlH46nnpX~X5Yk0iBJl;=WuA4>~X4-f&K0yWf42h&0b30t@NYX$7egQ1Fp!a zbui-D6cWCWV&|R1CY@G8(qOmWjWeX3eX7UggZPGimA}soOuQdXe4uZ#2>5zN>qlI0 z9xk}lE=tNpX1m6*nFr2EQ3xs79!^sCldDJYE$m(qYv3q7>}1R7?iZW7>$~*%zKaC| z=$N?ME$>#+%T&MZC`dW1wUl6Z)JgyCn~V%K&i0H|iwE%$>xsZW3tTfZxIUePci@p;cRu|d=ItIwF z1clVHy{hH?@SD|(Zfqi^0DQ1hczHN7xq85h)rzQqLHMX2^IkuK7FB!kI40s$|CY7~ zNX^{_UjN8}L%Med;|+=4RNTMozn8KT;2tb77bUPCmioh+rZBfIiM6f_P34cQ__o1G zWqQp3VL~~pE5?qODf%iiQQ3f42YF@09tQ*$4v_EKUx;t1KCPCBtgqg z@+Tn;O)a0uky_%jm+WjNB?=~VyH>V#L!*=l*@OS6SVyt_UEH&NA=?V2stHPyKkVNy z&jg<#cjros){#ji)dK z%)We0L_478=HZ8-@xnwsKrWs8)x`MB;(Y`Cmu2c-&SH(vN-F(*e`l?c%+l$|y_AJJ zhcDGnwLvN+bu;_sX|1AiePhx@u&%P$hf*xE+O=~D?_(_KGWQ!158YL-y9$*6mmPo;Rp*Dl5lm-mVM2i`h- zM@nxv590_tvMwPD_{l=b$iOm|+|S{D9&P%zeT$GgX6Akl-tfUF>tL@Ld!B&{pN39t zH>3Vhqkr}2Yul+jb7UiouWVGPNsxX7Ueba+9|~dz?d*QM$ng0DZfO0`7fAy?2yMm| zcnRzUhZ&IcwgjH9cuU!w+VStYa{p*)4IgBf|E8)sqMYtB2KH_}SfsFq(c9i(Q6S3U oBo%DI*Kv;w;*%(i9W@f1xOp*Z=?k diff --git a/src/main/resources/public/demo-only/css/start/images/ui-icons_f7a50d_256x240.png b/src/main/resources/public/demo-only/css/start/images/ui-icons_f7a50d_256x240.png deleted file mode 100644 index 401cac8370b0b88b255a352c0320f804f647f9c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4369 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 diff --git a/src/main/resources/public/demo-only/css/start/jquery-ui-1.8.17.custom.css b/src/main/resources/public/demo-only/css/start/jquery-ui-1.8.17.custom.css deleted file mode 100644 index a4eae48..0000000 --- a/src/main/resources/public/demo-only/css/start/jquery-ui-1.8.17.custom.css +++ /dev/null @@ -1,297 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.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:before, .ui-helper-clearfix:after { content: ""; display: table; } -.ui-helper-clearfix:after { clear: both; } -.ui-helper-clearfix { zoom: 1; } -.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%; } - - -/* - * jQuery UI CSS Framework 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=2191c0&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=75&borderColorHeader=4297d7&fcHeader=eaf5f7&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=0078ae&bgColorDefault=0078ae&bgTextureDefault=02_glass.png&bgImgOpacityDefault=45&borderColorDefault=77d5f7&fcDefault=ffffff&iconColorDefault=e0fdff&bgColorHover=79c9ec&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=448dae&fcHover=026890&iconColorHover=056b93&bgColorActive=6eac2c&bgTextureActive=12_gloss_wave.png&bgImgOpacityActive=50&borderColorActive=acdd4a&fcActive=ffffff&iconColorActive=f5e175&bgColorHighlight=f8da4e&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcd113&fcHighlight=915608&iconColorHighlight=f7a50d&bgColorError=e14f1c&bgTextureError=12_gloss_wave.png&bgImgOpacityError=45&borderColorError=cd0a0a&fcError=ffffff&iconColorError=fcd113&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=75&opacityOverlay=30&bgColorShadow=999999&bgTextureShadow=01_flat.png&bgImgOpacityShadow=55&opacityShadow=45&thicknessShadow=0px&offsetTopShadow=5px&offsetLeftShadow=5px&cornerRadiusShadow=5px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } -.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; } -.ui-widget-header { border: 1px solid #4297d7; background: #2191c0 url(images/ui-bg_gloss-wave_75_2191c0_500x100.png) 50% 50% repeat-x; color: #eaf5f7; font-weight: bold; } -.ui-widget-header a { color: #eaf5f7; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #77d5f7; background: #0078ae url(images/ui-bg_glass_45_0078ae_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #ffffff; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #448dae; background: #79c9ec url(images/ui-bg_glass_75_79c9ec_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #026890; } -.ui-state-hover a, .ui-state-hover a:hover { color: #026890; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #acdd4a; background: #6eac2c url(images/ui-bg_gloss-wave_50_6eac2c_500x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcd113; background: #f8da4e url(images/ui-bg_glass_55_f8da4e_1x400.png) 50% 50% repeat-x; color: #915608; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #915608; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #e14f1c url(images/ui-bg_gloss-wave_45_e14f1c_500x100.png) 50% top repeat-x; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_0078ae_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_0078ae_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_e0fdff_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_056b93_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_f5e175_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_f7a50d_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_fcd113_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-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.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-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -khtml-border-top-left-radius: 5px; border-top-left-radius: 5px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -khtml-border-top-right-radius: 5px; border-top-right-radius: 5px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -khtml-border-bottom-left-radius: 5px; border-bottom-left-radius: 5px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -khtml-border-bottom-right-radius: 5px; border-bottom-right-radius: 5px; } - -/* Overlays */ -.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_75_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } -.ui-widget-shadow { margin: 5px 0 0 5px; padding: 0px; background: #999999 url(images/ui-bg_flat_55_999999_40x100.png) 50% 50% repeat-x; opacity: .45;filter:Alpha(Opacity=45); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Progressbar 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; overflow: hidden; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/src/main/resources/public/demo-only/js/CFInstall.min.js b/src/main/resources/public/demo-only/js/CFInstall.min.js deleted file mode 100644 index bfb552c..0000000 --- a/src/main/resources/public/demo-only/js/CFInstall.min.js +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -(function(e){if(!e.CFInstall){var f=function(a,b){return typeof a=="string"?(b||document).getElementById(a):a},h=function(){if(e.CFInstall._force)return e.CFInstall._forceValue;if(navigator.userAgent.toLowerCase().indexOf("chromeframe")>=0)return true;if(typeof window.ActiveXObject!="undefined")try{var a=new ActiveXObject("ChromeTab.ChromeFrame");if(a){a.registerBhoIfNeeded();return true}}catch(b){}return false},i=function(a){try{var b=document.createElement("style");b.setAttribute("type","text/css"); -if(b.styleSheet)b.styleSheet.cssText=a;else b.appendChild(document.createTextNode(a));var c=document.getElementsByTagName("head")[0];c.insertBefore(b,c.firstChild)}catch(g){}},j=false,k=false,l=function(){if(!k){i(".chromeFrameOverlayContent { display: none; }.chromeFrameOverlayUnderlay { display: none; }");document.cookie="disableGCFCheck=1;path=/;max-age=31536000000";k=true}},m=function(a){var b=document.createElement("iframe");b.setAttribute("frameborder","0");b.setAttribute("border","0");var c= -f(a.node);b.id=a.id||(c?c.id||getUid(c):"");b.style.cssText=" "+(a.cssText||"");b.className=a.className||"";b.src=a.src||"about:blank";c&&c.parentNode.replaceChild(b,c);return b},n=function(a){a.className="chromeFrameInstallDefaultStyle "+(a.className||"");a=m(a);a.parentNode||document.body.insertBefore(a,document.body.firstChild)},o=function(a){if(!f("chromeFrameOverlayContent")){var b=document.createElement("span");b.innerHTML='

'; -for(var c=document.body;b.firstChild;)c.insertBefore(b.lastChild,c.firstChild);a=m(a);f("chromeFrameIframeHolder").appendChild(a);f("chromeFrameCloseButton").onclick=l}},d={};d.check=function(a){a=a||{};var b=navigator.userAgent,c=/MSIE (\S+); Windows NT/,g=false;if(c.test(b)){if(parseFloat(c.exec(b)[1])<6&&b.indexOf("SV1")<0)g=true}else g=true;if(!g){if(!j){i('.chromeFrameInstallDefaultStyle {width: 800px;height: 600px;position: absolute;left: 50%;top: 50%;margin-left: -400px;margin-top: -300px;}.chromeFrameOverlayContent {position: absolute;margin-left: -400px;margin-top: -300px;left: 50%;top: 50%;border: 1px solid #93B4D9;background-color: white;z-index: 2001;}.chromeFrameOverlayContent iframe {width: 800px;height: 600px;border: none;}.chromeFrameOverlayCloseBar {height: 1em;text-align: right;background-color: #CADEF4;}.chromeFrameOverlayUnderlay {position: absolute;width: 100%;height: 100%;background-color: white;opacity: 0.5;-moz-opacity: 0.5;-webkit-opacity: 0.5;-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter: alpha(opacity=50);z-index: 2000;}'); -j=true}document.cookie.indexOf("disableGCFCheck=1")>=0&&l();b=(document.location.protocol=="https:"?"https:":"http:")+"//www.google.com/chromeframe";if(!h()){a.onmissing&&a.onmissing();a.src=a.url||b;b=a.mode||"inline";if(!(a.preventPrompt||0))if(b=="inline")n(a);else b=="overlay"?o(a):window.open(a.src);if(!a.preventInstallDetection)var p=setInterval(function(){if(h()){a.oninstall&&a.oninstall();clearInterval(p);window.location=a.destination||window.location}},2E3)}}};d._force=false;d._forceValue= -false;d.isAvailable=h;e.CFInstall=d}})(this.ChromeFrameInstallScope||this); \ No newline at end of file diff --git a/src/main/resources/public/demo-only/js/jquery-1.7.1.min.js b/src/main/resources/public/demo-only/js/jquery-1.7.1.min.js deleted file mode 100644 index 198b3ff..0000000 --- a/src/main/resources/public/demo-only/js/jquery-1.7.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/src/main/resources/public/demo-only/js/jquery-ui-1.8.17.custom.min.js b/src/main/resources/public/demo-only/js/jquery-ui-1.8.17.custom.min.js deleted file mode 100644 index 1e437dd..0000000 --- a/src/main/resources/public/demo-only/js/jquery-ui-1.8.17.custom.min.js +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * jQuery UI 1.8.17 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */(function(a,b){function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;if(!b.href||!g||f.nodeName.toLowerCase()!=="map")return!1;h=a("img[usemap=#"+g+"]")[0];return!!h&&d(h)}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}a.ui=a.ui||{};a.ui.version||(a.extend(a.ui,{version:"1.8.17",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,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,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)});return c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){if(c===b)return g["inner"+d].call(this);return this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){if(typeof b!="number")return g["outer"+d].call(this,b);return this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!!d&&!!a.element[0].parentNode)for(var e=0;e0)return!0;b[d]=1,e=b[d]>0,b[d]=0;return e},isOverAxis:function(a,b,c){return a>b&&a
").appendTo(this.element),this.oldValue=this._value(),this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove(),a.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===b)return this._value();this._setOption("value",a);return this},_setOption:function(b,c){b==="value"&&(this.options.value=c,this._refreshValue(),this._value()===this.options.max&&this._trigger("complete")),a.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;typeof a!="number"&&(a=0);return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*this._value()/this.options.max},_refreshValue:function(){var a=this.value(),b=this._percentage();this.oldValue!==a&&(this.oldValue=a,this._trigger("change")),this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(b.toFixed(0)+"%"),this.element.attr("aria-valuenow",a)}}),a.extend(a.ui.progressbar,{version:"1.8.17"})})(jQuery); \ No newline at end of file