From 18ed88c7e3c789366f6e5443dc4ee0bc981a4b88 Mon Sep 17 00:00:00 2001 From: Stefan Wintermeyer Date: Mon, 21 Jan 2013 20:18:16 +0100 Subject: Started the migration to Twitter Bootstrap. --- app/assets/images/amooma-logo.png | Bin 1314 -> 0 bytes app/assets/images/bg-body.png | Bin 1768 -> 0 bytes .../images/gradients/light-to-dark-blue-x63.png | Bin 187 -> 0 bytes .../images/gradients/white-gray-x29-reverse.png | Bin 123 -> 0 bytes app/assets/images/gradients/white-gray-x29.png | Bin 126 -> 0 bytes app/assets/images/gradients/white-texture-x63.png | Bin 6927 -> 0 bytes app/assets/images/icons/cellphone-32x.png | Bin 1938 -> 0 bytes app/assets/images/icons/clock-32x.png | Bin 5968 -> 0 bytes app/assets/images/icons/cross-16x.png | Bin 3350 -> 0 bytes app/assets/images/icons/facebook-32x.png | Bin 402 -> 0 bytes app/assets/images/icons/fax-32x.png | Bin 5762 -> 0 bytes .../images/icons/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes app/assets/images/icons/glyphicons-halflings.png | Bin 0 -> 12799 bytes app/assets/images/icons/gs_envelope_16x.png | Bin 371 -> 0 bytes app/assets/images/icons/gs_forward_16x.png | Bin 301 -> 0 bytes app/assets/images/icons/gs_missed_16x.png | Bin 354 -> 0 bytes app/assets/images/icons/gs_placed_16x.png | Bin 397 -> 0 bytes app/assets/images/icons/gs_received_16x.png | Bin 390 -> 0 bytes app/assets/images/icons/headphones-16x.png | Bin 3285 -> 0 bytes app/assets/images/icons/headphones-32x.png | Bin 5906 -> 0 bytes app/assets/images/icons/house-32x.png | Bin 5741 -> 0 bytes app/assets/images/icons/mic-32x.png | Bin 5837 -> 0 bytes app/assets/images/icons/microphone-16x.png | Bin 3239 -> 0 bytes app/assets/images/icons/microphone-32x.png | Bin 5837 -> 0 bytes app/assets/images/icons/mute-16x.png | Bin 3349 -> 0 bytes app/assets/images/icons/phone-down-32x.png | Bin 5879 -> 0 bytes app/assets/images/icons/phone-down-green-32x.png | Bin 3426 -> 0 bytes app/assets/images/icons/phone-down-grey-32x.png | Bin 3283 -> 0 bytes app/assets/images/icons/phone-down-red-32x.png | Bin 3312 -> 0 bytes app/assets/images/icons/phone-mobile-32x.png | Bin 5509 -> 0 bytes app/assets/images/icons/phone-up-32x.png | Bin 5861 -> 0 bytes app/assets/images/icons/search-13x16.png | Bin 849 -> 0 bytes app/assets/images/icons/skype-32x.png | Bin 625 -> 0 bytes app/assets/images/icons/star-16x.png | Bin 3379 -> 0 bytes app/assets/images/icons/suitcase-32x.png | Bin 5550 -> 0 bytes app/assets/images/icons/tag-16x.png | Bin 3286 -> 0 bytes app/assets/images/icons/twitter-32x.png | Bin 397 -> 0 bytes app/assets/images/icons/unmute-16x.png | Bin 3373 -> 0 bytes app/assets/images/icons/user-16x.png | Bin 3287 -> 0 bytes app/assets/images/icons/user-female-16x.png | Bin 1680 -> 0 bytes app/assets/images/icons/user-male-16x.png | Bin 1559 -> 0 bytes app/assets/images/logo.png | Bin 7490 -> 0 bytes app/assets/images/phones/snom/Visio_snom300.png | Bin 0 -> 51018 bytes app/assets/images/phones/snom/Visio_snom320.png | Bin 0 -> 66491 bytes app/assets/images/phones/snom/Visio_snom360.png | Bin 0 -> 68592 bytes app/assets/images/phones/snom/Visio_snom370.png | Bin 0 -> 68924 bytes app/assets/images/phones/snom/Visio_snom820.png | Bin 0 -> 60875 bytes app/assets/images/phones/snom/Visio_snom821.png | Bin 0 -> 60875 bytes app/assets/images/phones/snom/Visio_snom870.png | Bin 0 -> 59457 bytes .../images/screenshots/gs5/gs5_boot_menu.png | Bin 0 -> 94638 bytes .../images/screenshots/gs5/gs5_conferences_new.png | Bin 0 -> 195085 bytes app/assets/images/screenshots/gs5/gs5_login.png | Bin 0 -> 65422 bytes .../screenshots/gs5/gs5_phone_book_entries.png | Bin 0 -> 216341 bytes .../images/screenshots/gs5/gs5_phones_new.png | Bin 0 -> 195178 bytes .../images/screenshots/gs5/gs5_setup_admin.png | Bin 0 -> 185624 bytes .../images/screenshots/gs5/gs5_tenants_new.png | Bin 0 -> 208446 bytes app/assets/images/stefan-wintermeyer-klein.jpg | Bin 0 -> 1610 bytes app/assets/images/stefan-wintermeyer.jpg | Bin 0 -> 2100110 bytes app/assets/images/stubs/user-36x.jpg | Bin 2093 -> 0 bytes app/assets/images/user.png | Bin 4800 -> 0 bytes app/assets/javascripts/api/rows.js.coffee | 3 - app/assets/javascripts/application.js | 19 +- app/assets/javascripts/bootstrap.js | 2025 +++++++ app/assets/javascripts/config_siemens.js.coffee | 3 - app/assets/javascripts/core.coffee | 5 - app/assets/javascripts/phones.js.coffee | 3 - app/assets/javascripts/softkeys.js.coffee | 25 - app/assets/javascripts/vendor/autoresize.jquery.js | 94 - .../vendor/fancybox/jquery.easing-1.3.pack.js | 205 - .../vendor/fancybox/jquery.fancybox-1.3.4.pack.js | 46 - .../fancybox/jquery.mousewheel-3.0.4.pack.js | 14 - app/assets/javascripts/vendor/html5boilerplate.js | 20 - app/assets/javascripts/vendor/jquery-1.6.2.min.js | 18 - app/assets/javascripts/vendor/jquery.condom.js | 52 - .../javascripts/vendor/jquery.easy-slider-1.7.js | 225 - .../javascripts/vendor/jquery.survival-kit.coffee | 36 - app/assets/javascripts/vendor/jquery.tmpl.js | 486 -- .../javascripts/vendor/modernizr-2.0.6.min.js | 1116 ---- app/assets/stylesheets/api/rows.css.scss | 3 - app/assets/stylesheets/app/layouts/_app.scss | 24 - .../stylesheets/app/layouts/_conference.scss | 136 - .../stylesheets/app/layouts/_phone-book-entry.scss | 176 - app/assets/stylesheets/app/pages/_phone_book.scss | 25 - app/assets/stylesheets/app/shared/_contents.scss | 374 -- app/assets/stylesheets/app/shared/_footers.scss | 90 - app/assets/stylesheets/app/shared/_handheld.scss | 25 - app/assets/stylesheets/app/shared/_headers.scss | 145 - app/assets/stylesheets/app/shared/_ie.scss | 7 - app/assets/stylesheets/app/shared/_media.scss | 16 - app/assets/stylesheets/app/shared/_print.scss | 17 - app/assets/stylesheets/application.css | 15 + app/assets/stylesheets/application.css.scss | 117 - .../stylesheets/bootstrap/bootstrap-responsive.css | 1088 ++++ app/assets/stylesheets/bootstrap/bootstrap.css.erb | 5893 ++++++++++++++++++++ .../stylesheets/gemeinschaft-generic.css.scss | 13 + app/assets/stylesheets/scaffolds.css.scss | 56 - app/assets/stylesheets/vendor/README | 1 - .../stylesheets/vendor/boilerplate-1.0/README | 15 - .../stylesheets/vendor/boilerplate-1.0/_reset.scss | 37 - .../vendor/boilerplate-1.0/_styles.scss | 171 - .../stylesheets/vendor/boilerplate-2.0/README | 16 - .../vendor/boilerplate-2.0/_styles.scss | 209 - .../stylesheets/vendor/easy-slider/_numeric.scss | 44 - .../stylesheets/vendor/facebox/_facebox.scss | 85 - app/assets/stylesheets/vendor/fancy-box/README | 4 - .../stylesheets/vendor/fancy-box/_fancy-box.scss | 336 -- app/assets/stylesheets/vendor/fancy-buttons/README | 3 - .../vendor/fancy-buttons/_fancy-buttons.scss | 189 - .../vendor/fancy-buttons/_fancy-gradient.scss | 28 - .../stylesheets/vendor/survival-kit/_blog.scss | 99 - .../stylesheets/vendor/survival-kit/_effects.scss | 97 - .../stylesheets/vendor/survival-kit/_forms.scss | 313 -- .../stylesheets/vendor/survival-kit/_headers.scss | 36 - .../stylesheets/vendor/survival-kit/_images.scss | 121 - .../stylesheets/vendor/survival-kit/_lists.scss | 37 - .../stylesheets/vendor/survival-kit/_loader.scss | 11 - .../vendor/survival-kit/_navigation.scss | 230 - .../stylesheets/vendor/survival-kit/_secure.scss | 3 - .../stylesheets/vendor/survival-kit/_tools.scss | 267 - .../access_authorizations/_index_core.html.haml | 2 +- app/views/access_authorizations/edit.html.haml | 2 +- app/views/access_authorizations/index.html.haml | 2 +- app/views/access_authorizations/new.html.haml | 2 +- app/views/access_authorizations/show.html.haml | 2 +- app/views/acd_agents/_index_core.html.haml | 2 +- app/views/acd_agents/edit.html.haml | 2 +- app/views/acd_agents/index.html.haml | 2 +- app/views/acd_agents/new.html.haml | 2 +- app/views/acd_agents/show.html.haml | 2 +- app/views/acd_callers/_index_core.html.haml | 2 +- app/views/acd_callers/index.html.haml | 2 +- app/views/acd_callers/show.html.haml | 2 +- app/views/addresses/_index_core.html.haml | 2 +- app/views/addresses/edit.html.haml | 2 +- app/views/addresses/index.html.haml | 2 +- app/views/addresses/new.html.haml | 2 +- app/views/addresses/show.html.haml | 2 +- .../_index_core.html.haml | 2 +- .../automatic_call_distributors/edit.html.haml | 2 +- .../automatic_call_distributors/index.html.haml | 2 +- .../automatic_call_distributors/new.html.haml | 2 +- .../automatic_call_distributors/show.html.haml | 4 +- app/views/call_forwards/_index_core.html.haml | 2 +- app/views/call_forwards/edit.html.haml | 2 +- app/views/call_forwards/index.html.haml | 2 +- app/views/call_forwards/new.html.haml | 2 +- app/views/call_forwards/show.html.haml | 2 +- app/views/call_histories/_index_core.html.haml | 2 +- app/views/call_histories/index.html.haml | 4 +- app/views/call_routes/_index_core.html.haml | 4 +- app/views/call_routes/edit.html.haml | 2 +- app/views/call_routes/index.html.haml | 4 +- app/views/call_routes/new.html.haml | 2 +- app/views/call_routes/show.html.haml | 2 +- app/views/calls/_index_core.html.haml | 2 +- app/views/calls/index.html.haml | 2 +- app/views/callthroughs/_index_core.html.haml | 2 +- app/views/callthroughs/edit.html.haml | 2 +- app/views/callthroughs/index.html.haml | 2 +- app/views/callthroughs/new.html.haml | 2 +- app/views/callthroughs/show.html.haml | 2 +- .../conference_invitees/_index_core.html.haml | 2 +- app/views/conference_invitees/edit.html.haml | 2 +- app/views/conference_invitees/index.html.haml | 2 +- app/views/conference_invitees/new.html.haml | 2 +- app/views/conference_invitees/show.html.haml | 2 +- app/views/conferences/_index_core.html.haml | 2 +- app/views/conferences/edit.html.haml | 2 +- app/views/conferences/index.html.haml | 2 +- app/views/conferences/new.html.haml | 2 +- app/views/conferences/show.html.haml | 2 +- app/views/config_polycom/_call_history.xml.haml | 2 +- app/views/config_polycom/_phone_book.xml.haml | 2 +- app/views/fax_accounts/_index_core.html.haml | 2 +- app/views/fax_accounts/edit.html.haml | 2 +- app/views/fax_accounts/index.html.haml | 2 +- app/views/fax_accounts/new.html.haml | 2 +- app/views/fax_accounts/show.html.haml | 2 +- app/views/fax_documents/_index_core.html.haml | 2 +- app/views/fax_documents/edit.html.haml | 2 +- app/views/fax_documents/index.html.haml | 2 +- app/views/fax_documents/new.html.haml | 2 +- app/views/fax_documents/show.html.haml | 2 +- .../_index_core.html.haml | 2 +- .../freeswitch_voicemail_msgs/index.html.haml | 2 +- app/views/gateway_parameters/_index_core.html.haml | 2 +- app/views/gateway_parameters/edit.html.haml | 2 +- app/views/gateway_parameters/index.html.haml | 2 +- app/views/gateway_parameters/new.html.haml | 2 +- app/views/gateway_parameters/show.html.haml | 2 +- app/views/gateway_settings/_index_core.html.haml | 2 +- app/views/gateway_settings/edit.html.haml | 2 +- app/views/gateway_settings/index.html.haml | 2 +- app/views/gateway_settings/new.html.haml | 2 +- app/views/gateway_settings/show.html.haml | 2 +- app/views/gateways/_index_core.html.haml | 2 +- app/views/gateways/edit.html.haml | 2 +- app/views/gateways/index.html.haml | 2 +- app/views/gateways/new.html.haml | 2 +- app/views/gateways/show.html.haml | 2 +- app/views/gemeinschaft_setups/new.de.html.haml | 3 +- app/views/gemeinschaft_setups/new.html.haml | 3 +- .../_index_core.html.haml | 2 +- .../gs_cluster_sync_log_entries/edit.html.haml | 2 +- .../gs_cluster_sync_log_entries/index.html.haml | 2 +- .../gs_cluster_sync_log_entries/new.html.haml | 2 +- .../gs_cluster_sync_log_entries/show.html.haml | 2 +- app/views/gs_nodes/_index_core.html.haml | 2 +- app/views/gs_nodes/edit.html.haml | 2 +- app/views/gs_nodes/index.html.haml | 2 +- app/views/gs_nodes/new.html.haml | 2 +- app/views/gs_nodes/show.html.haml | 2 +- app/views/gs_parameters/edit.html.haml | 2 +- app/views/gs_parameters/index.html.haml | 6 +- app/views/gs_parameters/show.html.haml | 2 +- app/views/gui_functions/_index_core.html.haml | 2 +- app/views/gui_functions/edit.html.haml | 2 +- app/views/gui_functions/index.html.haml | 2 +- app/views/gui_functions/new.html.haml | 2 +- app/views/gui_functions/show.html.haml | 2 +- app/views/hunt_group_members/_index_core.html.haml | 2 +- app/views/hunt_group_members/edit.html.haml | 2 +- app/views/hunt_group_members/index.html.haml | 2 +- app/views/hunt_group_members/new.html.haml | 2 +- app/views/hunt_group_members/show.html.haml | 2 +- app/views/hunt_groups/_index_core.html.haml | 2 +- app/views/hunt_groups/edit.html.haml | 2 +- app/views/hunt_groups/index.html.haml | 2 +- app/views/hunt_groups/new.html.haml | 2 +- app/views/hunt_groups/show.html.haml | 2 +- app/views/layouts/_footer.html.haml | 3 + app/views/layouts/_navbar.html.haml | 21 + app/views/layouts/application.html.haml | 73 +- app/views/layouts/old-application.html.haml | 48 + app/views/layouts/old_navbar.html.haml | 10 + app/views/layouts/test.haml | 0 app/views/manufacturers/_index_core.html.haml | 2 +- app/views/manufacturers/edit.html.haml | 2 +- app/views/manufacturers/index.html.haml | 2 +- app/views/manufacturers/new.html.haml | 2 +- app/views/manufacturers/show.html.haml | 2 +- app/views/page/beginners_intro.de.html.haml | 2 +- app/views/page/beginners_intro.html.haml | 2 +- app/views/page/conference.html.haml | 2 +- app/views/page/index.de.html.haml | 2 +- app/views/page/index.html.haml | 2 +- .../phone_book_entries/_index_core.de.html.haml | 2 +- app/views/phone_book_entries/_index_core.html.haml | 2 +- app/views/phone_book_entries/edit.html.haml | 2 +- app/views/phone_book_entries/index.html.haml | 2 +- app/views/phone_book_entries/new.html.haml | 2 +- app/views/phone_book_entries/show.html.haml | 2 +- .../phone_book_entries/show.html.haml.examlple | 2 +- app/views/phone_books/_index_core.html.haml | 2 +- app/views/phone_books/edit.html.haml | 2 +- app/views/phone_books/index.html.haml | 2 +- app/views/phone_books/new.html.haml | 2 +- app/views/phone_books/show.html.haml | 2 +- app/views/phone_models/_index_core.html.haml | 2 +- app/views/phone_models/edit.html.haml | 2 +- app/views/phone_models/index.html.haml | 2 +- app/views/phone_models/new.html.haml | 2 +- app/views/phone_models/show.html.haml | 2 +- .../phone_number_ranges/_index_core.html.haml | 2 +- app/views/phone_number_ranges/edit.html.haml | 2 +- app/views/phone_number_ranges/index.html.haml | 2 +- app/views/phone_number_ranges/new.html.haml | 2 +- app/views/phone_number_ranges/show.html.haml | 2 +- app/views/phone_numbers/_index_core.html.haml | 2 +- app/views/phone_numbers/edit.html.haml | 2 +- app/views/phone_numbers/index.html.haml | 2 +- app/views/phone_numbers/new.html.haml | 2 +- app/views/phone_numbers/show.html.haml | 2 +- app/views/phone_sip_accounts/_index_core.html.haml | 2 +- app/views/phone_sip_accounts/index.html.haml | 2 +- app/views/phone_sip_accounts/new.html.haml | 2 +- app/views/phone_sip_accounts/show.html.haml | 2 +- app/views/phones/_index_core.html.haml | 2 +- app/views/phones/edit.html.haml | 2 +- app/views/phones/index.html.haml | 2 +- app/views/phones/new.html.haml | 2 +- app/views/phones/show.html.haml | 2 +- app/views/ringtones/_index_core.html.haml | 2 +- app/views/ringtones/edit.html.haml | 2 +- app/views/ringtones/index.html.haml | 2 +- app/views/ringtones/new.html.haml | 2 +- app/views/ringtones/show.html.haml | 2 +- app/views/route_elements/_index_core.html.haml | 2 +- app/views/route_elements/edit.html.haml | 2 +- app/views/route_elements/index.html.haml | 2 +- app/views/route_elements/new.html.haml | 2 +- app/views/route_elements/show.html.haml | 2 +- app/views/sessions/new.html.haml | 2 +- app/views/shared/_create_link.html.haml | 13 +- app/views/shared/_flash.html.haml | 19 - .../shared/_index_view_edit_destroy_part.html.haml | 62 +- app/views/shared/_show_edit_destroy_part.html.haml | 20 +- app/views/shared/_system_message.html.haml | 10 - app/views/sip_accounts/_index_core.html.haml | 2 +- app/views/sip_accounts/edit.html.haml | 2 +- app/views/sip_accounts/index.html.haml | 2 +- app/views/sip_accounts/new.html.haml | 2 +- app/views/sip_accounts/show.html.haml | 2 +- app/views/sip_domains/_index_core.html.haml | 2 +- app/views/sip_domains/edit.html.haml | 2 +- app/views/sip_domains/index.html.haml | 2 +- app/views/sip_domains/new.html.haml | 2 +- app/views/sip_domains/show.html.haml | 2 +- app/views/softkeys/_index_core.html.haml | 2 +- app/views/softkeys/edit.html.haml | 2 +- app/views/softkeys/index.html.haml | 2 +- app/views/softkeys/new.html.haml | 2 +- app/views/softkeys/show.html.haml | 2 +- app/views/system_messages/_index_core.html.haml | 2 +- app/views/system_messages/index.html.haml | 2 +- app/views/system_messages/new.html.haml | 2 +- app/views/system_messages/show.html.haml | 2 +- app/views/tenants/_gs_parameter_table.html.haml | 8 +- app/views/tenants/_index_core.html.haml | 2 +- .../tenants/_sip_accounts_and_phones.html.haml | 8 +- app/views/tenants/_table_of_functions.html.haml | 12 +- app/views/tenants/edit.html.haml | 2 +- app/views/tenants/index.html.haml | 2 +- app/views/tenants/new.html.haml | 2 +- app/views/tenants/show.html.haml | 2 +- .../user_group_memberships/_index_core.html.haml | 2 +- app/views/user_group_memberships/edit.html.haml | 2 +- app/views/user_group_memberships/index.html.haml | 2 +- app/views/user_group_memberships/new.html.haml | 2 +- app/views/user_group_memberships/show.html.haml | 2 +- app/views/user_groups/_index_core.html.haml | 2 +- app/views/user_groups/edit.html.haml | 2 +- app/views/user_groups/index.html.haml | 2 +- app/views/user_groups/new.html.haml | 2 +- app/views/user_groups/show.html.haml | 2 +- app/views/users/_index_core.html.haml | 2 +- app/views/users/edit.html.haml | 2 +- app/views/users/index.html.haml | 2 +- app/views/users/new.html.haml | 2 +- app/views/users/show.html.haml | 8 +- app/views/voicemail_messages/_index_core.html.haml | 2 +- app/views/voicemail_messages/index.html.haml | 4 +- app/views/voicemail_settings/edit.html.haml | 2 +- app/views/voicemail_settings/show.html.haml | 2 +- app/views/whitelists/_index_core.html.haml | 2 +- app/views/whitelists/edit.html.haml | 2 +- app/views/whitelists/index.html.haml | 2 +- app/views/whitelists/new.html.haml | 2 +- app/views/whitelists/show.html.haml | 2 +- config/application.rb | 1 + config/environments/development.rb | 2 +- lib/bootstrap_breadcrumbs_builder.rb | 32 + .../templates/views/haml/edit.html.haml | 2 +- .../templates/views/haml/login.html.haml | 2 +- .../templates/views/haml/signup.html.haml | 2 +- .../templates/views/haml/_index_core.html.haml | 2 +- .../scaffold/templates/views/haml/edit.html.haml | 2 +- .../scaffold/templates/views/haml/index.html.haml | 2 +- .../scaffold/templates/views/haml/new.html.haml | 2 +- .../scaffold/templates/views/haml/show.html.haml | 2 +- 360 files changed, 9496 insertions(+), 6283 deletions(-) delete mode 100644 app/assets/images/amooma-logo.png delete mode 100644 app/assets/images/bg-body.png delete mode 100644 app/assets/images/gradients/light-to-dark-blue-x63.png delete mode 100644 app/assets/images/gradients/white-gray-x29-reverse.png delete mode 100644 app/assets/images/gradients/white-gray-x29.png delete mode 100644 app/assets/images/gradients/white-texture-x63.png delete mode 100644 app/assets/images/icons/cellphone-32x.png delete mode 100644 app/assets/images/icons/clock-32x.png delete mode 100644 app/assets/images/icons/cross-16x.png delete mode 100644 app/assets/images/icons/facebook-32x.png delete mode 100644 app/assets/images/icons/fax-32x.png create mode 100644 app/assets/images/icons/glyphicons-halflings-white.png create mode 100644 app/assets/images/icons/glyphicons-halflings.png delete mode 100644 app/assets/images/icons/gs_envelope_16x.png delete mode 100644 app/assets/images/icons/gs_forward_16x.png delete mode 100644 app/assets/images/icons/gs_missed_16x.png delete mode 100644 app/assets/images/icons/gs_placed_16x.png delete mode 100644 app/assets/images/icons/gs_received_16x.png delete mode 100644 app/assets/images/icons/headphones-16x.png delete mode 100644 app/assets/images/icons/headphones-32x.png delete mode 100644 app/assets/images/icons/house-32x.png delete mode 100644 app/assets/images/icons/mic-32x.png delete mode 100644 app/assets/images/icons/microphone-16x.png delete mode 100644 app/assets/images/icons/microphone-32x.png delete mode 100644 app/assets/images/icons/mute-16x.png delete mode 100644 app/assets/images/icons/phone-down-32x.png delete mode 100644 app/assets/images/icons/phone-down-green-32x.png delete mode 100644 app/assets/images/icons/phone-down-grey-32x.png delete mode 100644 app/assets/images/icons/phone-down-red-32x.png delete mode 100644 app/assets/images/icons/phone-mobile-32x.png delete mode 100644 app/assets/images/icons/phone-up-32x.png delete mode 100644 app/assets/images/icons/search-13x16.png delete mode 100644 app/assets/images/icons/skype-32x.png delete mode 100644 app/assets/images/icons/star-16x.png delete mode 100644 app/assets/images/icons/suitcase-32x.png delete mode 100644 app/assets/images/icons/tag-16x.png delete mode 100644 app/assets/images/icons/twitter-32x.png delete mode 100644 app/assets/images/icons/unmute-16x.png delete mode 100644 app/assets/images/icons/user-16x.png delete mode 100644 app/assets/images/icons/user-female-16x.png delete mode 100644 app/assets/images/icons/user-male-16x.png delete mode 100644 app/assets/images/logo.png create mode 100644 app/assets/images/phones/snom/Visio_snom300.png create mode 100644 app/assets/images/phones/snom/Visio_snom320.png create mode 100644 app/assets/images/phones/snom/Visio_snom360.png create mode 100644 app/assets/images/phones/snom/Visio_snom370.png create mode 100644 app/assets/images/phones/snom/Visio_snom820.png create mode 100644 app/assets/images/phones/snom/Visio_snom821.png create mode 100644 app/assets/images/phones/snom/Visio_snom870.png create mode 100644 app/assets/images/screenshots/gs5/gs5_boot_menu.png create mode 100644 app/assets/images/screenshots/gs5/gs5_conferences_new.png create mode 100644 app/assets/images/screenshots/gs5/gs5_login.png create mode 100644 app/assets/images/screenshots/gs5/gs5_phone_book_entries.png create mode 100644 app/assets/images/screenshots/gs5/gs5_phones_new.png create mode 100644 app/assets/images/screenshots/gs5/gs5_setup_admin.png create mode 100644 app/assets/images/screenshots/gs5/gs5_tenants_new.png create mode 100644 app/assets/images/stefan-wintermeyer-klein.jpg create mode 100644 app/assets/images/stefan-wintermeyer.jpg delete mode 100644 app/assets/images/stubs/user-36x.jpg delete mode 100644 app/assets/images/user.png delete mode 100644 app/assets/javascripts/api/rows.js.coffee create mode 100644 app/assets/javascripts/bootstrap.js delete mode 100644 app/assets/javascripts/config_siemens.js.coffee delete mode 100644 app/assets/javascripts/core.coffee delete mode 100644 app/assets/javascripts/phones.js.coffee delete mode 100644 app/assets/javascripts/softkeys.js.coffee delete mode 100644 app/assets/javascripts/vendor/autoresize.jquery.js delete mode 100755 app/assets/javascripts/vendor/fancybox/jquery.easing-1.3.pack.js delete mode 100755 app/assets/javascripts/vendor/fancybox/jquery.fancybox-1.3.4.pack.js delete mode 100755 app/assets/javascripts/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js delete mode 100644 app/assets/javascripts/vendor/html5boilerplate.js delete mode 100755 app/assets/javascripts/vendor/jquery-1.6.2.min.js delete mode 100644 app/assets/javascripts/vendor/jquery.condom.js delete mode 100644 app/assets/javascripts/vendor/jquery.easy-slider-1.7.js delete mode 100644 app/assets/javascripts/vendor/jquery.survival-kit.coffee delete mode 100644 app/assets/javascripts/vendor/jquery.tmpl.js delete mode 100755 app/assets/javascripts/vendor/modernizr-2.0.6.min.js delete mode 100644 app/assets/stylesheets/api/rows.css.scss delete mode 100644 app/assets/stylesheets/app/layouts/_app.scss delete mode 100644 app/assets/stylesheets/app/layouts/_conference.scss delete mode 100644 app/assets/stylesheets/app/layouts/_phone-book-entry.scss delete mode 100644 app/assets/stylesheets/app/pages/_phone_book.scss delete mode 100644 app/assets/stylesheets/app/shared/_contents.scss delete mode 100644 app/assets/stylesheets/app/shared/_footers.scss delete mode 100644 app/assets/stylesheets/app/shared/_handheld.scss delete mode 100644 app/assets/stylesheets/app/shared/_headers.scss delete mode 100644 app/assets/stylesheets/app/shared/_ie.scss delete mode 100644 app/assets/stylesheets/app/shared/_media.scss delete mode 100644 app/assets/stylesheets/app/shared/_print.scss create mode 100644 app/assets/stylesheets/application.css delete mode 100644 app/assets/stylesheets/application.css.scss create mode 100644 app/assets/stylesheets/bootstrap/bootstrap-responsive.css create mode 100644 app/assets/stylesheets/bootstrap/bootstrap.css.erb create mode 100644 app/assets/stylesheets/gemeinschaft-generic.css.scss delete mode 100644 app/assets/stylesheets/scaffolds.css.scss delete mode 100644 app/assets/stylesheets/vendor/README delete mode 100644 app/assets/stylesheets/vendor/boilerplate-1.0/README delete mode 100644 app/assets/stylesheets/vendor/boilerplate-1.0/_reset.scss delete mode 100644 app/assets/stylesheets/vendor/boilerplate-1.0/_styles.scss delete mode 100644 app/assets/stylesheets/vendor/boilerplate-2.0/README delete mode 100644 app/assets/stylesheets/vendor/boilerplate-2.0/_styles.scss delete mode 100644 app/assets/stylesheets/vendor/easy-slider/_numeric.scss delete mode 100644 app/assets/stylesheets/vendor/facebox/_facebox.scss delete mode 100644 app/assets/stylesheets/vendor/fancy-box/README delete mode 100755 app/assets/stylesheets/vendor/fancy-box/_fancy-box.scss delete mode 100644 app/assets/stylesheets/vendor/fancy-buttons/README delete mode 100644 app/assets/stylesheets/vendor/fancy-buttons/_fancy-buttons.scss delete mode 100644 app/assets/stylesheets/vendor/fancy-buttons/_fancy-gradient.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_blog.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_effects.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_forms.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_headers.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_images.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_lists.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_loader.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_navigation.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_secure.scss delete mode 100644 app/assets/stylesheets/vendor/survival-kit/_tools.scss create mode 100644 app/views/layouts/_footer.html.haml create mode 100644 app/views/layouts/_navbar.html.haml create mode 100644 app/views/layouts/old-application.html.haml create mode 100644 app/views/layouts/old_navbar.html.haml create mode 100644 app/views/layouts/test.haml delete mode 100644 app/views/shared/_flash.html.haml delete mode 100644 app/views/shared/_system_message.html.haml create mode 100644 lib/bootstrap_breadcrumbs_builder.rb diff --git a/app/assets/images/amooma-logo.png b/app/assets/images/amooma-logo.png deleted file mode 100644 index 11096ff..0000000 Binary files a/app/assets/images/amooma-logo.png and /dev/null differ diff --git a/app/assets/images/bg-body.png b/app/assets/images/bg-body.png deleted file mode 100644 index 777eff6..0000000 Binary files a/app/assets/images/bg-body.png and /dev/null differ diff --git a/app/assets/images/gradients/light-to-dark-blue-x63.png b/app/assets/images/gradients/light-to-dark-blue-x63.png deleted file mode 100644 index 7eb020f..0000000 Binary files a/app/assets/images/gradients/light-to-dark-blue-x63.png and /dev/null differ diff --git a/app/assets/images/gradients/white-gray-x29-reverse.png b/app/assets/images/gradients/white-gray-x29-reverse.png deleted file mode 100644 index 7b7e879..0000000 Binary files a/app/assets/images/gradients/white-gray-x29-reverse.png and /dev/null differ diff --git a/app/assets/images/gradients/white-gray-x29.png b/app/assets/images/gradients/white-gray-x29.png deleted file mode 100644 index a1671d0..0000000 Binary files a/app/assets/images/gradients/white-gray-x29.png and /dev/null differ diff --git a/app/assets/images/gradients/white-texture-x63.png b/app/assets/images/gradients/white-texture-x63.png deleted file mode 100644 index 1576e8f..0000000 Binary files a/app/assets/images/gradients/white-texture-x63.png and /dev/null differ diff --git a/app/assets/images/icons/cellphone-32x.png b/app/assets/images/icons/cellphone-32x.png deleted file mode 100644 index cfc41f5..0000000 Binary files a/app/assets/images/icons/cellphone-32x.png and /dev/null differ diff --git a/app/assets/images/icons/clock-32x.png b/app/assets/images/icons/clock-32x.png deleted file mode 100644 index c076042..0000000 Binary files a/app/assets/images/icons/clock-32x.png and /dev/null differ diff --git a/app/assets/images/icons/cross-16x.png b/app/assets/images/icons/cross-16x.png deleted file mode 100644 index e22ed6f..0000000 Binary files a/app/assets/images/icons/cross-16x.png and /dev/null differ diff --git a/app/assets/images/icons/facebook-32x.png b/app/assets/images/icons/facebook-32x.png deleted file mode 100644 index 08fa0f7..0000000 Binary files a/app/assets/images/icons/facebook-32x.png and /dev/null differ diff --git a/app/assets/images/icons/fax-32x.png b/app/assets/images/icons/fax-32x.png deleted file mode 100644 index b05ee59..0000000 Binary files a/app/assets/images/icons/fax-32x.png and /dev/null differ diff --git a/app/assets/images/icons/glyphicons-halflings-white.png b/app/assets/images/icons/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/app/assets/images/icons/glyphicons-halflings-white.png differ diff --git a/app/assets/images/icons/glyphicons-halflings.png b/app/assets/images/icons/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/app/assets/images/icons/glyphicons-halflings.png differ diff --git a/app/assets/images/icons/gs_envelope_16x.png b/app/assets/images/icons/gs_envelope_16x.png deleted file mode 100644 index 6a82ade..0000000 Binary files a/app/assets/images/icons/gs_envelope_16x.png and /dev/null differ diff --git a/app/assets/images/icons/gs_forward_16x.png b/app/assets/images/icons/gs_forward_16x.png deleted file mode 100644 index 13c57eb..0000000 Binary files a/app/assets/images/icons/gs_forward_16x.png and /dev/null differ diff --git a/app/assets/images/icons/gs_missed_16x.png b/app/assets/images/icons/gs_missed_16x.png deleted file mode 100644 index 0b3b706..0000000 Binary files a/app/assets/images/icons/gs_missed_16x.png and /dev/null differ diff --git a/app/assets/images/icons/gs_placed_16x.png b/app/assets/images/icons/gs_placed_16x.png deleted file mode 100644 index b5065e9..0000000 Binary files a/app/assets/images/icons/gs_placed_16x.png and /dev/null differ diff --git a/app/assets/images/icons/gs_received_16x.png b/app/assets/images/icons/gs_received_16x.png deleted file mode 100644 index cd40c1a..0000000 Binary files a/app/assets/images/icons/gs_received_16x.png and /dev/null differ diff --git a/app/assets/images/icons/headphones-16x.png b/app/assets/images/icons/headphones-16x.png deleted file mode 100644 index dee8346..0000000 Binary files a/app/assets/images/icons/headphones-16x.png and /dev/null differ diff --git a/app/assets/images/icons/headphones-32x.png b/app/assets/images/icons/headphones-32x.png deleted file mode 100644 index 89a5df7..0000000 Binary files a/app/assets/images/icons/headphones-32x.png and /dev/null differ diff --git a/app/assets/images/icons/house-32x.png b/app/assets/images/icons/house-32x.png deleted file mode 100644 index b112915..0000000 Binary files a/app/assets/images/icons/house-32x.png and /dev/null differ diff --git a/app/assets/images/icons/mic-32x.png b/app/assets/images/icons/mic-32x.png deleted file mode 100644 index 30c4531..0000000 Binary files a/app/assets/images/icons/mic-32x.png and /dev/null differ diff --git a/app/assets/images/icons/microphone-16x.png b/app/assets/images/icons/microphone-16x.png deleted file mode 100644 index b62422d..0000000 Binary files a/app/assets/images/icons/microphone-16x.png and /dev/null differ diff --git a/app/assets/images/icons/microphone-32x.png b/app/assets/images/icons/microphone-32x.png deleted file mode 100644 index 30c4531..0000000 Binary files a/app/assets/images/icons/microphone-32x.png and /dev/null differ diff --git a/app/assets/images/icons/mute-16x.png b/app/assets/images/icons/mute-16x.png deleted file mode 100644 index 0656f3f..0000000 Binary files a/app/assets/images/icons/mute-16x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-down-32x.png b/app/assets/images/icons/phone-down-32x.png deleted file mode 100644 index 38c3560..0000000 Binary files a/app/assets/images/icons/phone-down-32x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-down-green-32x.png b/app/assets/images/icons/phone-down-green-32x.png deleted file mode 100644 index 9f21d45..0000000 Binary files a/app/assets/images/icons/phone-down-green-32x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-down-grey-32x.png b/app/assets/images/icons/phone-down-grey-32x.png deleted file mode 100644 index 2b604ce..0000000 Binary files a/app/assets/images/icons/phone-down-grey-32x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-down-red-32x.png b/app/assets/images/icons/phone-down-red-32x.png deleted file mode 100644 index f4cbde7..0000000 Binary files a/app/assets/images/icons/phone-down-red-32x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-mobile-32x.png b/app/assets/images/icons/phone-mobile-32x.png deleted file mode 100644 index b373e1a..0000000 Binary files a/app/assets/images/icons/phone-mobile-32x.png and /dev/null differ diff --git a/app/assets/images/icons/phone-up-32x.png b/app/assets/images/icons/phone-up-32x.png deleted file mode 100644 index 9b765c7..0000000 Binary files a/app/assets/images/icons/phone-up-32x.png and /dev/null differ diff --git a/app/assets/images/icons/search-13x16.png b/app/assets/images/icons/search-13x16.png deleted file mode 100644 index 16aa3c6..0000000 Binary files a/app/assets/images/icons/search-13x16.png and /dev/null differ diff --git a/app/assets/images/icons/skype-32x.png b/app/assets/images/icons/skype-32x.png deleted file mode 100644 index c3b0978..0000000 Binary files a/app/assets/images/icons/skype-32x.png and /dev/null differ diff --git a/app/assets/images/icons/star-16x.png b/app/assets/images/icons/star-16x.png deleted file mode 100644 index 6b16932..0000000 Binary files a/app/assets/images/icons/star-16x.png and /dev/null differ diff --git a/app/assets/images/icons/suitcase-32x.png b/app/assets/images/icons/suitcase-32x.png deleted file mode 100644 index f53daa9..0000000 Binary files a/app/assets/images/icons/suitcase-32x.png and /dev/null differ diff --git a/app/assets/images/icons/tag-16x.png b/app/assets/images/icons/tag-16x.png deleted file mode 100644 index b4522d7..0000000 Binary files a/app/assets/images/icons/tag-16x.png and /dev/null differ diff --git a/app/assets/images/icons/twitter-32x.png b/app/assets/images/icons/twitter-32x.png deleted file mode 100644 index 51351a7..0000000 Binary files a/app/assets/images/icons/twitter-32x.png and /dev/null differ diff --git a/app/assets/images/icons/unmute-16x.png b/app/assets/images/icons/unmute-16x.png deleted file mode 100644 index e9dfde0..0000000 Binary files a/app/assets/images/icons/unmute-16x.png and /dev/null differ diff --git a/app/assets/images/icons/user-16x.png b/app/assets/images/icons/user-16x.png deleted file mode 100644 index 909403a..0000000 Binary files a/app/assets/images/icons/user-16x.png and /dev/null differ diff --git a/app/assets/images/icons/user-female-16x.png b/app/assets/images/icons/user-female-16x.png deleted file mode 100644 index 38dde34..0000000 Binary files a/app/assets/images/icons/user-female-16x.png and /dev/null differ diff --git a/app/assets/images/icons/user-male-16x.png b/app/assets/images/icons/user-male-16x.png deleted file mode 100644 index e03fd0f..0000000 Binary files a/app/assets/images/icons/user-male-16x.png and /dev/null differ diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png deleted file mode 100644 index e4432b8..0000000 Binary files a/app/assets/images/logo.png and /dev/null differ diff --git a/app/assets/images/phones/snom/Visio_snom300.png b/app/assets/images/phones/snom/Visio_snom300.png new file mode 100644 index 0000000..42e7a87 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom300.png differ diff --git a/app/assets/images/phones/snom/Visio_snom320.png b/app/assets/images/phones/snom/Visio_snom320.png new file mode 100644 index 0000000..9e91a57 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom320.png differ diff --git a/app/assets/images/phones/snom/Visio_snom360.png b/app/assets/images/phones/snom/Visio_snom360.png new file mode 100644 index 0000000..aeb9115 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom360.png differ diff --git a/app/assets/images/phones/snom/Visio_snom370.png b/app/assets/images/phones/snom/Visio_snom370.png new file mode 100644 index 0000000..e900b34 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom370.png differ diff --git a/app/assets/images/phones/snom/Visio_snom820.png b/app/assets/images/phones/snom/Visio_snom820.png new file mode 100644 index 0000000..3ec75c7 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom820.png differ diff --git a/app/assets/images/phones/snom/Visio_snom821.png b/app/assets/images/phones/snom/Visio_snom821.png new file mode 100644 index 0000000..3ec75c7 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom821.png differ diff --git a/app/assets/images/phones/snom/Visio_snom870.png b/app/assets/images/phones/snom/Visio_snom870.png new file mode 100644 index 0000000..1550591 Binary files /dev/null and b/app/assets/images/phones/snom/Visio_snom870.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_boot_menu.png b/app/assets/images/screenshots/gs5/gs5_boot_menu.png new file mode 100644 index 0000000..0502d3a Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_boot_menu.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_conferences_new.png b/app/assets/images/screenshots/gs5/gs5_conferences_new.png new file mode 100644 index 0000000..e0369af Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_conferences_new.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_login.png b/app/assets/images/screenshots/gs5/gs5_login.png new file mode 100644 index 0000000..97d6bbe Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_login.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_phone_book_entries.png b/app/assets/images/screenshots/gs5/gs5_phone_book_entries.png new file mode 100644 index 0000000..9a4be07 Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_phone_book_entries.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_phones_new.png b/app/assets/images/screenshots/gs5/gs5_phones_new.png new file mode 100644 index 0000000..d9024e6 Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_phones_new.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_setup_admin.png b/app/assets/images/screenshots/gs5/gs5_setup_admin.png new file mode 100644 index 0000000..f97ff8f Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_setup_admin.png differ diff --git a/app/assets/images/screenshots/gs5/gs5_tenants_new.png b/app/assets/images/screenshots/gs5/gs5_tenants_new.png new file mode 100644 index 0000000..0f6a6e2 Binary files /dev/null and b/app/assets/images/screenshots/gs5/gs5_tenants_new.png differ diff --git a/app/assets/images/stefan-wintermeyer-klein.jpg b/app/assets/images/stefan-wintermeyer-klein.jpg new file mode 100644 index 0000000..3b62099 Binary files /dev/null and b/app/assets/images/stefan-wintermeyer-klein.jpg differ diff --git a/app/assets/images/stefan-wintermeyer.jpg b/app/assets/images/stefan-wintermeyer.jpg new file mode 100644 index 0000000..4fdeb30 Binary files /dev/null and b/app/assets/images/stefan-wintermeyer.jpg differ diff --git a/app/assets/images/stubs/user-36x.jpg b/app/assets/images/stubs/user-36x.jpg deleted file mode 100644 index 8a391a0..0000000 Binary files a/app/assets/images/stubs/user-36x.jpg and /dev/null differ diff --git a/app/assets/images/user.png b/app/assets/images/user.png deleted file mode 100644 index c0e33c7..0000000 Binary files a/app/assets/images/user.png and /dev/null differ diff --git a/app/assets/javascripts/api/rows.js.coffee b/app/assets/javascripts/api/rows.js.coffee deleted file mode 100644 index 7615679..0000000 --- a/app/assets/javascripts/api/rows.js.coffee +++ /dev/null @@ -1,3 +0,0 @@ -# Place all the behaviors and hooks related to the matching controller here. -# All this logic will automatically be available in application.js. -# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 1762043..9097d83 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -1,14 +1,15 @@ -// This is a manifest file that'll be compiled into including all the files listed below. -// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically -// be included in the compiled file accessible from http://example.com/assets/application.js +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. +// // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // the compiled file. // +// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD +// GO AFTER THE REQUIRES BELOW. +// //= require jquery //= require jquery_ujs -//= require core -//= require vendor/modernizr-2.0.6.min.js -//= require vendor/jquery.condom.js -//= require vendor/jquery.survival-kit -//= require phones -//= require softkeys +//= require_tree . diff --git a/app/assets/javascripts/bootstrap.js b/app/assets/javascripts/bootstrap.js new file mode 100644 index 0000000..c753bd6 --- /dev/null +++ b/app/assets/javascripts/bootstrap.js @@ -0,0 +1,2025 @@ +/* =================================================== + * bootstrap-transition.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + + $(function () { + + $.support.transition = (function () { + + var transitionEnd = (function () { + + var el = document.createElement('bootstrap') + , transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + , name + + for (name in transEndEventNames){ + if (el.style[name] !== undefined) { + return transEndEventNames[name] + } + } + + }()) + + return transitionEnd && { + end: transitionEnd + } + + })() + + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API + * ============== */ + + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON DATA-API + * =============== */ + + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.item.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + e = $.Event('slide', { + relatedTarget: $next[0] + }) + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(document).on('click.carousel.data-api', '[data-slide]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass('open') + }) + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(document) + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + +}(window.jQuery);/* ========================================================= + * bootstrap-modal.js v2.2.1 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function (element, options) { + this.options = options + this.$element = $(element) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + this.options.remote && this.$element.find('.modal-body').load(this.options.remote) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + , e = $.Event('show') + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.escape() + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } + + that.$element + .show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element + .addClass('in') + .attr('aria-hidden', false) + + that.enforceFocus() + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) : + that.$element.focus().trigger('shown') + + }) + } + + , hide: function (e) { + e && e.preventDefault() + + var that = this + + e = $.Event('hide') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + + $(document).off('focusin.modal') + + this.$element + .removeClass('in') + .attr('aria-hidden', true) + + $.support.transition && this.$element.hasClass('fade') ? + this.hideWithTransition() : + this.hideModal() + } + + , enforceFocus: function () { + var that = this + $(document).on('focusin.modal', function (e) { + if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { + that.$element.focus() + } + }) + } + + , escape: function () { + var that = this + if (this.isShown && this.options.keyboard) { + this.$element.on('keyup.dismiss.modal', function ( e ) { + e.which == 27 && that.hide() + }) + } else if (!this.isShown) { + this.$element.off('keyup.dismiss.modal') + } + } + + , hideWithTransition: function () { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + that.hideModal() + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + that.hideModal() + }) + } + + , hideModal: function (that) { + this.$element + .hide() + .trigger('hidden') + + this.backdrop() + } + + , removeBackdrop: function () { + this.$backdrop.remove() + this.$backdrop = null + } + + , backdrop: function (callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $('