From cc1de22e2621c7fa1199750cf13ba57c937b9d98 Mon Sep 17 00:00:00 2001 From: Piotr Mitros Date: Wed, 7 Dec 2011 09:28:16 -0500 Subject: [PATCH] Initial commit --- .hgignore | 4 + __init__.py | 0 auth/__init__.py | 0 auth/models.py | 30 + auth/tests.py | 16 + auth/views.py | 143 + courseware/__init__.py | 0 courseware/capa_module.py | 29 + courseware/capa_problem.py | 194 ++ courseware/models.py | 53 + .../07172609b59c136393705e4067de95d0.png | Bin 0 -> 704 bytes .../08d7bd7060be987d4da37b7fc263a740.png | Bin 0 -> 630 bytes .../17bbbd9b6e69b94dab881bacae540191.png | Bin 0 -> 630 bytes .../200px-Kirchhoff_voltage_law.svg.png | Bin 0 -> 7745 bytes .../229253cd444bad52ccf237f182f18267.png | Bin 0 -> 1007 bytes .../912713fc906c190d03a73f02b2f738ab.png | Bin 0 -> 646 bytes .../98720898396d325be0abb463b68caf90.png | Bin 0 -> 645 bytes courseware/static/Kirchhoff_files/KCL.png | Bin 0 -> 5359 bytes .../c449f0cd2e060f03076e28ae5f8f0a75.png | Bin 0 -> 543 bytes .../ec93733267512bc18567c04e5a728e24.png | Bin 0 -> 228 bytes .../static/Kirchhoff_files/magnify-clip.png | Bin 0 -> 204 bytes courseware/static/circuits/divider.png | Bin 0 -> 1898 bytes courseware/static/circuits/divider.ps | 221 ++ courseware/static/circuits/thevenin.png | Bin 0 -> 2418 bytes courseware/static/circuits/thevenin.ps | 251 ++ .../ui-bg_diagonals-thick_90_eeeeee_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_15_cd0a0a_40x100.png | Bin 0 -> 181 bytes .../images/ui-bg_glass_100_e4f1fb_1x400.png | Bin 0 -> 119 bytes .../images/ui-bg_glass_50_3baae3_1x400.png | Bin 0 -> 131 bytes .../images/ui-bg_glass_80_d7ebf9_1x400.png | Bin 0 -> 124 bytes .../ui-bg_highlight-hard_100_f2f5f7_1x100.png | Bin 0 -> 103 bytes .../ui-bg_highlight-hard_70_000000_1x100.png | Bin 0 -> 118 bytes .../ui-bg_highlight-soft_100_deedf7_1x100.png | Bin 0 -> 104 bytes .../ui-bg_highlight-soft_25_ffef8f_1x100.png | Bin 0 -> 119 bytes .../images/ui-icons_2694e8_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_3d80b3_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_72a7cf_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../css/cupertino/jquery-ui-1.8.16.custom.css | 568 ++++ .../css/images/css/bottomWrapper-bg.jpg | Bin 0 -> 679 bytes .../css/images/css/footerWrapper-bg.jpg | Bin 0 -> 931 bytes courseware/static/css/images/css/hat.jpg | Bin 0 -> 8227 bytes .../static/css/images/css/hmenu-sel.jpg | Bin 0 -> 653 bytes courseware/static/css/images/css/hmenu.jpg | Bin 0 -> 655 bytes courseware/static/css/images/css/page-bg.jpg | Bin 0 -> 827 bytes courseware/static/css/images/css/page-vbg.jpg | Bin 0 -> 931 bytes .../static/css/images/css/topBanner-old.xcf | Bin 0 -> 51420 bytes .../static/css/images/css/topBanner.jpg | Bin 0 -> 18024 bytes .../static/css/images/css/topBanner.xcf | Bin 0 -> 53331 bytes .../static/css/images/css/topWrapper-bg.jpg | Bin 0 -> 707 bytes courseware/static/css/jquery-ui.css | 566 ++++ courseware/static/css/theme.css | 349 +++ .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.8.16.custom.css | 568 ++++ courseware/static/js/fancybox/blank.gif | Bin 0 -> 43 bytes courseware/static/js/fancybox/fancy_close.png | Bin 0 -> 1517 bytes .../static/js/fancybox/fancy_loading.png | Bin 0 -> 10195 bytes .../static/js/fancybox/fancy_nav_left.png | Bin 0 -> 1446 bytes .../static/js/fancybox/fancy_nav_right.png | Bin 0 -> 1454 bytes .../static/js/fancybox/fancy_shadow_e.png | Bin 0 -> 107 bytes .../static/js/fancybox/fancy_shadow_n.png | Bin 0 -> 106 bytes .../static/js/fancybox/fancy_shadow_ne.png | Bin 0 -> 347 bytes .../static/js/fancybox/fancy_shadow_nw.png | Bin 0 -> 324 bytes .../static/js/fancybox/fancy_shadow_s.png | Bin 0 -> 111 bytes .../static/js/fancybox/fancy_shadow_se.png | Bin 0 -> 352 bytes .../static/js/fancybox/fancy_shadow_sw.png | Bin 0 -> 340 bytes .../static/js/fancybox/fancy_shadow_w.png | Bin 0 -> 103 bytes .../static/js/fancybox/fancy_title_left.png | Bin 0 -> 503 bytes .../static/js/fancybox/fancy_title_main.png | Bin 0 -> 96 bytes .../static/js/fancybox/fancy_title_over.png | Bin 0 -> 70 bytes .../static/js/fancybox/fancy_title_right.png | Bin 0 -> 506 bytes courseware/static/js/fancybox/fancybox-x.png | Bin 0 -> 203 bytes courseware/static/js/fancybox/fancybox-y.png | Bin 0 -> 176 bytes courseware/static/js/fancybox/fancybox.png | Bin 0 -> 15287 bytes .../js/fancybox/jquery.easing-1.3.pack.js | 72 + .../js/fancybox/jquery.fancybox-1.3.4.css | 359 +++ .../js/fancybox/jquery.fancybox-1.3.4.js | 1156 ++++++++ .../js/fancybox/jquery.fancybox-1.3.4.pack.js | 46 + .../fancybox/jquery.mousewheel-3.0.4.pack.js | 14 + courseware/static/js/jquery-1.6.2.min.js | 18 + .../static/js/jquery-ui-1.8.16.custom.min.js | 791 ++++++ courseware/static/js/video_player.js | 262 ++ courseware/static/js/video_player.js~ | 260 ++ .../static/staff/agarwal-mit-news-small.jpg | Bin 0 -> 11325 bytes courseware/static/staff/cjt-small.jpg | Bin 0 -> 10196 bytes courseware/static/staff/gjs-small.jpg | Bin 0 -> 57412 bytes courseware/static/staff/pmitros-small.jpg | Bin 0 -> 56491 bytes courseware/static/subs/2SwT6JnfCq8.srt.sjson | 1934 +++++++++++++ courseware/static/subs/2vHGYdepKLw.srt.sjson | 1943 +++++++++++++ courseware/static/subs/3GdMaDzIUeQ.srt.sjson | 2477 +++++++++++++++++ courseware/static/subs/4TCnYYpZxEc.srt.sjson | 1967 +++++++++++++ courseware/static/subs/9RqFFlZgf60.srt.sjson | 1607 +++++++++++ courseware/static/subs/AfQxyVuLeCs.srt.sjson | 2003 +++++++++++++ courseware/static/subs/COdQmA9g9S8.srt.sjson | 1961 +++++++++++++ courseware/static/subs/JB2HgohNHYQ.srt.sjson | 1583 +++++++++++ courseware/static/subs/JqvKtMNz3RQ.srt.sjson | 1982 +++++++++++++ courseware/static/subs/Km9YIdkc2Oo.srt.sjson | 1838 ++++++++++++ courseware/static/subs/Nijya-QJ45Y.srt.sjson | 1934 +++++++++++++ courseware/static/subs/OGtElTMJidE.srt.sjson | 1841 ++++++++++++ courseware/static/subs/R4KxlqsuZ0A.srt.sjson | 1901 +++++++++++++ courseware/static/subs/RsJ1eg7XNVs.srt.sjson | 1991 +++++++++++++ courseware/static/subs/TXJIhDHtHSI.srt.sjson | 2141 ++++++++++++++ courseware/static/subs/V0z_f7qxLcY.srt.sjson | 2222 +++++++++++++++ courseware/static/subs/WT-qzgaKeGI.srt.sjson | 1892 +++++++++++++ courseware/static/subs/bEJ0-8pANA4.srt.sjson | 1352 +++++++++ courseware/static/subs/bX8i2yECWaU.srt.sjson | 1538 ++++++++++ courseware/static/subs/dyxcCoUgETU.srt.sjson | 2063 ++++++++++++++ courseware/static/subs/ke3SL_R92ys.srt.sjson | 2063 ++++++++++++++ courseware/static/subs/v6vqWasIHaw.srt.sjson | 2057 ++++++++++++++ courseware/static/subs/wNuBD4PYWvs.srt.sjson | 2168 +++++++++++++++ courseware/static/subs/ypX20WnHNQw.srt.sjson | 2141 ++++++++++++++ courseware/tests.py | 16 + courseware/urls.py | 0 courseware/views.py | 276 ++ courseware/x_module.py | 26 + manage.py | 14 + settings.py | 134 + static_template_view/__init__.py | 0 static_template_view/models.py | 3 + static_template_view/tests.py | 16 + static_template_view/views.py | 15 + temp.py | 2 + urls.py | 38 + 137 files changed, 53109 insertions(+) create mode 100644 .hgignore create mode 100644 __init__.py create mode 100644 auth/__init__.py create mode 100644 auth/models.py create mode 100644 auth/tests.py create mode 100644 auth/views.py create mode 100644 courseware/__init__.py create mode 100644 courseware/capa_module.py create mode 100644 courseware/capa_problem.py create mode 100644 courseware/models.py create mode 100644 courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png create mode 100644 courseware/static/Kirchhoff_files/08d7bd7060be987d4da37b7fc263a740.png create mode 100644 courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png create mode 100644 courseware/static/Kirchhoff_files/200px-Kirchhoff_voltage_law.svg.png create mode 100644 courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png create mode 100644 courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png create mode 100644 courseware/static/Kirchhoff_files/98720898396d325be0abb463b68caf90.png create mode 100644 courseware/static/Kirchhoff_files/KCL.png create mode 100644 courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png create mode 100644 courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png create mode 100644 courseware/static/Kirchhoff_files/magnify-clip.png create mode 100644 courseware/static/circuits/divider.png create mode 100644 courseware/static/circuits/divider.ps create mode 100644 courseware/static/circuits/thevenin.png create mode 100644 courseware/static/circuits/thevenin.ps create mode 100644 courseware/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png create mode 100644 courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png create mode 100644 courseware/static/css/cupertino/images/ui-icons_2694e8_256x240.png create mode 100644 courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png create mode 100644 courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png create mode 100644 courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png create mode 100644 courseware/static/css/cupertino/images/ui-icons_ffffff_256x240.png create mode 100644 courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css create mode 100644 courseware/static/css/images/css/bottomWrapper-bg.jpg create mode 100644 courseware/static/css/images/css/footerWrapper-bg.jpg create mode 100644 courseware/static/css/images/css/hat.jpg create mode 100644 courseware/static/css/images/css/hmenu-sel.jpg create mode 100644 courseware/static/css/images/css/hmenu.jpg create mode 100644 courseware/static/css/images/css/page-bg.jpg create mode 100644 courseware/static/css/images/css/page-vbg.jpg create mode 100644 courseware/static/css/images/css/topBanner-old.xcf create mode 100644 courseware/static/css/images/css/topBanner.jpg create mode 100644 courseware/static/css/images/css/topBanner.xcf create mode 100644 courseware/static/css/images/css/topWrapper-bg.jpg create mode 100644 courseware/static/css/jquery-ui.css create mode 100644 courseware/static/css/theme.css create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 courseware/static/css/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css create mode 100644 courseware/static/js/fancybox/blank.gif create mode 100644 courseware/static/js/fancybox/fancy_close.png create mode 100644 courseware/static/js/fancybox/fancy_loading.png create mode 100644 courseware/static/js/fancybox/fancy_nav_left.png create mode 100644 courseware/static/js/fancybox/fancy_nav_right.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_e.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_n.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_ne.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_nw.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_s.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_se.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_sw.png create mode 100644 courseware/static/js/fancybox/fancy_shadow_w.png create mode 100644 courseware/static/js/fancybox/fancy_title_left.png create mode 100644 courseware/static/js/fancybox/fancy_title_main.png create mode 100644 courseware/static/js/fancybox/fancy_title_over.png create mode 100644 courseware/static/js/fancybox/fancy_title_right.png create mode 100644 courseware/static/js/fancybox/fancybox-x.png create mode 100644 courseware/static/js/fancybox/fancybox-y.png create mode 100644 courseware/static/js/fancybox/fancybox.png create mode 100644 courseware/static/js/fancybox/jquery.easing-1.3.pack.js create mode 100644 courseware/static/js/fancybox/jquery.fancybox-1.3.4.css create mode 100644 courseware/static/js/fancybox/jquery.fancybox-1.3.4.js create mode 100644 courseware/static/js/fancybox/jquery.fancybox-1.3.4.pack.js create mode 100644 courseware/static/js/fancybox/jquery.mousewheel-3.0.4.pack.js create mode 100644 courseware/static/js/jquery-1.6.2.min.js create mode 100644 courseware/static/js/jquery-ui-1.8.16.custom.min.js create mode 100644 courseware/static/js/video_player.js create mode 100644 courseware/static/js/video_player.js~ create mode 100644 courseware/static/staff/agarwal-mit-news-small.jpg create mode 100644 courseware/static/staff/cjt-small.jpg create mode 100644 courseware/static/staff/gjs-small.jpg create mode 100644 courseware/static/staff/pmitros-small.jpg create mode 100644 courseware/static/subs/2SwT6JnfCq8.srt.sjson create mode 100644 courseware/static/subs/2vHGYdepKLw.srt.sjson create mode 100644 courseware/static/subs/3GdMaDzIUeQ.srt.sjson create mode 100644 courseware/static/subs/4TCnYYpZxEc.srt.sjson create mode 100644 courseware/static/subs/9RqFFlZgf60.srt.sjson create mode 100644 courseware/static/subs/AfQxyVuLeCs.srt.sjson create mode 100644 courseware/static/subs/COdQmA9g9S8.srt.sjson create mode 100644 courseware/static/subs/JB2HgohNHYQ.srt.sjson create mode 100644 courseware/static/subs/JqvKtMNz3RQ.srt.sjson create mode 100644 courseware/static/subs/Km9YIdkc2Oo.srt.sjson create mode 100644 courseware/static/subs/Nijya-QJ45Y.srt.sjson create mode 100644 courseware/static/subs/OGtElTMJidE.srt.sjson create mode 100644 courseware/static/subs/R4KxlqsuZ0A.srt.sjson create mode 100644 courseware/static/subs/RsJ1eg7XNVs.srt.sjson create mode 100644 courseware/static/subs/TXJIhDHtHSI.srt.sjson create mode 100644 courseware/static/subs/V0z_f7qxLcY.srt.sjson create mode 100644 courseware/static/subs/WT-qzgaKeGI.srt.sjson create mode 100644 courseware/static/subs/bEJ0-8pANA4.srt.sjson create mode 100644 courseware/static/subs/bX8i2yECWaU.srt.sjson create mode 100644 courseware/static/subs/dyxcCoUgETU.srt.sjson create mode 100644 courseware/static/subs/ke3SL_R92ys.srt.sjson create mode 100644 courseware/static/subs/v6vqWasIHaw.srt.sjson create mode 100644 courseware/static/subs/wNuBD4PYWvs.srt.sjson create mode 100644 courseware/static/subs/ypX20WnHNQw.srt.sjson create mode 100644 courseware/tests.py create mode 100644 courseware/urls.py create mode 100644 courseware/views.py create mode 100644 courseware/x_module.py create mode 100644 manage.py create mode 100644 settings.py create mode 100644 static_template_view/__init__.py create mode 100644 static_template_view/models.py create mode 100644 static_template_view/tests.py create mode 100644 static_template_view/views.py create mode 100644 temp.py create mode 100644 urls.py diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000000..d65858b8d9 --- /dev/null +++ b/.hgignore @@ -0,0 +1,4 @@ +syntax: glob +*.pyc +*~ +database.sqlite diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/auth/__init__.py b/auth/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/auth/models.py b/auth/models.py new file mode 100644 index 0000000000..44ab6b37bb --- /dev/null +++ b/auth/models.py @@ -0,0 +1,30 @@ +from django.db import models +from django.contrib.auth.models import User +import uuid + +class UserProfile(models.Model): + user = models.ForeignKey(User, unique=True, db_index=True) + name = models.TextField(blank=True) + language = models.TextField(blank=True) + location = models.TextField(blank=True) + meta = models.TextField(blank=True) # JSON dictionary for future expansion + +class Registration(models.Model): + ''' Allows us to wait for e-mail before user is registered. A + registration profile is created when the user creates an + account, but that account is inactive. Once the user clicks + on the activation key, it becomes active. ''' + user = models.ForeignKey(User, unique=True) + activation_key = models.CharField(('activation key'), max_length=32, unique=True, db_index=True) + + def register(self, user): + # MINOR TODO: Switch to crypto-secure key + self.activation_key=uuid.uuid4().hex + self.user=user + self.save() + + def activate(self): + self.user.is_active = True + self.user.save() + self.delete() + diff --git a/auth/tests.py b/auth/tests.py new file mode 100644 index 0000000000..501deb776c --- /dev/null +++ b/auth/tests.py @@ -0,0 +1,16 @@ +""" +This file demonstrates writing tests using the unittest module. These will pass +when you run "manage.py test". + +Replace this with more appropriate tests for your application. +""" + +from django.test import TestCase + + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.assertEqual(1 + 1, 2) diff --git a/auth/views.py b/auth/views.py new file mode 100644 index 0000000000..9c9529314d --- /dev/null +++ b/auth/views.py @@ -0,0 +1,143 @@ +from djangomako.shortcuts import render_to_response, render_to_string +from django.contrib.auth.models import User +from django.shortcuts import redirect +from django.contrib.auth import logout, authenticate, login +from django.contrib.auth.models import User +from django.http import HttpResponse +import json +from models import Registration, UserProfile +from django.conf import settings +from django.core.context_processors import csrf +from django.core.validators import validate_email, validate_slug + +def csrf_token(context): + csrf_token = context.get('csrf_token', '') + if csrf_token == 'NOTPROVIDED': + return '' + return u'
' % (csrf_token) + + +def index(request): + if request.user.is_authenticated(): + return redirect('/courseware') + else: + return render_to_response('index.html', {'error':'', 'csrf':csrf(request)['csrf_token']}) # Clean up how error is done. + +def login_user(request, error=""): + if 'email' not in request.GET or 'password' not in request.GET: + return render_to_response('login.html', {'error':error.replace('+',' ')}) + email = request.GET['email'] + password = request.GET['password'] + try: + user=User.objects.get(email=email) + except User.DoesNotExist: + return HttpResponse(json.dumps({'success':False, 'error': 'Invalid login'})) # TODO: User error message + + username=user.username + user=authenticate(username=username, password=password) + if user is None: + return HttpResponse(json.dumps({'success':False, 'error': 'Invalid login'})) + if user is not None and user.is_active: + login(request, user) + return HttpResponse(json.dumps({'success':True})) + return HttpResponse(json.dumps({'success':False, 'error': 'Account not active. Check your e-mail.'})) + +def logout_user(request): + logout(request) + return redirect('/') + +def create_account(request): + js={'success':False} + # Confirm we have a properly formed request + for a in ['username', 'email', 'password', 'location', 'language', 'name']: + if a not in request.GET: + js['value']="Error (401 {field}). E-mail us.".format(field=a) + return HttpResponse(json.dumps(js)) + + + + if request.GET['honor_code']!=u'true': + js['value']="To enroll, you must follow the honor code.".format(field=a) + return HttpResponse(json.dumps(js)) + + + if request.GET['terms_of_service']!=u'true': + js['value']="You must accept the terms of service.".format(field=a) + return HttpResponse(json.dumps(js)) + + # Confirm appropriate fields are there. + # TODO: Check e-mail format is correct. + # TODO: Confirm e-mail is not from a generic domain (mailinator, etc.)? Not sure if + # this is a good idea + # TODO: Check password is sane + for a in ['username', 'email', 'password', 'terms_of_service', 'honor_code']: + if len(request.GET[a])<2: + js['value']="{field} is required.".format(field=a) + return HttpResponse(json.dumps(js)) + + try: + validate_email(request.GET['email']) + except: + js['value']="Valid e-mail is required.".format(field=a) + return HttpResponse(json.dumps(js)) + + try: + validate_slug(request.GET['username']) + except: + js['value']="Username should only consist of A-Z and 0-9.".format(field=a) + return HttpResponse(json.dumps(js)) + + + + # Confirm username and e-mail are unique. TODO: This should be in a transaction + if len(User.objects.filter(username=request.GET['username']))>0: + js['value']="An account with this username already exists." + return HttpResponse(json.dumps(js)) + + if len(User.objects.filter(email=request.GET['email']))>0: + js['value']="An account with this e-mail already exists." + return HttpResponse(json.dumps(js)) + + u=User(username=request.GET['username'], + email=request.GET['email'], + is_active=False) + u.set_password(request.GET['password']) + r=Registration() + # TODO: Rearrange so that if part of the process fails, the whole process fails. + # Right now, we can have e.g. no registration e-mail sent out and a zombie account + u.save() + r.register(u) + + up=UserProfile(user=u) + up.name=request.GET['name'] + up.language=request.GET['language'] + up.location=request.GET['location'] + up.save() + + d={'name':request.GET['name'], + 'key':r.activation_key, + 'site':settings.SITE_NAME} + + subject = render_to_string('activation_email_subject.txt',d) + # Email subject *must not* contain newlines + subject = ''.join(subject.splitlines()) + message = render_to_string('activation_email.txt',d) + + try: + res=u.email_user(subject, message, settings.DEFAULT_FROM_EMAIL) + except: + js['value']=str(sys.exc_info()) + return HttpResponse(json.dumps(js)) + + js={'success':True, + 'value':render_to_string('registration/reg_complete.html', {'email':request.GET['email']})} + return HttpResponse(json.dumps(js), mimetype="application/json") + +def activate_account(request, key): + r=Registration.objects.filter(activation_key=key) + if len(r)==1: + r[0].activate() + return render_to_response("activation_complete.html",{}) + if len(r)==0: + return render_to_response("activation_invalid.html",{}) + return HttpResponse("Unknown error. Please e-mail us to let us know how it happened.") diff --git a/courseware/__init__.py b/courseware/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/courseware/capa_module.py b/courseware/capa_module.py new file mode 100644 index 0000000000..b829c9c305 --- /dev/null +++ b/courseware/capa_module.py @@ -0,0 +1,29 @@ +# For calculator: +# http://pyparsing.wikispaces.com/file/view/fourFn.py + +import random, numpy, math, scipy, sys, StringIO, os, struct, json +from x_module import XModule + +from xml.dom.minidom import parse, parseString + +class LoncapaProblem(XModule): + def get_state(self): + + def get_score(self): + + def max_score(self): + + def get_html(self): + + def handle_ajax(self, json): + + def __init__(self, filename, id=None, state=None): + + +if __name__=='__main__': + p=LoncapaProblem('') + + print p.getHtml() + print p.getContext() + print p.getSeed() + # Chef and puppot diff --git a/courseware/capa_problem.py b/courseware/capa_problem.py new file mode 100644 index 0000000000..f17be7a62b --- /dev/null +++ b/courseware/capa_problem.py @@ -0,0 +1,194 @@ +# For calculator: +# http://pyparsing.wikispaces.com/file/view/fourFn.py + +import random, numpy, math, scipy, sys, StringIO, os, struct, json + +from xml.dom.minidom import parse, parseString + +class LoncapaProblem(): + def get_state(self): + ''' Stored per-user session data neeeded to: + 1) Recreate the problem + 2) Populate any student answers. ''' + return json.dumps({'seed':self.seed, + 'answers':self.answers, + 'correct_map':self.correct_map}) + + def get_score(self): + correct=0 + for key in self.correct_map: + if self.correct_map[key] == u'correct': + correct += 1 + if len(self.answers)==0: + return {'score':0, + 'total':len(self.questions)} + else: + return {'score':correct, + 'total':len(self.questions)} + + def max_score(self): + pass + + def get_html(self): + ''' Return the HTML of the question ''' + return self.text + + def handle_ajax(self, json): + pass + + def __init__(self, filename, id=None, state=None): + ''' Create a new problem of the type defined in filename. + By default, this will generate a random problem. Passing + seed will provide the random seed. Alternatively, passing + context will bypass all script execution, and use the + given execution context. ''' + if state!=None: + state=json.loads(state) + else: + state={} + self.gid=id + + if 'seed' in state: + self.seed=state['seed'] + else: + # TODO: Check performance of urandom -- depending on + # implementation, it may slow down to the point of causing + # performance issues if we deplete the kernel entropy + # pool. + self.seed=struct.unpack('i', os.urandom(4))[0] + + if 'answers' in state: + self.answers=state['answers'] + if 'correct_map' in state: + self.correct_map=state['correct_map'] + random.seed(self.seed) + dom=parse(filename).childNodes[0] + + g={'random':random,'numpy':numpy,'math':math,'scipy':scipy} + + buf=StringIO.StringIO() + + ot=False ## Are we in an outtext context? + + for e in dom.childNodes: + if e.localName=='script' and context==None: + exec e.childNodes[0].data in g,self.context + if e.localName=='endouttext': + ot=False + if ot: + e.writexml(buf) + if e.localName=='startouttext': + ot=True + if e.localName in self.handlers: + problem=self.handlers[e.localName](self,e) + buf.write(problem) + + self.text=buf.getvalue() + self.text=self.contextualize_text(self.text) + + + text="" + context={} # Execution context from loncapa/python + questions={} # Detailed info about questions in problem instance. TODO: Should be by id and not lid. + answers={} # Student answers + correct_map={} + seed=None + gid="" # ID of the problem + lid=-1 # ID of the field within the problem + + def get_context(self): + ''' Return the execution context ''' + return self.context + + def get_seed(self): + ''' Return the random seed used to generate the problem ''' + return self.seed + + def get_correct_map(self): + return self.correct_map + + def set_answers(self, answers): + self.answers=answers + + def grade_answers(self, answers): + ''' Takes a map of IDs to answers. Return which ones are correct ''' + self.answers=answers + correct_map={} + for key in self.questions: + id=self.questions[key]['id'] + if id not in answers: + correct_map[id]='incorrect' # Should always be there + else: + correct_map[id]=self.grade_nr(self.questions[key], + self.answers[id]) + self.correct_map=correct_map + return correct_map + + + ## Internal methods + def number(self,text): + ''' Convert a number to a float, understanding suffixes ''' + try: + text.strip() + suffixes={'%':0.01,'k':1e3,'M':1e6,'G':1e9,'T':1e12,'P':1e15, + 'E':1e18,'Z':1e21,'Y':1e24,'c':1e-2,'m':1e-3,'u':1e-6, + 'n':1e-9,'p':1e-12,'f':1e-15,'a':1e-18,'z':1e-21,'y':1e-24} + if text[-1] in suffixes: + return float(text[:-1])*suffixes[text[-1]] + else: + return float(text) + except: + return 0 # TODO: Better error handling? + + def grade_nr(self, question, answer): + error = abs(self.number(answer) - question['answer']) + allowed_error = abs(question['answer']*question['tolerance']) + if error <= allowed_error: + return 'correct' + else: + return 'incorrect' + + def handle_nr(self, element): + answer=element.getAttribute('answer') + for e in element.childNodes: + if e.nodeType==1 and e.getAttribute('type')=="tolerance": + tolerance=e.getAttribute('default') + self.lid+=1 + id=str(self.gid)+'_'+str(self.lid) + problem={"answer":self.number(self.contextualize_text(answer)), + "type":"numericalresponse", + "tolerance":self.number(self.contextualize_text(tolerance)), + "id":id, + "lid":self.lid, + } + self.questions[self.lid]=problem + if id in self.answers: + value=self.answers[id] + else: + value="" + icon='bullet' + if id in self.correct_map and self.correct_map[id]=='correct': + icon='check' + if id in self.correct_map and self.correct_map[id]=='incorrect': + icon='close' + + html=' '.format(id=id,value=value,icon=icon) + return html + + + graders={'numericalresponse':grade_nr} + handlers={'numericalresponse':handle_nr} + + def contextualize_text(self, text): + ''' Takes a string with variables. E.g. $a+$b. + Does a substitution of those variables from the context ''' + for key in sorted(self.context, lambda x,y:cmp(len(y),len(x))): + text=text.replace('$'+key, str(self.context[key])) + return text + +if __name__=='__main__': + p=LoncapaProblem('resistor.xml', seed=-1601461296) + + print p.getHtml() + print p.getContext() + print p.getSeed() diff --git a/courseware/models.py b/courseware/models.py new file mode 100644 index 0000000000..3dbf7c46e3 --- /dev/null +++ b/courseware/models.py @@ -0,0 +1,53 @@ +from django.db import models +from django.contrib.auth.models import User + +# class Organization(models.Model): +# # Tree structure implemented such that child node has left ID +# # greater than all parents, and right ID less than all parents +# left_tree_id = models.IntegerField(unique=True, db_index=True) +# right_tree_id = models.IntegerField(unique=True, db_index=True) +# # This is a duplicate, but we keep this to enforce unique name +# # constraint +# parent = models.ForeignKey('self', null=True, blank=True) +# name = models.CharField(max_length=200) +# ORG_TYPES= (('course','course'), +# ('chapter','chapter'), +# ('section','section'),) +# org_type = models.CharField(max_length=32, choices=ORG_TYPES) +# available = models.DateField(null=True, blank=True) +# due = models.DateField(null=True, blank=True) +# # JSON dictionary of metadata: +# # Time for a video, format of a section, etc. +# metadata = models.TextField(null=True, blank=True) + +# class Modules(models.Model): +# MOD_TYPES = (('hw','homework'), +# ('vid','video_clip'), +# ('lay','layout'), +# (),) +# module_type = models.CharField(max_length=100) +# left_tree_id = models.IntegerField(unique=True, db_index=True) +# right_tree_id = models.IntegerField(unique=True, db_index=True) + +# LAYOUT_TYPES = (('leaf','leaf'), +# ('tab','tab'), +# ('seq','sequential'), +# ('sim','simultaneous'),) +# layout_type = models.CharField(max_length=32, choices=LAYOUT_TYPES) +# data = models.TextField(null=True, blank=True) + +#class HomeworkProblems(models.Model): + +class StudentModule(models.Model): + # For a homework problem, contains a JSON + # object consisting of state + state = models.TextField(null=True, blank=True) + grade = models.FloatField(null=True, blank=True) + student = models.ForeignKey(User) + MODULE_TYPES = (('hw','homework'),) + module_type = models.CharField(max_length=32, choices=MODULE_TYPES, default='hw') + module_id = models.CharField(max_length=255) # Filename + created = models.DateTimeField(auto_now_add=True) + modified = models.DateTimeField(auto_now=True) + class Meta: + unique_together = (('student', 'module_id'),) diff --git a/courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png b/courseware/static/Kirchhoff_files/07172609b59c136393705e4067de95d0.png new file mode 100644 index 0000000000000000000000000000000000000000..ff21373411f6f53c0e07e94a9f59c0dccb0e8979 GIT binary patch literal 704 zcmV;x0zdtUP) z&%D{0H;)BW+y9XnnnQE%k0z1Hm*V$k;O4-L!y`iu_Y6Vy*AQ$R8G_4WL$Kx>f=OTq zu6l;xWycVFrMS{AU*FyMIk!lC<1LTp=47&m{h7o5m6?pEU>|0FGQOi7&(DEq&>ZHT zX8tq;h}tOk)3{auzXJDjLH%E5NwD6_{WMMs;7j0LCV0}GWI+flxs^Ec(_oDYAZ6!8 zC1~um4qqsfz`CnU(OaFqzX*!7exM}hkc=Z`GQQ4TWs3efl2n29o1)zz-yC=eAN__W z?80|J+a*u;ro+p~uxBt1{<7~5osm)#2K8W%wv z&JM>1cdV3z5~LlfMS#S?n!WgqpzF9L#rVcJ%FZ!Z4wN6sz@AnL5swof`aHo^rKPRH z?s^%xPflpho#*>u#1{$~>rj#>+d@;Fe95Gz zALOoT2Bj(%FHTW>r% mm=G1+h}I1essHqvX2Ab!LZs4Lm6k#P0000JP)AmX z5flr8OUzUdX|YqaMa)zv6bywf7RALv2SLF_vGm(aHd7SQq1X3v_uYN@61Z<|-*E4} z|NG@~_wIcFnRBsw#y*7g#g7L=V2n7ID27BagVV6+7G70CvfnY54vGGUm}n%)93@!WxeQ+eKR8P9Aw7FZzx86{Z-B>~%{PpOB=Fpq$}mRg zI}W2_QYySo06Kfi9Zw$64LlUvd~Ibpx7+n%?F|~gHPxN!S2!CQl7T_{#k#JI<|+Q9 zQx#APo7V!STwR<0SpW`Ys?Q2))}yB8tZ5R1M--QKhm69JdIF#;Zwm1;(EngRV-${R zh33Noypd;#Dlo9>da3fU_wwuST@Mrz!wW%H5uXDjdT><T zDDk{Qu|?9In)}nDcSyQEd?WiZy&(b(YG)^eXX*B0tHOIqYt{el%s25*Y&X#p|6<98 zs);AeikgYHp*->RO)}TIt8e0MyZR>HhVsPMv)SxZ`vJ_vkKE;L-3nX(3$!kWz9p@% Q<^TWy07*qoM6N<$f-*}TOaK4? literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png b/courseware/static/Kirchhoff_files/17bbbd9b6e69b94dab881bacae540191.png new file mode 100644 index 0000000000000000000000000000000000000000..7a56c0274aa700f5123104480aed3b86b4fa9df7 GIT binary patch literal 630 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 literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png b/courseware/static/Kirchhoff_files/229253cd444bad52ccf237f182f18267.png new file mode 100644 index 0000000000000000000000000000000000000000..7e3ee15206296c2c15b9d459c7b01bdd3f3120e5 GIT binary patch literal 1007 zcmVzB05nra||mW;Cj)bPE_p%B~_i z+RxS`8%Q)*)mRt-_Q+mH{9}s}Ekx?9YAhTBZcwkRUE``^H6+J5aZCA0>IIv>i9quE zmi7#UPkgy~pwnx#5J-q*eE-B<(Q9CU1B~+4IV4|qd$G4^u7=xXL>uX<(WVS^s)*Qn zr`I6YD}EU`Ucq@pTFf>^>Bm59wR>F!rX*b!y^5&~q&b2q>`ku&k?~G1yV9$>Werxin!YwpHqfkEXE?$r|F-tB4f*Z;`GhUV9s4@8u>|8)yLv763hA}Pjz{e2djwb~ zHF3@<4sg7Y2?@qRM%f{!$7pipuQbtOT) zb{ulnQ6*2KRY_Hp@da7b^5xxx7(-GS7k^#Ozh7n0n}}63|QL z>22vAH}#V>_kgY}&VmqQxFf;)6?yXYnwoXiqMwv_@F68@o^2Mz!0K);K2&1ozmA4vwv_7Umj3hG9%Q}{vc&?yhOtg-H zex+l{iD$GU)zx=3GSK>2kP{CbX?IKZOa{8^CW0|?;>}X9YMvznoh!uol8zH!#&(;L zfzDKNnqK6@=ds8$MhY3|X!WCpCMSM48}<%rwvZAT=(<1-?002ovPDHLkV1i9e%*X%$ literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png b/courseware/static/Kirchhoff_files/912713fc906c190d03a73f02b2f738ab.png new file mode 100644 index 0000000000000000000000000000000000000000..d38487b03412472881d030681a6446e90f32f42a GIT binary patch literal 646 zcmV;10(t$3P)J(E=0$`-p+T{Q*P-NOFB+VBi6J3gJ!$U?@p~Rq%Dg6*4dvFfg#c zUWgC?v7jN(z`zJL10u<8z`(Fk`!TA@7YX3lWMDXp5Px~TGlAj8JcIz4#Wo9)%Q+{Y zNgUeFhb98$u0aLi-F}&IE!73T{?1O!jP#$d4Vz#?G4MoI8>(JmJff+@1j-0s_b_dMKfQe=vq znSZ|9w>vurkojNs&)7RyQ|hF}0b|7fhA~GJBRF+M*D$-`$d>Uq=ZOA$Y`C0p{D@cB zDLbNfVWN^HYo8XPbQi|8i$9VW@9eRmX;G9&a*F)tNai)C|zv_OZt(99w# z%@Yes&V=O&JfUOMv9Y2O&+8OxB;BcrzcqTDq+#^~+3vGt5o^$GwoinXyIrhRcu#4y z`v09pCjO!ACVJvWU)fMK@q}4XGx0W*C;sXkSzz5YGV!)uBNJ~!dE&3~`TQgM0nEfd fxGvbb00000NkvXXu0mjf(+nxk literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/KCL.png b/courseware/static/Kirchhoff_files/KCL.png new file mode 100644 index 0000000000000000000000000000000000000000..48def07d58a0941be2fb4abbac5eff0ad5994923 GIT binary patch literal 5359 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 aVsgoXUqt2@zXnH>ke;@&R=MV_xc>sD>psr_ literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png b/courseware/static/Kirchhoff_files/c449f0cd2e060f03076e28ae5f8f0a75.png new file mode 100644 index 0000000000000000000000000000000000000000..d54e373764c769e6c106555b32a32557a033104c GIT binary patch literal 543 zcmV+)0^t3LP)1Ox;kA|g;wPyhe`pweW|00001 zbW%=J06^y0W&i*Iok>JNR5%fZ)ICVUKoke?e{-o#t4%81ONEMqLyJ=vA){M5Id>J8 zfRj};4&qR#!9fs(W^+|KDGDymb{8?l!7kcT3-t^25}ULZ@A8J^?%pq#cgJx6JH~IE zT!{_bOv8B|2cVRbHv&+{$>;b;Xw!Ve;vu0{Nr>BKOg~cDY#y2|$pwOS_FT~}lyoL! z6UZiWrg$A$=$cxB#57P0&~0j9hKDp0sR&YZ2lm)AX?mnXkVGzGu+f+)_YP2owZJxr z)^?r^ko<$?qNmSuHujblePTg|dP0=|a=5MKaA#ncG;+a+BWg$+8)tSNluB2uJ?850E;#o9~(tlclG zPEDlv54srslA^Hv50Vqu_lH@l3)#*={|&lNl}E2L{8rNRlm|r?aPI?-o6R?b%a1dT z07zZ@f|TGIR8{(~xXnj*pmz@~og1&9+f>!LMtnoa*0;b_Vh@|?+-<;}xrElLnH2a% h9p*Qhn4Y6G{QwK1X_oXS%Ao)N002ovPDHLkV1m_d?m7Sf literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png b/courseware/static/Kirchhoff_files/ec93733267512bc18567c04e5a728e24.png new file mode 100644 index 0000000000000000000000000000000000000000..3efd5c7c789b034d3f8d0782ab6c5a61fad69d37 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp@KrF<<3?z$OJsE+NR)9~4>;M1%9UL6Q#Kh*!n->re zz{0|^ZQC{j1A{YX&XkmtBqb$vb#*;^_6(@}LBa3IK#H*>$S;_|;n|HeASc7q#W93K zHaUTz>9PV7$2SL!Hr9YDrj}DlVprqArjw168&w-0I^-YD zWYb%~q|PR7u=bEaqoU-A>nSr1Y-aG#Pq}e{b%}&UdS%m@L8bg=d#Wzp$P!qRZQXl literal 0 HcmV?d00001 diff --git a/courseware/static/Kirchhoff_files/magnify-clip.png b/courseware/static/Kirchhoff_files/magnify-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..00a9cee11bf3679ab57db06705c0cc0603fbbedd GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^{6Ngj0VEh&bvhb=6jMo%UogY}=!r^OLA)eycNd2L z?fqx=19_YU9+AZi3|t>Tn9*sC$qb+%dx@v7EBjRzCLuw=@2R%kKp}rm7sn8e>&ZX< z|Np;pZ^4Hi#uMxFW-_tftUmZB`~SiP?FRpE-rIZC`}@1Ue2?FsWs?;7DtGQZqv53M vO^$|h?Ae*#EnM~g|NMtH!wi1#J!NKC>C|F-zkgXj&}arvS3j3^P6XThmoHwcd~S)_QNPv(LBB+26PJ{_&l4?l?PL5C_Tu0RVuw ztqsP7hZJ4}f(3c|uL0*uc);&xe*trFAXNqL=bc2uY&;`*Xmc3WJwd3Sm(gLC*LZlS z1)xv$d;tK2(6$&$*BcY7MduSHYY(iVH=DT(1UjwYdD^-_evYM*oXPtJw%ja>ic>P^6i3~ zVJsx0K%5)gz(6_D8I1D_rgG?*h)*%7$CuRRJC2gDw+A8}j9CKxS#Eb5kmVm~$@r^*euii8*fe zJLE3B98EQS`Q>XFH**-_?1rVAu5xM}TH3>7OXr%U3S0LaW*RqJ-gjSXD?FKLn0Ik> z=~O!-`jxF3eJZr`NpB^qQm2fQjrsnJ?H!rZMOFD1jY^F>YY)W&>(`!4CF|2%7H!qs z@7GA_Z4~u2sFe9-ytyEk_~uM?y!V*>F`Pn!C#^~Q>`+6$CaZm&F*kOZX~@?9VC=gp zJFC{eT$SkQ(b7&nh$)8Tm957use-PAxzK4WZJN^g&{F#nvi!CwecL9oS<6GmNz@L- z#y3^d>e7a#3!6sl*?I3#l&GQEr&%du13D%o3Z!dkZl=~J4yZmjms7(*ec7q0v5S7D zz|zykmdT=_3%P^OORhQSLO-~#Z z8(14sYOQE|LV-d9^|e~W*lzhjkgkn5y2B%--jVNDejK;B5<@t(clK$Wy6kVSyjD5i zWAxSrS&g_>N~Q@Yt2|MOQJh{}{AqowI*zobHDYLc>7nS1E_EY7P=*_L-Of;o8>hSO zh;Utz;Q(j$W3ZRnYzXM-zOL=8!Bz|>ZC4t^*i$!*YS%GkJLsC!;ny!QJb;4h0oe?pHEWv(?hXWfLj5ga__au!Ot zf5?FD+$_PmkLY3Byd=(m;T&Lz*+o=%U5RTYi$BFD8%41{gq6!#g#L zMw!2nt-@ECSFOz`CXX2KB0FDo+jJ#mLg%!Nbg6iC-*b8I#hbKB*z?KmF|o5QTjM9oe7GDp-hq zLUC6|zC|@fEE=Pd&Ph>B=a=xlDvZCipPgJyRmNvf9on~wFB=FF?fy6O&{983 zQRqS6^d5hA`uah{PW)vVN^_OP5l2y;;SPmhYPf1Gr8D9qdHLgt*Fr6my9B`3J{^qi z8{1oS`w}a z{r`fy^h#ZxK=o&but=m0$%PP!CSMQrCxu=^lWzdv2*Vq2n6b9;8Q#i$=TXihEBu@6 pK!_#;11$Z?egs{F9!$l``I7a|1XvK(GQ;BmY^|IyHR!7;{{XHdRYCv& literal 0 HcmV?d00001 diff --git a/courseware/static/circuits/divider.ps b/courseware/static/circuits/divider.ps new file mode 100644 index 0000000000..677fe6d3ef --- /dev/null +++ b/courseware/static/circuits/divider.ps @@ -0,0 +1,221 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: divider +%%Creator: XCircuit v3.6 rev135 +%%CreationDate: Thu Dec 1 09:49:39 2011 +%%Pages: 1 +%%BoundingBox: 68 68 202 174 +%%DocumentNeededResources: font Helvetica Times-Roman +%%EndComments +%%BeginProlog +% +% PostScript prolog for output from xcircuit +% Version: 3.3 +% +% Electrical circuit (and otherwise general) drawing program +% +% Written by Tim Edwards 8/5/93--7/13/05 (tim.edwards@multigig.com) +% The Johns Hopkins University (1993-2004) +% MultiGiG, Inc. (2004-present) +% +%%BeginResource: procset XCIRCproc 3.3 0 +% +% supporting definitions --- these are the primary xcircuit types. + +/XCIRCsave save def +/topmat matrix currentmatrix def + +/fontslant { /slant exch def [1 0 slant 1 0 0] + exch findfont exch makefont dup length dict /ndict exch def + { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall + ndict definefont pop} def +/ul { dup type /stringtype eq showflag 1 eq and { gsave + currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_) + false charpath flattenpath pathbbox grestore exch pop 1 index + sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0 + rlineto stroke moveto } if } def +/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave + currentpoint topmat setmatrix 2 index stringwidth pop 3 index + true charpath flattenpath pathbbox grestore exch pop + exch pop topmat setmatrix (_) true charpath pathbbox grestore + exch pop 1 index sub setlinewidth exch pop currentpoint + exch 4 1 roll exch sub add moveto pop 0 rlineto stroke + moveto } if } def +/stW { gsave currentpoint newpath moveto true charpath flattenpath + pathbbox pop exch pop sub grestore } def +/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs + 0 currentpoint pop put} def +/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def +/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt + {currentpoint exch pop moveto exit} {pop} ifelse } for } def +/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt + {currentpoint exch pop moveto exit} {pop} ifelse } for } def +/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def +/hS { qS qS } def +/pspc 0 def +/cf0 { scalefont setfont } bind def +/Kn { dup kY add /kY exch def rmoveto } bind def +/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul + 0.33 mul neg Kn} def +/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul + 0.67 mul Kn } def +/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def +/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def +/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq + { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def} + {fscale0 mul fscale mul cf0} ifelse } def +/ctmk { counttomark dup 2 add -1 roll pop } bind def +/label { gsave translate 0 0 moveto dup scale neg /rotval exch def + /just exch def just 384 and 0 gt {/mshow {pop} def} {/mshow {show} + def} ifelse just 16 and 0 gt {gsave rotval rotate 0 1 dtransform + gsave pagemat setmatrix idtransform exch grestore 1 0 dtransform + gsave pagemat setmatrix idtransform exch grestore dup abs 1e-9 lt + {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse grestore {-1 /rotval + rotval neg def /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse + exch -1e-9 lt {-1 /rotval rotval neg def /just just dup 12 and + 4 ne {12 xor} if def} {1} ifelse scale } if /showflag 0 def + /fspc pspc def /Bline 0 def /Tabs 0 array def /fscale 1.0 def + /kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform exch atan rotate + {exch dup type /stringtype eq {true charpath flattenpath} {dup type + /arraytype eq {exec} {12 string cvs true charpath flattenpath} ifelse} + ifelse} repeat pop pathbbox grestore 3 -1 roll pop 3 1 roll just + 1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub} {exch sub 0.5 + mul neg} ifelse} {pop neg fspc add} ifelse exch Bline exch just 4 + and 0 gt {just 8 and 0 gt {exch pop neg fspc sub} {add 0.5 mul neg} + ifelse} {pop neg fspc add} ifelse rotval rotate Kn currentpoint + translate /showflag 1 def /Bline 0 def /Tabs 0 array def /fscale + 1.0 def /kY 0 def {dup type /stringtype eq {mshow} {dup type + /arraytype eq {exec} {12 string cvs mshow} ifelse} ifelse} repeat + grestore } def +/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label + /pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def +/pinglobal { pinlabel } def +/infolabel { pinlabel } def +/graphic { gsave 4 index cvx exec /DataSource get resetfile translate + 0 0 moveto neg rotate dup scale cvx exec image grestore } def + +/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def +/cRedef {/defColor currentcolor 3 array astore def} def +/begingate {dup type /dicttype ne {1 dict} if begin % default params + dup type /dicttype ne {1 dict} if begin % instanced params + /hlevel hlevel 1 add def /defColor currentcolor sce 3 array + astore def gsave sce translate 0 0 moveto neg rotate dup abs scale + } bind def +/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef + scb end end} bind def + +/hlevel 0 def +/tmpa [1 0 0 1 0 0] def +/gar {8 8 true tmpa {} imagemask} bind +{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind +{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind +{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind +{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind +{8 8 true tmpa {} imagemask} bind +{8 8 true tmpa {} imagemask} bind 7 array astore def +/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll + neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy + gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll + { 3 index exch 5 exch put dup -8 3 index { 3 index + exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def +/setstyles { + currentlinewidth mul setlinewidth /style exch def + style 1 and 0 gt not {closepath} if + style 1024 and 0 gt {2 setlinecap} if + style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if + style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if + gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt { + 7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore + {3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill} + {dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse} + {style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt + style 512 eq or {newpath} {stroke} ifelse grestore} def + +/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def +/xcarc { gsave newpath arc setstyles } def +/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll + 3 index div 1 scale } def +/ele { 0 4 1 roll 0 4 1 roll } bind def +/ellipse { gsave elb newpath ele arc setmatrix setstyles } def +/pellip { elb ele arc setmatrix } def +/nellip { elb ele arcn setmatrix } def +/spline { gsave moveto curveto setstyles } def +/polyc { {lineto} repeat } bind def +/beginpath { gsave moveto } bind def +/endpath { setstyles } bind def +/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def +/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop + rotate translate dup scale} def +/end_insert {PSobj restore} def +/setpagemat {/pagemat matrix currentmatrix def} def +/inchscale {setpagemat 0.375 mul dup scale} def +/cmscale {setpagemat 0.35433071 mul dup scale} def + +%%EndResource +%%EndProlog + +% XCircuit output starts here. + +%%BeginSetup + +/analog::resistor { +begingate +1 1.000 0 64 0 36 2 polygon +1 1.000 0 -64 0 -36 2 polygon +1 1.000 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon +1.000 0.000 0.000 scb +(r.1) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel +(r.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel +0.180 0.545 0.341 scb +(spice:R%i %pr.1 %pr.2 1.0K) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel +(sim:r %pr.1 %pr.2) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel +endgate +} def + +/analog::gnd { +% trivial +begingate +1 1.000 0 0 0 -32 2 polygon +1 1.000 -32 -32 32 -32 2 polygon +1 1.000 -18 -46 18 -46 2 polygon +1 1.000 -4 -60 4 -60 2 polygon +0.933 0.604 0.000 scb +(GND) {/Times-Roman cf} 2 1 0 1.000 0 0 pinglobal +endgate +} def + +/generic::circle { +% trivial +begingate +1 1.000 16 0 6 0.000 360.000 xcarc +1 1.000 0 0 10 0 2 polygon +1.000 0.000 0.000 scb +(out) {/Times-Roman cf} 2 4 0 1.000 16 0 pinlabel +(out) {/Times-Roman cf} 2 7 0 1.000 0 0 pinlabel +endgate +} def + + +%%EndSetup + +%%Page: 1 1 +%%PageOrientation: Portrait +/pgsave save def bop +1.0000 inchscale +2.6000 setlinewidth 864 -132 translate + +1.000 90 -528 528 analog::resistor +1.000 0 -448 448 analog::resistor +1.000 0 -448 384 analog::gnd +1.000 0 -432 528 generic::circle +1 1.000 -480 528 -448 528 -448 512 3 polygon +1 1.000 -432 528 -448 528 2 polygon +-1.000 0 -592 528 generic::circle +(in) {ss} (V) {/Helvetica cf} 4 16 0 1.000 -672 512 label +(out) {ss} (V) {/Helvetica cf} 4 16 0 1.000 -400 512 label +(1) {ss} (R) {/Helvetica cf} 4 16 0 1.000 -560 560 label +(2) {ss} (R) {/Helvetica cf} 4 16 0 1.000 -432 432 label +pgsave restore showpage + +%%Trailer +XCIRCsave restore +%%EOF diff --git a/courseware/static/circuits/thevenin.png b/courseware/static/circuits/thevenin.png new file mode 100644 index 0000000000000000000000000000000000000000..99010e2884546cd6869f9968ba18e4ccd7b3a34e GIT binary patch literal 2418 zcmZ`*c{tQv8~#~JretEuRwJcF$XJIdrZCowH6aWd#F(*g1idUxjd?ssnfeF*Of<;MIh4<4f5YS*&R}Pe7&wp!y zBVq1Y0IG ze#$}4f)TGDQH#0w@TcQxl!6=R!%?;851y~eLDTAFhYT3KU-aKE-AwUX4?wO?m6?|G zZ5^-^?07Iv#tBLL*gMtl({rjf1{=QTJSsM%*WkG28woS@T3|zqc!HFNPT!40fYK*$ z?^wK}<@?UnJSM49%tOahCo=@$_W3wH4D{d!5bO#G3;jAR5d18^dlC5(Z*bU8^!Tk( z=pR3Ti5lFE^2bkhHndFdkJ-PlR+HBB;V#PZ)+e}EUGAe(r#d%1PfvE<#!+z>Ezl5& zZG23RYDTSK=9A&z)T(6AFsdFG@yA11DK+yqEV{Y|zIl+-f0%m#z7ExjS-@dCI zQjKzGe%Tj{Pf~4qm$JtWWJ}|X3sN?li`yS&DTt)-(b%W)ZOn}MAQ5E=C}hwbp%P7T zuiN~-WL7IWuZESCo_ELy71FJc#OIBZf?Xq^XOhZ9po!_&4lreuVdjj1+BF&AbSsi; z69tN4bbU{!D^QHYg{l(FujuDdu5$1EhT4=tmqe@5&eIej0a*g|teo2NOHGdQ6QITK zVzQy(lN+GWbHs>XoImg6dIwnKRH^$_b3s_av_Z{;dh2yX<3?&M*}Cx7o{niIcUg(h zLTV`>?H3p5>gw0kRoIA~jdrGoj3(Y#1!!@*))w04<{djzq?)u}l6*xPTS!&i+_@v5 z@=?Zsxgg~n(NeDf6dY`8Mb_QDwp8N66#(36bT)UjajE;KQtJpg4w-Dhpbd%hCVxRd zFVI}6C(p99tuH@jT;Wm7mJWMpv_1L(*e(Ye5cC&>mF^nFA8kFIqX=|(x<$q8`hmax zvRVzcjnT;#im+Nv{t7O-3|5i4dO2!ScxL3wTd zREC+B)E34Ht22$HlCrWfJU3snMXZ^SujJpVN6+s-peKp|tMk-`cFgSBT@)@J9IQge zCKOrmw!`u1frBg7Y-@T@Of1ARdi(IIz`xsYv=uJ>HatT(Qx+EBB>?@CT_7_ zRwvi|VW%;AwiYTad3Q^{yzPFW{QiUasl1E;Ziz^%9Amaq+73j7VaI4%!sAWQOOBJ#v%H=31d-28i%ZwWh*-761u zx~-O;n79ds9ch&~2oA(RW z{p|DA+!UjZE&r@I{o}Q|%V#c2GmKw_}bKfinxu|3ENI zF0`_jXMRg0ErdE3=e5GdM<8s+aF=pc&Y#v&a_Iwb#fgaBH(kgjqEm#tf;4cZXt59c zE?%(9Wn^B65@@q_!hR@_ain6lAv)pSZgHV(e>sfMdgjAef)XtAB z?U+9qyKmVyMlzrW%})_+NNt&_>GOWchN%;smLiAFrY-6pbo*(nR*7i(Wv#jd9plVa z95UFo*GT08MD$--W}`zrDJy9VenOGV?!fxD&&fo_?GK8ZLr8oc*)~lF4C1~`-@M9m zau5B=5Fa@8llUe!MdbThlX-e}S;tNi$U=v6Ws0`;VlSl_p@MWB9F1@r zqvA+0>oAS16KjFnN1}-i?zA~Uzx5?XBT84N8TDQof znyN1yD0}*t!^t>T0Aqr^3>YtFK85VDeO3nAyB_2NzOyIZ)9&Wuf>E_vDRq zNcDA@kWKObbQ@{KD8euEONI6RyFh`+{D-Aso F{sMkfff@h+ literal 0 HcmV?d00001 diff --git a/courseware/static/circuits/thevenin.ps b/courseware/static/circuits/thevenin.ps new file mode 100644 index 0000000000..a4a2d21703 --- /dev/null +++ b/courseware/static/circuits/thevenin.ps @@ -0,0 +1,251 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Title: thevenin +%%Creator: XCircuit v3.6 rev135 +%%CreationDate: Thu Dec 1 09:57:24 2011 +%%Pages: 1 +%%BoundingBox: 68 68 241 172 +%%DocumentNeededResources: font Helvetica Times-Roman +%%EndComments +%%BeginProlog +% +% PostScript prolog for output from xcircuit +% Version: 3.3 +% +% Electrical circuit (and otherwise general) drawing program +% +% Written by Tim Edwards 8/5/93--7/13/05 (tim.edwards@multigig.com) +% The Johns Hopkins University (1993-2004) +% MultiGiG, Inc. (2004-present) +% +%%BeginResource: procset XCIRCproc 3.3 0 +% +% supporting definitions --- these are the primary xcircuit types. + +/XCIRCsave save def +/topmat matrix currentmatrix def + +/fontslant { /slant exch def [1 0 slant 1 0 0] + exch findfont exch makefont dup length dict /ndict exch def + { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall + ndict definefont pop} def +/ul { dup type /stringtype eq showflag 1 eq and { gsave + currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_) + false charpath flattenpath pathbbox grestore exch pop 1 index + sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0 + rlineto stroke moveto } if } def +/ol { dup type /stringtype eq showflag 1 eq and { gsave gsave + currentpoint topmat setmatrix 2 index stringwidth pop 3 index + true charpath flattenpath pathbbox grestore exch pop + exch pop topmat setmatrix (_) true charpath pathbbox grestore + exch pop 1 index sub setlinewidth exch pop currentpoint + exch 4 1 roll exch sub add moveto pop 0 rlineto stroke + moveto } if } def +/stW { gsave currentpoint newpath moveto true charpath flattenpath + pathbbox pop exch pop sub grestore } def +/Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs + 0 currentpoint pop put} def +/Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def +/Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt + {currentpoint exch pop moveto exit} {pop} ifelse } for } def +/Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt + {currentpoint exch pop moveto exit} {pop} ifelse } for } def +/qS { (aa) stW (a a) stW sub 4 div 0 Kn } def +/hS { qS qS } def +/pspc 0 def +/cf0 { scalefont setfont } bind def +/Kn { dup kY add /kY exch def rmoveto } bind def +/ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul + 0.33 mul neg Kn} def +/Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul + 0.67 mul Kn } def +/ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def +/CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def +/cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq + { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def} + {fscale0 mul fscale mul cf0} ifelse } def +/ctmk { counttomark dup 2 add -1 roll pop } bind def +/label { gsave translate 0 0 moveto dup scale neg /rotval exch def + /just exch def just 384 and 0 gt {/mshow {pop} def} {/mshow {show} + def} ifelse just 16 and 0 gt {gsave rotval rotate 0 1 dtransform + gsave pagemat setmatrix idtransform exch grestore 1 0 dtransform + gsave pagemat setmatrix idtransform exch grestore dup abs 1e-9 lt + {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse grestore {-1 /rotval + rotval neg def /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse + exch -1e-9 lt {-1 /rotval rotval neg def /just just dup 12 and + 4 ne {12 xor} if def} {1} ifelse scale } if /showflag 0 def + /fspc pspc def /Bline 0 def /Tabs 0 array def /fscale 1.0 def + /kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform exch atan rotate + {exch dup type /stringtype eq {true charpath flattenpath} {dup type + /arraytype eq {exec} {12 string cvs true charpath flattenpath} ifelse} + ifelse} repeat pop pathbbox grestore 3 -1 roll pop 3 1 roll just + 1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub} {exch sub 0.5 + mul neg} ifelse} {pop neg fspc add} ifelse exch Bline exch just 4 + and 0 gt {just 8 and 0 gt {exch pop neg fspc sub} {add 0.5 mul neg} + ifelse} {pop neg fspc add} ifelse rotval rotate Kn currentpoint + translate /showflag 1 def /Bline 0 def /Tabs 0 array def /fscale + 1.0 def /kY 0 def {dup type /stringtype eq {mshow} {dup type + /arraytype eq {exec} {12 string cvs mshow} ifelse} ifelse} repeat + grestore } def +/pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label + /pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def +/pinglobal { pinlabel } def +/infolabel { pinlabel } def +/graphic { gsave 4 index cvx exec /DataSource get resetfile translate + 0 0 moveto neg rotate dup scale cvx exec image grestore } def + +/scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def +/cRedef {/defColor currentcolor 3 array astore def} def +/begingate {dup type /dicttype ne {1 dict} if begin % default params + dup type /dicttype ne {1 dict} if begin % instanced params + /hlevel hlevel 1 add def /defColor currentcolor sce 3 array + astore def gsave sce translate 0 0 moveto neg rotate dup abs scale + } bind def +/endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef + scb end end} bind def + +/hlevel 0 def +/tmpa [1 0 0 1 0 0] def +/gar {8 8 true tmpa {} imagemask} bind +{8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind +{8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind +{8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind +{8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind +{8 8 true tmpa {} imagemask} bind +{8 8 true tmpa {} imagemask} bind 7 array astore def +/ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll + neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy + gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll + { 3 index exch 5 exch put dup -8 3 index { 3 index + exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def +/setstyles { + currentlinewidth mul setlinewidth /style exch def + style 1 and 0 gt not {closepath} if + style 1024 and 0 gt {2 setlinecap} if + style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if + style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if + gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt { + 7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore + {3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill} + {dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse} + {style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt + style 512 eq or {newpath} {stroke} ifelse grestore} def + +/polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def +/xcarc { gsave newpath arc setstyles } def +/elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll + 3 index div 1 scale } def +/ele { 0 4 1 roll 0 4 1 roll } bind def +/ellipse { gsave elb newpath ele arc setmatrix setstyles } def +/pellip { elb ele arc setmatrix } def +/nellip { elb ele arcn setmatrix } def +/spline { gsave moveto curveto setstyles } def +/polyc { {lineto} repeat } bind def +/beginpath { gsave moveto } bind def +/endpath { setstyles } bind def +/bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def +/psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop + rotate translate dup scale} def +/end_insert {PSobj restore} def +/setpagemat {/pagemat matrix currentmatrix def} def +/inchscale {setpagemat 0.375 mul dup scale} def +/cmscale {setpagemat 0.35433071 mul dup scale} def + +%%EndResource +%%EndProlog + +% XCircuit output starts here. + +%%BeginSetup + +/analog::resistor { +begingate +1 1.000 0 64 0 36 2 polygon +1 1.000 0 -64 0 -36 2 polygon +1 1.000 0 -36 14 -30 -14 -18 14 -6 -14 6 14 18 -14 30 0 36 8 polygon +1.000 0.000 0.000 scb +(r.1) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel +(r.2) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel +0.180 0.545 0.341 scb +(spice:R%i %pr.1 %pr.2 1.0K) {/Times-Roman cf} 2 0 0 1.000 -208 -160 infolabel +(sim:r %pr.1 %pr.2) {/Times-Roman cf} 2 0 0 1.000 -208 -208 infolabel +endgate +} def + +/analog::source { +% hidden +begingate +1 1.000 0 0 32 0.000 360.000 xcarc +1 1.000 0 32 0 64 2 polygon +1 1.000 0 -32 0 -64 2 polygon +endgate +} def + +/generic::arrowhead { +% nonetwork +begingate +8 -28 beginpath +3 -18 3 -15 0 0 curveto +-3 -15 -3 -18 -8 -28 curveto +-2 -26 2 -26 8 -28 curveto +249 +1.000 endpath +endgate +} def + +/analog::isource { +begingate +1.000 0 0 0 analog::source +1 0.750 0 20 0 -8 2 polygon +0.800 180 0 -20 generic::arrowhead +1.000 0.000 0.000 scb +(i.p) {/Times-Roman cf} 2 9 0 1.000 0 64 pinlabel +(i.m) {/Times-Roman cf} 2 13 0 1.000 0 -64 pinlabel +endgate +} def + +/generic::circle { +% trivial +begingate +1 1.000 16 0 6 0.000 360.000 xcarc +1 1.000 0 0 10 0 2 polygon +1.000 0.000 0.000 scb +(out) {/Times-Roman cf} 2 4 0 1.000 16 0 pinlabel +(out) {/Times-Roman cf} 2 7 0 1.000 0 0 pinlabel +endgate +} def + + +%%EndSetup + +%%Page: 1 1 +%%PageOrientation: Portrait +/pgsave save def bop +1.0000 inchscale +2.6000 setlinewidth 896 -218 translate + +1.000 90 -416 608 analog::resistor +1.000 0 -640 512 analog::isource +1.000 180 -512 512 analog::resistor +1.000 180 -320 512 analog::resistor +1 1.000 -640 448 -640 416 2 polygon +1 1.000 -512 448 -512 416 2 polygon +1 1.000 -320 448 -320 416 2 polygon +1 1.000 -320 416 -640 416 2 polygon +1 1.000 -640 576 -640 608 2 polygon +1 1.000 -512 576 -512 608 2 polygon +1 1.000 -320 576 -320 608 2 polygon +1 1.000 -320 608 -352 608 2 polygon +1 1.000 -480 608 -640 608 2 polygon +1.000 0 -288 608 generic::circle +1 1.000 -288 608 -320 608 2 polygon +1.000 0 -288 416 generic::circle +1 1.000 -288 416 -320 416 2 polygon +(1) {ss} (R) {/Helvetica cf} 4 16 0 1.000 -432 640 label +(2) {ss} (R) {/Helvetica cf} 4 16 0 1.000 -496 512 label +(3) {ss} (R) {/Helvetica cf} 4 16 0 1.000 -304 512 label +(I) {/Helvetica cf} 2 16 0 1.000 -704 512 label +pgsave restore showpage + +%%Trailer +XCIRCsave restore +%%EOF diff --git a/courseware/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png b/courseware/static/css/cupertino/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..6348115e6be09c044cd20ead0202c3ab5b2f9c19 GIT binary patch literal 251 zcmVaF75Mac}}vaR5#k2ZfJhrR<4^Z31`Wpz#J3a8LoN;Gh6h!a)X9!$AU6#K8$v z#Q`{F91Q%ZXUd*<*dgG~N1x91EQ4=6AkFgVs( zAAQ+GrQnN%`yz$&yRVt+nf>RR!x7drH9<9kle(1jzSB%AGQwhbfbL-MboFyt=akR{ E099={B>(^b literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png b/courseware/static/css/cupertino/images/ui-bg_glass_100_e4f1fb_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..705a32ea35d4d0012bfd3b6a3ffe17a2aaf21bb5 GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour0hIh978O6-<~(*Vo>05zNqru zes!`qYix+t4(>@$KQ4S5FeM|FA))8zv=y~toE^Ja);%%|y_LML;(w3fvtta7-CP_U Ta$7zCO=9qL^>bP0l+XkKumdMp literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png b/courseware/static/css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..baabca6baaff94ade4ecd5ddad28e35f52ea3af7 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq`W*`978O6-=1H{+u$H^^ufM+ zvdx>+CU0QuV-!dbkTBu=d3O3OBmLW&4uK;3Q}6PdBzSM&77W)>Ku`PSi#4qjXP8{lS YyPtFZh>C0s1RBTS>FVdQ&MBb@0KGXW`v3p{ literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..28b566c2c29cc0f849995be62c10d7c292697803 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%A)HV~E7myQentGAQsIIS~9U zUP5CYm&Of+-c)b1XI_rZEUK1mr%ne<%>I8zSo#mI$dWz<>o-8144$rjF6*2UngI7o B9l-zq literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-hard_70_000000_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..d58829780430e138704e956a850c2913039fd4d9 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l&z)bCBa S8D#`Ch{4m<&t;ucLK6U&At$5& literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-soft_100_deedf7_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..2289d3c7d7b8e0892f5921de1af87a44b7059eb2 GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l)k5nV~E7m+!V`FPm zbot}H;osq%|NlEjau{m7wqGXUWVoyE{|q&Lb0!9pSk(^U8R0L0S{XcD{an^LB{Ts5 DibWrf literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png b/courseware/static/css/cupertino/images/ui-bg_highlight-soft_25_ffef8f_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..0de3275beabe5ac461e277724f9821c0e2ce084b GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%1!GV~E7mtNo5#3Ic~SGF#2(;hg6(iIV-sGZbkhsIkkPOWu2dS S1f&8@V(@hJb6Mw<&;$V9Mw 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 oBo%DI*Kv;w;*%(i9W@e;D**k^lez literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png b/courseware/static/css/cupertino/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..09d1cdc856c292c4ab6dd818c7543ac0828bd616 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png b/courseware/static/css/cupertino/images/ui-icons_3d80b3_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..52c3cc6b744776e9d66ea4e845f7a57c070aa851 GIT binary patch literal 4369 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 oBo%DI*Kv;w;*%(i9W@e^(7u_y7O^ literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png b/courseware/static/css/cupertino/images/ui-icons_72a7cf_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..0d20b7308331069ee2950fa64cb15f4a29ca55f3 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css b/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css new file mode 100644 index 0000000000..3324b5f093 --- /dev/null +++ b/courseware/static/css/cupertino/jquery-ui-1.8.16.custom.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=deedf7&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=100&borderColorHeader=aed0ea&fcHeader=222222&iconColorHeader=72a7cf&bgColorContent=f2f5f7&bgTextureContent=04_highlight_hard.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=362b36&iconColorContent=72a7cf&bgColorDefault=d7ebf9&bgTextureDefault=02_glass.png&bgImgOpacityDefault=80&borderColorDefault=aed0ea&fcDefault=2779aa&iconColorDefault=3d80b3&bgColorHover=e4f1fb&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=74b2e2&fcHover=0070a3&iconColorHover=2694e8&bgColorActive=3baae3&bgTextureActive=02_glass.png&bgImgOpacityActive=50&borderColorActive=2694e8&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=ffef8f&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=25&borderColorHighlight=f9dd34&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=cd0a0a&bgTextureError=01_flat.png&bgImgOpacityError=15&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffffff&bgColorOverlay=eeeeee&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=90&opacityOverlay=80&bgColorShadow=000000&bgTextureShadow=04_highlight_hard.png&bgImgOpacityShadow=70&opacityShadow=30&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #f2f5f7 url(images/ui-bg_highlight-hard_100_f2f5f7_1x100.png) 50% top repeat-x; color: #362b36; } +.ui-widget-content a { color: #362b36; } +.ui-widget-header { border: 1px solid #aed0ea; background: #deedf7 url(images/ui-bg_highlight-soft_100_deedf7_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #aed0ea; background: #d7ebf9 url(images/ui-bg_glass_80_d7ebf9_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2779aa; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2779aa; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #74b2e2; background: #e4f1fb url(images/ui-bg_glass_100_e4f1fb_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #0070a3; } +.ui-state-hover a, .ui-state-hover a:hover { color: #0070a3; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #2694e8; background: #3baae3 url(images/ui-bg_glass_50_3baae3_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #ffffff; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #ffffff; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #f9dd34; background: #ffef8f url(images/ui-bg_highlight-soft_25_ffef8f_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #cd0a0a url(images/ui-bg_flat_15_cd0a0a_40x100.png) 50% 50% repeat-x; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_72a7cf_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_3d80b3_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_2694e8_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 6px; -webkit-border-top-left-radius: 6px; -khtml-border-top-left-radius: 6px; border-top-left-radius: 6px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 6px; -webkit-border-top-right-radius: 6px; -khtml-border-top-right-radius: 6px; border-top-right-radius: 6px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 6px; -webkit-border-bottom-left-radius: 6px; -khtml-border-bottom-left-radius: 6px; border-bottom-left-radius: 6px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 6px; -webkit-border-bottom-right-radius: 6px; -khtml-border-bottom-right-radius: 6px; border-bottom-right-radius: 6px; } + +/* Overlays */ +.ui-widget-overlay { background: #eeeeee url(images/ui-bg_diagonals-thick_90_eeeeee_40x40.png) 50% 50% repeat; opacity: .80;filter:Alpha(Opacity=80); } +.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #000000 url(images/ui-bg_highlight-hard_70_000000_1x100.png) 50% top repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/courseware/static/css/images/css/bottomWrapper-bg.jpg b/courseware/static/css/images/css/bottomWrapper-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e56627dac2eba3ced6d7ac854f02dafed02fa35 GIT binary patch literal 679 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw#(t3twW$lHkox-#Iy_5W`I0Nm-* A)c^nh literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/footerWrapper-bg.jpg b/courseware/static/css/images/css/footerWrapper-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..93eba982bf370329fc1c9b89bf564c2336d23c15 GIT binary patch literal 931 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivD9GqO-Km}U`7?>ED znVDFaL9Pa>t_8|7un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?cc zon4bAPnkMx`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M z>*1rvPo6$|{^I4UkDoq&`TFhqkDtFl{$gZchIk9^Gc3M&~ka)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrR ik0JbZi-Cuk5g2*Qf(-Tye}flwX)ugpqQijs|4jfW1}E?U literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/hat.jpg b/courseware/static/css/images/css/hat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d2b008fcfba069a5a722be24216ad263faaf6992 GIT binary patch literal 8227 zcmex=Jq?U}9uuW@2GxWo2Ojs;&jfGq4D< z3Mm>ovIz$!vMUve7&T5@$f4}C@t|nX#SbdRNkvVZTw>x9l2WQ_>Kd9_CZ=ZQ7M51d zF0O9w9-dyoA)#U65s^{JDXD4c8JStdC8cHM6_r)ZEv;?s9i3g1CQq3GGAU*RJ2VdF$b$$4{OP zfBE|D`;VW$K>lK6V1@@7#A9gw5(N5-iG_ukg&pKCMy7HgW)@^&RWxK1atvfoEEHBU zYUB`cnz(S|K~81kpbw%+MHjimR7@VKegt_9>@(s#)lOnKGb1qam<1W^ z8UFp#Sk%QZibum>G!2ZVfzdQDng&MGz-Ss6O#`E8U^ESkrh(BkFq#HN)4*sN7)=AC oX<#%BjHZFnG%%V5M$^D(8W>FjqiJ9?4UDFN(KJB+H1Pi>08TKOaR2}S literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/hmenu-sel.jpg b/courseware/static/css/images/css/hmenu-sel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d4a0d40ed19a4801fce7091e72473dde5ef8c94d GIT binary patch literal 653 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw<-`9Uf{r*>^G!}Jjl>dJd0PYIW AbpQYW literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/hmenu.jpg b/courseware/static/css/images/css/hmenu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0ae8683fce0967f5a92cf5c2b81e5e75535a902 GIT binary patch literal 655 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?Zw%kxU@K!VDr=Sy-4^*jU-vz?hwr zgN>b&osEryn}d@J1b{3aZY~}W2V@9DD-$a-Gb`H|qMvW5}awt1(JSZA;@q>zSQc)8pmzcPOq?D?fx`w8fiK&^ng{76V zi>sTvho@I?NN8AiL}XNQN@`kqMrKxVNoiSmMP*fUOKV$uM`zch$y26In?7UatVN5L zEM2yI#mZHiHgDOwZTpU$yAB;ba`f2o6DLnyx_ss8wd*%--g@}x@sp>|p1*kc>f@)+ zU%r0({^RE_kiQrim?7Q*k`Rxf`AZP!FD6hNu!H=?$W#u*%z`YeiiT`Lj)Clng~Cck zjT|CQ6Blkg$f;}`^g%SK=pvVxipfLOk07sseMX$en#l4Q++zrT-D2QjW&}navmk># R!{0xPx-=Mu0cQSx695u_0p9=s literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/page-vbg.jpg b/courseware/static/css/images/css/page-vbg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..93eba982bf370329fc1c9b89bf564c2336d23c15 GIT binary patch literal 931 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivD9GqO-Km}U`7?>ED znVDFaL9Pa>t_8|7un4jWDH=Mm2?r*!D;0_uHBMZ}q3pErplHy=4=Tnkx|JhscGpMnOVgprDf$6l~v6xt!?cc zon4bAPnkMx`iz;g7A;<~blLJ1D_3pWyk+aQ?K^hvI&}ER(PPI?oIG{u@|COCuHU$M z>*1rvPo6$|{^I4UkDoq&`TFhqkDtFl{$gZchIk9^Gc3M&~ka)>xhT)6Qdr?PR-2hpUWi(FzVCJ$9Vg1iRy8F3zKBFkrR ik0JbZi-Cuk5g2*Qf(-Tye}flwX)ugpqQijs|4jfW1}E?U literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/topBanner-old.xcf b/courseware/static/css/images/css/topBanner-old.xcf new file mode 100644 index 0000000000000000000000000000000000000000..32e747241137d5c6fac92b06c5058de8b1819adc GIT binary patch literal 51420 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 SctcD7X5!g<=$z_hbpBuMc7MeH literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/topBanner.jpg b/courseware/static/css/images/css/topBanner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86da96603ab5a14a3e3a62a1bee9d2d11bb0e4b9 GIT binary patch literal 18024 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 Q{x=)Xfy3uiub}h)3qQA?VE_OC literal 0 HcmV?d00001 diff --git a/courseware/static/css/images/css/topWrapper-bg.jpg b/courseware/static/css/images/css/topWrapper-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7a86a1c1c4faa87e307bf6bd9407c21ca1068631 GIT binary patch literal 707 zcmex=``2_j6xdp@o1cgOJMMZh|#U;coyG6VInuyV4pa*FVB^NNrR z{vTivwh= zDOELf4NWZ*Q!{f5ODks=S2uSLPp{yR(6I1`$f)F$)U@=B%&g*)(z5c3%Btp;*0%PJ z&aO$5r%atTea6gLixw|gx@`H1m8&*w-m-Pu_8mKS9XfpE=&|D`PM*4S`O4L6*Kgds z_3+W-Cr_U}fAR9w$4{TXeEs(Q$Io9Ne=#yJL%ap|8JfQYf&OA*VPR%r2lxYE z#}NLy#lXYN2#h>tK?ZwD0CLX}_~;mE4&}&vbv5g!XH7eX-=TOS*SHOY8d7x2{z(?edn%xgvqF?w0>= F0sxnp>%#y5 literal 0 HcmV?d00001 diff --git a/courseware/static/css/jquery-ui.css b/courseware/static/css/jquery-ui.css new file mode 100644 index 0000000000..759a187fae --- /dev/null +++ b/courseware/static/css/jquery-ui.css @@ -0,0 +1,566 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/ + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; -khtml-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; -khtml-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; -khtml-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -khtml-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/courseware/static/css/theme.css b/courseware/static/css/theme.css new file mode 100644 index 0000000000..0d20800d38 --- /dev/null +++ b/courseware/static/css/theme.css @@ -0,0 +1,349 @@ + +/* +---------------------------------------------------------------------------------------- + +Copyright 2010 - Thierry Ruiz - www.dotemplate.com - All rights reserved. + +THIS TEMPLATE IS FREE AS LONG AS YOU KEEP THE LINK TO WWW.DOTEMPLATE.COM IN THE FOOTER +TO REMOVE THE LINK, PLEASE MAKE A 10 DOLLARS DONATION at www.dotemplate.com/#donate + +---------------------------------------------------------------------------------------- +*/ + + +html { + background: $bottomWrapper.bg.color; + margin:0 0 0 -1px; + padding:0; + overflow-Y: scroll; +} + + +body { + padding:0; + margin :0; + display:table; + width:100%; +} + + + body { + color:#023063; + font-family: Helvetica, Arial, sans-serif; + font-size: 12px; + font-style: normal; + font-weight: normal; + text-transform: normal; +} + +p { + letter-spacing: normal; + line-height: 20px; +} + +h1 { + color:#adcc80; + font-size:24px; + margin:25px 0 10px 0; + clear:both; +} + + +h2 { + color:#adcc80; + font-size:18px; + margin:20px 0 10px 0; + clear:both; +} + + +h3 { + color:#adcc80; + font-size:16px; + margin:20px 0 5px 0; + clear:both; +} + + + +a:link, a:visited { + color:#adcc80; + text-decoration:none; +} + + +a:hover { + color:#fa720a; + text-decoration:underline; +} + +#sectiondesc { + font-size:8px; +} + +#wrapper { + background: transparent url( images/css/page-vbg.jpg ) repeat-y scroll 50% 0px; + margin:0 auto ; + width:100%; +} + + body { + background-color:#FFFFFF; +} + +#wrapper { + border-top: 1px solid #ffffff; +} + + + +#topWrapper { + width:100%; + height:100px; + background-color:${topWrapper.bg.color}; + background-image:url(images/css/topWrapper-bg.jpg); + background-position:center top ; + background-repeat:repeat-x; +} + + + +#topBanner { + width:800px; + margin:0 auto; + height:100px; + background-image:url(images/css/topBanner.jpg); + background-repeat:no-repeat; +} + + + +#topnav { + background:transparent url('images/css/hmenu.jpg') repeat-x top left; +} + + + + +#topnav { + height:20px; + margin:0 auto ; + text-align:center; +} + +#topnav ul { + display:table; + margin:0 auto; + padding:0; + list-style-type:none; + position:relative; + height:20px; + text-transform:uppercase; + font-size:12px; + font-family:Arial,sans-serif; +} + + +#topnav ul li { + display:block; + float:left; + margin:0; + padding:0; + background:transparent url('images/css/hmenu.jpg') repeat-x top left; + +} + + +#topnav ul li a { + display:block; + float:left; + color:#031634; + text-decoration:none; + padding:0px 50px ; + line-height:20px; + font-weight:bold; +} + + +#topnav ul li a:hover, #topnav li#current a { + color:#7a994c; + background:transparent url('images/css/hmenu-sel.jpg') repeat-x top left; +} + + + +#topnav ul { + width:800px; +} + + + + +body { + background-position : center 120px; +} + + + +#bg { + margin:0 auto; + padding:0; + background:transparent ; + background-image:url(images/css/hat.jpg); + background-repeat:no-repeat; + background-position: center top ; +} + + + + #header { + margin: 0 auto; + min-height:0px; + height: 0px; + width: 800px; +} + + +#page { + background: transparent url( images/css/page-bg.jpg ) no-repeat center top; +} + + + + + +#container { + margin:0 auto; + width:800px; +} + + +#content { + width:780px; + margin:0 auto ; + text-align:left; + min-height:800px; +} + + +#content p { + text-align:justify; +} + + + + + +#footerWrapper { + margin:0 auto; + height:10px; + padding:0; + background:transparent url( images/css/footerWrapper-bg.jpg ) no-repeat scroll center top; +} + + +#footer { + margin:0 auto; + padding:0; + width:800px; + height:10px; +} + + + + + +#right { + width:200px; + padding:10px 20px 20px 20px; + float:left; +} + + +#center { + width:500px; + padding:10px 20px 20px 20px; + float:left; +} + + +#content p { + margin-top:10px; + text-align:justify; +} + + + +#sidebar ul.vmenu { + list-style: none; + text-align: left; + margin: 7px 0px 8px 0px; + padding: 0; + text-decoration: none; + border-top: 1px solid #eeeeee; +} + + +#sidebar ul.vmenu li { + list-style: none; + padding: 4px 0 4px 0px; + margin: 0 2px; + border-bottom: 1px solid #eeeeee; +} + + + +#sidebar ul.vmenu li a { + text-decoration: none; + color:#023063; +} + + +#sidebar ul.vmenu li a:hover { + color:#adcc80; +} + + +#sidebar ul.vmenu ul { margin: 0 0 0 5px; padding: 0; } +#sidebar ul.vmenu ul li { border: none; } + + + + + +#bottomWrapper { + height:140px; + background-color:#031634; + background-image:url(images/css/bottomWrapper-bg.jpg); + background-position:center top ; + background-repeat:repeat-x; + text-align:center; + color:#adcc80; + text-align:center; +} + +#bottomWrapper a:link, #footer a:visited { + color:#dae5c9; +} + + +#bottomWrapper a:hover{ + color:#adcc80; + text-decoration:none; +} + + + +a img { + border:none; +} + + +.clear { + clear: both; + display: block; + overflow: hidden; + visibility: hidden; + width: 0; + height: 0; +} diff --git a/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..954e22dbd99e8c6dd7091335599abf2d10bf8003 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEr#)R9Ln2z=UU%d=WFXS=@V?HT z#xG*`>Yvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/courseware/static/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d GIT binary patch literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/courseware/static/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..abdc01082bf3534eafecc5819d28c9574d44ea89 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/courseware/static/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..9b383f4d2eab09c0f2a739d6b232c32934bc620b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/courseware/static/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000000000000000000000000000000000000..39d5824d6af5456f1e89fc7847ea3599ea5fd815 GIT binary patch literal 3762 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/courseware/static/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..f1273672d253263b7564e9e21d69d7d9d0b337d9 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%l7LV~E7mxPQ=F85a&M@g_{ d|GeK{$Y5lo%PMu^>wln`44$rjF6*2UngE4^EGqy2 literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..a641a371afa0fbb08ba599dc7ddf14b9bfc3c84f GIT binary patch literal 4369 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 oBo%DI*Kv;w;*%(i9W@e{{5C=l}o! literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..85e63e9f604ce042d59eb06a8428eeb7cb7896c9 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png b/courseware/static/css/ui-lightness/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..e117effa3dca24e7978cfc5f8b967f661e81044f GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css b/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css new file mode 100644 index 0000000000..5547c7b9dd --- /dev/null +++ b/courseware/static/css/ui-lightness/jquery-ui-1.8.16.custom.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/courseware/static/js/fancybox/blank.gif b/courseware/static/js/fancybox/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..35d42e808f0a8017b8d52a06be2f8fec0b466a66 GIT binary patch literal 43 scmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Dgb&paUX6G7L;iE{qJ;0LZEa`2YX_ literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_close.png b/courseware/static/js/fancybox/fancy_close.png new file mode 100644 index 0000000000000000000000000000000000000000..07035307ad435f8f2f8eedf0bce50f7ec8a858c2 GIT binary patch literal 1517 zcmV1To%f)hA(E>uTT$~N#GA0orBqo9-jKM;POccZrXJjTzge4|Sa0ca~7y<+{ z2m7~>41(Jqf9L`mBM6zAjf4;hkjP@@B~d6Xz385|dB5iCM=Ro&JZZmk-uHdZd2i=@ zK0a@Md;u9DFE7t8BO^nxckf<*yC?SckUFGmX^jwM@NV80+eiP zQ*s##s^a3}Ldwd@cHO*r^T5i=%Fj}=Cr_R@78e&C((#usU;YFS>C)2Dw4tG)YO=*P zWt;6ZfL46;=u!R1$jGM-hhvcpVyCa+S}Q!T2ALHx;BHe#M~BsHHos=s2iW})#C?}q ztqvud-gYjKsG$zHm2XhmYPB(Bn>kzw z=gS!w6cG`jJ$?H00VK+=!cMnBDn?IFkCkj7KmNq~hrkZvU@n=EP}|7Gxw*M}1_lPI zNx@_?IS^|%_ok<(o3gXBH^f+@(X7_g)K~%n0$gMM{{Ab=%gZ*hH99)_Eo>!VJd8_C zE)WMoNsBB#u&}W3BMEnPby>y64F-cra9>kX)4DJoA0KZ5fitNn`NTT4wY3%+fA;Lz zZ+K4ucJi+Mg!m%<>Ug8kSg^LX_JD-5va;NEM#+V_H)8UHgaj8UJ?LiZVx92t@KxlB zb1oz#Bo|{kAO!IDVfOII$VfwRad8C+y?XV^;VEu~g@tQka>%(zhlYl1p7P=0!-vj9 zYiMYw3l0uW##jWq+eZ-;6r@4F%{+PXGcz;xx78|Q_F7Eb+}ynGO@4TI*h!27r4#SzfR=K~ zhtpe&%-o-olT$}R&!0cHdm}}wbdd`2lO~)PlarHXnm>2$+(ng2^$EtJ+=vwl#Xg-* zSA%x<9|=lJ3CXuACMEY46&1O~{LGm%7HKm8lhZ|+Pv?nF1LcJswy+L%zshO4HzpR4skij zxq<8a{QPpl!oq4$R(*n7$-q`gsjcF2;NWZ?##l9wBW)lu_Bpk)RJgGO&Ey+2dDr3J z*x2~aJFl#)G^5U)q~qh`_b^ru6q9Xf%arlfse$W(T#z5f?cqE0>k)x`c6QcMUS4jN z#$B996B84z1O(|{7{3S{Bb#j7?T~OCi+pq$fP9eGqJ%Evk~i}B@#8tcAnk_QAg)9f z!qn81MJO5W0n6>}?Q|$y25QL`+uU$0x?KbSI<(UOBavf=wCW!^J3Ie)^yty-8!yk& z($YLG4fjwT{k&5mHL@*_7Xi1c4?x$HT^y5qc2zyPPCG3CUKl!f@Zj&~&!7K?fD>&z zDk^G(=74sN=`q$#Wm{gaK5myi7K~vRQ8s=CoB+NC8j<}iKpXzI(SMmt*2r@wST=`s zW7t-}X4hPqXy3W00000NkvXXu0mjftFGKG literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_loading.png b/courseware/static/js/fancybox/fancy_loading.png new file mode 100644 index 0000000000000000000000000000000000000000..2503017960b3972499d3aa92f89953935ae40934 GIT binary patch literal 10195 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 literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_nav_left.png b/courseware/static/js/fancybox/fancy_nav_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ebaa6a4fd34e51575a01da366312c20618985cbc GIT binary patch literal 1446 zcmV;X1zGxuP)R`@usIzf?P{x4#0gFqr~|(;IJySuwjr=+Ar78e&sHZ(Lu;P)*wKU%|U#jmpg5~Q6= zNl8{#mZGz>Q!_F$qJ8n=#Z9x>Jn_n|ZEtTsSzllOW_Wn`!@Rt_=!l4jAl`tKb-5%L zv7js_CMF<1KR>Fcr{|nbr~AR4Y-MG|y0EZdwI6@^^5yrikSZ}TQ5hH*C?{R4Q{?KT zKD6U2SFWfB2M0g0TCEGD5GUP%Y0a>J0W!M1fVuVU?d@ix(YV91PjUK7@OzY8E)OJ~ z&Q30n%8njA8kC)#t?uvd&xMXHQZzI)WQmTB-n1vQM_gQ-{_*3-7UA?*_bJ9=m|W(F zT+IHE$H&L3T3T8zSS*%BTHM>)YZi;eI#;9uNVch|X-go#ckf=VQmKq2-ORBYaGo52 zejyg&!SS;_ltMX3~N9_#ORsfn&tMTp}T$j*yAd)6-A(_4O6g z0=-^ug|9bVkxorbSsNQ0x9sPG&EF`laq6qgf=!d ztnQGKnVtDqz_Vx1Y=Kr=TU+Vx?;nS;5H`1m#Lv%9fqI)#T3Y%!3C+yRSpE-E!h;77 zwm7Z1{&Y;%TkkIqz&m9sAKBbnCkzsHry#@vbY{a-wI?zu7 zloV4Q9NtQWLUAT7Ev=G-*4EZ6|HZd^F*!MDB>C#<>PDGN_5sGi_Yq4ZlG7@css!ck z9};wyN`LrygSGPaaLVfqXl2Z+Nkm;ygvo12>(Bf+YwDwC`Hbwy5foiCI>(Z2*F z+nZVe;)K}P*aF#9Y8tUS3{lK|w(!NULrkdP#x17leSb zXU`h&IIwaw4`8eqNV6{>BDOh|vjhZ0E{e&QDDu0Pe|>%Zmb;{dg@s0w$z&rPA0K~+ zu^J$UblaCq5g(ljxEe?Y`8AmFYt-vOfqZ&;+Eh?bV07kp3Z#jN34Zfk3!OW_7k zM!Hz%fopN!Lja&lI}y+lIZjBszTeT&@!Ra|?DQ)q4Us*EN5ey8M=zh0NVTlX;X`2G z(+8kuN)-Dfn@v@Ns?$arfE9ks%*_0?uCDGc0&cYN@bK_KngiO{r&oDx0_$@6^x5~= zW5Gx^5k=$2z;)mYpdQiR47B2ZEBzOVMD;v(on_N_Z6xdRarMj=Ped`)=n zv4Dh?$k=SYcJSdjDa(58`F?t%ZzxBbaRs;9zaA#)un(S!5dZ)H07*qoM6N<$g4RXF AD*ylh literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_nav_right.png b/courseware/static/js/fancybox/fancy_nav_right.png new file mode 100644 index 0000000000000000000000000000000000000000..873294e969db9160f5ddd4e1ab498ff60b080e3f GIT binary patch literal 1454 zcmV;f1yTBmP)Wa6`&Z+!IVkxf`V#(j>y7#5eg z5*PD+C=wGBwT+F9xi*_^fd=>X_FBba@wz8b0c3ma+OG#c&LYnSBp_4S(*6BG8m#QpsI))yBSw}|WBy?ft)>pk?VIMu|0u-xC@UxO$< zHa9o-0~vR8bXeVyB61x;@W6T@vgyO$TgWvPslhu zJ>BGvFeN3$D2UT9wO!c-2M2E;RvddB6cm(&J}nRg`1!DUaA;_#J})n?kc`&W*6f~w z$XoI8@o`6>)z;Ql1O^7iqc4Qr?IQ^Y2vDQmrd_^#`AagIo}RXO6Tw=o)=2K&OZ?8A zJDVKcH{^2p2j~ms)bf#Ff5Y^8{ZZ7~8Zw%koV0nHJ||9`FbS!%u(0sL`TfAafI}Du zN;}#qfQDkqhr?T=R;!O@W@c89(aOq-SHe5pO)Do4INRL6f8R{+tE;Q)Wir`E=nLN^ zERjf#VBjT`yZ^}0T`IW~brs!I17PDwDHNtJpz(@u7&_Ci&*x`nXGh4eva-_hHlhTo z>wKX6jrLg})!Ef*2q(qH#unh5y~V~`*!#E25W2>+0$@y%jAkE;d^% z7KiBQ=;#CV)c|?K?OZZNymTtyIv@+;=i$b0QLhID@u{gPOF=<_+1^cd)FbceJt|Pr3Z2#UW)pC9hbbpr%#_w3xu>9DucKZSqKjwKC}oa!!=;B zxw)ARh3h~maWUsB$KtMw06>R!GGHKatdM5?eS3TRA2TyEQ!m{-s9LkQG(13d^zuqc z)WBRWF9N%+J^)=)qIgeo*i|*CI?Xfzc;V-hCr|!<<;s9veooizpgD1ug<#0dV!Z literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_shadow_e.png b/courseware/static/js/fancybox/fancy_shadow_e.png new file mode 100644 index 0000000000000000000000000000000000000000..2eda0893649371f8d92b92976d8542cdd1b601ed GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^B0$W@!3HGnP3ltxQbwLGjv*Y^lSRZuwe#}JO|p{EaWGAM`~zK|Yh zF7SQ+m+Ig>B0@o-N8?trihfzZ+Vp1~`{zf0o*#X0$hUAi%N$P)W1wCJ22WQ%mvv4F FO#q)zAp-ya literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_shadow_ne.png b/courseware/static/js/fancybox/fancy_shadow_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..79f6980a3ba5c43de120d963dbba2516b8f27ac7 GIT binary patch literal 347 zcmV-h0i^zkP)dR9Yb&V8f!h)aDezHAsc|y@|hdQ zYJb}?8~~zFbQ)ku!Ey)KSukutuvdZ@MKMX|x|A3tPyx?YVhN^6z!Mi4Mj2f#%<;nh z2{>?YAzu|{u^;Oq!;f7Z4tPBpJEmZ+^GZ#$=9nz(K+UmK7}|u&EPi%aRt_C3qOFB_ zHc`~N>51%{?ijG?xsHt>MwRChgk=x_z0gh3O2xSL)-6?+2LKZL74~Q>MZjWtwukkA tvjRC=&j+0R$&bLyT7MhBcTXDISHC&xXU0&5CWHV0002ovPDHLkV1fX+la~Mh literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_shadow_nw.png b/courseware/static/js/fancybox/fancy_shadow_nw.png new file mode 100644 index 0000000000000000000000000000000000000000..7182cd938ae98e7e28c65a0bc55df576042ff9f5 GIT binary patch literal 324 zcmV-K0lWT*P)2-&4CO{qhKP$XKD&mgeXEM77>~`RA}h@U^Z##eQZVtM>a-K?QT4 z&(8BFf(rD5V61)2I__wHYuRwoaDIqw5Vdr_JSDVr){#J@r;{vbDL|tRyCiirf~4OF zX-l=Ecm>@yR)1nSMt~dy90Zb`^`)TQbhf8jR@fA!l6V$musRyB9Y{p$SCW}!$3==V zk)fW)Xo{s^ez$t+XhmZj;ts)!kTokvmM>z)zt70000 literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_shadow_se.png b/courseware/static/js/fancybox/fancy_shadow_se.png new file mode 100644 index 0000000000000000000000000000000000000000..541e3ffd3e88224b34a4d2097c66a780e6060aeb GIT binary patch literal 352 zcmV-m0iXVfP){pM9=`y8<_IvWD02WY@RZ<9dgjNmAB|sYF}Xw>7Sq@O0000eMf9z;FC21=)67q_`W0*0KnS4AR00W2`RGn3i8UfsEegLO@ zPhds?2e1Tm)FK3=bymIAx?X=YFo3Mdh7W?@I#8s#svp!&PB> zwah@Ngd|l0N4SCfzvjtQnd$dZ0yM)N$X+lqdtN!Pt{Wn*_`0U}m1^#r1 mwpaW{;a?9KKt^WrpTAEd?0j1W(3L*`0000P{ho=rRL|66mGO)=r*Hk83F#~lnc)I$ztaD0e0sy?& B8X5oq literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_title_left.png b/courseware/static/js/fancybox/fancy_title_left.png new file mode 100644 index 0000000000000000000000000000000000000000..6049223d1ec6af46e100499c01f6489c9e2c6240 GIT binary patch literal 503 zcmV+)0005LNklqcp9&~$uJw{{rUub~E?-XJ#Upm4Fe%-Gl z!u%tb0N102a|s5;SPlQvJlFCTBbvYaK@wIW6Gjx@?i20AlVDJcHNfh25WRlbF6CIq zv9_ZnqOH`}ppaUR0@%ZcM9zpDt2uQM>f+Z#wIMmyuui3DeoYXWE|hQ{D$te=Yhgkq zIvyj+$t8T|S1wITzUftNOe(E+Qjn$kDotY;I5}1lRgwi=?K26ke)djLR5W2|!7CVH zJ-`tuAq|`lK978y+CnqGNCkUke_%Gig ukvFM-ftpWh!il7Wg7kz7Y?7xB@G*olNlgoj4E_Yv!rmdKI;Vst0Ha3^zyJUM literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancy_title_right.png b/courseware/static/js/fancybox/fancy_title_right.png new file mode 100644 index 0000000000000000000000000000000000000000..e36d9db2a7c6e570aec993d3665cbc13620115e2 GIT binary patch literal 506 zcmV+)0005ONklxjQB-g>5=x46nGBwseihc$zfzvTFh(=tCRj6cJ4M&ASrCAq-HbokPnRBAHVa2(-|l wYU(UxfYLN;KDSr z1<%~X^wgl##FWaylc_d9MY*0Xjv*Ddw)7kFH5l+P-xcE$W)3=fYI&uMKVzWNT*W|n zhqlRY)q0r(8Mg&Fu_zpISivgz+b7g)c6G&O{~njE??Y{u-MM!p^=9_W+X-j8mhfK? zj`H2Yy;kp%)!V-M3;EVThyB(Z@o88wpMja-vy^g)SgE!<&|(HpS3j3^P6|6H_V+Po~-c6$N>^IEGZ*^681?Yf#{6Zf~e!I`r4y-J+3m*Ue*gH=cNZ zzpU%p61aCO%jt%FHUKW&bEWLcUAGzK?;SYE)E{9#W9O8@uj{O@89qzNU(dkI YVCW(7-@(*!CeU;SPgg&ebxsLQ07`N|KL7v# literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/fancybox.png b/courseware/static/js/fancybox/fancybox.png new file mode 100644 index 0000000000000000000000000000000000000000..65e14f68fd83b87f75c22c0c074e7b20bf20a133 GIT binary patch literal 15287 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 ZMt7F5hocMxav&E)U0Fw|QQ>vO{{ZOG+C=~W literal 0 HcmV?d00001 diff --git a/courseware/static/js/fancybox/jquery.easing-1.3.pack.js b/courseware/static/js/fancybox/jquery.easing-1.3.pack.js new file mode 100644 index 0000000000..9028179e7b --- /dev/null +++ b/courseware/static/js/fancybox/jquery.easing-1.3.pack.js @@ -0,0 +1,72 @@ +/* + * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ + * + * Uses the built in easing capabilities added In jQuery 1.1 + * to offer multiple easing options + * + * TERMS OF USE - jQuery Easing + * + * Open source under the BSD License. + * + * Copyright © 2008 George McGinley Smith + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * Neither the name of the author nor the names of contributors may be used to endorse + * or promote products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * +*/ + +// t: current time, b: begInnIng value, c: change In value, d: duration +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b;6 a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t')[0], { prop: 0 }), + + isIE6 = $.browser.msie && $.browser.version < 7 && !window.XMLHttpRequest, + + /* + * Private methods + */ + + _abort = function() { + loading.hide(); + + imgPreloader.onerror = imgPreloader.onload = null; + + if (ajaxLoader) { + ajaxLoader.abort(); + } + + tmp.empty(); + }, + + _error = function() { + if (false === selectedOpts.onError(selectedArray, selectedIndex, selectedOpts)) { + loading.hide(); + busy = false; + return; + } + + selectedOpts.titleShow = false; + + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + + tmp.html( '

The requested content cannot be loaded.
Please try again later.

' ); + + _process_inline(); + }, + + _start = function() { + var obj = selectedArray[ selectedIndex ], + href, + type, + title, + str, + emb, + ret; + + _abort(); + + selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox'))); + + ret = selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts); + + if (ret === false) { + busy = false; + return; + } else if (typeof ret == 'object') { + selectedOpts = $.extend(selectedOpts, ret); + } + + title = selectedOpts.title || (obj.nodeName ? $(obj).attr('title') : obj.title) || ''; + + if (obj.nodeName && !selectedOpts.orig) { + selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj); + } + + if (title === '' && selectedOpts.orig && selectedOpts.titleFromAlt) { + title = selectedOpts.orig.attr('alt'); + } + + href = selectedOpts.href || (obj.nodeName ? $(obj).attr('href') : obj.href) || null; + + if ((/^(?:javascript)/i).test(href) || href == '#') { + href = null; + } + + if (selectedOpts.type) { + type = selectedOpts.type; + + if (!href) { + href = selectedOpts.content; + } + + } else if (selectedOpts.content) { + type = 'html'; + + } else if (href) { + if (href.match(imgRegExp)) { + type = 'image'; + + } else if (href.match(swfRegExp)) { + type = 'swf'; + + } else if ($(obj).hasClass("iframe")) { + type = 'iframe'; + + } else if (href.indexOf("#") === 0) { + type = 'inline'; + + } else { + type = 'ajax'; + } + } + + if (!type) { + _error(); + return; + } + + if (type == 'inline') { + obj = href.substr(href.indexOf("#")); + type = $(obj).length > 0 ? 'inline' : 'ajax'; + } + + selectedOpts.type = type; + selectedOpts.href = href; + selectedOpts.title = title; + + if (selectedOpts.autoDimensions) { + if (selectedOpts.type == 'html' || selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') { + selectedOpts.width = 'auto'; + selectedOpts.height = 'auto'; + } else { + selectedOpts.autoDimensions = false; + } + } + + if (selectedOpts.modal) { + selectedOpts.overlayShow = true; + selectedOpts.hideOnOverlayClick = false; + selectedOpts.hideOnContentClick = false; + selectedOpts.enableEscapeButton = false; + selectedOpts.showCloseButton = false; + } + + selectedOpts.padding = parseInt(selectedOpts.padding, 10); + selectedOpts.margin = parseInt(selectedOpts.margin, 10); + + tmp.css('padding', (selectedOpts.padding + selectedOpts.margin)); + + $('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() { + $(this).replaceWith(content.children()); + }); + + switch (type) { + case 'html' : + tmp.html( selectedOpts.content ); + _process_inline(); + break; + + case 'inline' : + if ( $(obj).parent().is('#fancybox-content') === true) { + busy = false; + return; + } + + $('
') + .hide() + .insertBefore( $(obj) ) + .bind('fancybox-cleanup', function() { + $(this).replaceWith(content.children()); + }).bind('fancybox-cancel', function() { + $(this).replaceWith(tmp.children()); + }); + + $(obj).appendTo(tmp); + + _process_inline(); + break; + + case 'image': + busy = false; + + $.fancybox.showActivity(); + + imgPreloader = new Image(); + + imgPreloader.onerror = function() { + _error(); + }; + + imgPreloader.onload = function() { + busy = true; + + imgPreloader.onerror = imgPreloader.onload = null; + + _process_image(); + }; + + imgPreloader.src = href; + break; + + case 'swf': + selectedOpts.scrolling = 'no'; + + str = ''; + emb = ''; + + $.each(selectedOpts.swf, function(name, val) { + str += ''; + emb += ' ' + name + '="' + val + '"'; + }); + + str += ''; + + tmp.html(str); + + _process_inline(); + break; + + case 'ajax': + busy = false; + + $.fancybox.showActivity(); + + selectedOpts.ajax.win = selectedOpts.ajax.success; + + ajaxLoader = $.ajax($.extend({}, selectedOpts.ajax, { + url : href, + data : selectedOpts.ajax.data || {}, + error : function(XMLHttpRequest, textStatus, errorThrown) { + if ( XMLHttpRequest.status > 0 ) { + _error(); + } + }, + success : function(data, textStatus, XMLHttpRequest) { + var o = typeof XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader; + if (o.status == 200) { + if ( typeof selectedOpts.ajax.win == 'function' ) { + ret = selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest); + + if (ret === false) { + loading.hide(); + return; + } else if (typeof ret == 'string' || typeof ret == 'object') { + data = ret; + } + } + + tmp.html( data ); + _process_inline(); + } + } + })); + + break; + + case 'iframe': + _show(); + break; + } + }, + + _process_inline = function() { + var + w = selectedOpts.width, + h = selectedOpts.height; + + if (w.toString().indexOf('%') > -1) { + w = parseInt( ($(window).width() - (selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px'; + + } else { + w = w == 'auto' ? 'auto' : w + 'px'; + } + + if (h.toString().indexOf('%') > -1) { + h = parseInt( ($(window).height() - (selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px'; + + } else { + h = h == 'auto' ? 'auto' : h + 'px'; + } + + tmp.wrapInner('
'); + + selectedOpts.width = tmp.width(); + selectedOpts.height = tmp.height(); + + _show(); + }, + + _process_image = function() { + selectedOpts.width = imgPreloader.width; + selectedOpts.height = imgPreloader.height; + + $("").attr({ + 'id' : 'fancybox-img', + 'src' : imgPreloader.src, + 'alt' : selectedOpts.title + }).appendTo( tmp ); + + _show(); + }, + + _show = function() { + var pos, equal; + + loading.hide(); + + if (wrap.is(":visible") && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + $.event.trigger('fancybox-cancel'); + + busy = false; + return; + } + + busy = true; + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + if (wrap.is(":visible") && currentOpts.titlePosition !== 'outside') { + wrap.css('height', wrap.height()); + } + + currentArray = selectedArray; + currentIndex = selectedIndex; + currentOpts = selectedOpts; + + if (currentOpts.overlayShow) { + overlay.css({ + 'background-color' : currentOpts.overlayColor, + 'opacity' : currentOpts.overlayOpacity, + 'cursor' : currentOpts.hideOnOverlayClick ? 'pointer' : 'auto', + 'height' : $(document).height() + }); + + if (!overlay.is(':visible')) { + if (isIE6) { + $('select:not(#fancybox-tmp select)').filter(function() { + return this.style.visibility !== 'hidden'; + }).css({'visibility' : 'hidden'}).one('fancybox-cleanup', function() { + this.style.visibility = 'inherit'; + }); + } + + overlay.show(); + } + } else { + overlay.hide(); + } + + final_pos = _get_zoom_to(); + + _process_title(); + + if (wrap.is(":visible")) { + $( close.add( nav_left ).add( nav_right ) ).hide(); + + pos = wrap.position(), + + start_pos = { + top : pos.top, + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height); + + content.fadeTo(currentOpts.changeFade, 0.3, function() { + var finish_resizing = function() { + content.html( tmp.contents() ).fadeTo(currentOpts.changeFade, 1, _finish); + }; + + $.event.trigger('fancybox-change'); + + content + .empty() + .removeAttr('filter') + .css({ + 'border-width' : currentOpts.padding, + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }); + + if (equal) { + finish_resizing(); + + } else { + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.changeSpeed, + easing : currentOpts.easingChange, + step : _draw, + complete : finish_resizing + }); + } + }); + + return; + } + + wrap.removeAttr("style"); + + content.css('border-width', currentOpts.padding); + + if (currentOpts.transitionIn == 'elastic') { + start_pos = _get_zoom_from(); + + content.html( tmp.contents() ); + + wrap.show(); + + if (currentOpts.opacity) { + final_pos.opacity = 0; + } + + fx.prop = 0; + + $(fx).animate({prop: 1}, { + duration : currentOpts.speedIn, + easing : currentOpts.easingIn, + step : _draw, + complete : _finish + }); + + return; + } + + if (currentOpts.titlePosition == 'inside' && titleHeight > 0) { + title.show(); + } + + content + .css({ + 'width' : final_pos.width - currentOpts.padding * 2, + 'height' : selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2 + }) + .html( tmp.contents() ); + + wrap + .css(final_pos) + .fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish ); + }, + + _format_title = function(title) { + if (title && title.length) { + if (currentOpts.titlePosition == 'float') { + return '
' + title + '
'; + } + + return '
' + title + '
'; + } + + return false; + }, + + _process_title = function() { + titleStr = currentOpts.title || ''; + titleHeight = 0; + + title + .empty() + .removeAttr('style') + .removeClass(); + + if (currentOpts.titleShow === false) { + title.hide(); + return; + } + + titleStr = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : _format_title(titleStr); + + if (!titleStr || titleStr === '') { + title.hide(); + return; + } + + title + .addClass('fancybox-title-' + currentOpts.titlePosition) + .html( titleStr ) + .appendTo( 'body' ) + .show(); + + switch (currentOpts.titlePosition) { + case 'inside': + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'marginLeft' : currentOpts.padding, + 'marginRight' : currentOpts.padding + }); + + titleHeight = title.outerHeight(true); + + title.appendTo( outer ); + + final_pos.height += titleHeight; + break; + + case 'over': + title + .css({ + 'marginLeft' : currentOpts.padding, + 'width' : final_pos.width - (currentOpts.padding * 2), + 'bottom' : currentOpts.padding + }) + .appendTo( outer ); + break; + + case 'float': + title + .css('left', parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1) + .appendTo( wrap ); + break; + + default: + title + .css({ + 'width' : final_pos.width - (currentOpts.padding * 2), + 'paddingLeft' : currentOpts.padding, + 'paddingRight' : currentOpts.padding + }) + .appendTo( wrap ); + break; + } + + title.hide(); + }, + + _set_navigation = function() { + if (currentOpts.enableEscapeButton || currentOpts.enableKeyboardNav) { + $(document).bind('keydown.fb', function(e) { + if (e.keyCode == 27 && currentOpts.enableEscapeButton) { + e.preventDefault(); + $.fancybox.close(); + + } else if ((e.keyCode == 37 || e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') { + e.preventDefault(); + $.fancybox[ e.keyCode == 37 ? 'prev' : 'next'](); + } + }); + } + + if (!currentOpts.showNavArrows) { + nav_left.hide(); + nav_right.hide(); + return; + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex !== 0) { + nav_left.show(); + } + + if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) { + nav_right.show(); + } + }, + + _finish = function () { + if (!$.support.opacity) { + content.get(0).style.removeAttribute('filter'); + wrap.get(0).style.removeAttribute('filter'); + } + + if (selectedOpts.autoDimensions) { + content.css('height', 'auto'); + } + + wrap.css('height', 'auto'); + + if (titleStr && titleStr.length) { + title.show(); + } + + if (currentOpts.showCloseButton) { + close.show(); + } + + _set_navigation(); + + if (currentOpts.hideOnContentClick) { + content.bind('click', $.fancybox.close); + } + + if (currentOpts.hideOnOverlayClick) { + overlay.bind('click', $.fancybox.close); + } + + $(window).bind("resize.fb", $.fancybox.resize); + + if (currentOpts.centerOnScroll) { + $(window).bind("scroll.fb", $.fancybox.center); + } + + if (currentOpts.type == 'iframe') { + $('').appendTo(content); + } + + wrap.show(); + + busy = false; + + $.fancybox.center(); + + currentOpts.onComplete(currentArray, currentIndex, currentOpts); + + _preload_images(); + }, + + _preload_images = function() { + var href, + objNext; + + if ((currentArray.length -1) > currentIndex) { + href = currentArray[ currentIndex + 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + + if (currentIndex > 0) { + href = currentArray[ currentIndex - 1 ].href; + + if (typeof href !== 'undefined' && href.match(imgRegExp)) { + objNext = new Image(); + objNext.src = href; + } + } + }, + + _draw = function(pos) { + var dim = { + width : parseInt(start_pos.width + (final_pos.width - start_pos.width) * pos, 10), + height : parseInt(start_pos.height + (final_pos.height - start_pos.height) * pos, 10), + + top : parseInt(start_pos.top + (final_pos.top - start_pos.top) * pos, 10), + left : parseInt(start_pos.left + (final_pos.left - start_pos.left) * pos, 10) + }; + + if (typeof final_pos.opacity !== 'undefined') { + dim.opacity = pos < 0.5 ? 0.5 : pos; + } + + wrap.css(dim); + + content.css({ + 'width' : dim.width - currentOpts.padding * 2, + 'height' : dim.height - (titleHeight * pos) - currentOpts.padding * 2 + }); + }, + + _get_viewport = function() { + return [ + $(window).width() - (currentOpts.margin * 2), + $(window).height() - (currentOpts.margin * 2), + $(document).scrollLeft() + currentOpts.margin, + $(document).scrollTop() + currentOpts.margin + ]; + }, + + _get_zoom_to = function () { + var view = _get_viewport(), + to = {}, + resize = currentOpts.autoScale, + double_padding = currentOpts.padding * 2, + ratio; + + if (currentOpts.width.toString().indexOf('%') > -1) { + to.width = parseInt((view[0] * parseFloat(currentOpts.width)) / 100, 10); + } else { + to.width = currentOpts.width + double_padding; + } + + if (currentOpts.height.toString().indexOf('%') > -1) { + to.height = parseInt((view[1] * parseFloat(currentOpts.height)) / 100, 10); + } else { + to.height = currentOpts.height + double_padding; + } + + if (resize && (to.width > view[0] || to.height > view[1])) { + if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') { + ratio = (currentOpts.width ) / (currentOpts.height ); + + if ((to.width ) > view[0]) { + to.width = view[0]; + to.height = parseInt(((to.width - double_padding) / ratio) + double_padding, 10); + } + + if ((to.height) > view[1]) { + to.height = view[1]; + to.width = parseInt(((to.height - double_padding) * ratio) + double_padding, 10); + } + + } else { + to.width = Math.min(to.width, view[0]); + to.height = Math.min(to.height, view[1]); + } + } + + to.top = parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - to.height - 40) * 0.5)), 10); + to.left = parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - to.width - 40) * 0.5)), 10); + + return to; + }, + + _get_obj_pos = function(obj) { + var pos = obj.offset(); + + pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0; + pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0; + + pos.top += parseInt( obj.css('border-top-width'), 10 ) || 0; + pos.left += parseInt( obj.css('border-left-width'), 10 ) || 0; + + pos.width = obj.width(); + pos.height = obj.height(); + + return pos; + }, + + _get_zoom_from = function() { + var orig = selectedOpts.orig ? $(selectedOpts.orig) : false, + from = {}, + pos, + view; + + if (orig && orig.length) { + pos = _get_obj_pos(orig); + + from = { + width : pos.width + (currentOpts.padding * 2), + height : pos.height + (currentOpts.padding * 2), + top : pos.top - currentOpts.padding - 20, + left : pos.left - currentOpts.padding - 20 + }; + + } else { + view = _get_viewport(); + + from = { + width : currentOpts.padding * 2, + height : currentOpts.padding * 2, + top : parseInt(view[3] + view[1] * 0.5, 10), + left : parseInt(view[2] + view[0] * 0.5, 10) + }; + } + + return from; + }, + + _animate_loading = function() { + if (!loading.is(':visible')){ + clearInterval(loadingTimer); + return; + } + + $('div', loading).css('top', (loadingFrame * -40) + 'px'); + + loadingFrame = (loadingFrame + 1) % 12; + }; + + /* + * Public methods + */ + + $.fn.fancybox = function(options) { + if (!$(this).length) { + return this; + } + + $(this) + .data('fancybox', $.extend({}, options, ($.metadata ? $(this).metadata() : {}))) + .unbind('click.fb') + .bind('click.fb', function(e) { + e.preventDefault(); + + if (busy) { + return; + } + + busy = true; + + $(this).blur(); + + selectedArray = []; + selectedIndex = 0; + + var rel = $(this).attr('rel') || ''; + + if (!rel || rel == '' || rel === 'nofollow') { + selectedArray.push(this); + + } else { + selectedArray = $("a[rel=" + rel + "], area[rel=" + rel + "]"); + selectedIndex = selectedArray.index( this ); + } + + _start(); + + return; + }); + + return this; + }; + + $.fancybox = function(obj) { + var opts; + + if (busy) { + return; + } + + busy = true; + opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {}; + + selectedArray = []; + selectedIndex = parseInt(opts.index, 10) || 0; + + if ($.isArray(obj)) { + for (var i = 0, j = obj.length; i < j; i++) { + if (typeof obj[i] == 'object') { + $(obj[i]).data('fancybox', $.extend({}, opts, obj[i])); + } else { + obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts)); + } + } + + selectedArray = jQuery.merge(selectedArray, obj); + + } else { + if (typeof obj == 'object') { + $(obj).data('fancybox', $.extend({}, opts, obj)); + } else { + obj = $({}).data('fancybox', $.extend({content : obj}, opts)); + } + + selectedArray.push(obj); + } + + if (selectedIndex > selectedArray.length || selectedIndex < 0) { + selectedIndex = 0; + } + + _start(); + }; + + $.fancybox.showActivity = function() { + clearInterval(loadingTimer); + + loading.show(); + loadingTimer = setInterval(_animate_loading, 66); + }; + + $.fancybox.hideActivity = function() { + loading.hide(); + }; + + $.fancybox.next = function() { + return $.fancybox.pos( currentIndex + 1); + }; + + $.fancybox.prev = function() { + return $.fancybox.pos( currentIndex - 1); + }; + + $.fancybox.pos = function(pos) { + if (busy) { + return; + } + + pos = parseInt(pos); + + selectedArray = currentArray; + + if (pos > -1 && pos < currentArray.length) { + selectedIndex = pos; + _start(); + + } else if (currentOpts.cyclic && currentArray.length > 1) { + selectedIndex = pos >= currentArray.length ? 0 : currentArray.length - 1; + _start(); + } + + return; + }; + + $.fancybox.cancel = function() { + if (busy) { + return; + } + + busy = true; + + $.event.trigger('fancybox-cancel'); + + _abort(); + + selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts); + + busy = false; + }; + + // Note: within an iframe use - parent.$.fancybox.close(); + $.fancybox.close = function() { + if (busy || wrap.is(':hidden')) { + return; + } + + busy = true; + + if (currentOpts && false === currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) { + busy = false; + return; + } + + _abort(); + + $(close.add( nav_left ).add( nav_right )).hide(); + + $(content.add( overlay )).unbind(); + + $(window).unbind("resize.fb scroll.fb"); + $(document).unbind('keydown.fb'); + + content.find('iframe').attr('src', isIE6 && /^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 'about:blank'); + + if (currentOpts.titlePosition !== 'inside') { + title.empty(); + } + + wrap.stop(); + + function _cleanup() { + overlay.fadeOut('fast'); + + title.empty().hide(); + wrap.hide(); + + $.event.trigger('fancybox-cleanup'); + + content.empty(); + + currentOpts.onClosed(currentArray, currentIndex, currentOpts); + + currentArray = selectedOpts = []; + currentIndex = selectedIndex = 0; + currentOpts = selectedOpts = {}; + + busy = false; + } + + if (currentOpts.transitionOut == 'elastic') { + start_pos = _get_zoom_from(); + + var pos = wrap.position(); + + final_pos = { + top : pos.top , + left : pos.left, + width : wrap.width(), + height : wrap.height() + }; + + if (currentOpts.opacity) { + final_pos.opacity = 1; + } + + title.empty().hide(); + + fx.prop = 1; + + $(fx).animate({ prop: 0 }, { + duration : currentOpts.speedOut, + easing : currentOpts.easingOut, + step : _draw, + complete : _cleanup + }); + + } else { + wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup); + } + }; + + $.fancybox.resize = function() { + if (overlay.is(':visible')) { + overlay.css('height', $(document).height()); + } + + $.fancybox.center(true); + }; + + $.fancybox.center = function() { + var view, align; + + if (busy) { + return; + } + + align = arguments[0] === true ? 1 : 0; + view = _get_viewport(); + + if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { + return; + } + + wrap + .stop() + .animate({ + 'top' : parseInt(Math.max(view[3] - 20, view[3] + ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)), + 'left' : parseInt(Math.max(view[2] - 20, view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding)) + }, typeof arguments[0] == 'number' ? arguments[0] : 200); + }; + + $.fancybox.init = function() { + if ($("#fancybox-wrap").length) { + return; + } + + $('body').append( + tmp = $('
'), + loading = $('
'), + overlay = $('
'), + wrap = $('
') + ); + + outer = $('
') + .append('
') + .appendTo( wrap ); + + outer.append( + content = $('
'), + close = $('
'), + title = $('
'), + + nav_left = $(''), + nav_right = $('') + ); + + close.click($.fancybox.close); + loading.click($.fancybox.cancel); + + nav_left.click(function(e) { + e.preventDefault(); + $.fancybox.prev(); + }); + + nav_right.click(function(e) { + e.preventDefault(); + $.fancybox.next(); + }); + + if ($.fn.mousewheel) { + wrap.bind('mousewheel.fb', function(e, delta) { + if (busy) { + e.preventDefault(); + + } else if ($(e.target).get(0).clientHeight == 0 || $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) { + e.preventDefault(); + $.fancybox[ delta > 0 ? 'prev' : 'next'](); + } + }); + } + + if (!$.support.opacity) { + wrap.addClass('fancybox-ie'); + } + + if (isIE6) { + loading.addClass('fancybox-ie6'); + wrap.addClass('fancybox-ie6'); + + $('').prependTo(outer); + } + }; + + $.fn.fancybox.defaults = { + padding : 10, + margin : 40, + opacity : false, + modal : false, + cyclic : false, + scrolling : 'auto', // 'auto', 'yes' or 'no' + + width : 560, + height : 340, + + autoScale : true, + autoDimensions : true, + centerOnScroll : false, + + ajax : {}, + swf : { wmode: 'transparent' }, + + hideOnOverlayClick : true, + hideOnContentClick : false, + + overlayShow : true, + overlayOpacity : 0.7, + overlayColor : '#777', + + titleShow : true, + titlePosition : 'float', // 'float', 'outside', 'inside' or 'over' + titleFormat : null, + titleFromAlt : false, + + transitionIn : 'fade', // 'elastic', 'fade' or 'none' + transitionOut : 'fade', // 'elastic', 'fade' or 'none' + + speedIn : 300, + speedOut : 300, + + changeSpeed : 300, + changeFade : 'fast', + + easingIn : 'swing', + easingOut : 'swing', + + showCloseButton : true, + showNavArrows : true, + enableEscapeButton : true, + enableKeyboardNav : true, + + onStart : function(){}, + onCancel : function(){}, + onComplete : function(){}, + onCleanup : function(){}, + onClosed : function(){}, + onError : function(){} + }; + + $(document).ready(function() { + $.fancybox.init(); + }); + +})(jQuery); \ No newline at end of file diff --git a/courseware/static/js/fancybox/jquery.fancybox-1.3.4.pack.js b/courseware/static/js/fancybox/jquery.fancybox-1.3.4.pack.js new file mode 100644 index 0000000000..1373ed0838 --- /dev/null +++ b/courseware/static/js/fancybox/jquery.fancybox-1.3.4.pack.js @@ -0,0 +1,46 @@ +/* + * FancyBox - jQuery Plugin + * Simple and fancy lightbox alternative + * + * Examples and documentation at: http://fancybox.net + * + * Copyright (c) 2008 - 2010 Janis Skarnelis + * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated. + * + * Version: 1.3.4 (11/11/2010) + * Requires: jQuery v1.3+ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ + +;(function(b){var m,t,u,f,D,j,E,n,z,A,q=0,e={},o=[],p=0,d={},l=[],G=null,v=new Image,J=/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i,W=/[^\.]\.(swf)\s*$/i,K,L=1,y=0,s="",r,i,h=false,B=b.extend(b("
")[0],{prop:0}),M=b.browser.msie&&b.browser.version<7&&!window.XMLHttpRequest,N=function(){t.hide();v.onerror=v.onload=null;G&&G.abort();m.empty()},O=function(){if(false===e.onError(o,q,e)){t.hide();h=false}else{e.titleShow=false;e.width="auto";e.height="auto";m.html('

The requested content cannot be loaded.
Please try again later.

'); +F()}},I=function(){var a=o[q],c,g,k,C,P,w;N();e=b.extend({},b.fn.fancybox.defaults,typeof b(a).data("fancybox")=="undefined"?e:b(a).data("fancybox"));w=e.onStart(o,q,e);if(w===false)h=false;else{if(typeof w=="object")e=b.extend(e,w);k=e.title||(a.nodeName?b(a).attr("title"):a.title)||"";if(a.nodeName&&!e.orig)e.orig=b(a).children("img:first").length?b(a).children("img:first"):b(a);if(k===""&&e.orig&&e.titleFromAlt)k=e.orig.attr("alt");c=e.href||(a.nodeName?b(a).attr("href"):a.href)||null;if(/^(?:javascript)/i.test(c)|| +c=="#")c=null;if(e.type){g=e.type;if(!c)c=e.content}else if(e.content)g="html";else if(c)g=c.match(J)?"image":c.match(W)?"swf":b(a).hasClass("iframe")?"iframe":c.indexOf("#")===0?"inline":"ajax";if(g){if(g=="inline"){a=c.substr(c.indexOf("#"));g=b(a).length>0?"inline":"ajax"}e.type=g;e.href=c;e.title=k;if(e.autoDimensions)if(e.type=="html"||e.type=="inline"||e.type=="ajax"){e.width="auto";e.height="auto"}else e.autoDimensions=false;if(e.modal){e.overlayShow=true;e.hideOnOverlayClick=false;e.hideOnContentClick= +false;e.enableEscapeButton=false;e.showCloseButton=false}e.padding=parseInt(e.padding,10);e.margin=parseInt(e.margin,10);m.css("padding",e.padding+e.margin);b(".fancybox-inline-tmp").unbind("fancybox-cancel").bind("fancybox-change",function(){b(this).replaceWith(j.children())});switch(g){case "html":m.html(e.content);F();break;case "inline":if(b(a).parent().is("#fancybox-content")===true){h=false;break}b('
').hide().insertBefore(b(a)).bind("fancybox-cleanup",function(){b(this).replaceWith(j.children())}).bind("fancybox-cancel", +function(){b(this).replaceWith(m.children())});b(a).appendTo(m);F();break;case "image":h=false;b.fancybox.showActivity();v=new Image;v.onerror=function(){O()};v.onload=function(){h=true;v.onerror=v.onload=null;e.width=v.width;e.height=v.height;b("").attr({id:"fancybox-img",src:v.src,alt:e.title}).appendTo(m);Q()};v.src=c;break;case "swf":e.scrolling="no";C='';P="";b.each(e.swf,function(x,H){C+='';P+=" "+x+'="'+H+'"'});C+='";m.html(C);F();break;case "ajax":h=false;b.fancybox.showActivity();e.ajax.win=e.ajax.success;G=b.ajax(b.extend({},e.ajax,{url:c,data:e.ajax.data||{},error:function(x){x.status>0&&O()},success:function(x,H,R){if((typeof R=="object"?R:G).status==200){if(typeof e.ajax.win== +"function"){w=e.ajax.win(c,x,H,R);if(w===false){t.hide();return}else if(typeof w=="string"||typeof w=="object")x=w}m.html(x);F()}}}));break;case "iframe":Q()}}else O()}},F=function(){var a=e.width,c=e.height;a=a.toString().indexOf("%")>-1?parseInt((b(window).width()-e.margin*2)*parseFloat(a)/100,10)+"px":a=="auto"?"auto":a+"px";c=c.toString().indexOf("%")>-1?parseInt((b(window).height()-e.margin*2)*parseFloat(c)/100,10)+"px":c=="auto"?"auto":c+"px";m.wrapInner('
');e.width=m.width();e.height=m.height();Q()},Q=function(){var a,c;t.hide();if(f.is(":visible")&&false===d.onCleanup(l,p,d)){b.event.trigger("fancybox-cancel");h=false}else{h=true;b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");f.is(":visible")&&d.titlePosition!=="outside"&&f.css("height",f.height());l=o;p=q;d=e;if(d.overlayShow){u.css({"background-color":d.overlayColor, +opacity:d.overlayOpacity,cursor:d.hideOnOverlayClick?"pointer":"auto",height:b(document).height()});if(!u.is(":visible")){M&&b("select:not(#fancybox-tmp select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("fancybox-cleanup",function(){this.style.visibility="inherit"});u.show()}}else u.hide();i=X();s=d.title||"";y=0;n.empty().removeAttr("style").removeClass();if(d.titleShow!==false){if(b.isFunction(d.titleFormat))a=d.titleFormat(s,l,p,d);else a=s&&s.length? +d.titlePosition=="float"?'
'+s+'
':'
'+s+"
":false;s=a;if(!(!s||s==="")){n.addClass("fancybox-title-"+d.titlePosition).html(s).appendTo("body").show();switch(d.titlePosition){case "inside":n.css({width:i.width-d.padding*2,marginLeft:d.padding,marginRight:d.padding}); +y=n.outerHeight(true);n.appendTo(D);i.height+=y;break;case "over":n.css({marginLeft:d.padding,width:i.width-d.padding*2,bottom:d.padding}).appendTo(D);break;case "float":n.css("left",parseInt((n.width()-i.width-40)/2,10)*-1).appendTo(f);break;default:n.css({width:i.width-d.padding*2,paddingLeft:d.padding,paddingRight:d.padding}).appendTo(f)}}}n.hide();if(f.is(":visible")){b(E.add(z).add(A)).hide();a=f.position();r={top:a.top,left:a.left,width:f.width(),height:f.height()};c=r.width==i.width&&r.height== +i.height;j.fadeTo(d.changeFade,0.3,function(){var g=function(){j.html(m.contents()).fadeTo(d.changeFade,1,S)};b.event.trigger("fancybox-change");j.empty().removeAttr("filter").css({"border-width":d.padding,width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2});if(c)g();else{B.prop=0;b(B).animate({prop:1},{duration:d.changeSpeed,easing:d.easingChange,step:T,complete:g})}})}else{f.removeAttr("style");j.css("border-width",d.padding);if(d.transitionIn=="elastic"){r=V();j.html(m.contents()); +f.show();if(d.opacity)i.opacity=0;B.prop=0;b(B).animate({prop:1},{duration:d.speedIn,easing:d.easingIn,step:T,complete:S})}else{d.titlePosition=="inside"&&y>0&&n.show();j.css({width:i.width-d.padding*2,height:e.autoDimensions?"auto":i.height-y-d.padding*2}).html(m.contents());f.css(i).fadeIn(d.transitionIn=="none"?0:d.speedIn,S)}}}},Y=function(){if(d.enableEscapeButton||d.enableKeyboardNav)b(document).bind("keydown.fb",function(a){if(a.keyCode==27&&d.enableEscapeButton){a.preventDefault();b.fancybox.close()}else if((a.keyCode== +37||a.keyCode==39)&&d.enableKeyboardNav&&a.target.tagName!=="INPUT"&&a.target.tagName!=="TEXTAREA"&&a.target.tagName!=="SELECT"){a.preventDefault();b.fancybox[a.keyCode==37?"prev":"next"]()}});if(d.showNavArrows){if(d.cyclic&&l.length>1||p!==0)z.show();if(d.cyclic&&l.length>1||p!=l.length-1)A.show()}else{z.hide();A.hide()}},S=function(){if(!b.support.opacity){j.get(0).style.removeAttribute("filter");f.get(0).style.removeAttribute("filter")}e.autoDimensions&&j.css("height","auto");f.css("height","auto"); +s&&s.length&&n.show();d.showCloseButton&&E.show();Y();d.hideOnContentClick&&j.bind("click",b.fancybox.close);d.hideOnOverlayClick&&u.bind("click",b.fancybox.close);b(window).bind("resize.fb",b.fancybox.resize);d.centerOnScroll&&b(window).bind("scroll.fb",b.fancybox.center);if(d.type=="iframe")b('').appendTo(j); +f.show();h=false;b.fancybox.center();d.onComplete(l,p,d);var a,c;if(l.length-1>p){a=l[p+1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}if(p>0){a=l[p-1].href;if(typeof a!=="undefined"&&a.match(J)){c=new Image;c.src=a}}},T=function(a){var c={width:parseInt(r.width+(i.width-r.width)*a,10),height:parseInt(r.height+(i.height-r.height)*a,10),top:parseInt(r.top+(i.top-r.top)*a,10),left:parseInt(r.left+(i.left-r.left)*a,10)};if(typeof i.opacity!=="undefined")c.opacity=a<0.5?0.5:a;f.css(c); +j.css({width:c.width-d.padding*2,height:c.height-y*a-d.padding*2})},U=function(){return[b(window).width()-d.margin*2,b(window).height()-d.margin*2,b(document).scrollLeft()+d.margin,b(document).scrollTop()+d.margin]},X=function(){var a=U(),c={},g=d.autoScale,k=d.padding*2;c.width=d.width.toString().indexOf("%")>-1?parseInt(a[0]*parseFloat(d.width)/100,10):d.width+k;c.height=d.height.toString().indexOf("%")>-1?parseInt(a[1]*parseFloat(d.height)/100,10):d.height+k;if(g&&(c.width>a[0]||c.height>a[1]))if(e.type== +"image"||e.type=="swf"){g=d.width/d.height;if(c.width>a[0]){c.width=a[0];c.height=parseInt((c.width-k)/g+k,10)}if(c.height>a[1]){c.height=a[1];c.width=parseInt((c.height-k)*g+k,10)}}else{c.width=Math.min(c.width,a[0]);c.height=Math.min(c.height,a[1])}c.top=parseInt(Math.max(a[3]-20,a[3]+(a[1]-c.height-40)*0.5),10);c.left=parseInt(Math.max(a[2]-20,a[2]+(a[0]-c.width-40)*0.5),10);return c},V=function(){var a=e.orig?b(e.orig):false,c={};if(a&&a.length){c=a.offset();c.top+=parseInt(a.css("paddingTop"), +10)||0;c.left+=parseInt(a.css("paddingLeft"),10)||0;c.top+=parseInt(a.css("border-top-width"),10)||0;c.left+=parseInt(a.css("border-left-width"),10)||0;c.width=a.width();c.height=a.height();c={width:c.width+d.padding*2,height:c.height+d.padding*2,top:c.top-d.padding-20,left:c.left-d.padding-20}}else{a=U();c={width:d.padding*2,height:d.padding*2,top:parseInt(a[3]+a[1]*0.5,10),left:parseInt(a[2]+a[0]*0.5,10)}}return c},Z=function(){if(t.is(":visible")){b("div",t).css("top",L*-40+"px");L=(L+1)%12}else clearInterval(K)}; +b.fn.fancybox=function(a){if(!b(this).length)return this;b(this).data("fancybox",b.extend({},a,b.metadata?b(this).metadata():{})).unbind("click.fb").bind("click.fb",function(c){c.preventDefault();if(!h){h=true;b(this).blur();o=[];q=0;c=b(this).attr("rel")||"";if(!c||c==""||c==="nofollow")o.push(this);else{o=b("a[rel="+c+"], area[rel="+c+"]");q=o.index(this)}I()}});return this};b.fancybox=function(a,c){var g;if(!h){h=true;g=typeof c!=="undefined"?c:{};o=[];q=parseInt(g.index,10)||0;if(b.isArray(a)){for(var k= +0,C=a.length;ko.length||q<0)q=0;I()}};b.fancybox.showActivity=function(){clearInterval(K);t.show();K=setInterval(Z,66)};b.fancybox.hideActivity=function(){t.hide()};b.fancybox.next=function(){return b.fancybox.pos(p+ +1)};b.fancybox.prev=function(){return b.fancybox.pos(p-1)};b.fancybox.pos=function(a){if(!h){a=parseInt(a);o=l;if(a>-1&&a1){q=a>=l.length?0:l.length-1;I()}}};b.fancybox.cancel=function(){if(!h){h=true;b.event.trigger("fancybox-cancel");N();e.onCancel(o,q,e);h=false}};b.fancybox.close=function(){function a(){u.fadeOut("fast");n.empty().hide();f.hide();b.event.trigger("fancybox-cleanup");j.empty();d.onClosed(l,p,d);l=e=[];p=q=0;d=e={};h=false}if(!(h||f.is(":hidden"))){h= +true;if(d&&false===d.onCleanup(l,p,d))h=false;else{N();b(E.add(z).add(A)).hide();b(j.add(u)).unbind();b(window).unbind("resize.fb scroll.fb");b(document).unbind("keydown.fb");j.find("iframe").attr("src",M&&/^https/i.test(window.location.href||"")?"javascript:void(false)":"about:blank");d.titlePosition!=="inside"&&n.empty();f.stop();if(d.transitionOut=="elastic"){r=V();var c=f.position();i={top:c.top,left:c.left,width:f.width(),height:f.height()};if(d.opacity)i.opacity=1;n.empty().hide();B.prop=1; +b(B).animate({prop:0},{duration:d.speedOut,easing:d.easingOut,step:T,complete:a})}else f.fadeOut(d.transitionOut=="none"?0:d.speedOut,a)}}};b.fancybox.resize=function(){u.is(":visible")&&u.css("height",b(document).height());b.fancybox.center(true)};b.fancybox.center=function(a){var c,g;if(!h){g=a===true?1:0;c=U();!g&&(f.width()>c[0]||f.height()>c[1])||f.stop().animate({top:parseInt(Math.max(c[3]-20,c[3]+(c[1]-j.height()-40)*0.5-d.padding)),left:parseInt(Math.max(c[2]-20,c[2]+(c[0]-j.width()-40)*0.5- +d.padding))},typeof a=="number"?a:200)}};b.fancybox.init=function(){if(!b("#fancybox-wrap").length){b("body").append(m=b('
'),t=b('
'),u=b('
'),f=b('
'));D=b('
').append('
').appendTo(f); +D.append(j=b('
'),E=b(''),n=b('
'),z=b(''),A=b(''));E.click(b.fancybox.close);t.click(b.fancybox.cancel);z.click(function(a){a.preventDefault();b.fancybox.prev()});A.click(function(a){a.preventDefault();b.fancybox.next()}); +b.fn.mousewheel&&f.bind("mousewheel.fb",function(a,c){if(h)a.preventDefault();else if(b(a.target).get(0).clientHeight==0||b(a.target).get(0).scrollHeight===b(a.target).get(0).clientHeight){a.preventDefault();b.fancybox[c>0?"prev":"next"]()}});b.support.opacity||f.addClass("fancybox-ie");if(M){t.addClass("fancybox-ie6");f.addClass("fancybox-ie6");b('').prependTo(D)}}}; +b.fn.fancybox.defaults={padding:10,margin:40,opacity:false,modal:false,cyclic:false,scrolling:"auto",width:560,height:340,autoScale:true,autoDimensions:true,centerOnScroll:false,ajax:{},swf:{wmode:"transparent"},hideOnOverlayClick:true,hideOnContentClick:false,overlayShow:true,overlayOpacity:0.7,overlayColor:"#777",titleShow:true,titlePosition:"float",titleFormat:null,titleFromAlt:false,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,changeSpeed:300,changeFade:"fast",easingIn:"swing", +easingOut:"swing",showCloseButton:true,showNavArrows:true,enableEscapeButton:true,enableKeyboardNav:true,onStart:function(){},onCancel:function(){},onComplete:function(){},onCleanup:function(){},onClosed:function(){},onError:function(){}};b(document).ready(function(){b.fancybox.init()})})(jQuery); \ No newline at end of file diff --git a/courseware/static/js/fancybox/jquery.mousewheel-3.0.4.pack.js b/courseware/static/js/fancybox/jquery.mousewheel-3.0.4.pack.js new file mode 100644 index 0000000000..cb66588e29 --- /dev/null +++ b/courseware/static/js/fancybox/jquery.mousewheel-3.0.4.pack.js @@ -0,0 +1,14 @@ +/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net) +* Licensed under the MIT License (LICENSE.txt). +* +* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. +* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. +* Thanks to: Seamus Leahy for adding deltaX and deltaY +* +* Version: 3.0.4 +* +* Requires: 1.2.2+ +*/ + +(function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a= +f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); \ No newline at end of file diff --git a/courseware/static/js/jquery-1.6.2.min.js b/courseware/static/js/jquery-1.6.2.min.js new file mode 100644 index 0000000000..48590ecb96 --- /dev/null +++ b/courseware/static/js/jquery-1.6.2.min.js @@ -0,0 +1,18 @@ +/*! + * jQuery JavaScript Library v1.6.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Jun 30 14:16:56 2011 -0400 + */ +(function(a,b){function cv(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cs(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cr(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cq(){cn=b}function cp(){setTimeout(cq,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bx(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bm(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(be,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bl(a){f.nodeName(a,"input")?bk(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bk)}function bk(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bj(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bi(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bh(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(a,b){return(a&&a!=="*"?a+".":"")+b.replace(z,"`").replace(A,"&")}function M(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function K(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function E(){return!0}function D(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z])/ig,x=function(a,b){return b.toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!A){A=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||D.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0},m&&f.extend(p,{position:"absolute",left:-1e3,top:-1e3});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]||i[c]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=w:v&&c!=="className"&&(f.nodeName(a,"form")||u.test(c))&&(i=v)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}},value:{get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return f.prop(a,c)?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.attrHooks.title=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=/\.(.*)$/,y=/^(?:textarea|input|select)$/i,z=/\./g,A=/ /g,B=/[^\w\s.|`]/g,C=function(a){return a.replace(B,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=D;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=D);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),C).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i. +shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},J=function(c){var d=c.target,e,g;if(!!y.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=I(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:J,beforedeactivate:J,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&J.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&J.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",I(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in H)f.event.add(this,c+".specialChange",H[c]);return y.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return y.test(this.nodeName)}},H=f.event.special.change.filters,H.focus=H.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var X=/ jQuery\d+="(?:\d+|null)"/g,Y=/^\s+/,Z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,$=/<([\w:]+)/,_=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};bf.optgroup=bf.option,bf.tbody=bf.tfoot=bf.colgroup=bf.caption=bf.thead,bf.th=bf.td,f.support.htmlSerialize||(bf._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(X,""):null;if(typeof a=="string"&&!bb.test(a)&&(f.support.leadingWhitespace||!Y.test(a))&&!bf[($.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Z,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j +)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bi(a,d),e=bj(a),g=bj(d);for(h=0;e[h];++h)bi(e[h],g[h])}if(b){bh(a,d);if(c){e=bj(a),g=bj(d);for(h=0;e[h];++h)bh(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!ba.test(k))k=b.createTextNode(k);else{k=k.replace(Z,"<$1>");var l=($.exec(k)||["",""])[1].toLowerCase(),m=bf[l]||bf._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=_.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Y.test(k)&&o.insertBefore(b.createTextNode(Y.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bo.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bn.test(g)?g.replace(bn,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bx(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(by=function(a,c){var d,e,g;c=c.replace(bp,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bz=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bq.test(d)&&br.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bx=by||bz,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bB=/%20/g,bC=/\[\]$/,bD=/\r?\n/g,bE=/#.*$/,bF=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bG=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bH=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bI=/^(?:GET|HEAD)$/,bJ=/^\/\//,bK=/\?/,bL=/)<[^<]*)*<\/script>/gi,bM=/^(?:select|textarea)/i,bN=/\s+/,bO=/([?&])_=[^&]*/,bP=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bQ=f.fn.load,bR={},bS={},bT,bU;try{bT=e.href}catch(bV){bT=c.createElement("a"),bT.href="",bT=bT.href}bU=bP.exec(bT.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bQ)return bQ.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bL,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bM.test(this.nodeName)||bG.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bD,"\r\n")}}):{name:b.name,value:c.replace(bD,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bT,isLocal:bH.test(bU[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bW(bR),ajaxTransport:bW(bS),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?bZ(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=b$(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bF.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bE,"").replace(bJ,bU[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bN),d.crossDomain==null&&(r=bP.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bU[1]&&r[2]==bU[2]&&(r[3]||(r[1]==="http:"?80:443))==(bU[3]||(bU[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bX(bR,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bI.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bK.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bO,"$1_="+x);d.url=y+(y===d.url?(bK.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bX(bS,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bB,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn,co=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cr("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cu.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cu.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cv(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cv(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/courseware/static/js/jquery-ui-1.8.16.custom.min.js b/courseware/static/js/jquery-ui-1.8.16.custom.min.js new file mode 100644 index 0000000000..14c9064f7f --- /dev/null +++ b/courseware/static/js/jquery-ui-1.8.16.custom.min.js @@ -0,0 +1,791 @@ +/*! + * jQuery UI 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", +keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= +this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, +"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": +"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, +outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, +"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& +a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= +false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; +this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); +this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, +_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= +false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, +10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| +!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& +a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= +this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), +10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), +10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, +(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= +"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), +10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ +this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& +!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d
');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); +var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= +false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); +this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= +{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; +if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, +_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, +{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: +Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= +null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a
');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ +a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ +c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); +b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), +10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- +f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? +e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= +e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; +var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: +a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- +d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, +f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= +e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= +d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== +"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& +!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, +left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
    ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("");e.secondary&&a.append("");if(!this.options.text){d.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== +"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); +b.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; +d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
    ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& +c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); +this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", +g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? +(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- +m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); +return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; +this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- +g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k'))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
    '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= +"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); +c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= +true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); +a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& +!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), +h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= +this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); +this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); +if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? +b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", +COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: +null)||this._defaults.monthNames;var i=function(o){(o=k+1 +12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& +a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
    '+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
    ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ +r.getDate()+"":''+r.getDate()+"")+"
    "+(l?""+(i[0]>0&&G==i[1]-1?'
    ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
    ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
    ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Effects 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; +f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, +[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), +d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; +if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); +return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, +arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ +2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, +d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, +a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, +d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/courseware/static/js/video_player.js b/courseware/static/js/video_player.js new file mode 100644 index 0000000000..4e6a41ca0f --- /dev/null +++ b/courseware/static/js/video_player.js @@ -0,0 +1,262 @@ +var load_id; + +function caption_at(index) { + if (captions==0) + return " "; + + text_array=captions.text + + if ((index>=text_array.length) || (index < 0)) + return " "; + return text_array[index]; +} + +function caption_time_at(index) { + if (captions==0) + return 0; + + time_array=captions.start; + + if (index < 0) + return 0; + if (index>=time_array.length) + return ytplayer.getDuration(); + + return time_array[index]/1000.0; +} + +function caption_index(now) { + // Returns the index of the current caption, given a time + if (captions==0) + return 0; + + time_array=captions.start + + // TODO: Bisection would be better, or something incremental + var i; + for(i=0;i(now*1000)) { + return i-1; + } + } + return i-1; +} + +function update_captions(t) { + var i=caption_index(t); + $("#std_n5").html(caption_at(i-5)); + $("#std_n4").html(caption_at(i-4)); + $("#std_n3").html(caption_at(i-3)); + $("#std_n2").html(caption_at(i-2)); + $("#std_n1").html(caption_at(i-1)); + $("#std_0").html(caption_at(i)); + $("#std_p1").html(caption_at(i+1)); + $("#std_p2").html(caption_at(i+2)); + $("#std_p3").html(caption_at(i+3)); + $("#std_p4").html(caption_at(i+4)); + $("#std_p5").html(caption_at(i+5)); + $("#std_p6").html(caption_at(i+6)); +} + +function title_seek(i) { + // Seek video forwards or backwards by i subtitles + current=caption_index(getCurrentTime()); + new_time=caption_time_at(current+i); + + ytplayer.seekTo(new_time, true); +} + +function updateHTML(elmId, value) { + document.getElementById(elmId).innerHTML = value; +} + +function setytplayerState(newState) { + updateHTML("playerstate", newState); +} + +function onYouTubePlayerReady(playerId) { + ytplayer = document.getElementById("myytplayer"); + setInterval(updateytplayerInfo, 1000); + ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); + ytplayer.addEventListener("onError", "onPlayerError"); + if((typeof load_id != "undefined") && (load_id != null)) { + var id=load_id; + load_id = null; + loadNewVideo(id); + } + +} + +function log_event(e) { + //$("#eventlog").append("
    "); + //$("#eventlog").append(JSON.stringify(e)); + window['console'].log(JSON.stringify(e)); +} + +function seek_slide(type,oe,value) { + //log_event([type, value]); + if(type=='slide') { + // HACK/TODO: Youtube recommends this be false for slide and true for stop. + // Works better on my system with true/true. + // We should test both configurations on low/high bandwidth + // connections, and different browsers + // One issue is that we query the Youtube window every 250ms for position/state + // With false, it returns the old one (ignoring the new seek), and moves the + // scroll bar to the wrong spot. + ytplayer.seekTo(value, true); + } else if (type=='stop') { + ytplayer.seekTo(value, true); + log_event([type, value]); + } + + update_captions(value); +} + +function get_state() { + if (ytplayer) + return [ytplayer.getPlayerState(), + ytplayer.getVideoUrl(), + ytplayer.getDuration(), ytplayer.getCurrentTime(), + ytplayer.getVideoBytesLoaded(), ytplayer.getVideoBytesTotal(), + ytplayer.getVideoStartBytes(), + ytplayer.getVolume(),ytplayer.isMuted(), + ytplayer.getPlaybackQuality(), + ytplayer.getAvailableQualityLevels()]; + return []; +} + +function onytplayerStateChange(newState) { + setytplayerState(newState); + log_event(['State Change',newState, get_state()]); +} + +function onPlayerError(errorCode) { + alert("An error occured: " + errorCode); +} + +function updateytplayerInfo() { + if(ytplayer.getPlayerState()!=3) { + $("#slider").slider("option","max",ytplayer.getDuration()); + $("#slider").slider("option","value",ytplayer.getCurrentTime()); + } + if (getPlayerState() == 1){ + update_captions(getCurrentTime()); + } + + updateHTML("videoduration", getDuration()); + updateHTML("videotime", getCurrentTime()); + updateHTML("startbytes", getStartBytes()); + updateHTML("volume", getVolume()); +} + +// functions for the api calls +function loadNewVideo(id, startSeconds) { + if (typeof ytplayer != "undefined") { + ytplayer.loadVideoById(id, parseInt(startSeconds)); + } else { + load_id = id; + } + + $.getJSON("/static/subs/"+id+".srt.sjson", function(data) { + captions=data; + }); + +} + +function cueNewVideo(id, startSeconds) { + if (ytplayer) { + ytplayer.cueVideoById(id, startSeconds); + } +} + +function play() { + if (ytplayer) { + ytplayer.playVideo(); + } +} + +function pause() { + if (ytplayer) { + ytplayer.pauseVideo(); + } +} + +function stop() { + if (ytplayer) { + ytplayer.stopVideo(); + } +} + +function getPlayerState() { + if (ytplayer) { + return ytplayer.getPlayerState(); + } +} + +function seekTo(seconds) { + if (ytplayer) { + ytplayer.seekTo(seconds, true); + } +} + +function getBytesTotal() { + if (ytplayer) { + return ytplayer.getVideoBytesTotal(); + } +} + +function getCurrentTime() { + if (ytplayer) { + return ytplayer.getCurrentTime(); + } +} + +function getDuration() { + if (ytplayer) { + return ytplayer.getDuration(); + } +} + +function getStartBytes() { + if (ytplayer) { + return ytplayer.getVideoStartBytes(); + } +} + +function mute() { + if (ytplayer) { + ytplayer.mute(); + } +} + +function unMute() { + if (ytplayer) { + ytplayer.unMute(); + } +} + +function getEmbedCode() { + alert(ytplayer.getVideoEmbedCode()); +} + +function getVideoUrl() { + alert(ytplayer.getVideoUrl()); +} + +function setVolume(newVolume) { + if (ytplayer) { + ytplayer.setVolume(newVolume); + } +} + +function getVolume() { + if (ytplayer) { + return ytplayer.getVolume(); + } +} + +function clearVideo() { + if (ytplayer) { + ytplayer.clearVideo(); + } +} \ No newline at end of file diff --git a/courseware/static/js/video_player.js~ b/courseware/static/js/video_player.js~ new file mode 100644 index 0000000000..3b47fe942e --- /dev/null +++ b/courseware/static/js/video_player.js~ @@ -0,0 +1,260 @@ +var load_id; + +function caption_at(index) { + if (captions==0) + return " "; + + text_array=captions.text + + if ((index>=text_array.length) || (index < 0)) + return " "; + return text_array[index]; +} + +function caption_time_at(index) { + if (captions==0) + return 0; + + time_array=captions.start; + + if (index < 0) + return 0; + if (index>=time_array.length) + return ytplayer.getDuration(); + + return time_array[index]/1000.0; +} + +function caption_index(now) { + // Returns the index of the current caption, given a time + if (captions==0) + return 0; + + time_array=captions.start + + // TODO: Bisection would be better, or something incremental + var i; + for(i=0;i(now*1000)) { + return i-1; + } + } + return i-1; +} + +function update_captions(t) { + var i=caption_index(t); + $("#std_n5").html(caption_at(i-5)); + $("#std_n4").html(caption_at(i-4)); + $("#std_n3").html(caption_at(i-3)); + $("#std_n2").html(caption_at(i-2)); + $("#std_n1").html(caption_at(i-1)); + $("#std_0").html(caption_at(i)); + $("#std_p1").html(caption_at(i+1)); + $("#std_p2").html(caption_at(i+2)); + $("#std_p3").html(caption_at(i+3)); + $("#std_p4").html(caption_at(i+4)); + $("#std_p5").html(caption_at(i+5)); + $("#std_p6").html(caption_at(i+6)); +} + +function title_seek(i) { + // Seek video forwards or backwards by i subtitles + current=caption_index(getCurrentTime()); + new_time=caption_time_at(current+i); + + ytplayer.seekTo(new_time, true); +} + +function updateHTML(elmId, value) { + document.getElementById(elmId).innerHTML = value; +} + +function setytplayerState(newState) { + updateHTML("playerstate", newState); +} + +function onYouTubePlayerReady(playerId) { + ytplayer = document.getElementById("myytplayer"); + setInterval(updateytplayerInfo, 250); + ytplayer.addEventListener("onStateChange", "onytplayerStateChange"); + ytplayer.addEventListener("onError", "onPlayerError"); + if((typeof load_id != "undefined") && (load_id != null)) { + var id=load_id; + load_id = null; + loadNewVideo(id); + } + +} + +function log_event(e) { + //$("#eventlog").append("
    "); + //$("#eventlog").append(JSON.stringify(e)); + window['console'].log(JSON.stringify(e)); +} + +function seek_slide(type,oe,value) { + //log_event([type, value]); + if(type=='slide') { + // HACK/TODO: Youtube recommends this be false for slide and true for stop. + // Works better on my system with true/true. + // We should test both configurations on low/high bandwidth + // connections, and different browsers + // One issue is that we query the Youtube window every 250ms for position/state + // With false, it returns the old one (ignoring the new seek), and moves the + // scroll bar to the wrong spot. + ytplayer.seekTo(value, true); + } else if (type=='stop') { + ytplayer.seekTo(value, true); + log_event([type, value]); + } + + update_captions(value); +} + +function get_state() { + if (ytplayer) + return [ytplayer.getPlayerState(), + ytplayer.getVideoUrl(), + ytplayer.getDuration(), ytplayer.getCurrentTime(), + ytplayer.getVideoBytesLoaded(), ytplayer.getVideoBytesTotal(), + ytplayer.getVideoStartBytes(), + ytplayer.getVolume(),ytplayer.isMuted(), + ytplayer.getPlaybackQuality(), + ytplayer.getAvailableQualityLevels()]; + return []; +} + +function onytplayerStateChange(newState) { + setytplayerState(newState); + log_event(['State Change',newState, get_state()]); +} + +function onPlayerError(errorCode) { + alert("An error occured: " + errorCode); +} + +function updateytplayerInfo() { + if(ytplayer.getPlayerState()!=3) { + $("#slider").slider("option","max",ytplayer.getDuration()); + $("#slider").slider("option","value",ytplayer.getCurrentTime()); + } + update_captions(getCurrentTime()); + + updateHTML("videoduration", getDuration()); + updateHTML("videotime", getCurrentTime()); + updateHTML("startbytes", getStartBytes()); + updateHTML("volume", getVolume()); +} + +// functions for the api calls +function loadNewVideo(id, startSeconds) { + if (typeof ytplayer != "undefined") { + ytplayer.loadVideoById(id, parseInt(startSeconds)); + } else { + load_id = id; + } + + $.getJSON("/static/subs/"+id+".srt.sjson", function(data) { + captions=data; + }); + +} + +function cueNewVideo(id, startSeconds) { + if (ytplayer) { + ytplayer.cueVideoById(id, startSeconds); + } +} + +function play() { + if (ytplayer) { + ytplayer.playVideo(); + } +} + +function pause() { + if (ytplayer) { + ytplayer.pauseVideo(); + } +} + +function stop() { + if (ytplayer) { + ytplayer.stopVideo(); + } +} + +function getPlayerState() { + if (ytplayer) { + return ytplayer.getPlayerState(); + } +} + +function seekTo(seconds) { + if (ytplayer) { + ytplayer.seekTo(seconds, true); + } +} + +function getBytesTotal() { + if (ytplayer) { + return ytplayer.getVideoBytesTotal(); + } +} + +function getCurrentTime() { + if (ytplayer) { + return ytplayer.getCurrentTime(); + } +} + +function getDuration() { + if (ytplayer) { + return ytplayer.getDuration(); + } +} + +function getStartBytes() { + if (ytplayer) { + return ytplayer.getVideoStartBytes(); + } +} + +function mute() { + if (ytplayer) { + ytplayer.mute(); + } +} + +function unMute() { + if (ytplayer) { + ytplayer.unMute(); + } +} + +function getEmbedCode() { + alert(ytplayer.getVideoEmbedCode()); +} + +function getVideoUrl() { + alert(ytplayer.getVideoUrl()); +} + +function setVolume(newVolume) { + if (ytplayer) { + ytplayer.setVolume(newVolume); + } +} + +function getVolume() { + if (ytplayer) { + return ytplayer.getVolume(); + } +} + +function clearVideo() { + if (ytplayer) { + ytplayer.clearVideo(); + } +} \ No newline at end of file diff --git a/courseware/static/staff/agarwal-mit-news-small.jpg b/courseware/static/staff/agarwal-mit-news-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..900038d394837dfeeb95d6584e7d530e58edebcc GIT binary patch literal 11325 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 literal 0 HcmV?d00001 diff --git a/courseware/static/staff/cjt-small.jpg b/courseware/static/staff/cjt-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e8537de0bd5edb455451265442169f543c696ee GIT binary patch literal 10196 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 literal 0 HcmV?d00001 diff --git a/courseware/static/staff/pmitros-small.jpg b/courseware/static/staff/pmitros-small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff63f6f9fd2e54b35596b2eb3e91d65df8e5119e GIT binary patch literal 56491 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 sLf70