ish_lib_assets 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +37 -0
- data/app/assets/images/200x200/devops.png +0 -0
- data/app/assets/images/200x200/html5.jpg +0 -0
- data/app/assets/images/200x200/nodejs.png +0 -0
- data/app/assets/images/200x200/project_management.jpg +0 -0
- data/app/assets/images/200x200/ror.jpg +0 -0
- data/app/assets/images/200x200/uiux.jpg +0 -0
- data/app/assets/images/400x400/contact-us.png +0 -0
- data/app/assets/images/400x400/devops.png +0 -0
- data/app/assets/images/400x400/html5.jpg +0 -0
- data/app/assets/images/400x400/nodejs.png +0 -0
- data/app/assets/images/400x400/project_management.jpg +0 -0
- data/app/assets/images/400x400/ror.jpg +0 -0
- data/app/assets/images/400x400/the-cloud.png +0 -0
- data/app/assets/images/400x400/uiux.jpg +0 -0
- data/app/assets/images/backgrounds/10.jpg +0 -0
- data/app/assets/images/backgrounds/11.jpg +0 -0
- data/app/assets/images/backgrounds/12.jpg +0 -0
- data/app/assets/images/backgrounds/6.jpg +0 -0
- data/app/assets/images/backgrounds/7.jpg +0 -0
- data/app/assets/images/backgrounds/8.jpg +0 -0
- data/app/assets/images/backgrounds/9.jpg +0 -0
- data/app/assets/images/backgrounds/970_grey-blue.png +0 -0
- data/app/assets/images/backgrounds/970_white.png +0 -0
- data/app/assets/images/backgrounds/970_yellow.png +0 -0
- data/app/assets/images/backgrounds/bg-circles.png +0 -0
- data/app/assets/images/backgrounds/bg5.jpg +0 -0
- data/app/assets/images/backgrounds/bg6.jpg +0 -0
- data/app/assets/images/backgrounds/bg_texture_dark.jpg +0 -0
- data/app/assets/images/backgrounds/bkg_bg.gif +0 -0
- data/app/assets/images/backgrounds/blue-seamless.jpg +0 -0
- data/app/assets/images/backgrounds/flower_1.jpg +0 -0
- data/app/assets/images/backgrounds/glitch1.jpg +0 -0
- data/app/assets/images/backgrounds/glitch2.jpg +0 -0
- data/app/assets/images/backgrounds/gray-1.jpg +0 -0
- data/app/assets/images/backgrounds/havaianas.jpg +0 -0
- data/app/assets/images/backgrounds/light-purple.jpg +0 -0
- data/app/assets/images/backgrounds/noise.jpg +0 -0
- data/app/assets/images/backgrounds/paper.jpg +0 -0
- data/app/assets/images/backgrounds/pattern_011.gif +0 -0
- data/app/assets/images/backgrounds/pattern_013.gif +0 -0
- data/app/assets/images/backgrounds/pattern_016.gif +0 -0
- data/app/assets/images/backgrounds/pattern_020.gif +0 -0
- data/app/assets/images/backgrounds/pattern_022.gif +0 -0
- data/app/assets/images/backgrounds/pattern_044.gif +0 -0
- data/app/assets/images/backgrounds/pattern_062.gif +0 -0
- data/app/assets/images/backgrounds/pattern_096.gif +0 -0
- data/app/assets/images/backgrounds/pattern_153.gif +0 -0
- data/app/assets/images/backgrounds/pattern_154.gif +0 -0
- data/app/assets/images/backgrounds/pattern_156.gif +0 -0
- data/app/assets/images/backgrounds/pattern_157.gif +0 -0
- data/app/assets/images/backgrounds/skull_1.jpg +0 -0
- data/app/assets/images/backgrounds/sky.jpg +0 -0
- data/app/assets/images/backgrounds/sky2.jpg +0 -0
- data/app/assets/images/backgrounds/sky3.jpg +0 -0
- data/app/assets/images/backgrounds/sky4.jpg +0 -0
- data/app/assets/images/backgrounds/sky5.jpg +0 -0
- data/app/assets/images/backgrounds/transparent_40.png +0 -0
- data/app/assets/images/backgrounds/transparent_70.png +0 -0
- data/app/assets/images/backgrounds/transparent_90.png +0 -0
- data/app/assets/images/backgrounds/white-seamless.jpg +0 -0
- data/app/assets/images/backgrounds/white_970x5.png +0 -0
- data/app/assets/images/backgrounds/white_blue_1.jpg +0 -0
- data/app/assets/images/cac/dot-footer.png +0 -0
- data/app/assets/images/cac/dot-header.png +0 -0
- data/app/assets/images/cac/list-style.png +0 -0
- data/app/assets/images/cac/map.png +0 -0
- data/app/assets/images/cac/phone.png +0 -0
- data/app/assets/images/cac/phone_number.png +0 -0
- data/app/assets/images/cac/screenshots/about.png +0 -0
- data/app/assets/images/cac/screenshots/contact.png +0 -0
- data/app/assets/images/cac/screenshots/home.png +0 -0
- data/app/assets/images/cac/screenshots/home.psd +0 -0
- data/app/assets/images/cac/screenshots/portfolio.png +0 -0
- data/app/assets/images/cac/screenshots/services.png +0 -0
- data/app/assets/images/cac/screenshots/team.png +0 -0
- data/app/assets/images/cac/sfbay.jpg +0 -0
- data/app/assets/images/cac/sprite.png +0 -0
- data/app/assets/images/cac/team/lizza.jpg +0 -0
- data/app/assets/images/cac/team/lizza_raw.jpg +0 -0
- data/app/assets/images/cac/team/piousbox.jpg +0 -0
- data/app/assets/images/close.png +0 -0
- data/app/assets/images/contact.png +0 -0
- data/app/assets/images/controls.png +0 -0
- data/app/assets/images/favicon.gif +0 -0
- data/app/assets/images/favicons/cac.gif +0 -0
- data/app/assets/images/favicons/ish.gif +0 -0
- data/app/assets/images/favicons/manager.ico +0 -0
- data/app/assets/images/favicons/piousbox.gif +0 -0
- data/app/assets/images/favicons/ppf.gif +0 -0
- data/app/assets/images/flags/br.png +0 -0
- data/app/assets/images/flags/en.png +0 -0
- data/app/assets/images/flags/pt.png +0 -0
- data/app/assets/images/flags/ru.png +0 -0
- data/app/assets/images/flags/us.png +0 -0
- data/app/assets/images/grad-hr.png +0 -0
- data/app/assets/images/gradient.png +0 -0
- data/app/assets/images/icons/100x100/hazard.png +0 -0
- data/app/assets/images/icons/100x100/venue.png +0 -0
- data/app/assets/images/icons/10x10/thumbs_down.png +0 -0
- data/app/assets/images/icons/10x10/thumbs_up.png +0 -0
- data/app/assets/images/icons/128x128/manager.png +0 -0
- data/app/assets/images/icons/12x12/tag.png +0 -0
- data/app/assets/images/icons/14x14/bullet.png +0 -0
- data/app/assets/images/icons/16x16/cancel.png +0 -0
- data/app/assets/images/icons/16x16/delete.png +0 -0
- data/app/assets/images/icons/16x16/expand_down.png +0 -0
- data/app/assets/images/icons/16x16/new_16.png +0 -0
- data/app/assets/images/icons/16x16/search.png +0 -0
- data/app/assets/images/icons/16x16/uploadify-cancel.png +0 -0
- data/app/assets/images/icons/20x20/edit.png +0 -0
- data/app/assets/images/icons/20x20/email.gif +0 -0
- data/app/assets/images/icons/20x20/expand.gif +0 -0
- data/app/assets/images/icons/20x20/eye-crossed.png +0 -0
- data/app/assets/images/icons/20x20/eye.png +0 -0
- data/app/assets/images/icons/20x20/facebook.gif +0 -0
- data/app/assets/images/icons/20x20/gmail.gif +0 -0
- data/app/assets/images/icons/20x20/java.gif +0 -0
- data/app/assets/images/icons/20x20/linkedin.png +0 -0
- data/app/assets/images/icons/20x20/lock.gif +0 -0
- data/app/assets/images/icons/20x20/new.png +0 -0
- data/app/assets/images/icons/20x20/pdf.gif +0 -0
- data/app/assets/images/icons/20x20/php.jpg +0 -0
- data/app/assets/images/icons/20x20/private.png +0 -0
- data/app/assets/images/icons/20x20/private2.png +0 -0
- data/app/assets/images/icons/20x20/public.png +0 -0
- data/app/assets/images/icons/20x20/public2.png +0 -0
- data/app/assets/images/icons/20x20/python.png +0 -0
- data/app/assets/images/icons/20x20/search.png +0 -0
- data/app/assets/images/icons/20x20/top.gif +0 -0
- data/app/assets/images/icons/20x20/trash.png +0 -0
- data/app/assets/images/icons/20x20/wiki.gif +0 -0
- data/app/assets/images/icons/20x20/wp.gif +0 -0
- data/app/assets/images/icons/20x20/youtube.png +0 -0
- data/app/assets/images/icons/24x24/configure.png +0 -0
- data/app/assets/images/icons/24x24/customize.png +0 -0
- data/app/assets/images/icons/24x24/edit.png +0 -0
- data/app/assets/images/icons/24x24/trash.png +0 -0
- data/app/assets/images/icons/28x28/customize.png +0 -0
- data/app/assets/images/icons/28x28/expand.png +0 -0
- data/app/assets/images/icons/32x32/comment.png +0 -0
- data/app/assets/images/icons/32x32/delicious.png +0 -0
- data/app/assets/images/icons/32x32/doc.png +0 -0
- data/app/assets/images/icons/32x32/email.png +0 -0
- data/app/assets/images/icons/32x32/expand_down.png +0 -0
- data/app/assets/images/icons/32x32/facebook.png +0 -0
- data/app/assets/images/icons/32x32/github.png +0 -0
- data/app/assets/images/icons/32x32/home.png +0 -0
- data/app/assets/images/icons/32x32/linkedin.png +0 -0
- data/app/assets/images/icons/32x32/list.png +0 -0
- data/app/assets/images/icons/32x32/logout.png +0 -0
- data/app/assets/images/icons/32x32/manager.png +0 -0
- data/app/assets/images/icons/32x32/myspace.png +0 -0
- data/app/assets/images/icons/32x32/new.png +0 -0
- data/app/assets/images/icons/32x32/new_addritem.png +0 -0
- data/app/assets/images/icons/32x32/pdf.png +0 -0
- data/app/assets/images/icons/32x32/photos_new.png +0 -0
- data/app/assets/images/icons/32x32/print.png +0 -0
- data/app/assets/images/icons/32x32/scratchpad.png +0 -0
- data/app/assets/images/icons/32x32/search.png +0 -0
- data/app/assets/images/icons/32x32/sharethis.png +0 -0
- data/app/assets/images/icons/32x32/thumbs_down.png +0 -0
- data/app/assets/images/icons/32x32/thumbs_down_2.png +0 -0
- data/app/assets/images/icons/32x32/thumbs_up.png +0 -0
- data/app/assets/images/icons/32x32/thumbs_up_2.png +0 -0
- data/app/assets/images/icons/32x32/trac.gif +0 -0
- data/app/assets/images/icons/32x32/trash.png +0 -0
- data/app/assets/images/icons/32x32/twitter.png +0 -0
- data/app/assets/images/icons/32x32/upload.png +0 -0
- data/app/assets/images/icons/32x32/word.png +0 -0
- data/app/assets/images/icons/40x40/search_40x40.png +0 -0
- data/app/assets/images/icons/48x48/city.png +0 -0
- data/app/assets/images/icons/48x48/new_photo.png +0 -0
- data/app/assets/images/icons/64x64/extended_forms.png +0 -0
- data/app/assets/images/icons/64x64/facebook.png +0 -0
- data/app/assets/images/icons/64x64/facebook_flat.png +0 -0
- data/app/assets/images/icons/64x64/github.png +0 -0
- data/app/assets/images/icons/64x64/github_flat.png +0 -0
- data/app/assets/images/icons/64x64/google.png +0 -0
- data/app/assets/images/icons/64x64/linkedin.png +0 -0
- data/app/assets/images/icons/64x64/linkedin_flat.png +0 -0
- data/app/assets/images/icons/64x64/manager.png +0 -0
- data/app/assets/images/icons/64x64/my-profile.png +0 -0
- data/app/assets/images/icons/64x64/new_addritem.png +0 -0
- data/app/assets/images/icons/64x64/new_photo.png +0 -0
- data/app/assets/images/icons/64x64/new_report.png +0 -0
- data/app/assets/images/icons/64x64/openid.png +0 -0
- data/app/assets/images/icons/64x64/rails.png +0 -0
- data/app/assets/images/icons/64x64/scratchpad.png +0 -0
- data/app/assets/images/icons/64x64/settings.png +0 -0
- data/app/assets/images/icons/64x64/twitter.png +0 -0
- data/app/assets/images/icons/64x64/yahoo_64.png +0 -0
- data/app/assets/images/icons/64x64/youtube_flat.png +0 -0
- data/app/assets/images/icons/96x96/doc.png +0 -0
- data/app/assets/images/icons/96x96/pdf.png +0 -0
- data/app/assets/images/icons/96x96/venue.png +0 -0
- data/app/assets/images/icons/delete.png +0 -0
- data/app/assets/images/icons/delicious.png +0 -0
- data/app/assets/images/icons/edit.png +0 -0
- data/app/assets/images/icons/email.gif +0 -0
- data/app/assets/images/icons/expand.gif +0 -0
- data/app/assets/images/icons/facebook.gif +0 -0
- data/app/assets/images/icons/gmail.gif +0 -0
- data/app/assets/images/icons/hazard.png +0 -0
- data/app/assets/images/icons/new_16.png +0 -0
- data/app/assets/images/icons/open.png +0 -0
- data/app/assets/images/icons/php.jpg +0 -0
- data/app/assets/images/icons/rails.png +0 -0
- data/app/assets/images/icons/search_40x40.png +0 -0
- data/app/assets/images/icons/tag.png +0 -0
- data/app/assets/images/icons/top.gif +0 -0
- data/app/assets/images/icons/trash/calendar.png +0 -0
- data/app/assets/images/left.png +0 -0
- data/app/assets/images/loading-100x100.gif +0 -0
- data/app/assets/images/loading.gif +0 -0
- data/app/assets/images/login_with_facebook.png +0 -0
- data/app/assets/images/logos/100x100/ish.png +0 -0
- data/app/assets/images/logos/100x100/ish_logo_100.png +0 -0
- data/app/assets/images/logos/100x100/logo100x100.png +0 -0
- data/app/assets/images/logos/200x200/ish_logo_200.gif +0 -0
- data/app/assets/images/logos/20x20/ish.gif +0 -0
- data/app/assets/images/logos/400x400/cac.jpg +0 -0
- data/app/assets/images/logos/400x400/ish.png +0 -0
- data/app/assets/images/logos/400x400/ish_logo_400.gif +0 -0
- data/app/assets/images/logos/400x400/ish_logo_400.jpg +0 -0
- data/app/assets/images/logos/400x400/ish_logo_400.png +0 -0
- data/app/assets/images/logos/400x400/ish_logo_400.psd +0 -0
- data/app/assets/images/logos/40x40/ish.png +0 -0
- data/app/assets/images/logos/40x40/ish_logo_40.png +0 -0
- data/app/assets/images/logos/45x45/ish.png +0 -0
- data/app/assets/images/logos/60x60/logo_60x60.png +0 -0
- type_on gray].eps +0 -0
- type_on white].eps +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre Shelter_FINAL [image_on gray].eps +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre Shelter_FINAL [image_on white].eps +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre-Shelter_FINAL-[image-and-type_on-gray].png +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre-Shelter_FINAL-[image-and-type_on-white].png +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre-Shelter_FINAL-[image_on-gray].png +0 -0
- data/app/assets/images/logos/Infinite Shelter/Infinitre-Shelter_FINAL-[image_on-white].png +0 -0
- data/app/assets/images/logos/Infinite Shelter/logo100x100.png +0 -0
- data/app/assets/images/logos/Infinite Shelter/logo30.jpg +0 -0
- data/app/assets/images/logos/Infinite Shelter/logoGray.png +0 -0
- data/app/assets/images/logos/Infinite Shelter/logoWhite.png +0 -0
- data/app/assets/images/logos/Infinitre-Shelter_FINAL-[image_on-white].png +0 -0
- data/app/assets/images/logos/cac.png +0 -0
- data/app/assets/images/logos/cac/CAC_logo_02_FINAL.eps +0 -0
- data/app/assets/images/logos/cac/cac.jpg +0 -0
- data/app/assets/images/logos/cac/cac.png +0 -0
- data/app/assets/images/logos/cac_long.jpg +0 -0
- data/app/assets/images/logos/ish.png +0 -0
- data/app/assets/images/logos/ish_logo_100.png +0 -0
- data/app/assets/images/logos/ish_logo_20.gif +0 -0
- data/app/assets/images/logos/ish_logo_200.gif +0 -0
- data/app/assets/images/logos/ish_logo_40.gif +0 -0
- data/app/assets/images/logos/ish_logo_40.png +0 -0
- data/app/assets/images/logos/ish_logo_400.gif +0 -0
- data/app/assets/images/logos/ish_logo_400.jpg +0 -0
- data/app/assets/images/logos/ish_logo_400.png +0 -0
- data/app/assets/images/logos/ish_logo_400.psd +0 -0
- data/app/assets/images/logos/logo.png +0 -0
- data/app/assets/images/logos/logo100x100.png +0 -0
- data/app/assets/images/logos/logo_60x60.png +0 -0
- data/app/assets/images/logos/organizer.png +0 -0
- data/app/assets/images/logos/ppf.gif +0 -0
- data/app/assets/images/logos/travel.png +0 -0
- data/app/assets/images/logos/travel_guide.png +0 -0
- data/app/assets/images/missing.png +0 -0
- data/app/assets/images/next.png +0 -0
- data/app/assets/images/no_photo.png +0 -0
- data/app/assets/images/no_photo_mini.png +0 -0
- data/app/assets/images/organizer/blue-arrow-right.png +0 -0
- data/app/assets/images/organizer/sprite2.png +0 -0
- data/app/assets/images/ppf.gif +0 -0
- data/app/assets/images/prev.png +0 -0
- data/app/assets/images/resume/language.png +0 -0
- data/app/assets/images/resume/main-nav-left.png +0 -0
- data/app/assets/images/resume/main-nav-right-active.png +0 -0
- data/app/assets/images/resume/main-nav-right.png +0 -0
- data/app/assets/images/resume/user-name-left.png +0 -0
- data/app/assets/images/resume/user-name-right.png +0 -0
- data/app/assets/images/right.png +0 -0
- data/app/assets/images/showv/about-us.jpg +0 -0
- data/app/assets/images/showv/arrows-ffffff.png +0 -0
- data/app/assets/images/showv/dragon_head_bottom.jpg +0 -0
- data/app/assets/images/showv/dragon_head_top.jpg +0 -0
- data/app/assets/images/showv/menu-border.png +0 -0
- data/app/assets/images/showv/shadow.png +0 -0
- data/app/assets/images/showv/subhead-bg.png +0 -0
- data/app/assets/images/showv/world.jpg +0 -0
- data/app/assets/images/src/contact-us.png +0 -0
- data/app/assets/images/src/devops-cropped.png +0 -0
- data/app/assets/images/src/devops.png +0 -0
- data/app/assets/images/src/html5.jpg +0 -0
- data/app/assets/images/src/html5_cropped.jpg +0 -0
- data/app/assets/images/src/nodejs.png +0 -0
- data/app/assets/images/src/nodejs_cropped.png +0 -0
- data/app/assets/images/src/project_management.jpg +0 -0
- data/app/assets/images/src/ror.jpg +0 -0
- data/app/assets/images/src/the-cloud.png +0 -0
- data/app/assets/images/src/uiux.jpg +0 -0
- data/app/assets/images/venue.png +0 -0
- data/app/assets/images/wait.gif +0 -0
- data/app/assets/javascripts/application.js +8 -0
- data/app/assets/javascripts/application.js~ +8 -0
- data/app/assets/javascripts/application_foundation.js +19 -0
- data/app/assets/javascripts/ish_lib_assets/application.js +13 -0
- data/app/assets/javascripts/photos_multiadd.coffee +35 -0
- data/app/assets/javascripts/utils.coffee +36 -0
- data/app/assets/stylesheets/application.css +25 -0
- data/app/assets/stylesheets/application.css~ +10 -0
- data/app/assets/stylesheets/application_foundation/galleries.sass +11 -0
- data/app/assets/stylesheets/application_foundation/header_footer.sass +21 -0
- data/app/assets/stylesheets/application_foundation/layout.sass +10 -0
- data/app/assets/stylesheets/application_foundation/newsitems.sass +20 -0
- data/app/assets/stylesheets/application_foundation/reports.sass +16 -0
- data/app/assets/stylesheets/application_foundation/users.sass +4 -0
- data/app/assets/stylesheets/application_foundation/videos.sass +11 -0
- data/app/assets/stylesheets/application_manager.css +6 -0
- data/app/assets/stylesheets/application_print.css +6 -0
- data/app/assets/stylesheets/application_resume.css +13 -0
- data/app/assets/stylesheets/application_resume.css~ +13 -0
- data/app/assets/stylesheets/application_resume_2.css +13 -0
- data/app/assets/stylesheets/application_resume_2.css~ +13 -0
- data/app/assets/stylesheets/common/_ads.sass +77 -0
- data/app/assets/stylesheets/common/_maps.sass +63 -0
- data/app/assets/stylesheets/common/_rate_this.sass +23 -0
- data/app/assets/stylesheets/common/_set_locale.sass +37 -0
- data/app/assets/stylesheets/common/blog.sass +7 -0
- data/app/assets/stylesheets/common/cities.sass +202 -0
- data/app/assets/stylesheets/common/common.sass +111 -0
- data/app/assets/stylesheets/common/devise.sass +29 -0
- data/app/assets/stylesheets/common/events.sass +9 -0
- data/app/assets/stylesheets/common/features.sass +28 -0
- data/app/assets/stylesheets/common/form.sass +19 -0
- data/app/assets/stylesheets/common/galleries.sass +216 -0
- data/app/assets/stylesheets/common/hf2.sass +91 -0
- data/app/assets/stylesheets/common/newsitems.sass +31 -0
- data/app/assets/stylesheets/common/photos.sass +32 -0
- data/app/assets/stylesheets/common/rate_me.sass +8 -0
- data/app/assets/stylesheets/common/reports.sass +269 -0
- data/app/assets/stylesheets/common/tags.sass +64 -0
- data/app/assets/stylesheets/common/trash/blog.sass +7 -0
- data/app/assets/stylesheets/common/users.sass +96 -0
- data/app/assets/stylesheets/common/users_organizer.sass +31 -0
- data/app/assets/stylesheets/common/users_organizer_forms.sass +126 -0
- data/app/assets/stylesheets/common/utils.sass +123 -0
- data/app/assets/stylesheets/common/vars.sass +44 -0
- data/app/assets/stylesheets/common/venues.sass +88 -0
- data/app/assets/stylesheets/common/videos.sass +10 -0
- data/app/assets/stylesheets/common/welcome.sass +21 -0
- data/app/assets/stylesheets/common_2/_maps.sass +63 -0
- data/app/assets/stylesheets/common_2/_rate_this.sass +23 -0
- data/app/assets/stylesheets/common_2/_set_locale.sass +37 -0
- data/app/assets/stylesheets/common_2/common.sass +43 -0
- data/app/assets/stylesheets/common_2/hf_application.sass +177 -0
- data/app/assets/stylesheets/common_2/hf_application_mini.sass +98 -0
- data/app/assets/stylesheets/common_2/photos.sass +5 -0
- data/app/assets/stylesheets/common_2/photos.sass~ +12 -0
- data/app/assets/stylesheets/common_2/users_organizer.sass +33 -0
- data/app/assets/stylesheets/common_2/users_organizer_forms.sass +126 -0
- data/app/assets/stylesheets/common_2/vars.sass +235 -0
- data/app/assets/stylesheets/ish_lib_assets/application.css +15 -0
- data/app/assets/stylesheets/manager/_search.sass +9 -0
- data/app/assets/stylesheets/manager/cities.sass +22 -0
- data/app/assets/stylesheets/manager/features.sass +5 -0
- data/app/assets/stylesheets/manager/galleries.sass +58 -0
- data/app/assets/stylesheets/manager/hf.sass +38 -0
- data/app/assets/stylesheets/manager/layout_manager.sass +32 -0
- data/app/assets/stylesheets/manager/manager.sass +55 -0
- data/app/assets/stylesheets/manager/newsitems.sass +3 -0
- data/app/assets/stylesheets/manager/photos.sass +19 -0
- data/app/assets/stylesheets/manager/reports.sass +66 -0
- data/app/assets/stylesheets/manager/sites.sass +27 -0
- data/app/assets/stylesheets/manager/tags.sass +34 -0
- data/app/assets/stylesheets/manager/users.sass +14 -0
- data/app/assets/stylesheets/manager/vars.sass +4 -0
- data/app/assets/stylesheets/manager/venues.sass +20 -0
- data/app/assets/stylesheets/manager/welcome.sass +13 -0
- data/app/assets/stylesheets/print/default.sass +20 -0
- data/app/assets/stylesheets/print/vars.sass +3 -0
- data/app/assets/stylesheets/resume/github.sass +9 -0
- data/app/assets/stylesheets/resume/hf.sass +18 -0
- data/app/assets/stylesheets/resume/layout_piousbox.sass +56 -0
- data/app/assets/stylesheets/resume/reports.sass +21 -0
- data/app/assets/stylesheets/resume/resume.sass +387 -0
- data/app/assets/stylesheets/resume/vars.sass +3 -0
- data/app/assets/stylesheets/spec_runner.css +5 -0
- data/app/controllers/ish_lib_assets/application_controller.rb +5 -0
- data/app/helpers/application_helper.rb +96 -0
- data/app/helpers/devise_helper.rb +9 -0
- data/app/helpers/images_helper.rb +200 -0
- data/app/helpers/ish_lib_assets/application_helper.rb +7 -0
- data/app/helpers/ish_lib_assets/application_helper.rb~ +7 -0
- data/app/views/layouts/ish_lib_assets/application.html.erb +14 -0
- data/app/views/templates/_blah_template.haml +2 -0
- data/app/views/templates/blah_template.haml~ +0 -0
- data/app/views/templates/kaminari/_first_page.haml +9 -0
- data/app/views/templates/kaminari/_first_page.haml~ +9 -0
- data/app/views/templates/kaminari/_gap.haml +8 -0
- data/app/views/templates/kaminari/_last_page.haml +9 -0
- data/app/views/templates/kaminari/_last_page.haml~ +9 -0
- data/app/views/templates/kaminari/_next_page.haml +9 -0
- data/app/views/templates/kaminari/_next_page.haml~ +9 -0
- data/app/views/templates/kaminari/_page.haml +10 -0
- data/app/views/templates/kaminari/_page.haml~ +10 -0
- data/app/views/templates/kaminari/_paginator.haml +18 -0
- data/app/views/templates/kaminari/_paginator.haml~ +18 -0
- data/app/views/templates/kaminari/_prev_page.haml +9 -0
- data/app/views/templates/kaminari/_prev_page.haml~ +9 -0
- data/config/routes.rb +2 -0
- data/lib/ish_lib_assets.rb +4 -0
- data/lib/ish_lib_assets/engine.rb +9 -0
- data/lib/ish_lib_assets/engine.rb~ +9 -0
- data/lib/ish_lib_assets/version.rb +3 -0
- data/lib/ish_lib_assets/version.rb~ +3 -0
- data/lib/tasks/ish_lib_assets_tasks.rake +4 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +29 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +41 -0
- data/test/dummy/config/environments/production.rb +79 -0
- data/test/dummy/config/environments/test.rb +42 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/integration/navigation_test.rb +8 -0
- data/test/ish_lib_assets_test.rb +7 -0
- data/test/test_helper.rb +21 -0
- data/vendor/assets/images/close.png +0 -0
- data/vendor/assets/images/glyphicons-halflings-white.png +0 -0
- data/vendor/assets/images/glyphicons-halflings.png +0 -0
- data/vendor/assets/images/loading.gif +0 -0
- data/vendor/assets/images/next.png +0 -0
- data/vendor/assets/images/prev.png +0 -0
- data/vendor/assets/javascripts/angular.js +14847 -0
- data/vendor/assets/javascripts/angular/angular-animate.js +1375 -0
- data/vendor/assets/javascripts/angular/angular-cookies.js +202 -0
- data/vendor/assets/javascripts/angular/angular-csp.css +13 -0
- data/vendor/assets/javascripts/angular/angular-loader.js +410 -0
- data/vendor/assets/javascripts/angular/angular-mocks.js +2116 -0
- data/vendor/assets/javascripts/angular/angular-resource.js +594 -0
- data/vendor/assets/javascripts/angular/angular-route.js +911 -0
- data/vendor/assets/javascripts/angular/angular-sanitize.js +622 -0
- data/vendor/assets/javascripts/angular/angular-scenario.js +32544 -0
- data/vendor/assets/javascripts/angular/angular-touch.js +563 -0
- data/vendor/assets/javascripts/angular/angular.js +20539 -0
- data/vendor/assets/javascripts/angular/errors.json +1 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_af-na.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_af-za.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_af.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_am-et.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_am.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-001.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-ae.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-bh.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-dz.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-eg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-iq.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-jo.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-kw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-lb.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-ly.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-ma.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-om.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-qa.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-sa.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-sd.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-sy.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-tn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar-ye.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ar.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_bg-bg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_bg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_bn-bd.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_bn-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_bn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ca-ad.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ca-es.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ca.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_cs-cz.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_cs.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_da-dk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_da.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-at.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-be.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-ch.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-de.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-li.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de-lu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_de.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_el-cy.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_el-gr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_el.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-as.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-au.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-bb.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-be.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-bm.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-bw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-bz.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-ca.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-dsrt-us.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-dsrt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-fm.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-gb.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-gu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-gy.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-hk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-ie.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-iso.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-jm.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-mh.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-mp.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-mt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-mu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-na.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-nz.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-ph.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-pk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-pr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-pw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-sg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-tc.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-tt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-um.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-us.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-vg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-vi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-za.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en-zw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_en.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-419.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ar.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-bo.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-cl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-co.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-cr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-do.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ea.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ec.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-es.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-gq.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-gt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-hn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ic.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-mx.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ni.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-pa.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-pe.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-pr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-py.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-sv.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-us.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-uy.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es-ve.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_es.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_et-ee.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_et.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_eu-es.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_eu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fa-af.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fa-ir.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fa.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fi-fi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fil-ph.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fil.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-be.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-bf.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-bi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-bj.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-bl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ca.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-cd.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-cf.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-cg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ch.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ci.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-cm.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-dj.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-fr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ga.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-gf.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-gn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-gp.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-gq.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-km.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-lu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-mc.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-mf.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-mg.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ml.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-mq.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-ne.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-re.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr-yt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_fr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gl-es.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gsw-ch.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gsw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gu-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_gu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_he-il.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_he.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hi-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hr-hr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hu-hu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_hu.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_id-id.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_id.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_is-is.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_is.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_it-it.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_it-sm.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_it.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_iw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ja-jp.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ja.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_kn-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_kn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ko-kr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ko.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ln-cd.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ln.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_lt-lt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_lt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_lv-lv.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_lv.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ml-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ml.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_mr-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_mr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ms-my.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ms.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_mt-mt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_mt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_nl-cw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_nl-nl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_nl-sx.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_nl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_no.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_or-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_or.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_pl-pl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_pl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_pt-br.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_pt-pt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_pt.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ro-ro.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ro.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ru-ru.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ru.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sk-sk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sl-si.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sq-al.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sq.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sr-cyrl-rs.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sr-latn-rs.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sv-se.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sv.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sw-tz.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_sw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ta-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ta.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_te-in.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_te.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_th-th.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_th.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_tl.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_tr-tr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_tr.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_uk-ua.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_uk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ur-pk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_ur.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_vi-vn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_vi.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zh-cn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zh-hans-cn.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zh-hk.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zh-tw.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zh.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zu-za.js +99 -0
- data/vendor/assets/javascripts/angular/i18n/angular-locale_zu.js +99 -0
- data/vendor/assets/javascripts/angular/version.json +1 -0
- data/vendor/assets/javascripts/angular/version.txt +1 -0
- data/vendor/assets/javascripts/custom.modernizr.js +4 -0
- data/vendor/assets/javascripts/fancybox/blank.gif +0 -0
- data/vendor/assets/javascripts/fancybox/fancybox_loading.gif +0 -0
- data/vendor/assets/javascripts/fancybox/fancybox_loading@2x.gif +0 -0
- data/vendor/assets/javascripts/fancybox/fancybox_overlay.png +0 -0
- data/vendor/assets/javascripts/fancybox/fancybox_sprite.png +0 -0
- data/vendor/assets/javascripts/fancybox/fancybox_sprite@2x.png +0 -0
- data/vendor/assets/javascripts/fancybox/helpers/fancybox_buttons.png +0 -0
- data/vendor/assets/javascripts/fancybox/helpers/jquery.fancybox-buttons.css +97 -0
- data/vendor/assets/javascripts/fancybox/helpers/jquery.fancybox-buttons.js +122 -0
- data/vendor/assets/javascripts/fancybox/helpers/jquery.fancybox-media.js +199 -0
- data/vendor/assets/javascripts/fancybox/helpers/jquery.fancybox-thumbs.css +55 -0
- data/vendor/assets/javascripts/fancybox/helpers/jquery.fancybox-thumbs.js +162 -0
- data/vendor/assets/javascripts/fancybox/jquery.fancybox.css +274 -0
- data/vendor/assets/javascripts/fancybox/jquery.fancybox.js +2020 -0
- data/vendor/assets/javascripts/fancybox/jquery.fancybox.pack.js +46 -0
- data/vendor/assets/javascripts/fastclick.js +761 -0
- data/vendor/assets/javascripts/foundation/foundation-6.2.1-complete/foundation.js +8921 -0
- data/vendor/assets/javascripts/foundation/foundation-6.2.1-complete/foundation.min.js +4 -0
- data/vendor/assets/javascripts/foundation/foundation-6.2.1-complete/jquery.js +9842 -0
- data/vendor/assets/javascripts/foundation/foundation-6.2.1-complete/what-input.js +295 -0
- data/vendor/assets/javascripts/foundation/foundation.abide.js +201 -0
- data/vendor/assets/javascripts/foundation/foundation.accordion.js +41 -0
- data/vendor/assets/javascripts/foundation/foundation.alert.js +34 -0
- data/vendor/assets/javascripts/foundation/foundation.clearing.js +450 -0
- data/vendor/assets/javascripts/foundation/foundation.dropdown.js +184 -0
- data/vendor/assets/javascripts/foundation/foundation.interchange.js +304 -0
- data/vendor/assets/javascripts/foundation/foundation.joyride.js +839 -0
- data/vendor/assets/javascripts/foundation/foundation.js +8921 -0
- data/vendor/assets/javascripts/foundation/foundation.magellan.js +118 -0
- data/vendor/assets/javascripts/foundation/foundation.min.js +10 -0
- data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +37 -0
- data/vendor/assets/javascripts/foundation/foundation.orbit.js +434 -0
- data/vendor/assets/javascripts/foundation/foundation.reveal.js +347 -0
- data/vendor/assets/javascripts/foundation/foundation.tab.js +37 -0
- data/vendor/assets/javascripts/foundation/foundation.tooltip.js +202 -0
- data/vendor/assets/javascripts/foundation/foundation.topbar.js +380 -0
- data/vendor/assets/javascripts/jasmine/assert.coffee +62 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.1.0/MIT.LICENSE +20 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.1.0/jasmine-html.js +190 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.1.0/jasmine.css +166 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.1.0/jasmine.js +2476 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.1.0/jasmine_favicon.png +0 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.3.1/MIT.LICENSE +20 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.3.1/jasmine-html.js +681 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.3.1/jasmine.css +82 -0
- data/vendor/assets/javascripts/jasmine/jasmine-1.3.1/jasmine.js +2600 -0
- data/vendor/assets/javascripts/jquery-file-upload/README.md +68 -0
- data/vendor/assets/javascripts/jquery-file-upload/application.js +79 -0
- data/vendor/assets/javascripts/jquery-file-upload/cors/jquery.postmessage-transport.js +117 -0
- data/vendor/assets/javascripts/jquery-file-upload/cors/jquery.xdr-transport.js +85 -0
- data/vendor/assets/javascripts/jquery-file-upload/cors/postmessage.html +75 -0
- data/vendor/assets/javascripts/jquery-file-upload/cors/result.html +20 -0
- data/vendor/assets/javascripts/jquery-file-upload/index.html +176 -0
- data/vendor/assets/javascripts/jquery-file-upload/jquery.fileupload-ui.js +547 -0
- data/vendor/assets/javascripts/jquery-file-upload/jquery.fileupload.js +1477 -0
- data/vendor/assets/javascripts/jquery-file-upload/jquery.iframe-transport.js +217 -0
- data/vendor/assets/javascripts/jquery-file-upload/jquery.ui.widget.js +572 -0
- data/vendor/assets/javascripts/jquery-file-upload/package.json +60 -0
- data/vendor/assets/javascripts/jquery-file-upload/progressbar.gif +0 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-go/app.yaml +12 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-go/app/main.go +360 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-go/resize/resize.go +246 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-go/static/favicon.ico +0 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-go/static/robots.txt +2 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-python/app.yaml +16 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-python/main.py +145 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-python/static/favicon.ico +0 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/gae-python/static/robots.txt +2 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/php/index.php +384 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/test/index.html +105 -0
- data/vendor/assets/javascripts/jquery-file-upload/trash/test/test.js +1116 -0
- data/vendor/assets/javascripts/jquery-file-upload/vendor/jquery.ui.widget.js +282 -0
- data/vendor/assets/javascripts/jquery/jquery-1.7.1.js +9266 -0
- data/vendor/assets/javascripts/jquery/jquery-1.7.1.min.js +4 -0
- data/vendor/assets/javascripts/jquery/jquery-2.2.2.js +9842 -0
- data/vendor/assets/javascripts/jquery/jquery-ui.min.js +13 -0
- data/vendor/assets/javascripts/jquery/jquery-uploadify.js +986 -0
- data/vendor/assets/javascripts/jquery/jquery.autocomplete.js +645 -0
- data/vendor/assets/javascripts/jquery/jquery.cookie.js +107 -0
- data/vendor/assets/javascripts/jquery/jquery.infinitecarousel3.js +409 -0
- data/vendor/assets/javascripts/jquery/jquery.infinitecarousel3.min.js +10 -0
- data/vendor/assets/javascripts/jquery/jquery.js +9842 -0
- data/vendor/assets/javascripts/json2.js +482 -0
- data/vendor/assets/javascripts/mustache.js +536 -0
- data/vendor/assets/javascripts/order.js +189 -0
- data/vendor/assets/javascripts/placeholder.js +426 -0
- data/vendor/assets/javascripts/rails.js +393 -0
- data/vendor/assets/javascripts/share_this.js +3 -0
- data/vendor/assets/javascripts/underscore.js +999 -0
- data/vendor/assets/javascripts/what-input.js +295 -0
- data/vendor/assets/stylesheets/fancybox/jquery.fancybox.css +274 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/css/app.css +0 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/css/foundation.css +4148 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/css/foundation.min.css +2 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/index.html +169 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/js/app.js +1 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/js/vendor/foundation.js +8921 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/js/vendor/foundation.min.js +4 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/js/vendor/jquery.js +9842 -0
- data/vendor/assets/stylesheets/foundation/foundation-6.2.1-complete/js/vendor/what-input.js +295 -0
- data/vendor/assets/stylesheets/foundation/foundation.css +4148 -0
- data/vendor/assets/stylesheets/jquery-file-upload/jquery.fileupload-ui.css +56 -0
- data/vendor/assets/stylesheets/reset-min.css +2 -0
- data/vendor/assets/stylesheets/trash/active_admin.css.scss +32 -0
- data/vendor/assets/stylesheets/trash/bootstrap-responsive.css +1092 -0
- data/vendor/assets/stylesheets/trash/bootstrap-responsive.min.css +9 -0
- data/vendor/assets/stylesheets/trash/bootstrap.css +6039 -0
- data/vendor/assets/stylesheets/trash/bootstrap.min.css +9 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/css/foundation.css +5331 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/css/foundation.min.css +1 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/css/normalize.css +410 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/index.html +166 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation.min.js +10 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.abide.js +201 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.accordion.js +41 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.alert.js +34 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.clearing.js +450 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.dropdown.js +184 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.interchange.js +304 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.joyride.js +839 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.js +416 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.magellan.js +118 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.offcanvas.js +37 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.orbit.js +434 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.reveal.js +347 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.tab.js +37 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.tooltip.js +202 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/foundation/foundation.topbar.js +380 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/jquery.js +8829 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/modernizr.js +4 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/custom.modernizr.js +4 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/fastclick.js +761 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/jquery.autocomplete.js +645 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/jquery.cookie.js +107 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/jquery.js +8829 -0
- data/vendor/assets/stylesheets/trash/foundation-5.0.2/js/vendor/placeholder.js +426 -0
- data/vendor/assets/stylesheets/trash/foundation-5.css +5331 -0
- data/vendor/assets/stylesheets/trash/foundation.min.css +1 -0
- data/vendor/assets/stylesheets/trash/grid.css +280 -0
- data/vendor/assets/stylesheets/trash/lightbox.css +210 -0
- data/vendor/assets/stylesheets/trash/normalize.css +410 -0
- data/vendor/assets/stylesheets/trash/scaffolds.css.scss +69 -0
- data/vendor/assets/stylesheets/trash/screen.css +858 -0
- data/vendor/assets/stylesheets/trash/uploadify.css +92 -0
- metadata +977 -0
| @@ -0,0 +1,46 @@ | |
| 1 | 
            +
            /*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
         | 
| 2 | 
            +
            (function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&E(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},w=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,
         | 
| 3 | 
            +
            width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},
         | 
| 4 | 
            +
            keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
         | 
| 5 | 
            +
            (I?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
         | 
| 6 | 
            +
            openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
         | 
| 7 | 
            +
            isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,
         | 
| 8 | 
            +
            c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&
         | 
| 9 | 
            +
            k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||
         | 
| 10 | 
            +
            b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=
         | 
| 11 | 
            +
            setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(q(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=b.current;
         | 
| 12 | 
            +
            d&&(q(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d=
         | 
| 13 | 
            +
            a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),
         | 
| 14 | 
            +
            b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(),
         | 
| 15 | 
            +
            y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement;
         | 
| 16 | 
            +
            if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==v)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&
         | 
| 17 | 
            +
            (h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,
         | 
| 18 | 
            +
            {},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,
         | 
| 19 | 
            +
            mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=
         | 
| 20 | 
            +
            !0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");
         | 
| 21 | 
            +
            "image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=
         | 
| 22 | 
            +
            this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);
         | 
| 23 | 
            +
            f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,
         | 
| 24 | 
            +
            e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,
         | 
| 25 | 
            +
            outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}",
         | 
| 26 | 
            +
            g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll":
         | 
| 27 | 
            +
            "no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside?
         | 
| 28 | 
            +
            h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth||
         | 
| 29 | 
            +
            h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),c<m&&(c=m,j=l(c/D)),j<u&&(j=u,c=l(j*D))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&
         | 
| 30 | 
            +
            "iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,p)));if(h.fitToView)if(g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height(),h.aspectRatio)for(;(a>z||y>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(p,j-10)),c=l(j*D),c<m&&(c=m,j=l(c/D)),c>n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&j<A&&c+x+q<z)&&(c+=q);g.width(c).height(j);e.width(c+x);a=e.width();
         | 
| 31 | 
            +
            y=e.height();e=(a>z||y>r)&&c>m&&j>u;c=h.aspectRatio?c<F&&j<B&&c<C&&j<A:(c<F||j<B)&&(c<C||j<A);f.extend(h,{dim:{width:w(a),height:w(y)},origWidth:C,origHeight:A,canShrink:e,canExpand:c,wPadding:x,hPadding:v,wrapSpace:y-k.outerHeight(!0),skinSpace:k.height()-j});!H&&(h.autoHeight&&j>u&&j<p&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",top:c[0],left:c[3]};d.autoCenter&&d.fixed&&
         | 
| 32 | 
            +
            !a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=w(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=w(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&(d.preventDefault(),
         | 
| 33 | 
            +
            b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=
         | 
| 34 | 
            +
            a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):
         | 
| 35 | 
            +
            (c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:w(c.top-h*a.topRatio),left:w(c.left-j*a.leftRatio),width:w(f+j),height:w(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===
         | 
| 36 | 
            +
            f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,
         | 
| 37 | 
            +
            {duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=w(l(e[g])-200),c[g]="+=200px"):(e[g]=w(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=
         | 
| 38 | 
            +
            b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=
         | 
| 39 | 
            +
            f('<div class="fancybox-overlay"></div>').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?
         | 
| 40 | 
            +
            b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth),
         | 
| 41 | 
            +
            p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===
         | 
| 42 | 
            +
            f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=
         | 
| 43 | 
            +
            b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,
         | 
| 44 | 
            +
            e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+
         | 
| 45 | 
            +
            ":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body");var e=20===
         | 
| 46 | 
            +
            d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);
         | 
| @@ -0,0 +1,761 @@ | |
| 1 | 
            +
            /**
         | 
| 2 | 
            +
             * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
         | 
| 3 | 
            +
             *
         | 
| 4 | 
            +
             * @version 0.6.9
         | 
| 5 | 
            +
             * @codingstandard ftlabs-jsv2
         | 
| 6 | 
            +
             * @copyright The Financial Times Limited [All Rights Reserved]
         | 
| 7 | 
            +
             * @license MIT License (see LICENSE.txt)
         | 
| 8 | 
            +
             */
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            /*jslint browser:true, node:true*/
         | 
| 11 | 
            +
            /*global define, Event, Node*/
         | 
| 12 | 
            +
             | 
| 13 | 
            +
             | 
| 14 | 
            +
            /**
         | 
| 15 | 
            +
             * Instantiate fast-clicking listeners on the specificed layer.
         | 
| 16 | 
            +
             *
         | 
| 17 | 
            +
             * @constructor
         | 
| 18 | 
            +
             * @param {Element} layer The layer to listen on
         | 
| 19 | 
            +
             */
         | 
| 20 | 
            +
            function FastClick(layer) {
         | 
| 21 | 
            +
              'use strict';
         | 
| 22 | 
            +
              var oldOnClick, self = this;
         | 
| 23 | 
            +
             | 
| 24 | 
            +
             | 
| 25 | 
            +
              /**
         | 
| 26 | 
            +
               * Whether a click is currently being tracked.
         | 
| 27 | 
            +
               *
         | 
| 28 | 
            +
               * @type boolean
         | 
| 29 | 
            +
               */
         | 
| 30 | 
            +
              this.trackingClick = false;
         | 
| 31 | 
            +
             | 
| 32 | 
            +
             | 
| 33 | 
            +
              /**
         | 
| 34 | 
            +
               * Timestamp for when when click tracking started.
         | 
| 35 | 
            +
               *
         | 
| 36 | 
            +
               * @type number
         | 
| 37 | 
            +
               */
         | 
| 38 | 
            +
              this.trackingClickStart = 0;
         | 
| 39 | 
            +
             | 
| 40 | 
            +
             | 
| 41 | 
            +
              /**
         | 
| 42 | 
            +
               * The element being tracked for a click.
         | 
| 43 | 
            +
               *
         | 
| 44 | 
            +
               * @type EventTarget
         | 
| 45 | 
            +
               */
         | 
| 46 | 
            +
              this.targetElement = null;
         | 
| 47 | 
            +
             | 
| 48 | 
            +
             | 
| 49 | 
            +
              /**
         | 
| 50 | 
            +
               * X-coordinate of touch start event.
         | 
| 51 | 
            +
               *
         | 
| 52 | 
            +
               * @type number
         | 
| 53 | 
            +
               */
         | 
| 54 | 
            +
              this.touchStartX = 0;
         | 
| 55 | 
            +
             | 
| 56 | 
            +
             | 
| 57 | 
            +
              /**
         | 
| 58 | 
            +
               * Y-coordinate of touch start event.
         | 
| 59 | 
            +
               *
         | 
| 60 | 
            +
               * @type number
         | 
| 61 | 
            +
               */
         | 
| 62 | 
            +
              this.touchStartY = 0;
         | 
| 63 | 
            +
             | 
| 64 | 
            +
             | 
| 65 | 
            +
              /**
         | 
| 66 | 
            +
               * ID of the last touch, retrieved from Touch.identifier.
         | 
| 67 | 
            +
               *
         | 
| 68 | 
            +
               * @type number
         | 
| 69 | 
            +
               */
         | 
| 70 | 
            +
              this.lastTouchIdentifier = 0;
         | 
| 71 | 
            +
             | 
| 72 | 
            +
             | 
| 73 | 
            +
              /**
         | 
| 74 | 
            +
               * Touchmove boundary, beyond which a click will be cancelled.
         | 
| 75 | 
            +
               *
         | 
| 76 | 
            +
               * @type number
         | 
| 77 | 
            +
               */
         | 
| 78 | 
            +
              this.touchBoundary = 10;
         | 
| 79 | 
            +
             | 
| 80 | 
            +
             | 
| 81 | 
            +
              /**
         | 
| 82 | 
            +
               * The FastClick layer.
         | 
| 83 | 
            +
               *
         | 
| 84 | 
            +
               * @type Element
         | 
| 85 | 
            +
               */
         | 
| 86 | 
            +
              this.layer = layer;
         | 
| 87 | 
            +
             | 
| 88 | 
            +
              if (!layer || !layer.nodeType) {
         | 
| 89 | 
            +
                throw new TypeError('Layer must be a document node');
         | 
| 90 | 
            +
              }
         | 
| 91 | 
            +
             | 
| 92 | 
            +
              /** @type function() */
         | 
| 93 | 
            +
              this.onClick = function() { return FastClick.prototype.onClick.apply(self, arguments); };
         | 
| 94 | 
            +
             | 
| 95 | 
            +
              /** @type function() */
         | 
| 96 | 
            +
              this.onMouse = function() { return FastClick.prototype.onMouse.apply(self, arguments); };
         | 
| 97 | 
            +
             | 
| 98 | 
            +
              /** @type function() */
         | 
| 99 | 
            +
              this.onTouchStart = function() { return FastClick.prototype.onTouchStart.apply(self, arguments); };
         | 
| 100 | 
            +
             | 
| 101 | 
            +
              /** @type function() */
         | 
| 102 | 
            +
              this.onTouchMove = function() { return FastClick.prototype.onTouchMove.apply(self, arguments); };
         | 
| 103 | 
            +
             | 
| 104 | 
            +
              /** @type function() */
         | 
| 105 | 
            +
              this.onTouchEnd = function() { return FastClick.prototype.onTouchEnd.apply(self, arguments); };
         | 
| 106 | 
            +
             | 
| 107 | 
            +
              /** @type function() */
         | 
| 108 | 
            +
              this.onTouchCancel = function() { return FastClick.prototype.onTouchCancel.apply(self, arguments); };
         | 
| 109 | 
            +
             | 
| 110 | 
            +
              if (FastClick.notNeeded(layer)) {
         | 
| 111 | 
            +
                return;
         | 
| 112 | 
            +
              }
         | 
| 113 | 
            +
             | 
| 114 | 
            +
              // Set up event handlers as required
         | 
| 115 | 
            +
              if (this.deviceIsAndroid) {
         | 
| 116 | 
            +
                layer.addEventListener('mouseover', this.onMouse, true);
         | 
| 117 | 
            +
                layer.addEventListener('mousedown', this.onMouse, true);
         | 
| 118 | 
            +
                layer.addEventListener('mouseup', this.onMouse, true);
         | 
| 119 | 
            +
              }
         | 
| 120 | 
            +
             | 
| 121 | 
            +
              layer.addEventListener('click', this.onClick, true);
         | 
| 122 | 
            +
              layer.addEventListener('touchstart', this.onTouchStart, false);
         | 
| 123 | 
            +
              layer.addEventListener('touchmove', this.onTouchMove, false);
         | 
| 124 | 
            +
              layer.addEventListener('touchend', this.onTouchEnd, false);
         | 
| 125 | 
            +
              layer.addEventListener('touchcancel', this.onTouchCancel, false);
         | 
| 126 | 
            +
             | 
| 127 | 
            +
              // Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
         | 
| 128 | 
            +
              // which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
         | 
| 129 | 
            +
              // layer when they are cancelled.
         | 
| 130 | 
            +
              if (!Event.prototype.stopImmediatePropagation) {
         | 
| 131 | 
            +
                layer.removeEventListener = function(type, callback, capture) {
         | 
| 132 | 
            +
                  var rmv = Node.prototype.removeEventListener;
         | 
| 133 | 
            +
                  if (type === 'click') {
         | 
| 134 | 
            +
                    rmv.call(layer, type, callback.hijacked || callback, capture);
         | 
| 135 | 
            +
                  } else {
         | 
| 136 | 
            +
                    rmv.call(layer, type, callback, capture);
         | 
| 137 | 
            +
                  }
         | 
| 138 | 
            +
                };
         | 
| 139 | 
            +
             | 
| 140 | 
            +
                layer.addEventListener = function(type, callback, capture) {
         | 
| 141 | 
            +
                  var adv = Node.prototype.addEventListener;
         | 
| 142 | 
            +
                  if (type === 'click') {
         | 
| 143 | 
            +
                    adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
         | 
| 144 | 
            +
                      if (!event.propagationStopped) {
         | 
| 145 | 
            +
                        callback(event);
         | 
| 146 | 
            +
                      }
         | 
| 147 | 
            +
                    }), capture);
         | 
| 148 | 
            +
                  } else {
         | 
| 149 | 
            +
                    adv.call(layer, type, callback, capture);
         | 
| 150 | 
            +
                  }
         | 
| 151 | 
            +
                };
         | 
| 152 | 
            +
              }
         | 
| 153 | 
            +
             | 
| 154 | 
            +
              // If a handler is already declared in the element's onclick attribute, it will be fired before
         | 
| 155 | 
            +
              // FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
         | 
| 156 | 
            +
              // adding it as listener.
         | 
| 157 | 
            +
              if (typeof layer.onclick === 'function') {
         | 
| 158 | 
            +
             | 
| 159 | 
            +
                // Android browser on at least 3.2 requires a new reference to the function in layer.onclick
         | 
| 160 | 
            +
                // - the old one won't work if passed to addEventListener directly.
         | 
| 161 | 
            +
                oldOnClick = layer.onclick;
         | 
| 162 | 
            +
                layer.addEventListener('click', function(event) {
         | 
| 163 | 
            +
                  oldOnClick(event);
         | 
| 164 | 
            +
                }, false);
         | 
| 165 | 
            +
                layer.onclick = null;
         | 
| 166 | 
            +
              }
         | 
| 167 | 
            +
            }
         | 
| 168 | 
            +
             | 
| 169 | 
            +
             | 
| 170 | 
            +
            /**
         | 
| 171 | 
            +
             * Android requires exceptions.
         | 
| 172 | 
            +
             *
         | 
| 173 | 
            +
             * @type boolean
         | 
| 174 | 
            +
             */
         | 
| 175 | 
            +
            FastClick.prototype.deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;
         | 
| 176 | 
            +
             | 
| 177 | 
            +
             | 
| 178 | 
            +
            /**
         | 
| 179 | 
            +
             * iOS requires exceptions.
         | 
| 180 | 
            +
             *
         | 
| 181 | 
            +
             * @type boolean
         | 
| 182 | 
            +
             */
         | 
| 183 | 
            +
            FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
         | 
| 184 | 
            +
             | 
| 185 | 
            +
             | 
| 186 | 
            +
            /**
         | 
| 187 | 
            +
             * iOS 4 requires an exception for select elements.
         | 
| 188 | 
            +
             *
         | 
| 189 | 
            +
             * @type boolean
         | 
| 190 | 
            +
             */
         | 
| 191 | 
            +
            FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
         | 
| 192 | 
            +
             | 
| 193 | 
            +
             | 
| 194 | 
            +
            /**
         | 
| 195 | 
            +
             * iOS 6.0(+?) requires the target element to be manually derived
         | 
| 196 | 
            +
             *
         | 
| 197 | 
            +
             * @type boolean
         | 
| 198 | 
            +
             */
         | 
| 199 | 
            +
            FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
         | 
| 200 | 
            +
             | 
| 201 | 
            +
             | 
| 202 | 
            +
            /**
         | 
| 203 | 
            +
             * Determine whether a given element requires a native click.
         | 
| 204 | 
            +
             *
         | 
| 205 | 
            +
             * @param {EventTarget|Element} target Target DOM element
         | 
| 206 | 
            +
             * @returns {boolean} Returns true if the element needs a native click
         | 
| 207 | 
            +
             */
         | 
| 208 | 
            +
            FastClick.prototype.needsClick = function(target) {
         | 
| 209 | 
            +
              'use strict';
         | 
| 210 | 
            +
              switch (target.nodeName.toLowerCase()) {
         | 
| 211 | 
            +
             | 
| 212 | 
            +
              // Don't send a synthetic click to disabled inputs (issue #62)
         | 
| 213 | 
            +
              case 'button':
         | 
| 214 | 
            +
              case 'select':
         | 
| 215 | 
            +
              case 'textarea':
         | 
| 216 | 
            +
                if (target.disabled) {
         | 
| 217 | 
            +
                  return true;
         | 
| 218 | 
            +
                }
         | 
| 219 | 
            +
             | 
| 220 | 
            +
                break;
         | 
| 221 | 
            +
              case 'input':
         | 
| 222 | 
            +
             | 
| 223 | 
            +
                // File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
         | 
| 224 | 
            +
                if ((this.deviceIsIOS && target.type === 'file') || target.disabled) {
         | 
| 225 | 
            +
                  return true;
         | 
| 226 | 
            +
                }
         | 
| 227 | 
            +
             | 
| 228 | 
            +
                break;
         | 
| 229 | 
            +
              case 'label':
         | 
| 230 | 
            +
              case 'video':
         | 
| 231 | 
            +
                return true;
         | 
| 232 | 
            +
              }
         | 
| 233 | 
            +
             | 
| 234 | 
            +
              return (/\bneedsclick\b/).test(target.className);
         | 
| 235 | 
            +
            };
         | 
| 236 | 
            +
             | 
| 237 | 
            +
             | 
| 238 | 
            +
            /**
         | 
| 239 | 
            +
             * Determine whether a given element requires a call to focus to simulate click into element.
         | 
| 240 | 
            +
             *
         | 
| 241 | 
            +
             * @param {EventTarget|Element} target Target DOM element
         | 
| 242 | 
            +
             * @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
         | 
| 243 | 
            +
             */
         | 
| 244 | 
            +
            FastClick.prototype.needsFocus = function(target) {
         | 
| 245 | 
            +
              'use strict';
         | 
| 246 | 
            +
              switch (target.nodeName.toLowerCase()) {
         | 
| 247 | 
            +
              case 'textarea':
         | 
| 248 | 
            +
              case 'select':
         | 
| 249 | 
            +
                return true;
         | 
| 250 | 
            +
              case 'input':
         | 
| 251 | 
            +
                switch (target.type) {
         | 
| 252 | 
            +
                case 'button':
         | 
| 253 | 
            +
                case 'checkbox':
         | 
| 254 | 
            +
                case 'file':
         | 
| 255 | 
            +
                case 'image':
         | 
| 256 | 
            +
                case 'radio':
         | 
| 257 | 
            +
                case 'submit':
         | 
| 258 | 
            +
                  return false;
         | 
| 259 | 
            +
                }
         | 
| 260 | 
            +
             | 
| 261 | 
            +
                // No point in attempting to focus disabled inputs
         | 
| 262 | 
            +
                return !target.disabled && !target.readOnly;
         | 
| 263 | 
            +
              default:
         | 
| 264 | 
            +
                return (/\bneedsfocus\b/).test(target.className);
         | 
| 265 | 
            +
              }
         | 
| 266 | 
            +
            };
         | 
| 267 | 
            +
             | 
| 268 | 
            +
             | 
| 269 | 
            +
            /**
         | 
| 270 | 
            +
             * Send a click event to the specified element.
         | 
| 271 | 
            +
             *
         | 
| 272 | 
            +
             * @param {EventTarget|Element} targetElement
         | 
| 273 | 
            +
             * @param {Event} event
         | 
| 274 | 
            +
             */
         | 
| 275 | 
            +
            FastClick.prototype.sendClick = function(targetElement, event) {
         | 
| 276 | 
            +
              'use strict';
         | 
| 277 | 
            +
              var clickEvent, touch;
         | 
| 278 | 
            +
             | 
| 279 | 
            +
              // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
         | 
| 280 | 
            +
              if (document.activeElement && document.activeElement !== targetElement) {
         | 
| 281 | 
            +
                document.activeElement.blur();
         | 
| 282 | 
            +
              }
         | 
| 283 | 
            +
             | 
| 284 | 
            +
              touch = event.changedTouches[0];
         | 
| 285 | 
            +
             | 
| 286 | 
            +
              // Synthesise a click event, with an extra attribute so it can be tracked
         | 
| 287 | 
            +
              clickEvent = document.createEvent('MouseEvents');
         | 
| 288 | 
            +
              clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
         | 
| 289 | 
            +
              clickEvent.forwardedTouchEvent = true;
         | 
| 290 | 
            +
              targetElement.dispatchEvent(clickEvent);
         | 
| 291 | 
            +
            };
         | 
| 292 | 
            +
             | 
| 293 | 
            +
             | 
| 294 | 
            +
            /**
         | 
| 295 | 
            +
             * @param {EventTarget|Element} targetElement
         | 
| 296 | 
            +
             */
         | 
| 297 | 
            +
            FastClick.prototype.focus = function(targetElement) {
         | 
| 298 | 
            +
              'use strict';
         | 
| 299 | 
            +
              var length;
         | 
| 300 | 
            +
             | 
| 301 | 
            +
              if (this.deviceIsIOS && targetElement.setSelectionRange) {
         | 
| 302 | 
            +
                length = targetElement.value.length;
         | 
| 303 | 
            +
                targetElement.setSelectionRange(length, length);
         | 
| 304 | 
            +
              } else {
         | 
| 305 | 
            +
                targetElement.focus();
         | 
| 306 | 
            +
              }
         | 
| 307 | 
            +
            };
         | 
| 308 | 
            +
             | 
| 309 | 
            +
             | 
| 310 | 
            +
            /**
         | 
| 311 | 
            +
             * Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
         | 
| 312 | 
            +
             *
         | 
| 313 | 
            +
             * @param {EventTarget|Element} targetElement
         | 
| 314 | 
            +
             */
         | 
| 315 | 
            +
            FastClick.prototype.updateScrollParent = function(targetElement) {
         | 
| 316 | 
            +
              'use strict';
         | 
| 317 | 
            +
              var scrollParent, parentElement;
         | 
| 318 | 
            +
             | 
| 319 | 
            +
              scrollParent = targetElement.fastClickScrollParent;
         | 
| 320 | 
            +
             | 
| 321 | 
            +
              // Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
         | 
| 322 | 
            +
              // target element was moved to another parent.
         | 
| 323 | 
            +
              if (!scrollParent || !scrollParent.contains(targetElement)) {
         | 
| 324 | 
            +
                parentElement = targetElement;
         | 
| 325 | 
            +
                do {
         | 
| 326 | 
            +
                  if (parentElement.scrollHeight > parentElement.offsetHeight) {
         | 
| 327 | 
            +
                    scrollParent = parentElement;
         | 
| 328 | 
            +
                    targetElement.fastClickScrollParent = parentElement;
         | 
| 329 | 
            +
                    break;
         | 
| 330 | 
            +
                  }
         | 
| 331 | 
            +
             | 
| 332 | 
            +
                  parentElement = parentElement.parentElement;
         | 
| 333 | 
            +
                } while (parentElement);
         | 
| 334 | 
            +
              }
         | 
| 335 | 
            +
             | 
| 336 | 
            +
              // Always update the scroll top tracker if possible.
         | 
| 337 | 
            +
              if (scrollParent) {
         | 
| 338 | 
            +
                scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
         | 
| 339 | 
            +
              }
         | 
| 340 | 
            +
            };
         | 
| 341 | 
            +
             | 
| 342 | 
            +
             | 
| 343 | 
            +
            /**
         | 
| 344 | 
            +
             * @param {EventTarget} targetElement
         | 
| 345 | 
            +
             * @returns {Element|EventTarget}
         | 
| 346 | 
            +
             */
         | 
| 347 | 
            +
            FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
         | 
| 348 | 
            +
              'use strict';
         | 
| 349 | 
            +
             | 
| 350 | 
            +
              // On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
         | 
| 351 | 
            +
              if (eventTarget.nodeType === Node.TEXT_NODE) {
         | 
| 352 | 
            +
                return eventTarget.parentNode;
         | 
| 353 | 
            +
              }
         | 
| 354 | 
            +
             | 
| 355 | 
            +
              return eventTarget;
         | 
| 356 | 
            +
            };
         | 
| 357 | 
            +
             | 
| 358 | 
            +
             | 
| 359 | 
            +
            /**
         | 
| 360 | 
            +
             * On touch start, record the position and scroll offset.
         | 
| 361 | 
            +
             *
         | 
| 362 | 
            +
             * @param {Event} event
         | 
| 363 | 
            +
             * @returns {boolean}
         | 
| 364 | 
            +
             */
         | 
| 365 | 
            +
            FastClick.prototype.onTouchStart = function(event) {
         | 
| 366 | 
            +
              'use strict';
         | 
| 367 | 
            +
              var targetElement, touch, selection;
         | 
| 368 | 
            +
             | 
| 369 | 
            +
              // Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
         | 
| 370 | 
            +
              if (event.targetTouches.length > 1) {
         | 
| 371 | 
            +
                return true;
         | 
| 372 | 
            +
              }
         | 
| 373 | 
            +
             | 
| 374 | 
            +
              targetElement = this.getTargetElementFromEventTarget(event.target);
         | 
| 375 | 
            +
              touch = event.targetTouches[0];
         | 
| 376 | 
            +
             | 
| 377 | 
            +
              if (this.deviceIsIOS) {
         | 
| 378 | 
            +
             | 
| 379 | 
            +
                // Only trusted events will deselect text on iOS (issue #49)
         | 
| 380 | 
            +
                selection = window.getSelection();
         | 
| 381 | 
            +
                if (selection.rangeCount && !selection.isCollapsed) {
         | 
| 382 | 
            +
                  return true;
         | 
| 383 | 
            +
                }
         | 
| 384 | 
            +
             | 
| 385 | 
            +
                if (!this.deviceIsIOS4) {
         | 
| 386 | 
            +
             | 
| 387 | 
            +
                  // Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
         | 
| 388 | 
            +
                  // when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
         | 
| 389 | 
            +
                  // with the same identifier as the touch event that previously triggered the click that triggered the alert.
         | 
| 390 | 
            +
                  // Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
         | 
| 391 | 
            +
                  // immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
         | 
| 392 | 
            +
                  if (touch.identifier === this.lastTouchIdentifier) {
         | 
| 393 | 
            +
                    event.preventDefault();
         | 
| 394 | 
            +
                    return false;
         | 
| 395 | 
            +
                  }
         | 
| 396 | 
            +
             | 
| 397 | 
            +
                  this.lastTouchIdentifier = touch.identifier;
         | 
| 398 | 
            +
             | 
| 399 | 
            +
                  // If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
         | 
| 400 | 
            +
                  // 1) the user does a fling scroll on the scrollable layer
         | 
| 401 | 
            +
                  // 2) the user stops the fling scroll with another tap
         | 
| 402 | 
            +
                  // then the event.target of the last 'touchend' event will be the element that was under the user's finger
         | 
| 403 | 
            +
                  // when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
         | 
| 404 | 
            +
                  // is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
         | 
| 405 | 
            +
                  this.updateScrollParent(targetElement);
         | 
| 406 | 
            +
                }
         | 
| 407 | 
            +
              }
         | 
| 408 | 
            +
             | 
| 409 | 
            +
              this.trackingClick = true;
         | 
| 410 | 
            +
              this.trackingClickStart = event.timeStamp;
         | 
| 411 | 
            +
              this.targetElement = targetElement;
         | 
| 412 | 
            +
             | 
| 413 | 
            +
              this.touchStartX = touch.pageX;
         | 
| 414 | 
            +
              this.touchStartY = touch.pageY;
         | 
| 415 | 
            +
             | 
| 416 | 
            +
              // Prevent phantom clicks on fast double-tap (issue #36)
         | 
| 417 | 
            +
              if ((event.timeStamp - this.lastClickTime) < 200) {
         | 
| 418 | 
            +
                event.preventDefault();
         | 
| 419 | 
            +
              }
         | 
| 420 | 
            +
             | 
| 421 | 
            +
              return true;
         | 
| 422 | 
            +
            };
         | 
| 423 | 
            +
             | 
| 424 | 
            +
             | 
| 425 | 
            +
            /**
         | 
| 426 | 
            +
             * Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
         | 
| 427 | 
            +
             *
         | 
| 428 | 
            +
             * @param {Event} event
         | 
| 429 | 
            +
             * @returns {boolean}
         | 
| 430 | 
            +
             */
         | 
| 431 | 
            +
            FastClick.prototype.touchHasMoved = function(event) {
         | 
| 432 | 
            +
              'use strict';
         | 
| 433 | 
            +
              var touch = event.changedTouches[0], boundary = this.touchBoundary;
         | 
| 434 | 
            +
             | 
| 435 | 
            +
              if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
         | 
| 436 | 
            +
                return true;
         | 
| 437 | 
            +
              }
         | 
| 438 | 
            +
             | 
| 439 | 
            +
              return false;
         | 
| 440 | 
            +
            };
         | 
| 441 | 
            +
             | 
| 442 | 
            +
             | 
| 443 | 
            +
            /**
         | 
| 444 | 
            +
             * Update the last position.
         | 
| 445 | 
            +
             *
         | 
| 446 | 
            +
             * @param {Event} event
         | 
| 447 | 
            +
             * @returns {boolean}
         | 
| 448 | 
            +
             */
         | 
| 449 | 
            +
            FastClick.prototype.onTouchMove = function(event) {
         | 
| 450 | 
            +
              'use strict';
         | 
| 451 | 
            +
              if (!this.trackingClick) {
         | 
| 452 | 
            +
                return true;
         | 
| 453 | 
            +
              }
         | 
| 454 | 
            +
             | 
| 455 | 
            +
              // If the touch has moved, cancel the click tracking
         | 
| 456 | 
            +
              if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
         | 
| 457 | 
            +
                this.trackingClick = false;
         | 
| 458 | 
            +
                this.targetElement = null;
         | 
| 459 | 
            +
              }
         | 
| 460 | 
            +
             | 
| 461 | 
            +
              return true;
         | 
| 462 | 
            +
            };
         | 
| 463 | 
            +
             | 
| 464 | 
            +
             | 
| 465 | 
            +
            /**
         | 
| 466 | 
            +
             * Attempt to find the labelled control for the given label element.
         | 
| 467 | 
            +
             *
         | 
| 468 | 
            +
             * @param {EventTarget|HTMLLabelElement} labelElement
         | 
| 469 | 
            +
             * @returns {Element|null}
         | 
| 470 | 
            +
             */
         | 
| 471 | 
            +
            FastClick.prototype.findControl = function(labelElement) {
         | 
| 472 | 
            +
              'use strict';
         | 
| 473 | 
            +
             | 
| 474 | 
            +
              // Fast path for newer browsers supporting the HTML5 control attribute
         | 
| 475 | 
            +
              if (labelElement.control !== undefined) {
         | 
| 476 | 
            +
                return labelElement.control;
         | 
| 477 | 
            +
              }
         | 
| 478 | 
            +
             | 
| 479 | 
            +
              // All browsers under test that support touch events also support the HTML5 htmlFor attribute
         | 
| 480 | 
            +
              if (labelElement.htmlFor) {
         | 
| 481 | 
            +
                return document.getElementById(labelElement.htmlFor);
         | 
| 482 | 
            +
              }
         | 
| 483 | 
            +
             | 
| 484 | 
            +
              // If no for attribute exists, attempt to retrieve the first labellable descendant element
         | 
| 485 | 
            +
              // the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
         | 
| 486 | 
            +
              return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
         | 
| 487 | 
            +
            };
         | 
| 488 | 
            +
             | 
| 489 | 
            +
             | 
| 490 | 
            +
            /**
         | 
| 491 | 
            +
             * On touch end, determine whether to send a click event at once.
         | 
| 492 | 
            +
             *
         | 
| 493 | 
            +
             * @param {Event} event
         | 
| 494 | 
            +
             * @returns {boolean}
         | 
| 495 | 
            +
             */
         | 
| 496 | 
            +
            FastClick.prototype.onTouchEnd = function(event) {
         | 
| 497 | 
            +
              'use strict';
         | 
| 498 | 
            +
              var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
         | 
| 499 | 
            +
             | 
| 500 | 
            +
              if (!this.trackingClick) {
         | 
| 501 | 
            +
                return true;
         | 
| 502 | 
            +
              }
         | 
| 503 | 
            +
             | 
| 504 | 
            +
              // Prevent phantom clicks on fast double-tap (issue #36)
         | 
| 505 | 
            +
              if ((event.timeStamp - this.lastClickTime) < 200) {
         | 
| 506 | 
            +
                this.cancelNextClick = true;
         | 
| 507 | 
            +
                return true;
         | 
| 508 | 
            +
              }
         | 
| 509 | 
            +
             | 
| 510 | 
            +
              this.lastClickTime = event.timeStamp;
         | 
| 511 | 
            +
             | 
| 512 | 
            +
              trackingClickStart = this.trackingClickStart;
         | 
| 513 | 
            +
              this.trackingClick = false;
         | 
| 514 | 
            +
              this.trackingClickStart = 0;
         | 
| 515 | 
            +
             | 
| 516 | 
            +
              // On some iOS devices, the targetElement supplied with the event is invalid if the layer
         | 
| 517 | 
            +
              // is performing a transition or scroll, and has to be re-detected manually. Note that
         | 
| 518 | 
            +
              // for this to function correctly, it must be called *after* the event target is checked!
         | 
| 519 | 
            +
              // See issue #57; also filed as rdar://13048589 .
         | 
| 520 | 
            +
              if (this.deviceIsIOSWithBadTarget) {
         | 
| 521 | 
            +
                touch = event.changedTouches[0];
         | 
| 522 | 
            +
             | 
| 523 | 
            +
                // In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
         | 
| 524 | 
            +
                targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
         | 
| 525 | 
            +
                targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
         | 
| 526 | 
            +
              }
         | 
| 527 | 
            +
             | 
| 528 | 
            +
              targetTagName = targetElement.tagName.toLowerCase();
         | 
| 529 | 
            +
              if (targetTagName === 'label') {
         | 
| 530 | 
            +
                forElement = this.findControl(targetElement);
         | 
| 531 | 
            +
                if (forElement) {
         | 
| 532 | 
            +
                  this.focus(targetElement);
         | 
| 533 | 
            +
                  if (this.deviceIsAndroid) {
         | 
| 534 | 
            +
                    return false;
         | 
| 535 | 
            +
                  }
         | 
| 536 | 
            +
             | 
| 537 | 
            +
                  targetElement = forElement;
         | 
| 538 | 
            +
                }
         | 
| 539 | 
            +
              } else if (this.needsFocus(targetElement)) {
         | 
| 540 | 
            +
             | 
| 541 | 
            +
                // Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
         | 
| 542 | 
            +
                // Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
         | 
| 543 | 
            +
                if ((event.timeStamp - trackingClickStart) > 100 || (this.deviceIsIOS && window.top !== window && targetTagName === 'input')) {
         | 
| 544 | 
            +
                  this.targetElement = null;
         | 
| 545 | 
            +
                  return false;
         | 
| 546 | 
            +
                }
         | 
| 547 | 
            +
             | 
| 548 | 
            +
                this.focus(targetElement);
         | 
| 549 | 
            +
             | 
| 550 | 
            +
                // Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
         | 
| 551 | 
            +
                if (!this.deviceIsIOS4 || targetTagName !== 'select') {
         | 
| 552 | 
            +
                  this.targetElement = null;
         | 
| 553 | 
            +
                  event.preventDefault();
         | 
| 554 | 
            +
                }
         | 
| 555 | 
            +
             | 
| 556 | 
            +
                return false;
         | 
| 557 | 
            +
              }
         | 
| 558 | 
            +
             | 
| 559 | 
            +
              if (this.deviceIsIOS && !this.deviceIsIOS4) {
         | 
| 560 | 
            +
             | 
| 561 | 
            +
                // Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
         | 
| 562 | 
            +
                // and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
         | 
| 563 | 
            +
                scrollParent = targetElement.fastClickScrollParent;
         | 
| 564 | 
            +
                if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
         | 
| 565 | 
            +
                  return true;
         | 
| 566 | 
            +
                }
         | 
| 567 | 
            +
              }
         | 
| 568 | 
            +
             | 
| 569 | 
            +
              // Prevent the actual click from going though - unless the target node is marked as requiring
         | 
| 570 | 
            +
              // real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
         | 
| 571 | 
            +
              if (!this.needsClick(targetElement)) {
         | 
| 572 | 
            +
                event.preventDefault();
         | 
| 573 | 
            +
                this.sendClick(targetElement, event);
         | 
| 574 | 
            +
              }
         | 
| 575 | 
            +
             | 
| 576 | 
            +
              return false;
         | 
| 577 | 
            +
            };
         | 
| 578 | 
            +
             | 
| 579 | 
            +
             | 
| 580 | 
            +
            /**
         | 
| 581 | 
            +
             * On touch cancel, stop tracking the click.
         | 
| 582 | 
            +
             *
         | 
| 583 | 
            +
             * @returns {void}
         | 
| 584 | 
            +
             */
         | 
| 585 | 
            +
            FastClick.prototype.onTouchCancel = function() {
         | 
| 586 | 
            +
              'use strict';
         | 
| 587 | 
            +
              this.trackingClick = false;
         | 
| 588 | 
            +
              this.targetElement = null;
         | 
| 589 | 
            +
            };
         | 
| 590 | 
            +
             | 
| 591 | 
            +
             | 
| 592 | 
            +
            /**
         | 
| 593 | 
            +
             * Determine mouse events which should be permitted.
         | 
| 594 | 
            +
             *
         | 
| 595 | 
            +
             * @param {Event} event
         | 
| 596 | 
            +
             * @returns {boolean}
         | 
| 597 | 
            +
             */
         | 
| 598 | 
            +
            FastClick.prototype.onMouse = function(event) {
         | 
| 599 | 
            +
              'use strict';
         | 
| 600 | 
            +
             | 
| 601 | 
            +
              // If a target element was never set (because a touch event was never fired) allow the event
         | 
| 602 | 
            +
              if (!this.targetElement) {
         | 
| 603 | 
            +
                return true;
         | 
| 604 | 
            +
              }
         | 
| 605 | 
            +
             | 
| 606 | 
            +
              if (event.forwardedTouchEvent) {
         | 
| 607 | 
            +
                return true;
         | 
| 608 | 
            +
              }
         | 
| 609 | 
            +
             | 
| 610 | 
            +
              // Programmatically generated events targeting a specific element should be permitted
         | 
| 611 | 
            +
              if (!event.cancelable) {
         | 
| 612 | 
            +
                return true;
         | 
| 613 | 
            +
              }
         | 
| 614 | 
            +
             | 
| 615 | 
            +
              // Derive and check the target element to see whether the mouse event needs to be permitted;
         | 
| 616 | 
            +
              // unless explicitly enabled, prevent non-touch click events from triggering actions,
         | 
| 617 | 
            +
              // to prevent ghost/doubleclicks.
         | 
| 618 | 
            +
              if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
         | 
| 619 | 
            +
             | 
| 620 | 
            +
                // Prevent any user-added listeners declared on FastClick element from being fired.
         | 
| 621 | 
            +
                if (event.stopImmediatePropagation) {
         | 
| 622 | 
            +
                  event.stopImmediatePropagation();
         | 
| 623 | 
            +
                } else {
         | 
| 624 | 
            +
             | 
| 625 | 
            +
                  // Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
         | 
| 626 | 
            +
                  event.propagationStopped = true;
         | 
| 627 | 
            +
                }
         | 
| 628 | 
            +
             | 
| 629 | 
            +
                // Cancel the event
         | 
| 630 | 
            +
                event.stopPropagation();
         | 
| 631 | 
            +
                event.preventDefault();
         | 
| 632 | 
            +
             | 
| 633 | 
            +
                return false;
         | 
| 634 | 
            +
              }
         | 
| 635 | 
            +
             | 
| 636 | 
            +
              // If the mouse event is permitted, return true for the action to go through.
         | 
| 637 | 
            +
              return true;
         | 
| 638 | 
            +
            };
         | 
| 639 | 
            +
             | 
| 640 | 
            +
             | 
| 641 | 
            +
            /**
         | 
| 642 | 
            +
             * On actual clicks, determine whether this is a touch-generated click, a click action occurring
         | 
| 643 | 
            +
             * naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
         | 
| 644 | 
            +
             * an actual click which should be permitted.
         | 
| 645 | 
            +
             *
         | 
| 646 | 
            +
             * @param {Event} event
         | 
| 647 | 
            +
             * @returns {boolean}
         | 
| 648 | 
            +
             */
         | 
| 649 | 
            +
            FastClick.prototype.onClick = function(event) {
         | 
| 650 | 
            +
              'use strict';
         | 
| 651 | 
            +
              var permitted;
         | 
| 652 | 
            +
             | 
| 653 | 
            +
              // It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
         | 
| 654 | 
            +
              if (this.trackingClick) {
         | 
| 655 | 
            +
                this.targetElement = null;
         | 
| 656 | 
            +
                this.trackingClick = false;
         | 
| 657 | 
            +
                return true;
         | 
| 658 | 
            +
              }
         | 
| 659 | 
            +
             | 
| 660 | 
            +
              // Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
         | 
| 661 | 
            +
              if (event.target.type === 'submit' && event.detail === 0) {
         | 
| 662 | 
            +
                return true;
         | 
| 663 | 
            +
              }
         | 
| 664 | 
            +
             | 
| 665 | 
            +
              permitted = this.onMouse(event);
         | 
| 666 | 
            +
             | 
| 667 | 
            +
              // Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
         | 
| 668 | 
            +
              if (!permitted) {
         | 
| 669 | 
            +
                this.targetElement = null;
         | 
| 670 | 
            +
              }
         | 
| 671 | 
            +
             | 
| 672 | 
            +
              // If clicks are permitted, return true for the action to go through.
         | 
| 673 | 
            +
              return permitted;
         | 
| 674 | 
            +
            };
         | 
| 675 | 
            +
             | 
| 676 | 
            +
             | 
| 677 | 
            +
            /**
         | 
| 678 | 
            +
             * Remove all FastClick's event listeners.
         | 
| 679 | 
            +
             *
         | 
| 680 | 
            +
             * @returns {void}
         | 
| 681 | 
            +
             */
         | 
| 682 | 
            +
            FastClick.prototype.destroy = function() {
         | 
| 683 | 
            +
              'use strict';
         | 
| 684 | 
            +
              var layer = this.layer;
         | 
| 685 | 
            +
             | 
| 686 | 
            +
              if (this.deviceIsAndroid) {
         | 
| 687 | 
            +
                layer.removeEventListener('mouseover', this.onMouse, true);
         | 
| 688 | 
            +
                layer.removeEventListener('mousedown', this.onMouse, true);
         | 
| 689 | 
            +
                layer.removeEventListener('mouseup', this.onMouse, true);
         | 
| 690 | 
            +
              }
         | 
| 691 | 
            +
             | 
| 692 | 
            +
              layer.removeEventListener('click', this.onClick, true);
         | 
| 693 | 
            +
              layer.removeEventListener('touchstart', this.onTouchStart, false);
         | 
| 694 | 
            +
              layer.removeEventListener('touchmove', this.onTouchMove, false);
         | 
| 695 | 
            +
              layer.removeEventListener('touchend', this.onTouchEnd, false);
         | 
| 696 | 
            +
              layer.removeEventListener('touchcancel', this.onTouchCancel, false);
         | 
| 697 | 
            +
            };
         | 
| 698 | 
            +
             | 
| 699 | 
            +
             | 
| 700 | 
            +
            /**
         | 
| 701 | 
            +
             * Check whether FastClick is needed.
         | 
| 702 | 
            +
             *
         | 
| 703 | 
            +
             * @param {Element} layer The layer to listen on
         | 
| 704 | 
            +
             */
         | 
| 705 | 
            +
            FastClick.notNeeded = function(layer) {
         | 
| 706 | 
            +
              'use strict';
         | 
| 707 | 
            +
              var metaViewport;
         | 
| 708 | 
            +
             | 
| 709 | 
            +
              // Devices that don't support touch don't need FastClick
         | 
| 710 | 
            +
              if (typeof window.ontouchstart === 'undefined') {
         | 
| 711 | 
            +
                return true;
         | 
| 712 | 
            +
              }
         | 
| 713 | 
            +
             | 
| 714 | 
            +
              if ((/Chrome\/[0-9]+/).test(navigator.userAgent)) {
         | 
| 715 | 
            +
             | 
| 716 | 
            +
                // Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
         | 
| 717 | 
            +
                if (FastClick.prototype.deviceIsAndroid) {
         | 
| 718 | 
            +
                  metaViewport = document.querySelector('meta[name=viewport]');
         | 
| 719 | 
            +
                  if (metaViewport && metaViewport.content.indexOf('user-scalable=no') !== -1) {
         | 
| 720 | 
            +
                    return true;
         | 
| 721 | 
            +
                  }
         | 
| 722 | 
            +
             | 
| 723 | 
            +
                // Chrome desktop doesn't need FastClick (issue #15)
         | 
| 724 | 
            +
                } else {
         | 
| 725 | 
            +
                  return true;
         | 
| 726 | 
            +
                }
         | 
| 727 | 
            +
              }
         | 
| 728 | 
            +
             | 
| 729 | 
            +
              // IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)
         | 
| 730 | 
            +
              if (layer.style.msTouchAction === 'none') {
         | 
| 731 | 
            +
                return true;
         | 
| 732 | 
            +
              }
         | 
| 733 | 
            +
             | 
| 734 | 
            +
              return false;
         | 
| 735 | 
            +
            };
         | 
| 736 | 
            +
             | 
| 737 | 
            +
             | 
| 738 | 
            +
            /**
         | 
| 739 | 
            +
             * Factory method for creating a FastClick object
         | 
| 740 | 
            +
             *
         | 
| 741 | 
            +
             * @param {Element} layer The layer to listen on
         | 
| 742 | 
            +
             */
         | 
| 743 | 
            +
            FastClick.attach = function(layer) {
         | 
| 744 | 
            +
              'use strict';
         | 
| 745 | 
            +
              return new FastClick(layer);
         | 
| 746 | 
            +
            };
         | 
| 747 | 
            +
             | 
| 748 | 
            +
             | 
| 749 | 
            +
            if (typeof define !== 'undefined' && define.amd) {
         | 
| 750 | 
            +
             | 
| 751 | 
            +
              // AMD. Register as an anonymous module.
         | 
| 752 | 
            +
              define(function() {
         | 
| 753 | 
            +
                'use strict';
         | 
| 754 | 
            +
                return FastClick;
         | 
| 755 | 
            +
              });
         | 
| 756 | 
            +
            } else if (typeof module !== 'undefined' && module.exports) {
         | 
| 757 | 
            +
              module.exports = FastClick.attach;
         | 
| 758 | 
            +
              module.exports.FastClick = FastClick;
         | 
| 759 | 
            +
            } else {
         | 
| 760 | 
            +
              window.FastClick = FastClick;
         | 
| 761 | 
            +
            }
         |