[MERGE] fme
authorMinh Tran <mit@openerp.com>
Mon, 2 Apr 2012 11:43:40 +0000 (13:43 +0200)
committerMinh Tran <mit@openerp.com>
Mon, 2 Apr 2012 11:43:40 +0000 (13:43 +0200)
bzr revid: mit@openerp.com-20120402114340-dvf5rbysvabvlvah

22 files changed:
addons/web/__openerp__.py
addons/web/i18n/en_AU.po [new file with mode: 0644]
addons/web/i18n/ja.po
addons/web/i18n/nl.po
addons/web/static/lib/jquery.bootstrap/css/bootstrap-responsive.css [new file with mode: 0644]
addons/web/static/lib/jquery.bootstrap/css/bootstrap.css [new file with mode: 0644]
addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings-white.png [new file with mode: 0644]
addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings.png [new file with mode: 0644]
addons/web/static/lib/jquery.bootstrap/js/bootstrap.js [new file with mode: 0644]
addons/web/static/src/css/base.css
addons/web/static/src/css/base.sass
addons/web/static/src/css/base_old.css
addons/web/static/src/js/chrome.js
addons/web/static/src/js/core.js
addons/web/static/src/js/view_form.js
addons/web/static/src/js/view_list.js
addons/web/static/src/js/views.js
addons/web/static/src/xml/base.xml
addons/web_gantt/i18n/nb.po [new file with mode: 0644]
addons/web_mobile/i18n/ja.po [new file with mode: 0644]
addons/web_mobile/i18n/nb.po [new file with mode: 0644]
addons/web_process/i18n/nb.po [new file with mode: 0644]

index 75c3bbd..3ad180a 100644 (file)
@@ -21,6 +21,7 @@
         "static/lib/jquery.form/jquery.form.js",
         "static/lib/jquery.validate/jquery.validate.js",
         "static/lib/jquery.ba-bbq/jquery.ba-bbq.js",
+        "static/lib/jquery.bootstrap/js/bootstrap.js",
         "static/lib/jquery.contextmenu/jquery.contextmenu.r2.packed.js",
         "static/lib/jquery.blockUI/jquery.blockUI.js",
         "static/lib/jquery.superfish/js/hoverIntent.js",
@@ -57,7 +58,7 @@
     ],
     'css' : [
         "static/lib/jquery.superfish/css/superfish.css",
-        "static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.17.custom.css",
+        #"static/lib/jquery.ui/css/smoothness/jquery-ui-1.8.17.custom.css",
         "static/lib/jquery.ui.timepicker/css/jquery-ui-timepicker-addon.css",
         "static/lib/jquery.ui.notify/css/ui.notify.css",
         "static/lib/jquery.tipsy/tipsy.css",
diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po
new file mode 100644 (file)
index 0000000..c1c59b8
--- /dev/null
@@ -0,0 +1,1556 @@
+# English (Australia) translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-14 15:27+0100\n"
+"PO-Revision-Date: 2012-03-31 04:18+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: English (Australia) <en_AU@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:172
+#: addons/web/static/src/js/chrome.js:198
+#: addons/web/static/src/js/chrome.js:414
+#: addons/web/static/src/js/view_form.js:419
+#: addons/web/static/src/js/view_form.js:1233
+#: addons/web/static/src/xml/base.xml:1695
+#: addons/web/static/src/js/view_form.js:424
+#: addons/web/static/src/js/view_form.js:1239
+msgid "Ok"
+msgstr "OK"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:180
+msgid "Send OpenERP Enterprise Report"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:194
+msgid "Dont send"
+msgstr "Don't send"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:256
+#, python-format
+msgid "Loading (%d)"
+msgstr "Loading (%d)"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:288
+msgid "Invalid database name"
+msgstr "Invalid database name"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:483
+msgid "Backed"
+msgstr "Backed Up"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:484
+msgid "Database backed up successfully"
+msgstr "Database backed up successfully"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:527
+msgid "Restored"
+msgstr "Restored"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:527
+msgid "Database restored successfully"
+msgstr "Database restored successfully"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:708
+#: addons/web/static/src/xml/base.xml:359
+msgid "About"
+msgstr "About"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:787
+#: addons/web/static/src/xml/base.xml:356
+msgid "Preferences"
+msgstr "Preferences"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:790
+#: addons/web/static/src/js/search.js:239
+#: addons/web/static/src/js/search.js:288
+#: addons/web/static/src/js/view_editor.js:95
+#: addons/web/static/src/js/view_editor.js:836
+#: addons/web/static/src/js/view_editor.js:962
+#: addons/web/static/src/js/view_form.js:1228
+#: addons/web/static/src/xml/base.xml:738
+#: addons/web/static/src/xml/base.xml:1496
+#: addons/web/static/src/xml/base.xml:1506
+#: addons/web/static/src/xml/base.xml:1515
+#: addons/web/static/src/js/search.js:293
+#: addons/web/static/src/js/view_form.js:1234
+msgid "Cancel"
+msgstr "Cancel"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:791
+msgid "Change password"
+msgstr "Change password"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:792
+#: addons/web/static/src/js/view_editor.js:73
+#: addons/web/static/src/js/views.js:962
+#: addons/web/static/src/xml/base.xml:737
+#: addons/web/static/src/xml/base.xml:1500
+#: addons/web/static/src/xml/base.xml:1514
+msgid "Save"
+msgstr "Save"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:811
+#: addons/web/static/src/xml/base.xml:226
+#: addons/web/static/src/xml/base.xml:1729
+msgid "Change Password"
+msgstr "Change Password"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:1096
+#: addons/web/static/src/js/chrome.js:1100
+msgid "OpenERP - Unsupported/Community Version"
+msgstr "OpenERP - Unsupported/Community Version"
+
+#. openerp-web
+#: addons/web/static/src/js/chrome.js:1131
+#: addons/web/static/src/js/chrome.js:1135
+msgid "Client Error"
+msgstr "Client Error"
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:6
+msgid "Export Data"
+msgstr "Export Data"
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:19
+#: addons/web/static/src/js/data_import.js:69
+#: addons/web/static/src/js/view_editor.js:49
+#: addons/web/static/src/js/view_editor.js:398
+#: addons/web/static/src/js/view_form.js:692
+#: addons/web/static/src/js/view_form.js:3044
+#: addons/web/static/src/js/views.js:963
+#: addons/web/static/src/js/view_form.js:698
+#: addons/web/static/src/js/view_form.js:3067
+msgid "Close"
+msgstr "Close"
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:20
+msgid "Export To File"
+msgstr "Export to File"
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:125
+msgid "Please enter save field list name"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:360
+msgid "Please select fields to save export list..."
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/data_export.js:373
+msgid "Please select fields to export..."
+msgstr "Please select fields to export..."
+
+#. openerp-web
+#: addons/web/static/src/js/data_import.js:34
+msgid "Import Data"
+msgstr "Import Data"
+
+#. openerp-web
+#: addons/web/static/src/js/data_import.js:70
+msgid "Import File"
+msgstr "Import File"
+
+#. openerp-web
+#: addons/web/static/src/js/data_import.js:105
+msgid "External ID"
+msgstr "External ID"
+
+#. openerp-web
+#: addons/web/static/src/js/formats.js:300
+#: addons/web/static/src/js/view_page.js:245
+#: addons/web/static/src/js/formats.js:322
+#: addons/web/static/src/js/view_page.js:251
+msgid "Download"
+msgstr "Download"
+
+#. openerp-web
+#: addons/web/static/src/js/formats.js:305
+#: addons/web/static/src/js/formats.js:327
+#, python-format
+msgid "Download \"%s\""
+msgstr "Download \"%s\""
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:191
+msgid "Filter disabled due to invalid syntax"
+msgstr "Filter disabled due to invalid syntax"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:237
+msgid "Filter Entry"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:242
+#: addons/web/static/src/js/search.js:291
+#: addons/web/static/src/js/search.js:296
+msgid "OK"
+msgstr "OK"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:286
+#: addons/web/static/src/xml/base.xml:1292
+#: addons/web/static/src/js/search.js:291
+msgid "Add to Dashboard"
+msgstr "Add to Dashboard"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:415
+#: addons/web/static/src/js/search.js:420
+msgid "Invalid Search"
+msgstr "Invalid Search"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:415
+#: addons/web/static/src/js/search.js:420
+msgid "triggered from search view"
+msgstr "triggered from search view"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:503
+#: addons/web/static/src/js/search.js:508
+#, python-format
+msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s"
+msgstr "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:839
+#: addons/web/static/src/js/search.js:844
+msgid "not a valid integer"
+msgstr "invalid integer"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:853
+#: addons/web/static/src/js/search.js:858
+msgid "not a valid number"
+msgstr "invalid number"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:931
+#: addons/web/static/src/xml/base.xml:968
+#: addons/web/static/src/js/search.js:936
+msgid "Yes"
+msgstr "Yes"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:932
+#: addons/web/static/src/js/search.js:937
+msgid "No"
+msgstr "No"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1290
+#: addons/web/static/src/js/search.js:1295
+msgid "contains"
+msgstr "contains"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1291
+#: addons/web/static/src/js/search.js:1296
+msgid "doesn't contain"
+msgstr "doesn't contain"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1292
+#: addons/web/static/src/js/search.js:1306
+#: addons/web/static/src/js/search.js:1325
+#: addons/web/static/src/js/search.js:1344
+#: addons/web/static/src/js/search.js:1365
+#: addons/web/static/src/js/search.js:1297
+#: addons/web/static/src/js/search.js:1311
+#: addons/web/static/src/js/search.js:1330
+#: addons/web/static/src/js/search.js:1349
+#: addons/web/static/src/js/search.js:1370
+msgid "is equal to"
+msgstr "is equal to"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1293
+#: addons/web/static/src/js/search.js:1307
+#: addons/web/static/src/js/search.js:1326
+#: addons/web/static/src/js/search.js:1345
+#: addons/web/static/src/js/search.js:1366
+#: addons/web/static/src/js/search.js:1298
+#: addons/web/static/src/js/search.js:1312
+#: addons/web/static/src/js/search.js:1331
+#: addons/web/static/src/js/search.js:1350
+#: addons/web/static/src/js/search.js:1371
+msgid "is not equal to"
+msgstr "is not equal to"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1294
+#: addons/web/static/src/js/search.js:1308
+#: addons/web/static/src/js/search.js:1327
+#: addons/web/static/src/js/search.js:1346
+#: addons/web/static/src/js/search.js:1367
+#: addons/web/static/src/js/search.js:1299
+#: addons/web/static/src/js/search.js:1313
+#: addons/web/static/src/js/search.js:1332
+#: addons/web/static/src/js/search.js:1351
+#: addons/web/static/src/js/search.js:1372
+msgid "greater than"
+msgstr "greater than"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1295
+#: addons/web/static/src/js/search.js:1309
+#: addons/web/static/src/js/search.js:1328
+#: addons/web/static/src/js/search.js:1347
+#: addons/web/static/src/js/search.js:1368
+#: addons/web/static/src/js/search.js:1300
+#: addons/web/static/src/js/search.js:1314
+#: addons/web/static/src/js/search.js:1333
+#: addons/web/static/src/js/search.js:1352
+#: addons/web/static/src/js/search.js:1373
+msgid "less than"
+msgstr "less than"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1296
+#: addons/web/static/src/js/search.js:1310
+#: addons/web/static/src/js/search.js:1329
+#: addons/web/static/src/js/search.js:1348
+#: addons/web/static/src/js/search.js:1369
+#: addons/web/static/src/js/search.js:1301
+#: addons/web/static/src/js/search.js:1315
+#: addons/web/static/src/js/search.js:1334
+#: addons/web/static/src/js/search.js:1353
+#: addons/web/static/src/js/search.js:1374
+msgid "greater or equal than"
+msgstr "greater than or equal to"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1297
+#: addons/web/static/src/js/search.js:1311
+#: addons/web/static/src/js/search.js:1330
+#: addons/web/static/src/js/search.js:1349
+#: addons/web/static/src/js/search.js:1370
+#: addons/web/static/src/js/search.js:1302
+#: addons/web/static/src/js/search.js:1316
+#: addons/web/static/src/js/search.js:1335
+#: addons/web/static/src/js/search.js:1354
+#: addons/web/static/src/js/search.js:1375
+msgid "less or equal than"
+msgstr "less than or equal to"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1360
+#: addons/web/static/src/js/search.js:1383
+#: addons/web/static/src/js/search.js:1365
+#: addons/web/static/src/js/search.js:1388
+msgid "is"
+msgstr "is"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1384
+#: addons/web/static/src/js/search.js:1389
+msgid "is not"
+msgstr "is not"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1396
+#: addons/web/static/src/js/search.js:1401
+msgid "is true"
+msgstr "is true"
+
+#. openerp-web
+#: addons/web/static/src/js/search.js:1397
+#: addons/web/static/src/js/search.js:1402
+msgid "is false"
+msgstr "is false"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:20
+#, python-format
+msgid "Manage Views (%s)"
+msgstr "Manage Views (%s)"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:46
+#: addons/web/static/src/js/view_list.js:17
+#: addons/web/static/src/xml/base.xml:100
+#: addons/web/static/src/xml/base.xml:327
+#: addons/web/static/src/xml/base.xml:756
+msgid "Create"
+msgstr "Create"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:47
+#: addons/web/static/src/xml/base.xml:483
+#: addons/web/static/src/xml/base.xml:755
+msgid "Edit"
+msgstr "Edit"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:48
+#: addons/web/static/src/xml/base.xml:1647
+msgid "Remove"
+msgstr "Delete"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:71
+#, python-format
+msgid "Create a view (%s)"
+msgstr "Create a view (%s)"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:168
+msgid "Do you really want to remove this view?"
+msgstr "Do you really want to delete this view?"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:364
+#, python-format
+msgid "View Editor %d - %s"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:367
+msgid "Inherited View"
+msgstr "Inherited View"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:371
+msgid "Do you really wants to create an inherited view here?"
+msgstr "Do you really want to create an inherited view here?"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:381
+msgid "Preview"
+msgstr "Preview"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:501
+msgid "Do you really want to remove this node?"
+msgstr "Do you really want to delete this node?"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:815
+#: addons/web/static/src/js/view_editor.js:939
+msgid "Properties"
+msgstr "Properties"
+
+#. openerp-web
+#: addons/web/static/src/js/view_editor.js:818
+#: addons/web/static/src/js/view_editor.js:942
+msgid "Update"
+msgstr "Update"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:16
+msgid "Form"
+msgstr "Form"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:121
+#: addons/web/static/src/js/views.js:803
+msgid "Customize"
+msgstr "Customise"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:123
+#: addons/web/static/src/js/view_form.js:686
+#: addons/web/static/src/js/view_form.js:692
+msgid "Set Default"
+msgstr "Set as Default"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:469
+#: addons/web/static/src/js/view_form.js:475
+msgid ""
+"Warning, the record has been modified, your changes will be discarded."
+msgstr ""
+"Warning, this record has been modified.  If you continue without saving, "
+"your changes will be discarded."
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:693
+#: addons/web/static/src/js/view_form.js:699
+msgid "Save default"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:754
+#: addons/web/static/src/js/view_form.js:760
+msgid "Attachments"
+msgstr "Attachments"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:792
+#: addons/web/static/src/js/view_form.js:798
+#, python-format
+msgid "Do you really want to delete the attachment %s?"
+msgstr "Do you really want to delete the attachment %s"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:822
+#: addons/web/static/src/js/view_form.js:828
+#, python-format
+msgid "Unknown operator %s in domain %s"
+msgstr "Unknown operator %s in domain %s"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:830
+#: addons/web/static/src/js/view_form.js:836
+#, python-format
+msgid "Unknown field %s in domain %s"
+msgstr "Unknown field %s in domain %s"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:868
+#: addons/web/static/src/js/view_form.js:874
+#, python-format
+msgid "Unsupported operator %s in domain %s"
+msgstr "Unsupported operator %s in domain %s"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:1225
+#: addons/web/static/src/js/view_form.js:1231
+msgid "Confirm"
+msgstr "Confirm"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:1921
+#: addons/web/static/src/js/view_form.js:2578
+#: addons/web/static/src/js/view_form.js:2741
+#: addons/web/static/src/js/view_form.js:1933
+#: addons/web/static/src/js/view_form.js:2590
+#: addons/web/static/src/js/view_form.js:2760
+msgid "Open: "
+msgstr "Open: "
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2049
+#: addons/web/static/src/js/view_form.js:2061
+msgid "<em>   Search More...</em>"
+msgstr "<em>   Continue Search ...</em>"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2062
+#: addons/web/static/src/js/view_form.js:2074
+#, python-format
+msgid "<em>   Create \"<strong>%s</strong>\"</em>"
+msgstr "<em>   Create \"<strong>%s</strong>\"</em>"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2068
+#: addons/web/static/src/js/view_form.js:2080
+msgid "<em>   Create and Edit...</em>"
+msgstr "<em>   Create and Edit...</em>"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2101
+#: addons/web/static/src/js/views.js:675
+#: addons/web/static/src/js/view_form.js:2113
+msgid "Search: "
+msgstr "Search: "
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2101
+#: addons/web/static/src/js/view_form.js:2550
+#: addons/web/static/src/js/view_form.js:2113
+#: addons/web/static/src/js/view_form.js:2562
+msgid "Create: "
+msgstr "Create: "
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2661
+#: addons/web/static/src/xml/base.xml:750
+#: addons/web/static/src/xml/base.xml:772
+#: addons/web/static/src/xml/base.xml:1646
+#: addons/web/static/src/js/view_form.js:2680
+msgid "Add"
+msgstr "Add"
+
+#. openerp-web
+#: addons/web/static/src/js/view_form.js:2721
+#: addons/web/static/src/js/view_form.js:2740
+msgid "Add: "
+msgstr "Add: "
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:8
+msgid "List"
+msgstr "List"
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:269
+msgid "Unlimited"
+msgstr "Unlimited"
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:305
+#: addons/web/static/src/js/view_list.js:309
+#, python-format
+msgid "[%(first_record)d to %(last_record)d] of %(records_count)d"
+msgstr "[%(first_record)d to %(last_record)d] of %(records_count)d"
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:524
+#: addons/web/static/src/js/view_list.js:528
+msgid "Do you really want to remove these records?"
+msgstr "Do you really want to delete these records?"
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:1230
+#: addons/web/static/src/js/view_list.js:1232
+msgid "Undefined"
+msgstr "Undefined"
+
+#. openerp-web
+#: addons/web/static/src/js/view_list.js:1327
+#: addons/web/static/src/js/view_list.js:1331
+#, python-format
+msgid "%(page)d/%(page_count)d"
+msgstr "%(page)d/%(page_count)d"
+
+#. openerp-web
+#: addons/web/static/src/js/view_page.js:8
+msgid "Page"
+msgstr "Page"
+
+#. openerp-web
+#: addons/web/static/src/js/view_page.js:52
+msgid "Do you really want to delete this record?"
+msgstr "Do you really want to delete this record?"
+
+#. openerp-web
+#: addons/web/static/src/js/view_tree.js:11
+msgid "Tree"
+msgstr "Tree"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:565
+#: addons/web/static/src/xml/base.xml:480
+msgid "Fields View Get"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:573
+#, python-format
+msgid "View Log (%s)"
+msgstr "View Log (%s)"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:600
+#, python-format
+msgid "Model %s fields"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:610
+#: addons/web/static/src/xml/base.xml:482
+msgid "Manage Views"
+msgstr "Manage Views"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:611
+msgid "Could not find current view declaration"
+msgstr "Could not find current view declaration"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:805
+msgid "Translate"
+msgstr "Translate"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:807
+msgid "Technical translation"
+msgstr "Technical translation"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:811
+msgid "Other Options"
+msgstr "Other Options"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:814
+#: addons/web/static/src/xml/base.xml:1736
+msgid "Import"
+msgstr "Import"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:817
+#: addons/web/static/src/xml/base.xml:1606
+msgid "Export"
+msgstr "Export"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:825
+msgid "Reports"
+msgstr "Reports"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:825
+msgid "Actions"
+msgstr "Actions"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:825
+msgid "Links"
+msgstr "Links"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:919
+msgid "You must choose at least one record."
+msgstr "You must select at least one record."
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:920
+msgid "Warning"
+msgstr "Warning"
+
+#. openerp-web
+#: addons/web/static/src/js/views.js:957
+msgid "Translations"
+msgstr "Translations"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:44
+#: addons/web/static/src/xml/base.xml:315
+msgid "Powered by"
+msgstr "Powered by"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:44
+#: addons/web/static/src/xml/base.xml:315
+#: addons/web/static/src/xml/base.xml:1813
+msgid "OpenERP"
+msgstr "OpenERP"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:52
+msgid "Loading..."
+msgstr "Loading…"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:61
+msgid "CREATE DATABASE"
+msgstr "CREATE DATABASE"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:68
+#: addons/web/static/src/xml/base.xml:211
+msgid "Master password:"
+msgstr "Master password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:72
+#: addons/web/static/src/xml/base.xml:191
+msgid "New database name:"
+msgstr "New database name:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:77
+msgid "Load Demonstration data:"
+msgstr "Load Demonstration data:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:81
+msgid "Default language:"
+msgstr "Default language:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:91
+msgid "Admin password:"
+msgstr "Admin password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:95
+msgid "Confirm password:"
+msgstr "Confirm password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:109
+msgid "DROP DATABASE"
+msgstr "DROP DATABASE"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:116
+#: addons/web/static/src/xml/base.xml:150
+#: addons/web/static/src/xml/base.xml:301
+msgid "Database:"
+msgstr "Database:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:128
+#: addons/web/static/src/xml/base.xml:162
+#: addons/web/static/src/xml/base.xml:187
+msgid "Master Password:"
+msgstr "Master password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:132
+#: addons/web/static/src/xml/base.xml:328
+msgid "Drop"
+msgstr "Drop"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:143
+msgid "BACKUP DATABASE"
+msgstr "BACKUP DATABASE"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:166
+#: addons/web/static/src/xml/base.xml:329
+msgid "Backup"
+msgstr "Backup"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:175
+msgid "RESTORE DATABASE"
+msgstr "RESTORE DATABASE"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:182
+msgid "File:"
+msgstr "File:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:195
+#: addons/web/static/src/xml/base.xml:330
+msgid "Restore"
+msgstr "Restore"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:204
+msgid "CHANGE MASTER PASSWORD"
+msgstr "CHANGE MASTER PASSWORD"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:216
+msgid "New master password:"
+msgstr "New master password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:221
+msgid "Confirm new master password:"
+msgstr "Confirm new master password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:251
+msgid ""
+"Your version of OpenERP is unsupported. Support & maintenance services are "
+"available here:"
+msgstr ""
+"Your version of OpenERP is unsupported. Support & maintenance services are "
+"available from:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:251
+msgid "OpenERP Entreprise"
+msgstr "OpenERP Enterprise"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:256
+msgid "OpenERP Enterprise Contract."
+msgstr "OpenERP Enterprise Contract."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:257
+msgid "Your report will be sent to the OpenERP Enterprise team."
+msgstr "Your report will be sent to the OpenERP Enterprise team."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:259
+msgid "Summary:"
+msgstr "Summary:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:263
+msgid "Description:"
+msgstr "Description:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:267
+msgid "What you did:"
+msgstr "What you did:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:297
+msgid "Invalid username or password"
+msgstr "Invalid username and/or password"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:306
+msgid "Username"
+msgstr "Username"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:308
+#: addons/web/static/src/xml/base.xml:331
+msgid "Password"
+msgstr "Password"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:310
+msgid "Log in"
+msgstr "Log in"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:314
+msgid "Manage Databases"
+msgstr "Manage Databases"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:332
+msgid "Back to Login"
+msgstr "Back to Login Page"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:353
+msgid "Home"
+msgstr "Home"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:363
+msgid "LOGOUT"
+msgstr "LOGOUT"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:388
+msgid "Fold menu"
+msgstr "Expand menu"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:389
+msgid "Unfold menu"
+msgstr "Collapse menu"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:454
+msgid "Hide this tip"
+msgstr "Hide this tip"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:455
+msgid "Disable all tips"
+msgstr "Disable all tips"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:463
+msgid "Add / Remove Shortcut..."
+msgstr "Add / Remove Shortcut ..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:471
+msgid "More…"
+msgstr "More ..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:477
+msgid "Debug View#"
+msgstr "Debug View#"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:478
+msgid "View Log (perm_read)"
+msgstr "View Log (perm_read)"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:479
+msgid "View Fields"
+msgstr "View Fields"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:483
+msgid "View"
+msgstr "View"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:484
+msgid "Edit SearchView"
+msgstr "Edit Search View"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:485
+msgid "Edit Action"
+msgstr "Edit Action"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:486
+msgid "Edit Workflow"
+msgstr "Edit Workflow"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:491
+msgid "ID:"
+msgstr "ID:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:494
+msgid "XML ID:"
+msgstr "XML ID:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:497
+msgid "Creation User:"
+msgstr "Creating User:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:500
+msgid "Creation Date:"
+msgstr "Creation Date:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:503
+msgid "Latest Modification by:"
+msgstr "Latest Modification by:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:506
+msgid "Latest Modification Date:"
+msgstr "Lasted Modification date:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:542
+msgid "Field"
+msgstr "Field"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:632
+#: addons/web/static/src/xml/base.xml:758
+#: addons/web/static/src/xml/base.xml:1708
+msgid "Delete"
+msgstr "Delete"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:757
+msgid "Duplicate"
+msgstr "Duplicate"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:775
+msgid "Add attachment"
+msgstr "Add attachment"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:801
+msgid "Default:"
+msgstr "Default:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:818
+msgid "Condition:"
+msgstr "Condition:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:837
+msgid "Only you"
+msgstr "Only you"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:844
+msgid "All users"
+msgstr "All users"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:851
+msgid "Unhandled widget"
+msgstr ""
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:900
+msgid "Notebook Page \""
+msgstr "Notebook Page \""
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:905
+#: addons/web/static/src/xml/base.xml:964
+msgid "Modifiers:"
+msgstr "Modifiers:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:931
+msgid "(nolabel)"
+msgstr "(nolabel)"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:936
+msgid "Field:"
+msgstr "Field:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:940
+msgid "Object:"
+msgstr "Object:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:944
+msgid "Type:"
+msgstr "Type:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:948
+msgid "Widget:"
+msgstr "Widget:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:952
+msgid "Size:"
+msgstr "Size:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:956
+msgid "Context:"
+msgstr "Context:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:960
+msgid "Domain:"
+msgstr "Domain:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:968
+msgid "Change default:"
+msgstr "Change default:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:972
+msgid "On change:"
+msgstr "On change:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:976
+msgid "Relation:"
+msgstr "Relationship:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:980
+msgid "Selection:"
+msgstr "Selection:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1020
+msgid "Send an e-mail with your default e-mail client"
+msgstr "Send an e-mail with your default e-mail client"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1034
+msgid "Open this resource"
+msgstr "Open this resource"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1056
+msgid "Select date"
+msgstr "Select date"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1090
+msgid "Open..."
+msgstr "Open..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1091
+msgid "Create..."
+msgstr "Create..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1092
+msgid "Search..."
+msgstr "Search..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1095
+msgid "..."
+msgstr "..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1155
+#: addons/web/static/src/xml/base.xml:1198
+msgid "Set Image"
+msgstr "Load Image"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1163
+#: addons/web/static/src/xml/base.xml:1213
+#: addons/web/static/src/xml/base.xml:1215
+#: addons/web/static/src/xml/base.xml:1272
+msgid "Clear"
+msgstr "Clear"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1172
+#: addons/web/static/src/xml/base.xml:1223
+msgid "Uploading ..."
+msgstr "Uploading ..."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1200
+#: addons/web/static/src/xml/base.xml:1495
+msgid "Select"
+msgstr "Select"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1207
+#: addons/web/static/src/xml/base.xml:1209
+msgid "Save As"
+msgstr "Save As"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1238
+msgid "Button"
+msgstr "Button"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1241
+msgid "(no string)"
+msgstr "(no string)"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1248
+msgid "Special:"
+msgstr "Special:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1253
+msgid "Button Type:"
+msgstr "Button Type:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1257
+msgid "Method:"
+msgstr "Method:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1261
+msgid "Action ID:"
+msgstr "Action ID:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1271
+msgid "Search"
+msgstr "Search"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1279
+msgid "Filters"
+msgstr "Filters"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1280
+msgid "-- Filters --"
+msgstr "-- Filters --"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1289
+msgid "-- Actions --"
+msgstr "-- Actions --"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1290
+msgid "Add Advanced Filter"
+msgstr "Add Advanced Filter"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1291
+msgid "Save Filter"
+msgstr "Save Filter"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1293
+msgid "Manage Filters"
+msgstr "Manage Filters"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1298
+msgid "Filter Name:"
+msgstr "Filter Name:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1300
+msgid "(Any existing filter with the same name will be replaced)"
+msgstr "(An existing filter with the same name will be replaced)"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1305
+msgid "Select Dashboard to add this filter to:"
+msgstr "Select the Dashboard to add this filter to:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1309
+msgid "Title of new Dashboard item:"
+msgstr "Title of the new Dashboard item:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1416
+msgid "Advanced Filters"
+msgstr "Advanced Filters"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1426
+msgid "Any of the following conditions must match"
+msgstr "Any of the following conditions must match"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1427
+msgid "All the following conditions must match"
+msgstr "All of the following conditions must match"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1428
+msgid "None of the following conditions must match"
+msgstr "None of the following conditions can match"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1435
+msgid "Add condition"
+msgstr "Add condition"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1436
+msgid "and"
+msgstr "and"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1503
+msgid "Save & New"
+msgstr "Save & Continue"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1504
+msgid "Save & Close"
+msgstr "Save & Close"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1611
+msgid ""
+"This wizard will export all data that matches the current search criteria to "
+"a CSV file.\n"
+"            You can export all data or only the fields that can be "
+"reimported after modification."
+msgstr ""
+"This wizard will export all data that matches the current search criteria to "
+"a *.CSV file.\n"
+"            You can export all fields, or only the fields that can be re-"
+"imported automatically."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1618
+msgid "Export Type:"
+msgstr "Export Type:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1620
+msgid "Import Compatible Export"
+msgstr "Export only Data that is compatible for re-importing"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1621
+msgid "Export all Data"
+msgstr "Export all Data"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1624
+msgid "Export Formats"
+msgstr "Export Formats"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1630
+msgid "Available fields"
+msgstr "Available fields"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1632
+msgid "Fields to export"
+msgstr "Fields to export"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1634
+msgid "Save fields list"
+msgstr "Save this list of fields"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1648
+msgid "Remove All"
+msgstr "Remove All"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1660
+msgid "Name"
+msgstr "Name"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1693
+msgid "Save as:"
+msgstr "Save as:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1700
+msgid "Saved exports:"
+msgstr "Saved exports:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1714
+msgid "Old Password:"
+msgstr "Old password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1719
+msgid "New Password:"
+msgstr "New password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1724
+msgid "Confirm Password:"
+msgstr "Confirm password:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1742
+msgid "1. Import a .CSV file"
+msgstr "1. Import a *.CSV file"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1743
+msgid ""
+"Select a .CSV file to import. If you need a sample of file to import,\n"
+"       you should use the export tool with the \"Import Compatible\" option."
+msgstr ""
+"Select a *.CSV file to import.  If you need a sample file to import,\n"
+"        you should \"Export only Data that is compatible for re-importing\"."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1747
+msgid "CSV File:"
+msgstr "*.CSV file:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1750
+msgid "2. Check your file format"
+msgstr "2. Check the format of the file"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1753
+msgid "Import Options"
+msgstr "Import Options"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1757
+msgid "Does your file have titles?"
+msgstr "Does your file have field titles?"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1763
+msgid "Separator:"
+msgstr "Separator:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1765
+msgid "Delimiter:"
+msgstr "Delimiter:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1769
+msgid "Encoding:"
+msgstr "Encoding:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1772
+msgid "UTF-8"
+msgstr "UTF-8"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1773
+msgid "Latin 1"
+msgstr "Latin 1"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1776
+msgid "Lines to skip"
+msgstr "Likes to skip"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1776
+msgid ""
+"For use if CSV files have titles on multiple lines, skips more than a single "
+"line during import"
+msgstr ""
+"Used if *.CSV files have field titles on multiple lines (skips more than a "
+"single line during import)."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1803
+msgid "The import failed due to:"
+msgstr "The import failed due to:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1805
+msgid "Here is a preview of the file we could not import:"
+msgstr "Here is a preview of the file that could not be imported:"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1812
+msgid "Activate the developper mode"
+msgstr "Activate the developer mode"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1814
+msgid "Version"
+msgstr "Version"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1815
+msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved."
+msgstr "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved."
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1816
+msgid "OpenERP is a trademark of the"
+msgstr "OpenERP is a trademark of the"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1817
+msgid "OpenERP SA Company"
+msgstr "OpenERP SA"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1819
+msgid "Licenced under the terms of"
+msgstr "Licensed under the terms of"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1820
+msgid "GNU Affero General Public License"
+msgstr "GNU Affero General Public License (GPL)"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1822
+msgid "For more information visit"
+msgstr "For more information visit"
+
+#. openerp-web
+#: addons/web/static/src/xml/base.xml:1823
+msgid "OpenERP.com"
+msgstr "OpenERP.com"
index df8e5be..01c3ec1 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openerp-web\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2012-02-14 15:27+0100\n"
-"PO-Revision-Date: 2012-03-14 07:11+0000\n"
+"PO-Revision-Date: 2012-03-31 18:44+0000\n"
 "Last-Translator: Masaki Yamaya <Unknown>\n"
 "Language-Team: Japanese <ja@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-03-15 04:53+0000\n"
-"X-Generator: Launchpad (build 14933)\n"
+"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
 
 #. openerp-web
 #: addons/web/static/src/js/chrome.js:172
@@ -53,7 +53,7 @@ msgstr "無効なデータベース名"
 #. openerp-web
 #: addons/web/static/src/js/chrome.js:483
 msgid "Backed"
-msgstr ""
+msgstr "バックアップされました"
 
 #. openerp-web
 #: addons/web/static/src/js/chrome.js:484
@@ -159,17 +159,17 @@ msgstr "ファイルにエクスポート"
 #. openerp-web
 #: addons/web/static/src/js/data_export.js:125
 msgid "Please enter save field list name"
-msgstr ""
+msgstr "保管するフィールドリスト名を入れてください"
 
 #. openerp-web
 #: addons/web/static/src/js/data_export.js:360
 msgid "Please select fields to save export list..."
-msgstr ""
+msgstr "エクスポートリストに保管するフィールドを選んでください"
 
 #. openerp-web
 #: addons/web/static/src/js/data_export.js:373
 msgid "Please select fields to export..."
-msgstr ""
+msgstr "エクスポートするフィールドを選んでください"
 
 #. openerp-web
 #: addons/web/static/src/js/data_import.js:34
@@ -204,7 +204,7 @@ msgstr "ダウンロード \"%s\""
 #. openerp-web
 #: addons/web/static/src/js/search.js:191
 msgid "Filter disabled due to invalid syntax"
-msgstr ""
+msgstr "指定が正しくないためフィルタは無効になりました"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:237
@@ -216,7 +216,7 @@ msgstr "フィルター項目"
 #: addons/web/static/src/js/search.js:291
 #: addons/web/static/src/js/search.js:296
 msgid "OK"
-msgstr "はい"
+msgstr "OK"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:286
@@ -235,26 +235,26 @@ msgstr "無効な検索"
 #: addons/web/static/src/js/search.js:415
 #: addons/web/static/src/js/search.js:420
 msgid "triggered from search view"
-msgstr ""
+msgstr "検索ビューによって起動"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:503
 #: addons/web/static/src/js/search.js:508
 #, python-format
 msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s"
-msgstr ""
+msgstr "フィールド  %(fieldname)s の正しくない値: [%(value)s] は %(message)s"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:839
 #: addons/web/static/src/js/search.js:844
 msgid "not a valid integer"
-msgstr "無効な整数"
+msgstr "正しいトリガーではありません"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:853
 #: addons/web/static/src/js/search.js:858
 msgid "not a valid number"
-msgstr "無効な数値"
+msgstr "正しい数値ではありません"
 
 #. openerp-web
 #: addons/web/static/src/js/search.js:931
@@ -389,13 +389,13 @@ msgstr "は正しい"
 #: addons/web/static/src/js/search.js:1397
 #: addons/web/static/src/js/search.js:1402
 msgid "is false"
-msgstr ""
+msgstr "は正しくない"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:20
 #, python-format
 msgid "Manage Views (%s)"
-msgstr ""
+msgstr "管理ビュー (%s)"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:46
@@ -404,140 +404,140 @@ msgstr ""
 #: addons/web/static/src/xml/base.xml:327
 #: addons/web/static/src/xml/base.xml:756
 msgid "Create"
-msgstr ""
+msgstr "作成"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:47
 #: addons/web/static/src/xml/base.xml:483
 #: addons/web/static/src/xml/base.xml:755
 msgid "Edit"
-msgstr ""
+msgstr "編集"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:48
 #: addons/web/static/src/xml/base.xml:1647
 msgid "Remove"
-msgstr ""
+msgstr "削除"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:71
 #, python-format
 msgid "Create a view (%s)"
-msgstr ""
+msgstr "ビュー (%s) を作成"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:168
 msgid "Do you really want to remove this view?"
-msgstr ""
+msgstr "このビューを削除しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:364
 #, python-format
 msgid "View Editor %d - %s"
-msgstr ""
+msgstr "ビューエディタ %d - %s"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:367
 msgid "Inherited View"
-msgstr ""
+msgstr "継承ビュー"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:371
 msgid "Do you really wants to create an inherited view here?"
-msgstr ""
+msgstr "継承ビューを作成しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:381
 msgid "Preview"
-msgstr ""
+msgstr "プレビュー"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:501
 msgid "Do you really want to remove this node?"
-msgstr ""
+msgstr "このノードを削除しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:815
 #: addons/web/static/src/js/view_editor.js:939
 msgid "Properties"
-msgstr ""
+msgstr "属性"
 
 #. openerp-web
 #: addons/web/static/src/js/view_editor.js:818
 #: addons/web/static/src/js/view_editor.js:942
 msgid "Update"
-msgstr ""
+msgstr "更新"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:16
 msgid "Form"
-msgstr ""
+msgstr "フォーム"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:121
 #: addons/web/static/src/js/views.js:803
 msgid "Customize"
-msgstr ""
+msgstr "カスタマイズ"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:123
 #: addons/web/static/src/js/view_form.js:686
 #: addons/web/static/src/js/view_form.js:692
 msgid "Set Default"
-msgstr ""
+msgstr "デフォルトに設定"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:469
 #: addons/web/static/src/js/view_form.js:475
 msgid ""
 "Warning, the record has been modified, your changes will be discarded."
-msgstr ""
+msgstr "警告,レコードは変更されて,あなたが行った変更は無視されます"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:693
 #: addons/web/static/src/js/view_form.js:699
 msgid "Save default"
-msgstr ""
+msgstr "デフォルトを保管"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:754
 #: addons/web/static/src/js/view_form.js:760
 msgid "Attachments"
-msgstr ""
+msgstr "添付"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:792
 #: addons/web/static/src/js/view_form.js:798
 #, python-format
 msgid "Do you really want to delete the attachment %s?"
-msgstr ""
+msgstr "添付 %s を削除しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:822
 #: addons/web/static/src/js/view_form.js:828
 #, python-format
 msgid "Unknown operator %s in domain %s"
-msgstr ""
+msgstr "ドメイン  %s に無効な演算  %s があります"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:830
 #: addons/web/static/src/js/view_form.js:836
 #, python-format
 msgid "Unknown field %s in domain %s"
-msgstr ""
+msgstr "ドメイン  %s に無効なフィールド  %s があります"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:868
 #: addons/web/static/src/js/view_form.js:874
 #, python-format
 msgid "Unsupported operator %s in domain %s"
-msgstr ""
+msgstr "ドメイン  %s に無効な演算  %s があります"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:1225
 #: addons/web/static/src/js/view_form.js:1231
 msgid "Confirm"
-msgstr ""
+msgstr "確認"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:1921
@@ -547,33 +547,33 @@ msgstr ""
 #: addons/web/static/src/js/view_form.js:2590
 #: addons/web/static/src/js/view_form.js:2760
 msgid "Open: "
-msgstr ""
+msgstr "開く: "
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2049
 #: addons/web/static/src/js/view_form.js:2061
 msgid "<em>   Search More...</em>"
-msgstr ""
+msgstr "<em>   もっと検索…</em>"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2062
 #: addons/web/static/src/js/view_form.js:2074
 #, python-format
 msgid "<em>   Create \"<strong>%s</strong>\"</em>"
-msgstr ""
+msgstr "<em>   作成 \"<strong>%s</strong>\"</em>"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2068
 #: addons/web/static/src/js/view_form.js:2080
 msgid "<em>   Create and Edit...</em>"
-msgstr ""
+msgstr "<em>   作成して編集…</em>"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2101
 #: addons/web/static/src/js/views.js:675
 #: addons/web/static/src/js/view_form.js:2113
 msgid "Search: "
-msgstr ""
+msgstr "検索: "
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2101
@@ -581,7 +581,7 @@ msgstr ""
 #: addons/web/static/src/js/view_form.js:2113
 #: addons/web/static/src/js/view_form.js:2562
 msgid "Create: "
-msgstr ""
+msgstr "作成: "
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2661
@@ -590,604 +590,604 @@ msgstr ""
 #: addons/web/static/src/xml/base.xml:1646
 #: addons/web/static/src/js/view_form.js:2680
 msgid "Add"
-msgstr ""
+msgstr "追加"
 
 #. openerp-web
 #: addons/web/static/src/js/view_form.js:2721
 #: addons/web/static/src/js/view_form.js:2740
 msgid "Add: "
-msgstr ""
+msgstr "追加: "
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:8
 msgid "List"
-msgstr ""
+msgstr "リスト"
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:269
 msgid "Unlimited"
-msgstr ""
+msgstr "制限なし"
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:305
 #: addons/web/static/src/js/view_list.js:309
 #, python-format
 msgid "[%(first_record)d to %(last_record)d] of %(records_count)d"
-msgstr ""
+msgstr "%(records_count)d の [%(first_record)d から %(last_record)d]"
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:524
 #: addons/web/static/src/js/view_list.js:528
 msgid "Do you really want to remove these records?"
-msgstr ""
+msgstr "このレコードを削除しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:1230
 #: addons/web/static/src/js/view_list.js:1232
 msgid "Undefined"
-msgstr ""
+msgstr "未定義"
 
 #. openerp-web
 #: addons/web/static/src/js/view_list.js:1327
 #: addons/web/static/src/js/view_list.js:1331
 #, python-format
 msgid "%(page)d/%(page_count)d"
-msgstr ""
+msgstr "%(page)d/%(page_count)d"
 
 #. openerp-web
 #: addons/web/static/src/js/view_page.js:8
 msgid "Page"
-msgstr ""
+msgstr "ページ"
 
 #. openerp-web
 #: addons/web/static/src/js/view_page.js:52
 msgid "Do you really want to delete this record?"
-msgstr ""
+msgstr "このレコードを削除しますか?"
 
 #. openerp-web
 #: addons/web/static/src/js/view_tree.js:11
 msgid "Tree"
-msgstr ""
+msgstr "ツリー"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:565
 #: addons/web/static/src/xml/base.xml:480
 msgid "Fields View Get"
-msgstr ""
+msgstr "フィールドのビューを得る"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:573
 #, python-format
 msgid "View Log (%s)"
-msgstr ""
+msgstr "ビューのログ (%s)"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:600
 #, python-format
 msgid "Model %s fields"
-msgstr ""
+msgstr "モデル %s フィールド"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:610
 #: addons/web/static/src/xml/base.xml:482
 msgid "Manage Views"
-msgstr ""
+msgstr "ビューの管理"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:611
 msgid "Could not find current view declaration"
-msgstr ""
+msgstr "このビューの定義が見つかりません"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:805
 msgid "Translate"
-msgstr ""
+msgstr "翻訳"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:807
 msgid "Technical translation"
-msgstr ""
+msgstr "技術翻訳"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:811
 msgid "Other Options"
-msgstr ""
+msgstr "その他のオプション"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:814
 #: addons/web/static/src/xml/base.xml:1736
 msgid "Import"
-msgstr ""
+msgstr "インポート"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:817
 #: addons/web/static/src/xml/base.xml:1606
 msgid "Export"
-msgstr ""
+msgstr "エクスポート"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:825
 msgid "Reports"
-msgstr ""
+msgstr "レポート"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:825
 msgid "Actions"
-msgstr ""
+msgstr "アクション"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:825
 msgid "Links"
-msgstr ""
+msgstr "リンク"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:919
 msgid "You must choose at least one record."
-msgstr ""
+msgstr "少なくとも1つのレコードを選んでください"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:920
 msgid "Warning"
-msgstr ""
+msgstr "注意"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:957
 msgid "Translations"
-msgstr ""
+msgstr "翻訳"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:44
 #: addons/web/static/src/xml/base.xml:315
 msgid "Powered by"
-msgstr ""
+msgstr "で動く"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:44
 #: addons/web/static/src/xml/base.xml:315
 #: addons/web/static/src/xml/base.xml:1813
 msgid "OpenERP"
-msgstr ""
+msgstr "OpenERP"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:52
 msgid "Loading..."
-msgstr ""
+msgstr "読込み中..."
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:61
 msgid "CREATE DATABASE"
-msgstr ""
+msgstr "データベース作成"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:68
 #: addons/web/static/src/xml/base.xml:211
 msgid "Master password:"
-msgstr ""
+msgstr "マスタパスワード:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:72
 #: addons/web/static/src/xml/base.xml:191
 msgid "New database name:"
-msgstr ""
+msgstr "新しいデータベース名:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:77
 msgid "Load Demonstration data:"
-msgstr ""
+msgstr "デモ用のデータを読込み中:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:81
 msgid "Default language:"
-msgstr ""
+msgstr "デフォルトの言語:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:91
 msgid "Admin password:"
-msgstr ""
+msgstr "アドミン用パスワード:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:95
 msgid "Confirm password:"
-msgstr ""
+msgstr "パスワード確認"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:109
 msgid "DROP DATABASE"
-msgstr ""
+msgstr "データベースを破棄"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:116
 #: addons/web/static/src/xml/base.xml:150
 #: addons/web/static/src/xml/base.xml:301
 msgid "Database:"
-msgstr ""
+msgstr "データベース:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:128
 #: addons/web/static/src/xml/base.xml:162
 #: addons/web/static/src/xml/base.xml:187
 msgid "Master Password:"
-msgstr ""
+msgstr "マスタパスワード:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:132
 #: addons/web/static/src/xml/base.xml:328
 msgid "Drop"
-msgstr ""
+msgstr "破棄"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:143
 msgid "BACKUP DATABASE"
-msgstr ""
+msgstr "データベースをバックアップ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:166
 #: addons/web/static/src/xml/base.xml:329
 msgid "Backup"
-msgstr ""
+msgstr "バックアップ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:175
 msgid "RESTORE DATABASE"
-msgstr ""
+msgstr "データベースをリストア"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:182
 msgid "File:"
-msgstr ""
+msgstr "ファイル:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:195
 #: addons/web/static/src/xml/base.xml:330
 msgid "Restore"
-msgstr ""
+msgstr "リストア"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:204
 msgid "CHANGE MASTER PASSWORD"
-msgstr ""
+msgstr "マスタパスワードの変更"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:216
 msgid "New master password:"
-msgstr ""
+msgstr "新しいマスタパスワード:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:221
 msgid "Confirm new master password:"
-msgstr ""
+msgstr "新しいマスタパスワードの確認:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:251
 msgid ""
 "Your version of OpenERP is unsupported. Support & maintenance services are "
 "available here:"
-msgstr ""
+msgstr "このOpenERPはサポートされていあせん。サポート保守サービスはこちらまで:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:251
 msgid "OpenERP Entreprise"
-msgstr ""
+msgstr "OpenERPエンタープライズ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:256
 msgid "OpenERP Enterprise Contract."
-msgstr ""
+msgstr "OpenERPエンタープライズ契約"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:257
 msgid "Your report will be sent to the OpenERP Enterprise team."
-msgstr ""
+msgstr "あなたのレポートをOpenERPエンタープライズチームに送ります"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:259
 msgid "Summary:"
-msgstr ""
+msgstr "要約:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:263
 msgid "Description:"
-msgstr ""
+msgstr "説明:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:267
 msgid "What you did:"
-msgstr ""
+msgstr "あなたが行ったこと:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:297
 msgid "Invalid username or password"
-msgstr ""
+msgstr "ユーザ名またはパスワードが間違っています"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:306
 msgid "Username"
-msgstr ""
+msgstr "ユーザ名"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:308
 #: addons/web/static/src/xml/base.xml:331
 msgid "Password"
-msgstr ""
+msgstr "パスワード"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:310
 msgid "Log in"
-msgstr ""
+msgstr "ログイン"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:314
 msgid "Manage Databases"
-msgstr ""
+msgstr "データベースの管理"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:332
 msgid "Back to Login"
-msgstr ""
+msgstr "ログインへ戻る"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:353
 msgid "Home"
-msgstr ""
+msgstr "ホーム"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:363
 msgid "LOGOUT"
-msgstr ""
+msgstr "ログアウト"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:388
 msgid "Fold menu"
-msgstr ""
+msgstr "メニューをたたむ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:389
 msgid "Unfold menu"
-msgstr ""
+msgstr "メニューを広げる"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:454
 msgid "Hide this tip"
-msgstr ""
+msgstr "この説明を隠す"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:455
 msgid "Disable all tips"
-msgstr ""
+msgstr "全ての説明を無効にする"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:463
 msgid "Add / Remove Shortcut..."
-msgstr ""
+msgstr "ショートカットを追加 / 削除…"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:471
 msgid "More…"
-msgstr ""
+msgstr "もっと…"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:477
 msgid "Debug View#"
-msgstr ""
+msgstr "ビュー#をデバッグ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:478
 msgid "View Log (perm_read)"
-msgstr ""
+msgstr "ログ (perm_read) のビュー"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:479
 msgid "View Fields"
-msgstr ""
+msgstr "フィールドのビュー"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:483
 msgid "View"
-msgstr ""
+msgstr "ビュー"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:484
 msgid "Edit SearchView"
-msgstr ""
+msgstr "サーチビューを編集"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:485
 msgid "Edit Action"
-msgstr ""
+msgstr "アクションを編集"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:486
 msgid "Edit Workflow"
-msgstr ""
+msgstr "ワークフローを編集"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:491
 msgid "ID:"
-msgstr ""
+msgstr "ID:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:494
 msgid "XML ID:"
-msgstr ""
+msgstr "XML ID:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:497
 msgid "Creation User:"
-msgstr ""
+msgstr "ユーザの作成:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:500
 msgid "Creation Date:"
-msgstr ""
+msgstr "日付の作成:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:503
 msgid "Latest Modification by:"
-msgstr ""
+msgstr "最近の修正は:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:506
 msgid "Latest Modification Date:"
-msgstr ""
+msgstr "最近修正した日付:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:542
 msgid "Field"
-msgstr ""
+msgstr "フィールド"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:632
 #: addons/web/static/src/xml/base.xml:758
 #: addons/web/static/src/xml/base.xml:1708
 msgid "Delete"
-msgstr ""
+msgstr "削除"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:757
 msgid "Duplicate"
-msgstr ""
+msgstr "重複"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:775
 msgid "Add attachment"
-msgstr ""
+msgstr "添付を追加"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:801
 msgid "Default:"
-msgstr ""
+msgstr "デフォルト:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:818
 msgid "Condition:"
-msgstr ""
+msgstr "状態:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:837
 msgid "Only you"
-msgstr ""
+msgstr "あなただけ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:844
 msgid "All users"
-msgstr ""
+msgstr "全てのユーザ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:851
 msgid "Unhandled widget"
-msgstr ""
+msgstr "処理されないウィジェット"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:900
 msgid "Notebook Page \""
-msgstr ""
+msgstr "ノートブックのページ \""
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:905
 #: addons/web/static/src/xml/base.xml:964
 msgid "Modifiers:"
-msgstr ""
+msgstr "修飾:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:931
 msgid "(nolabel)"
-msgstr ""
+msgstr "(nolabel)"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:936
 msgid "Field:"
-msgstr ""
+msgstr "フィールド:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:940
 msgid "Object:"
-msgstr ""
+msgstr "オブジェクト:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:944
 msgid "Type:"
-msgstr ""
+msgstr "タイプ:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:948
 msgid "Widget:"
-msgstr ""
+msgstr "ウィジェット:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:952
 msgid "Size:"
-msgstr ""
+msgstr "サイズ:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:956
 msgid "Context:"
-msgstr ""
+msgstr "コンテキスト"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:960
 msgid "Domain:"
-msgstr ""
+msgstr "ドメイン:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:968
 msgid "Change default:"
-msgstr ""
+msgstr "デフォルトの変更:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:972
 msgid "On change:"
-msgstr ""
+msgstr "変更:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:976
 msgid "Relation:"
-msgstr ""
+msgstr "関係:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:980
 msgid "Selection:"
-msgstr ""
+msgstr "選択:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1020
 msgid "Send an e-mail with your default e-mail client"
-msgstr ""
+msgstr "デフォルトのeメールクライアントとしてeメールを送信"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1034
 msgid "Open this resource"
-msgstr ""
+msgstr "このリソースを開く"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1056
 msgid "Select date"
-msgstr ""
+msgstr "日付を選択"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1090
 msgid "Open..."
-msgstr ""
+msgstr "開く..."
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1091
 msgid "Create..."
-msgstr ""
+msgstr "作成..."
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1092
 msgid "Search..."
-msgstr ""
+msgstr "検索…"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1095
 msgid "..."
-msgstr ""
+msgstr "..."
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1155
 #: addons/web/static/src/xml/base.xml:1198
 msgid "Set Image"
-msgstr ""
+msgstr "イメージをセット"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1163
@@ -1195,150 +1195,150 @@ msgstr ""
 #: addons/web/static/src/xml/base.xml:1215
 #: addons/web/static/src/xml/base.xml:1272
 msgid "Clear"
-msgstr ""
+msgstr "クリアー"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1172
 #: addons/web/static/src/xml/base.xml:1223
 msgid "Uploading ..."
-msgstr ""
+msgstr "アップロード中…"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1200
 #: addons/web/static/src/xml/base.xml:1495
 msgid "Select"
-msgstr ""
+msgstr "選択"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1207
 #: addons/web/static/src/xml/base.xml:1209
 msgid "Save As"
-msgstr ""
+msgstr "名前を付けて保存"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1238
 msgid "Button"
-msgstr ""
+msgstr "ボタン"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1241
 msgid "(no string)"
-msgstr ""
+msgstr "(ストリングなし)"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1248
 msgid "Special:"
-msgstr ""
+msgstr "特別:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1253
 msgid "Button Type:"
-msgstr ""
+msgstr "ボタンのタイプ:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1257
 msgid "Method:"
-msgstr ""
+msgstr "メソッド:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1261
 msgid "Action ID:"
-msgstr ""
+msgstr "アクションID:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1271
 msgid "Search"
-msgstr ""
+msgstr "検索"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1279
 msgid "Filters"
-msgstr ""
+msgstr "フィルタ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1280
 msgid "-- Filters --"
-msgstr ""
+msgstr "--フィルタ--"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1289
 msgid "-- Actions --"
-msgstr ""
+msgstr "--アクション--"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1290
 msgid "Add Advanced Filter"
-msgstr ""
+msgstr "高度なフィルタを追加"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1291
 msgid "Save Filter"
-msgstr ""
+msgstr "フィルタを保存"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1293
 msgid "Manage Filters"
-msgstr ""
+msgstr "フィルタの管理"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1298
 msgid "Filter Name:"
-msgstr ""
+msgstr "フィルタ名"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1300
 msgid "(Any existing filter with the same name will be replaced)"
-msgstr ""
+msgstr "(同じ名前の既存のフィルタは置き換えられます)"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1305
 msgid "Select Dashboard to add this filter to:"
-msgstr ""
+msgstr "このフィルタを追加するためのダッシュボードを選んでください:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1309
 msgid "Title of new Dashboard item:"
-msgstr ""
+msgstr "新しいダッシュボード項目のタイトル:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1416
 msgid "Advanced Filters"
-msgstr ""
+msgstr "高度なフィルタ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1426
 msgid "Any of the following conditions must match"
-msgstr ""
+msgstr "次のいずれかの条件を満たさなければなりません"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1427
 msgid "All the following conditions must match"
-msgstr ""
+msgstr "次の全ての条件を満たさなければなりません"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1428
 msgid "None of the following conditions must match"
-msgstr ""
+msgstr "次のいずれの条件も満たしてはいけません"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1435
 msgid "Add condition"
-msgstr ""
+msgstr "条件の追加"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1436
 msgid "and"
-msgstr ""
+msgstr "と"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1503
 msgid "Save & New"
-msgstr ""
+msgstr "保存して新規"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1504
 msgid "Save & Close"
-msgstr ""
+msgstr "保存して閉じる"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1611
@@ -1348,81 +1348,83 @@ msgid ""
 "            You can export all data or only the fields that can be "
 "reimported after modification."
 msgstr ""
+"このウェザードは,検索条件に合った全てのデータをCSVファイルとしてエクスポートします。\n"
+"            全てのデータあるいは変更したあと再インポートできるフィールドのみをエクスポートできます。"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1618
 msgid "Export Type:"
-msgstr ""
+msgstr "エクスポートのタイプ:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1620
 msgid "Import Compatible Export"
-msgstr ""
+msgstr "インポートと互換性があるエクスポート"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1621
 msgid "Export all Data"
-msgstr ""
+msgstr "全てのデータをエクスポート"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1624
 msgid "Export Formats"
-msgstr ""
+msgstr "エクスポートの形式"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1630
 msgid "Available fields"
-msgstr ""
+msgstr "利用可能なフィールド"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1632
 msgid "Fields to export"
-msgstr ""
+msgstr "エクスポートするフィールド"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1634
 msgid "Save fields list"
-msgstr ""
+msgstr "フィールドリストを保存"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1648
 msgid "Remove All"
-msgstr ""
+msgstr "全てを削除"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1660
 msgid "Name"
-msgstr ""
+msgstr "名前"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1693
 msgid "Save as:"
-msgstr ""
+msgstr "名前を付けて保存 :"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1700
 msgid "Saved exports:"
-msgstr ""
+msgstr "保存されたエクスポート"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1714
 msgid "Old Password:"
-msgstr ""
+msgstr "古いパスワード"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1719
 msgid "New Password:"
-msgstr ""
+msgstr "新しいパスワード:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1724
 msgid "Confirm Password:"
-msgstr ""
+msgstr "パスワードの確認:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1742
 msgid "1. Import a .CSV file"
-msgstr ""
+msgstr "1. CVSファイルのインポート"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1743
@@ -1430,115 +1432,117 @@ msgid ""
 "Select a .CSV file to import. If you need a sample of file to import,\n"
 "       you should use the export tool with the \"Import Compatible\" option."
 msgstr ""
+"インポートするファイルのサンプルが必要ならば,インポートするCSVファイルを選択\n"
+"      インポート互換のエクスポートツールを使ってください"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1747
 msgid "CSV File:"
-msgstr ""
+msgstr "CSVファイル"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1750
 msgid "2. Check your file format"
-msgstr ""
+msgstr "2. ファイル形式をチェックしてください"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1753
 msgid "Import Options"
-msgstr ""
+msgstr "インポートオプション"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1757
 msgid "Does your file have titles?"
-msgstr ""
+msgstr "そのファイルはタイトルを持っていますか?"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1763
 msgid "Separator:"
-msgstr ""
+msgstr "区切り文字:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1765
 msgid "Delimiter:"
-msgstr ""
+msgstr "区切り文字:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1769
 msgid "Encoding:"
-msgstr ""
+msgstr "エンコーディング:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1772
 msgid "UTF-8"
-msgstr ""
+msgstr "UTF-8"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1773
 msgid "Latin 1"
-msgstr ""
+msgstr "ラテン1"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1776
 msgid "Lines to skip"
-msgstr ""
+msgstr "スキップする行"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1776
 msgid ""
 "For use if CSV files have titles on multiple lines, skips more than a single "
 "line during import"
-msgstr ""
+msgstr "CVSファイルが,複数行にタイトルを持っていたら,インポートの際に1行以上をスキップする"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1803
 msgid "The import failed due to:"
-msgstr ""
+msgstr "次の理由でインポートに失敗しました:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1805
 msgid "Here is a preview of the file we could not import:"
-msgstr ""
+msgstr "インポートできなかったファイルのポレビュー:"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1812
 msgid "Activate the developper mode"
-msgstr ""
+msgstr "開発者モードに設定してください"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1814
 msgid "Version"
-msgstr ""
+msgstr "バージョン"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1815
 msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved."
-msgstr ""
+msgstr "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved."
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1816
 msgid "OpenERP is a trademark of the"
-msgstr ""
+msgstr "OpenERPは商標です"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1817
 msgid "OpenERP SA Company"
-msgstr ""
+msgstr "OpenERP SA Company"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1819
 msgid "Licenced under the terms of"
-msgstr ""
+msgstr "ライセンスに準拠"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1820
 msgid "GNU Affero General Public License"
-msgstr ""
+msgstr "GNU Affero General Public License"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1822
 msgid "For more information visit"
-msgstr ""
+msgstr "もっと詳しい情報はこちらへ"
 
 #. openerp-web
 #: addons/web/static/src/xml/base.xml:1823
 msgid "OpenERP.com"
-msgstr ""
+msgstr "OpenERP.com"
index a303a2f..057d2f0 100644 (file)
@@ -8,13 +8,13 @@ msgstr ""
 "Project-Id-Version: openerp-web\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2012-02-14 15:27+0100\n"
-"PO-Revision-Date: 2012-03-28 12:49+0000\n"
+"PO-Revision-Date: 2012-03-29 13:30+0000\n"
 "Last-Translator: Erwin <Unknown>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2012-03-29 04:46+0000\n"
+"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n"
 "X-Generator: Launchpad (build 15032)\n"
 
 #. openerp-web
@@ -708,7 +708,7 @@ msgstr "Exporteren"
 #. openerp-web
 #: addons/web/static/src/js/views.js:825
 msgid "Reports"
-msgstr "Overzichten"
+msgstr "Rapportages"
 
 #. openerp-web
 #: addons/web/static/src/js/views.js:825
diff --git a/addons/web/static/lib/jquery.bootstrap/css/bootstrap-responsive.css b/addons/web/static/lib/jquery.bootstrap/css/bootstrap-responsive.css
new file mode 100644 (file)
index 0000000..0bc6de9
--- /dev/null
@@ -0,0 +1,686 @@
+/*!
+ * Bootstrap Responsive v2.0.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+.clearfix {
+  *zoom: 1;
+}
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+}
+.clearfix:after {
+  clear: both;
+}
+.hide-text {
+  overflow: hidden;
+  text-indent: 100%;
+  white-space: nowrap;
+}
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 28px;
+  /* Make inputs at least the height of their button counterpart */
+
+  /* Makes inputs behave like true block-level elements */
+
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.hidden {
+  display: none;
+  visibility: hidden;
+}
+.visible-phone {
+  display: none;
+}
+.visible-tablet {
+  display: none;
+}
+.visible-desktop {
+  display: block;
+}
+.hidden-phone {
+  display: block;
+}
+.hidden-tablet {
+  display: block;
+}
+.hidden-desktop {
+  display: none;
+}
+@media (max-width: 767px) {
+  .visible-phone {
+    display: block;
+  }
+  .hidden-phone {
+    display: none;
+  }
+  .hidden-desktop {
+    display: block;
+  }
+  .visible-desktop {
+    display: none;
+  }
+}
+@media (min-width: 768px) and (max-width: 979px) {
+  .visible-tablet {
+    display: block;
+  }
+  .hidden-tablet {
+    display: none;
+  }
+  .hidden-desktop {
+    display: block;
+  }
+  .visible-desktop {
+    display: none;
+  }
+}
+@media (max-width: 480px) {
+  .nav-collapse {
+    -webkit-transform: translate3d(0, 0, 0);
+  }
+  .page-header h1 small {
+    display: block;
+    line-height: 18px;
+  }
+  input[type="checkbox"],
+  input[type="radio"] {
+    border: 1px solid #ccc;
+  }
+  .form-horizontal .control-group > label {
+    float: none;
+    width: auto;
+    padding-top: 0;
+    text-align: left;
+  }
+  .form-horizontal .controls {
+    margin-left: 0;
+  }
+  .form-horizontal .control-list {
+    padding-top: 0;
+  }
+  .form-horizontal .form-actions {
+    padding-left: 10px;
+    padding-right: 10px;
+  }
+  .modal {
+    position: absolute;
+    top: 10px;
+    left: 10px;
+    right: 10px;
+    width: auto;
+    margin: 0;
+  }
+  .modal.fade.in {
+    top: auto;
+  }
+  .modal-header .close {
+    padding: 10px;
+    margin: -10px;
+  }
+  .carousel-caption {
+    position: static;
+  }
+}
+@media (max-width: 767px) {
+  body {
+    padding-left: 20px;
+    padding-right: 20px;
+  }
+  .navbar-fixed-top {
+    margin-left: -20px;
+    margin-right: -20px;
+  }
+  .container {
+    width: auto;
+  }
+  .row-fluid {
+    width: 100%;
+  }
+  .row {
+    margin-left: 0;
+  }
+  .row > [class*="span"],
+  .row-fluid > [class*="span"] {
+    float: none;
+    display: block;
+    width: auto;
+    margin: 0;
+  }
+  .thumbnails [class*="span"] {
+    width: auto;
+  }
+  input[class*="span"],
+  select[class*="span"],
+  textarea[class*="span"],
+  .uneditable-input {
+    display: block;
+    width: 100%;
+    min-height: 28px;
+    /* Make inputs at least the height of their button counterpart */
+  
+    /* Makes inputs behave like true block-level elements */
+  
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .input-prepend input[class*="span"],
+  .input-append input[class*="span"] {
+    width: auto;
+  }
+}
+@media (min-width: 768px) and (max-width: 979px) {
+  .row {
+    margin-left: -20px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    margin-left: 20px;
+  }
+  .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 724px;
+  }
+  .span12 {
+    width: 724px;
+  }
+  .span11 {
+    width: 662px;
+  }
+  .span10 {
+    width: 600px;
+  }
+  .span9 {
+    width: 538px;
+  }
+  .span8 {
+    width: 476px;
+  }
+  .span7 {
+    width: 414px;
+  }
+  .span6 {
+    width: 352px;
+  }
+  .span5 {
+    width: 290px;
+  }
+  .span4 {
+    width: 228px;
+  }
+  .span3 {
+    width: 166px;
+  }
+  .span2 {
+    width: 104px;
+  }
+  .span1 {
+    width: 42px;
+  }
+  .offset12 {
+    margin-left: 764px;
+  }
+  .offset11 {
+    margin-left: 702px;
+  }
+  .offset10 {
+    margin-left: 640px;
+  }
+  .offset9 {
+    margin-left: 578px;
+  }
+  .offset8 {
+    margin-left: 516px;
+  }
+  .offset7 {
+    margin-left: 454px;
+  }
+  .offset6 {
+    margin-left: 392px;
+  }
+  .offset5 {
+    margin-left: 330px;
+  }
+  .offset4 {
+    margin-left: 268px;
+  }
+  .offset3 {
+    margin-left: 206px;
+  }
+  .offset2 {
+    margin-left: 144px;
+  }
+  .offset1 {
+    margin-left: 82px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid > [class*="span"] {
+    float: left;
+    margin-left: 2.762430939%;
+  }
+  .row-fluid > [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid > .span12 {
+    width: 99.999999993%;
+  }
+  .row-fluid > .span11 {
+    width: 91.436464082%;
+  }
+  .row-fluid > .span10 {
+    width: 82.87292817100001%;
+  }
+  .row-fluid > .span9 {
+    width: 74.30939226%;
+  }
+  .row-fluid > .span8 {
+    width: 65.74585634900001%;
+  }
+  .row-fluid > .span7 {
+    width: 57.182320438000005%;
+  }
+  .row-fluid > .span6 {
+    width: 48.618784527%;
+  }
+  .row-fluid > .span5 {
+    width: 40.055248616%;
+  }
+  .row-fluid > .span4 {
+    width: 31.491712705%;
+  }
+  .row-fluid > .span3 {
+    width: 22.928176794%;
+  }
+  .row-fluid > .span2 {
+    width: 14.364640883%;
+  }
+  .row-fluid > .span1 {
+    width: 5.801104972%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  input.span12, textarea.span12, .uneditable-input.span12 {
+    width: 714px;
+  }
+  input.span11, textarea.span11, .uneditable-input.span11 {
+    width: 652px;
+  }
+  input.span10, textarea.span10, .uneditable-input.span10 {
+    width: 590px;
+  }
+  input.span9, textarea.span9, .uneditable-input.span9 {
+    width: 528px;
+  }
+  input.span8, textarea.span8, .uneditable-input.span8 {
+    width: 466px;
+  }
+  input.span7, textarea.span7, .uneditable-input.span7 {
+    width: 404px;
+  }
+  input.span6, textarea.span6, .uneditable-input.span6 {
+    width: 342px;
+  }
+  input.span5, textarea.span5, .uneditable-input.span5 {
+    width: 280px;
+  }
+  input.span4, textarea.span4, .uneditable-input.span4 {
+    width: 218px;
+  }
+  input.span3, textarea.span3, .uneditable-input.span3 {
+    width: 156px;
+  }
+  input.span2, textarea.span2, .uneditable-input.span2 {
+    width: 94px;
+  }
+  input.span1, textarea.span1, .uneditable-input.span1 {
+    width: 32px;
+  }
+}
+@media (max-width: 979px) {
+  body {
+    padding-top: 0;
+  }
+  .navbar-fixed-top {
+    position: static;
+    margin-bottom: 18px;
+  }
+  .navbar-fixed-top .navbar-inner {
+    padding: 5px;
+  }
+  .navbar .container {
+    width: auto;
+    padding: 0;
+  }
+  .navbar .brand {
+    padding-left: 10px;
+    padding-right: 10px;
+    margin: 0 0 0 -5px;
+  }
+  .navbar .nav-collapse {
+    clear: left;
+  }
+  .navbar .nav {
+    float: none;
+    margin: 0 0 9px;
+  }
+  .navbar .nav > li {
+    float: none;
+  }
+  .navbar .nav > li > a {
+    margin-bottom: 2px;
+  }
+  .navbar .nav > .divider-vertical {
+    display: none;
+  }
+  .navbar .nav .nav-header {
+    color: #999999;
+    text-shadow: none;
+  }
+  .navbar .nav > li > a,
+  .navbar .dropdown-menu a {
+    padding: 6px 15px;
+    font-weight: bold;
+    color: #999999;
+    -webkit-border-radius: 3px;
+    -moz-border-radius: 3px;
+    border-radius: 3px;
+  }
+  .navbar .dropdown-menu li + li a {
+    margin-bottom: 2px;
+  }
+  .navbar .nav > li > a:hover,
+  .navbar .dropdown-menu a:hover {
+    background-color: #222222;
+  }
+  .navbar .dropdown-menu {
+    position: static;
+    top: auto;
+    left: auto;
+    float: none;
+    display: block;
+    max-width: none;
+    margin: 0 15px;
+    padding: 0;
+    background-color: transparent;
+    border: none;
+    -webkit-border-radius: 0;
+    -moz-border-radius: 0;
+    border-radius: 0;
+    -webkit-box-shadow: none;
+    -moz-box-shadow: none;
+    box-shadow: none;
+  }
+  .navbar .dropdown-menu:before,
+  .navbar .dropdown-menu:after {
+    display: none;
+  }
+  .navbar .dropdown-menu .divider {
+    display: none;
+  }
+  .navbar-form,
+  .navbar-search {
+    float: none;
+    padding: 9px 15px;
+    margin: 9px 0;
+    border-top: 1px solid #222222;
+    border-bottom: 1px solid #222222;
+    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
+  }
+  .navbar .nav.pull-right {
+    float: none;
+    margin-left: 0;
+  }
+  .navbar-static .navbar-inner {
+    padding-left: 10px;
+    padding-right: 10px;
+  }
+  .btn-navbar {
+    display: block;
+  }
+  .nav-collapse {
+    overflow: hidden;
+    height: 0;
+  }
+}
+@media (min-width: 980px) {
+  .nav-collapse.collapse {
+    height: auto !important;
+    overflow: visible !important;
+  }
+}
+@media (min-width: 1200px) {
+  .row {
+    margin-left: -30px;
+    *zoom: 1;
+  }
+  .row:before,
+  .row:after {
+    display: table;
+    content: "";
+  }
+  .row:after {
+    clear: both;
+  }
+  [class*="span"] {
+    float: left;
+    margin-left: 30px;
+  }
+  .container,
+  .navbar-fixed-top .container,
+  .navbar-fixed-bottom .container {
+    width: 1170px;
+  }
+  .span12 {
+    width: 1170px;
+  }
+  .span11 {
+    width: 1070px;
+  }
+  .span10 {
+    width: 970px;
+  }
+  .span9 {
+    width: 870px;
+  }
+  .span8 {
+    width: 770px;
+  }
+  .span7 {
+    width: 670px;
+  }
+  .span6 {
+    width: 570px;
+  }
+  .span5 {
+    width: 470px;
+  }
+  .span4 {
+    width: 370px;
+  }
+  .span3 {
+    width: 270px;
+  }
+  .span2 {
+    width: 170px;
+  }
+  .span1 {
+    width: 70px;
+  }
+  .offset12 {
+    margin-left: 1230px;
+  }
+  .offset11 {
+    margin-left: 1130px;
+  }
+  .offset10 {
+    margin-left: 1030px;
+  }
+  .offset9 {
+    margin-left: 930px;
+  }
+  .offset8 {
+    margin-left: 830px;
+  }
+  .offset7 {
+    margin-left: 730px;
+  }
+  .offset6 {
+    margin-left: 630px;
+  }
+  .offset5 {
+    margin-left: 530px;
+  }
+  .offset4 {
+    margin-left: 430px;
+  }
+  .offset3 {
+    margin-left: 330px;
+  }
+  .offset2 {
+    margin-left: 230px;
+  }
+  .offset1 {
+    margin-left: 130px;
+  }
+  .row-fluid {
+    width: 100%;
+    *zoom: 1;
+  }
+  .row-fluid:before,
+  .row-fluid:after {
+    display: table;
+    content: "";
+  }
+  .row-fluid:after {
+    clear: both;
+  }
+  .row-fluid > [class*="span"] {
+    float: left;
+    margin-left: 2.564102564%;
+  }
+  .row-fluid > [class*="span"]:first-child {
+    margin-left: 0;
+  }
+  .row-fluid > .span12 {
+    width: 100%;
+  }
+  .row-fluid > .span11 {
+    width: 91.45299145300001%;
+  }
+  .row-fluid > .span10 {
+    width: 82.905982906%;
+  }
+  .row-fluid > .span9 {
+    width: 74.358974359%;
+  }
+  .row-fluid > .span8 {
+    width: 65.81196581200001%;
+  }
+  .row-fluid > .span7 {
+    width: 57.264957265%;
+  }
+  .row-fluid > .span6 {
+    width: 48.717948718%;
+  }
+  .row-fluid > .span5 {
+    width: 40.170940171000005%;
+  }
+  .row-fluid > .span4 {
+    width: 31.623931624%;
+  }
+  .row-fluid > .span3 {
+    width: 23.076923077%;
+  }
+  .row-fluid > .span2 {
+    width: 14.529914530000001%;
+  }
+  .row-fluid > .span1 {
+    width: 5.982905983%;
+  }
+  input,
+  textarea,
+  .uneditable-input {
+    margin-left: 0;
+  }
+  input.span12, textarea.span12, .uneditable-input.span12 {
+    width: 1160px;
+  }
+  input.span11, textarea.span11, .uneditable-input.span11 {
+    width: 1060px;
+  }
+  input.span10, textarea.span10, .uneditable-input.span10 {
+    width: 960px;
+  }
+  input.span9, textarea.span9, .uneditable-input.span9 {
+    width: 860px;
+  }
+  input.span8, textarea.span8, .uneditable-input.span8 {
+    width: 760px;
+  }
+  input.span7, textarea.span7, .uneditable-input.span7 {
+    width: 660px;
+  }
+  input.span6, textarea.span6, .uneditable-input.span6 {
+    width: 560px;
+  }
+  input.span5, textarea.span5, .uneditable-input.span5 {
+    width: 460px;
+  }
+  input.span4, textarea.span4, .uneditable-input.span4 {
+    width: 360px;
+  }
+  input.span3, textarea.span3, .uneditable-input.span3 {
+    width: 260px;
+  }
+  input.span2, textarea.span2, .uneditable-input.span2 {
+    width: 160px;
+  }
+  input.span1, textarea.span1, .uneditable-input.span1 {
+    width: 60px;
+  }
+  .thumbnails {
+    margin-left: -30px;
+  }
+  .thumbnails > li {
+    margin-left: 30px;
+  }
+}
diff --git a/addons/web/static/lib/jquery.bootstrap/css/bootstrap.css b/addons/web/static/lib/jquery.bootstrap/css/bootstrap.css
new file mode 100644 (file)
index 0000000..495188a
--- /dev/null
@@ -0,0 +1,3990 @@
+/*!
+ * Bootstrap v2.0.2
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section {
+  display: block;
+}
+audio,
+canvas,
+video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+audio:not([controls]) {
+  display: none;
+}
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+a:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+a:hover,
+a:active {
+  outline: 0;
+}
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+img {
+  height: auto;
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+  vertical-align: middle;
+}
+button,
+input,
+select,
+textarea {
+  margin: 0;
+  font-size: 100%;
+  vertical-align: middle;
+}
+button,
+input {
+  *overflow: visible;
+  line-height: normal;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  -webkit-box-sizing: content-box;
+  -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
+.clearfix {
+  *zoom: 1;
+}
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+}
+.clearfix:after {
+  clear: both;
+}
+.hide-text {
+  overflow: hidden;
+  text-indent: 100%;
+  white-space: nowrap;
+}
+.input-block-level {
+  display: block;
+  width: 100%;
+  min-height: 28px;
+  /* Make inputs at least the height of their button counterpart */
+
+  /* Makes inputs behave like true block-level elements */
+
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+body {
+  margin: 0;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  line-height: 18px;
+  color: #333333;
+  background-color: #ffffff;
+}
+a {
+  color: #0088cc;
+  text-decoration: none;
+}
+a:hover {
+  color: #005580;
+  text-decoration: underline;
+}
+.row {
+  margin-left: -20px;
+  *zoom: 1;
+}
+.row:before,
+.row:after {
+  display: table;
+  content: "";
+}
+.row:after {
+  clear: both;
+}
+[class*="span"] {
+  float: left;
+  margin-left: 20px;
+}
+.container,
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+  width: 940px;
+}
+.span12 {
+  width: 940px;
+}
+.span11 {
+  width: 860px;
+}
+.span10 {
+  width: 780px;
+}
+.span9 {
+  width: 700px;
+}
+.span8 {
+  width: 620px;
+}
+.span7 {
+  width: 540px;
+}
+.span6 {
+  width: 460px;
+}
+.span5 {
+  width: 380px;
+}
+.span4 {
+  width: 300px;
+}
+.span3 {
+  width: 220px;
+}
+.span2 {
+  width: 140px;
+}
+.span1 {
+  width: 60px;
+}
+.offset12 {
+  margin-left: 980px;
+}
+.offset11 {
+  margin-left: 900px;
+}
+.offset10 {
+  margin-left: 820px;
+}
+.offset9 {
+  margin-left: 740px;
+}
+.offset8 {
+  margin-left: 660px;
+}
+.offset7 {
+  margin-left: 580px;
+}
+.offset6 {
+  margin-left: 500px;
+}
+.offset5 {
+  margin-left: 420px;
+}
+.offset4 {
+  margin-left: 340px;
+}
+.offset3 {
+  margin-left: 260px;
+}
+.offset2 {
+  margin-left: 180px;
+}
+.offset1 {
+  margin-left: 100px;
+}
+.row-fluid {
+  width: 100%;
+  *zoom: 1;
+}
+.row-fluid:before,
+.row-fluid:after {
+  display: table;
+  content: "";
+}
+.row-fluid:after {
+  clear: both;
+}
+.row-fluid > [class*="span"] {
+  float: left;
+  margin-left: 2.127659574%;
+}
+.row-fluid > [class*="span"]:first-child {
+  margin-left: 0;
+}
+.row-fluid > .span12 {
+  width: 99.99999998999999%;
+}
+.row-fluid > .span11 {
+  width: 91.489361693%;
+}
+.row-fluid > .span10 {
+  width: 82.97872339599999%;
+}
+.row-fluid > .span9 {
+  width: 74.468085099%;
+}
+.row-fluid > .span8 {
+  width: 65.95744680199999%;
+}
+.row-fluid > .span7 {
+  width: 57.446808505%;
+}
+.row-fluid > .span6 {
+  width: 48.93617020799999%;
+}
+.row-fluid > .span5 {
+  width: 40.425531911%;
+}
+.row-fluid > .span4 {
+  width: 31.914893614%;
+}
+.row-fluid > .span3 {
+  width: 23.404255317%;
+}
+.row-fluid > .span2 {
+  width: 14.89361702%;
+}
+.row-fluid > .span1 {
+  width: 6.382978723%;
+}
+.container {
+  margin-left: auto;
+  margin-right: auto;
+  *zoom: 1;
+}
+.container:before,
+.container:after {
+  display: table;
+  content: "";
+}
+.container:after {
+  clear: both;
+}
+.container-fluid {
+  padding-left: 20px;
+  padding-right: 20px;
+  *zoom: 1;
+}
+.container-fluid:before,
+.container-fluid:after {
+  display: table;
+  content: "";
+}
+.container-fluid:after {
+  clear: both;
+}
+p {
+  margin: 0 0 9px;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  line-height: 18px;
+}
+p small {
+  font-size: 11px;
+  color: #999999;
+}
+.lead {
+  margin-bottom: 18px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 27px;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  margin: 0;
+  font-family: inherit;
+  font-weight: bold;
+  color: inherit;
+  text-rendering: optimizelegibility;
+}
+h1 small,
+h2 small,
+h3 small,
+h4 small,
+h5 small,
+h6 small {
+  font-weight: normal;
+  color: #999999;
+}
+h1 {
+  font-size: 30px;
+  line-height: 36px;
+}
+h1 small {
+  font-size: 18px;
+}
+h2 {
+  font-size: 24px;
+  line-height: 36px;
+}
+h2 small {
+  font-size: 18px;
+}
+h3 {
+  line-height: 27px;
+  font-size: 18px;
+}
+h3 small {
+  font-size: 14px;
+}
+h4,
+h5,
+h6 {
+  line-height: 18px;
+}
+h4 {
+  font-size: 14px;
+}
+h4 small {
+  font-size: 12px;
+}
+h5 {
+  font-size: 12px;
+}
+h6 {
+  font-size: 11px;
+  color: #999999;
+  text-transform: uppercase;
+}
+.page-header {
+  padding-bottom: 17px;
+  margin: 18px 0;
+  border-bottom: 1px solid #eeeeee;
+}
+.page-header h1 {
+  line-height: 1;
+}
+ul,
+ol {
+  padding: 0;
+  margin: 0 0 9px 25px;
+}
+ul ul,
+ul ol,
+ol ol,
+ol ul {
+  margin-bottom: 0;
+}
+ul {
+  list-style: disc;
+}
+ol {
+  list-style: decimal;
+}
+li {
+  line-height: 18px;
+}
+ul.unstyled,
+ol.unstyled {
+  margin-left: 0;
+  list-style: none;
+}
+dl {
+  margin-bottom: 18px;
+}
+dt,
+dd {
+  line-height: 18px;
+}
+dt {
+  font-weight: bold;
+  line-height: 17px;
+}
+dd {
+  margin-left: 9px;
+}
+.dl-horizontal dt {
+  float: left;
+  clear: left;
+  width: 120px;
+  text-align: right;
+}
+.dl-horizontal dd {
+  margin-left: 130px;
+}
+hr {
+  margin: 18px 0;
+  border: 0;
+  border-top: 1px solid #eeeeee;
+  border-bottom: 1px solid #ffffff;
+}
+strong {
+  font-weight: bold;
+}
+em {
+  font-style: italic;
+}
+.muted {
+  color: #999999;
+}
+abbr[title] {
+  border-bottom: 1px dotted #ddd;
+  cursor: help;
+}
+abbr.initialism {
+  font-size: 90%;
+  text-transform: uppercase;
+}
+blockquote {
+  padding: 0 0 0 15px;
+  margin: 0 0 18px;
+  border-left: 5px solid #eeeeee;
+}
+blockquote p {
+  margin-bottom: 0;
+  font-size: 16px;
+  font-weight: 300;
+  line-height: 22.5px;
+}
+blockquote small {
+  display: block;
+  line-height: 18px;
+  color: #999999;
+}
+blockquote small:before {
+  content: '\2014 \00A0';
+}
+blockquote.pull-right {
+  float: right;
+  padding-left: 0;
+  padding-right: 15px;
+  border-left: 0;
+  border-right: 5px solid #eeeeee;
+}
+blockquote.pull-right p,
+blockquote.pull-right small {
+  text-align: right;
+}
+q:before,
+q:after,
+blockquote:before,
+blockquote:after {
+  content: "";
+}
+address {
+  display: block;
+  margin-bottom: 18px;
+  line-height: 18px;
+  font-style: normal;
+}
+small {
+  font-size: 100%;
+}
+cite {
+  font-style: normal;
+}
+code,
+pre {
+  padding: 0 3px 2px;
+  font-family: Menlo, Monaco, "Courier New", monospace;
+  font-size: 12px;
+  color: #333333;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+code {
+  padding: 2px 4px;
+  color: #d14;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
+pre {
+  display: block;
+  padding: 8.5px;
+  margin: 0 0 9px;
+  font-size: 12.025px;
+  line-height: 18px;
+  background-color: #f5f5f5;
+  border: 1px solid #ccc;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  white-space: pre;
+  white-space: pre-wrap;
+  word-break: break-all;
+  word-wrap: break-word;
+}
+pre.prettyprint {
+  margin-bottom: 18px;
+}
+pre code {
+  padding: 0;
+  color: inherit;
+  background-color: transparent;
+  border: 0;
+}
+.pre-scrollable {
+  max-height: 340px;
+  overflow-y: scroll;
+}
+form {
+  margin: 0 0 18px;
+}
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 27px;
+  font-size: 19.5px;
+  line-height: 36px;
+  color: #333333;
+  border: 0;
+  border-bottom: 1px solid #eee;
+}
+legend small {
+  font-size: 13.5px;
+  color: #999999;
+}
+label,
+input,
+button,
+select,
+textarea {
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 18px;
+}
+input,
+button,
+select,
+textarea {
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+}
+label {
+  display: block;
+  margin-bottom: 5px;
+  color: #333333;
+}
+input,
+textarea,
+select,
+.uneditable-input {
+  display: inline-block;
+  width: 210px;
+  height: 18px;
+  padding: 4px;
+  margin-bottom: 9px;
+  font-size: 13px;
+  line-height: 18px;
+  color: #555555;
+  border: 1px solid #cccccc;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.uneditable-textarea {
+  width: auto;
+  height: auto;
+}
+label input,
+label textarea,
+label select {
+  display: block;
+}
+input[type="image"],
+input[type="checkbox"],
+input[type="radio"] {
+  width: auto;
+  height: auto;
+  padding: 0;
+  margin: 3px 0;
+  *margin-top: 0;
+  /* IE7 */
+
+  line-height: normal;
+  cursor: pointer;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+  border: 0 \9;
+  /* IE9 and down */
+
+}
+input[type="image"] {
+  border: 0;
+}
+input[type="file"] {
+  width: auto;
+  padding: initial;
+  line-height: initial;
+  border: initial;
+  background-color: #ffffff;
+  background-color: initial;
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  width: auto;
+  height: auto;
+}
+select,
+input[type="file"] {
+  height: 28px;
+  /* In IE7, the height of the select element cannot be changed by height, only font-size */
+
+  *margin-top: 4px;
+  /* For IE7, add top margin to align select with labels */
+
+  line-height: 28px;
+}
+input[type="file"] {
+  line-height: 18px \9;
+}
+select {
+  width: 220px;
+  background-color: #ffffff;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+input[type="image"] {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
+textarea {
+  height: auto;
+}
+input[type="hidden"] {
+  display: none;
+}
+.radio,
+.checkbox {
+  padding-left: 18px;
+}
+.radio input[type="radio"],
+.checkbox input[type="checkbox"] {
+  float: left;
+  margin-left: -18px;
+}
+.controls > .radio:first-child,
+.controls > .checkbox:first-child {
+  padding-top: 5px;
+}
+.radio.inline,
+.checkbox.inline {
+  display: inline-block;
+  padding-top: 5px;
+  margin-bottom: 0;
+  vertical-align: middle;
+}
+.radio.inline + .radio.inline,
+.checkbox.inline + .checkbox.inline {
+  margin-left: 10px;
+}
+input,
+textarea {
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
+  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
+  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
+  -o-transition: border linear 0.2s, box-shadow linear 0.2s;
+  transition: border linear 0.2s, box-shadow linear 0.2s;
+}
+input:focus,
+textarea:focus {
+  border-color: rgba(82, 168, 236, 0.8);
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
+  outline: 0;
+  outline: thin dotted \9;
+  /* IE6-9 */
+
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus,
+select:focus {
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.input-mini {
+  width: 60px;
+}
+.input-small {
+  width: 90px;
+}
+.input-medium {
+  width: 150px;
+}
+.input-large {
+  width: 210px;
+}
+.input-xlarge {
+  width: 270px;
+}
+.input-xxlarge {
+  width: 530px;
+}
+input[class*="span"],
+select[class*="span"],
+textarea[class*="span"],
+.uneditable-input {
+  float: none;
+  margin-left: 0;
+}
+input,
+textarea,
+.uneditable-input {
+  margin-left: 0;
+}
+input.span12, textarea.span12, .uneditable-input.span12 {
+  width: 930px;
+}
+input.span11, textarea.span11, .uneditable-input.span11 {
+  width: 850px;
+}
+input.span10, textarea.span10, .uneditable-input.span10 {
+  width: 770px;
+}
+input.span9, textarea.span9, .uneditable-input.span9 {
+  width: 690px;
+}
+input.span8, textarea.span8, .uneditable-input.span8 {
+  width: 610px;
+}
+input.span7, textarea.span7, .uneditable-input.span7 {
+  width: 530px;
+}
+input.span6, textarea.span6, .uneditable-input.span6 {
+  width: 450px;
+}
+input.span5, textarea.span5, .uneditable-input.span5 {
+  width: 370px;
+}
+input.span4, textarea.span4, .uneditable-input.span4 {
+  width: 290px;
+}
+input.span3, textarea.span3, .uneditable-input.span3 {
+  width: 210px;
+}
+input.span2, textarea.span2, .uneditable-input.span2 {
+  width: 130px;
+}
+input.span1, textarea.span1, .uneditable-input.span1 {
+  width: 50px;
+}
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly],
+select[readonly],
+textarea[readonly] {
+  background-color: #eeeeee;
+  border-color: #ddd;
+  cursor: not-allowed;
+}
+.control-group.warning > label,
+.control-group.warning .help-block,
+.control-group.warning .help-inline {
+  color: #c09853;
+}
+.control-group.warning input,
+.control-group.warning select,
+.control-group.warning textarea {
+  color: #c09853;
+  border-color: #c09853;
+}
+.control-group.warning input:focus,
+.control-group.warning select:focus,
+.control-group.warning textarea:focus {
+  border-color: #a47e3c;
+  -webkit-box-shadow: 0 0 6px #dbc59e;
+  -moz-box-shadow: 0 0 6px #dbc59e;
+  box-shadow: 0 0 6px #dbc59e;
+}
+.control-group.warning .input-prepend .add-on,
+.control-group.warning .input-append .add-on {
+  color: #c09853;
+  background-color: #fcf8e3;
+  border-color: #c09853;
+}
+.control-group.error > label,
+.control-group.error .help-block,
+.control-group.error .help-inline {
+  color: #b94a48;
+}
+.control-group.error input,
+.control-group.error select,
+.control-group.error textarea {
+  color: #b94a48;
+  border-color: #b94a48;
+}
+.control-group.error input:focus,
+.control-group.error select:focus,
+.control-group.error textarea:focus {
+  border-color: #953b39;
+  -webkit-box-shadow: 0 0 6px #d59392;
+  -moz-box-shadow: 0 0 6px #d59392;
+  box-shadow: 0 0 6px #d59392;
+}
+.control-group.error .input-prepend .add-on,
+.control-group.error .input-append .add-on {
+  color: #b94a48;
+  background-color: #f2dede;
+  border-color: #b94a48;
+}
+.control-group.success > label,
+.control-group.success .help-block,
+.control-group.success .help-inline {
+  color: #468847;
+}
+.control-group.success input,
+.control-group.success select,
+.control-group.success textarea {
+  color: #468847;
+  border-color: #468847;
+}
+.control-group.success input:focus,
+.control-group.success select:focus,
+.control-group.success textarea:focus {
+  border-color: #356635;
+  -webkit-box-shadow: 0 0 6px #7aba7b;
+  -moz-box-shadow: 0 0 6px #7aba7b;
+  box-shadow: 0 0 6px #7aba7b;
+}
+.control-group.success .input-prepend .add-on,
+.control-group.success .input-append .add-on {
+  color: #468847;
+  background-color: #dff0d8;
+  border-color: #468847;
+}
+input:focus:required:invalid,
+textarea:focus:required:invalid,
+select:focus:required:invalid {
+  color: #b94a48;
+  border-color: #ee5f5b;
+}
+input:focus:required:invalid:focus,
+textarea:focus:required:invalid:focus,
+select:focus:required:invalid:focus {
+  border-color: #e9322d;
+  -webkit-box-shadow: 0 0 6px #f8b9b7;
+  -moz-box-shadow: 0 0 6px #f8b9b7;
+  box-shadow: 0 0 6px #f8b9b7;
+}
+.form-actions {
+  padding: 17px 20px 18px;
+  margin-top: 18px;
+  margin-bottom: 18px;
+  background-color: #eeeeee;
+  border-top: 1px solid #ddd;
+  *zoom: 1;
+}
+.form-actions:before,
+.form-actions:after {
+  display: table;
+  content: "";
+}
+.form-actions:after {
+  clear: both;
+}
+.uneditable-input {
+  display: block;
+  background-color: #ffffff;
+  border-color: #eee;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
+  cursor: not-allowed;
+}
+:-moz-placeholder {
+  color: #999999;
+}
+::-webkit-input-placeholder {
+  color: #999999;
+}
+.help-block,
+.help-inline {
+  color: #555555;
+}
+.help-block {
+  display: block;
+  margin-bottom: 9px;
+}
+.help-inline {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+  vertical-align: middle;
+  padding-left: 5px;
+}
+.input-prepend,
+.input-append {
+  margin-bottom: 5px;
+}
+.input-prepend input,
+.input-append input,
+.input-prepend select,
+.input-append select,
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+  *margin-left: 0;
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.input-prepend input:focus,
+.input-append input:focus,
+.input-prepend select:focus,
+.input-append select:focus,
+.input-prepend .uneditable-input:focus,
+.input-append .uneditable-input:focus {
+  position: relative;
+  z-index: 2;
+}
+.input-prepend .uneditable-input,
+.input-append .uneditable-input {
+  border-left-color: #ccc;
+}
+.input-prepend .add-on,
+.input-append .add-on {
+  display: inline-block;
+  width: auto;
+  min-width: 16px;
+  height: 18px;
+  padding: 4px 5px;
+  font-weight: normal;
+  line-height: 18px;
+  text-align: center;
+  text-shadow: 0 1px 0 #ffffff;
+  vertical-align: middle;
+  background-color: #eeeeee;
+  border: 1px solid #ccc;
+}
+.input-prepend .add-on,
+.input-append .add-on,
+.input-prepend .btn,
+.input-append .btn {
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.input-prepend .active,
+.input-append .active {
+  background-color: #a9dba9;
+  border-color: #46a546;
+}
+.input-prepend .add-on,
+.input-prepend .btn {
+  margin-right: -1px;
+}
+.input-append input,
+.input-append select .uneditable-input {
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.input-append .uneditable-input {
+  border-left-color: #eee;
+  border-right-color: #ccc;
+}
+.input-append .add-on,
+.input-append .btn {
+  margin-left: -1px;
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.input-prepend.input-append input,
+.input-prepend.input-append select,
+.input-prepend.input-append .uneditable-input {
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.input-prepend.input-append .add-on:first-child,
+.input-prepend.input-append .btn:first-child {
+  margin-right: -1px;
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.input-prepend.input-append .add-on:last-child,
+.input-prepend.input-append .btn:last-child {
+  margin-left: -1px;
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.search-query {
+  padding-left: 14px;
+  padding-right: 14px;
+  margin-bottom: 0;
+  -webkit-border-radius: 14px;
+  -moz-border-radius: 14px;
+  border-radius: 14px;
+}
+.form-search input,
+.form-inline input,
+.form-horizontal input,
+.form-search textarea,
+.form-inline textarea,
+.form-horizontal textarea,
+.form-search select,
+.form-inline select,
+.form-horizontal select,
+.form-search .help-inline,
+.form-inline .help-inline,
+.form-horizontal .help-inline,
+.form-search .uneditable-input,
+.form-inline .uneditable-input,
+.form-horizontal .uneditable-input,
+.form-search .input-prepend,
+.form-inline .input-prepend,
+.form-horizontal .input-prepend,
+.form-search .input-append,
+.form-inline .input-append,
+.form-horizontal .input-append {
+  display: inline-block;
+  margin-bottom: 0;
+}
+.form-search .hide,
+.form-inline .hide,
+.form-horizontal .hide {
+  display: none;
+}
+.form-search label,
+.form-inline label {
+  display: inline-block;
+}
+.form-search .input-append,
+.form-inline .input-append,
+.form-search .input-prepend,
+.form-inline .input-prepend {
+  margin-bottom: 0;
+}
+.form-search .radio,
+.form-search .checkbox,
+.form-inline .radio,
+.form-inline .checkbox {
+  padding-left: 0;
+  margin-bottom: 0;
+  vertical-align: middle;
+}
+.form-search .radio input[type="radio"],
+.form-search .checkbox input[type="checkbox"],
+.form-inline .radio input[type="radio"],
+.form-inline .checkbox input[type="checkbox"] {
+  float: left;
+  margin-left: 0;
+  margin-right: 3px;
+}
+.control-group {
+  margin-bottom: 9px;
+}
+legend + .control-group {
+  margin-top: 18px;
+  -webkit-margin-top-collapse: separate;
+}
+.form-horizontal .control-group {
+  margin-bottom: 18px;
+  *zoom: 1;
+}
+.form-horizontal .control-group:before,
+.form-horizontal .control-group:after {
+  display: table;
+  content: "";
+}
+.form-horizontal .control-group:after {
+  clear: both;
+}
+.form-horizontal .control-label {
+  float: left;
+  width: 140px;
+  padding-top: 5px;
+  text-align: right;
+}
+.form-horizontal .controls {
+  margin-left: 160px;
+  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */
+
+  *display: inline-block;
+  *margin-left: 0;
+  *padding-left: 20px;
+}
+.form-horizontal .help-block {
+  margin-top: 9px;
+  margin-bottom: 0;
+}
+.form-horizontal .form-actions {
+  padding-left: 160px;
+}
+table {
+  max-width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0;
+  background-color: transparent;
+}
+.table {
+  width: 100%;
+  margin-bottom: 18px;
+}
+.table th,
+.table td {
+  padding: 8px;
+  line-height: 18px;
+  text-align: left;
+  vertical-align: top;
+  border-top: 1px solid #dddddd;
+}
+.table th {
+  font-weight: bold;
+}
+.table thead th {
+  vertical-align: bottom;
+}
+.table colgroup + thead tr:first-child th,
+.table colgroup + thead tr:first-child td,
+.table thead:first-child tr:first-child th,
+.table thead:first-child tr:first-child td {
+  border-top: 0;
+}
+.table tbody + tbody {
+  border-top: 2px solid #dddddd;
+}
+.table-condensed th,
+.table-condensed td {
+  padding: 4px 5px;
+}
+.table-bordered {
+  border: 1px solid #dddddd;
+  border-left: 0;
+  border-collapse: separate;
+  *border-collapse: collapsed;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.table-bordered th,
+.table-bordered td {
+  border-left: 1px solid #dddddd;
+}
+.table-bordered thead:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child th,
+.table-bordered tbody:first-child tr:first-child td {
+  border-top: 0;
+}
+.table-bordered thead:first-child tr:first-child th:first-child,
+.table-bordered tbody:first-child tr:first-child td:first-child {
+  -webkit-border-radius: 4px 0 0 0;
+  -moz-border-radius: 4px 0 0 0;
+  border-radius: 4px 0 0 0;
+}
+.table-bordered thead:first-child tr:first-child th:last-child,
+.table-bordered tbody:first-child tr:first-child td:last-child {
+  -webkit-border-radius: 0 4px 0 0;
+  -moz-border-radius: 0 4px 0 0;
+  border-radius: 0 4px 0 0;
+}
+.table-bordered thead:last-child tr:last-child th:first-child,
+.table-bordered tbody:last-child tr:last-child td:first-child {
+  -webkit-border-radius: 0 0 0 4px;
+  -moz-border-radius: 0 0 0 4px;
+  border-radius: 0 0 0 4px;
+}
+.table-bordered thead:last-child tr:last-child th:last-child,
+.table-bordered tbody:last-child tr:last-child td:last-child {
+  -webkit-border-radius: 0 0 4px 0;
+  -moz-border-radius: 0 0 4px 0;
+  border-radius: 0 0 4px 0;
+}
+.table-striped tbody tr:nth-child(odd) td,
+.table-striped tbody tr:nth-child(odd) th {
+  background-color: #f9f9f9;
+}
+.table tbody tr:hover td,
+.table tbody tr:hover th {
+  background-color: #f5f5f5;
+}
+table .span1 {
+  float: none;
+  width: 44px;
+  margin-left: 0;
+}
+table .span2 {
+  float: none;
+  width: 124px;
+  margin-left: 0;
+}
+table .span3 {
+  float: none;
+  width: 204px;
+  margin-left: 0;
+}
+table .span4 {
+  float: none;
+  width: 284px;
+  margin-left: 0;
+}
+table .span5 {
+  float: none;
+  width: 364px;
+  margin-left: 0;
+}
+table .span6 {
+  float: none;
+  width: 444px;
+  margin-left: 0;
+}
+table .span7 {
+  float: none;
+  width: 524px;
+  margin-left: 0;
+}
+table .span8 {
+  float: none;
+  width: 604px;
+  margin-left: 0;
+}
+table .span9 {
+  float: none;
+  width: 684px;
+  margin-left: 0;
+}
+table .span10 {
+  float: none;
+  width: 764px;
+  margin-left: 0;
+}
+table .span11 {
+  float: none;
+  width: 844px;
+  margin-left: 0;
+}
+table .span12 {
+  float: none;
+  width: 924px;
+  margin-left: 0;
+}
+table .span13 {
+  float: none;
+  width: 1004px;
+  margin-left: 0;
+}
+table .span14 {
+  float: none;
+  width: 1084px;
+  margin-left: 0;
+}
+table .span15 {
+  float: none;
+  width: 1164px;
+  margin-left: 0;
+}
+table .span16 {
+  float: none;
+  width: 1244px;
+  margin-left: 0;
+}
+table .span17 {
+  float: none;
+  width: 1324px;
+  margin-left: 0;
+}
+table .span18 {
+  float: none;
+  width: 1404px;
+  margin-left: 0;
+}
+table .span19 {
+  float: none;
+  width: 1484px;
+  margin-left: 0;
+}
+table .span20 {
+  float: none;
+  width: 1564px;
+  margin-left: 0;
+}
+table .span21 {
+  float: none;
+  width: 1644px;
+  margin-left: 0;
+}
+table .span22 {
+  float: none;
+  width: 1724px;
+  margin-left: 0;
+}
+table .span23 {
+  float: none;
+  width: 1804px;
+  margin-left: 0;
+}
+table .span24 {
+  float: none;
+  width: 1884px;
+  margin-left: 0;
+}
+[class^="icon-"],
+[class*=" icon-"] {
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  line-height: 14px;
+  vertical-align: text-top;
+  background-image: url("../img/glyphicons-halflings.png");
+  background-position: 14px 14px;
+  background-repeat: no-repeat;
+  *margin-right: .3em;
+}
+[class^="icon-"]:last-child,
+[class*=" icon-"]:last-child {
+  *margin-left: 0;
+}
+.icon-white {
+  background-image: url("../img/glyphicons-halflings-white.png");
+}
+.icon-glass {
+  background-position: 0      0;
+}
+.icon-music {
+  background-position: -24px 0;
+}
+.icon-search {
+  background-position: -48px 0;
+}
+.icon-envelope {
+  background-position: -72px 0;
+}
+.icon-heart {
+  background-position: -96px 0;
+}
+.icon-star {
+  background-position: -120px 0;
+}
+.icon-star-empty {
+  background-position: -144px 0;
+}
+.icon-user {
+  background-position: -168px 0;
+}
+.icon-film {
+  background-position: -192px 0;
+}
+.icon-th-large {
+  background-position: -216px 0;
+}
+.icon-th {
+  background-position: -240px 0;
+}
+.icon-th-list {
+  background-position: -264px 0;
+}
+.icon-ok {
+  background-position: -288px 0;
+}
+.icon-remove {
+  background-position: -312px 0;
+}
+.icon-zoom-in {
+  background-position: -336px 0;
+}
+.icon-zoom-out {
+  background-position: -360px 0;
+}
+.icon-off {
+  background-position: -384px 0;
+}
+.icon-signal {
+  background-position: -408px 0;
+}
+.icon-cog {
+  background-position: -432px 0;
+}
+.icon-trash {
+  background-position: -456px 0;
+}
+.icon-home {
+  background-position: 0 -24px;
+}
+.icon-file {
+  background-position: -24px -24px;
+}
+.icon-time {
+  background-position: -48px -24px;
+}
+.icon-road {
+  background-position: -72px -24px;
+}
+.icon-download-alt {
+  background-position: -96px -24px;
+}
+.icon-download {
+  background-position: -120px -24px;
+}
+.icon-upload {
+  background-position: -144px -24px;
+}
+.icon-inbox {
+  background-position: -168px -24px;
+}
+.icon-play-circle {
+  background-position: -192px -24px;
+}
+.icon-repeat {
+  background-position: -216px -24px;
+}
+.icon-refresh {
+  background-position: -240px -24px;
+}
+.icon-list-alt {
+  background-position: -264px -24px;
+}
+.icon-lock {
+  background-position: -287px -24px;
+}
+.icon-flag {
+  background-position: -312px -24px;
+}
+.icon-headphones {
+  background-position: -336px -24px;
+}
+.icon-volume-off {
+  background-position: -360px -24px;
+}
+.icon-volume-down {
+  background-position: -384px -24px;
+}
+.icon-volume-up {
+  background-position: -408px -24px;
+}
+.icon-qrcode {
+  background-position: -432px -24px;
+}
+.icon-barcode {
+  background-position: -456px -24px;
+}
+.icon-tag {
+  background-position: 0 -48px;
+}
+.icon-tags {
+  background-position: -25px -48px;
+}
+.icon-book {
+  background-position: -48px -48px;
+}
+.icon-bookmark {
+  background-position: -72px -48px;
+}
+.icon-print {
+  background-position: -96px -48px;
+}
+.icon-camera {
+  background-position: -120px -48px;
+}
+.icon-font {
+  background-position: -144px -48px;
+}
+.icon-bold {
+  background-position: -167px -48px;
+}
+.icon-italic {
+  background-position: -192px -48px;
+}
+.icon-text-height {
+  background-position: -216px -48px;
+}
+.icon-text-width {
+  background-position: -240px -48px;
+}
+.icon-align-left {
+  background-position: -264px -48px;
+}
+.icon-align-center {
+  background-position: -288px -48px;
+}
+.icon-align-right {
+  background-position: -312px -48px;
+}
+.icon-align-justify {
+  background-position: -336px -48px;
+}
+.icon-list {
+  background-position: -360px -48px;
+}
+.icon-indent-left {
+  background-position: -384px -48px;
+}
+.icon-indent-right {
+  background-position: -408px -48px;
+}
+.icon-facetime-video {
+  background-position: -432px -48px;
+}
+.icon-picture {
+  background-position: -456px -48px;
+}
+.icon-pencil {
+  background-position: 0 -72px;
+}
+.icon-map-marker {
+  background-position: -24px -72px;
+}
+.icon-adjust {
+  background-position: -48px -72px;
+}
+.icon-tint {
+  background-position: -72px -72px;
+}
+.icon-edit {
+  background-position: -96px -72px;
+}
+.icon-share {
+  background-position: -120px -72px;
+}
+.icon-check {
+  background-position: -144px -72px;
+}
+.icon-move {
+  background-position: -168px -72px;
+}
+.icon-step-backward {
+  background-position: -192px -72px;
+}
+.icon-fast-backward {
+  background-position: -216px -72px;
+}
+.icon-backward {
+  background-position: -240px -72px;
+}
+.icon-play {
+  background-position: -264px -72px;
+}
+.icon-pause {
+  background-position: -288px -72px;
+}
+.icon-stop {
+  background-position: -312px -72px;
+}
+.icon-forward {
+  background-position: -336px -72px;
+}
+.icon-fast-forward {
+  background-position: -360px -72px;
+}
+.icon-step-forward {
+  background-position: -384px -72px;
+}
+.icon-eject {
+  background-position: -408px -72px;
+}
+.icon-chevron-left {
+  background-position: -432px -72px;
+}
+.icon-chevron-right {
+  background-position: -456px -72px;
+}
+.icon-plus-sign {
+  background-position: 0 -96px;
+}
+.icon-minus-sign {
+  background-position: -24px -96px;
+}
+.icon-remove-sign {
+  background-position: -48px -96px;
+}
+.icon-ok-sign {
+  background-position: -72px -96px;
+}
+.icon-question-sign {
+  background-position: -96px -96px;
+}
+.icon-info-sign {
+  background-position: -120px -96px;
+}
+.icon-screenshot {
+  background-position: -144px -96px;
+}
+.icon-remove-circle {
+  background-position: -168px -96px;
+}
+.icon-ok-circle {
+  background-position: -192px -96px;
+}
+.icon-ban-circle {
+  background-position: -216px -96px;
+}
+.icon-arrow-left {
+  background-position: -240px -96px;
+}
+.icon-arrow-right {
+  background-position: -264px -96px;
+}
+.icon-arrow-up {
+  background-position: -289px -96px;
+}
+.icon-arrow-down {
+  background-position: -312px -96px;
+}
+.icon-share-alt {
+  background-position: -336px -96px;
+}
+.icon-resize-full {
+  background-position: -360px -96px;
+}
+.icon-resize-small {
+  background-position: -384px -96px;
+}
+.icon-plus {
+  background-position: -408px -96px;
+}
+.icon-minus {
+  background-position: -433px -96px;
+}
+.icon-asterisk {
+  background-position: -456px -96px;
+}
+.icon-exclamation-sign {
+  background-position: 0 -120px;
+}
+.icon-gift {
+  background-position: -24px -120px;
+}
+.icon-leaf {
+  background-position: -48px -120px;
+}
+.icon-fire {
+  background-position: -72px -120px;
+}
+.icon-eye-open {
+  background-position: -96px -120px;
+}
+.icon-eye-close {
+  background-position: -120px -120px;
+}
+.icon-warning-sign {
+  background-position: -144px -120px;
+}
+.icon-plane {
+  background-position: -168px -120px;
+}
+.icon-calendar {
+  background-position: -192px -120px;
+}
+.icon-random {
+  background-position: -216px -120px;
+}
+.icon-comment {
+  background-position: -240px -120px;
+}
+.icon-magnet {
+  background-position: -264px -120px;
+}
+.icon-chevron-up {
+  background-position: -288px -120px;
+}
+.icon-chevron-down {
+  background-position: -313px -119px;
+}
+.icon-retweet {
+  background-position: -336px -120px;
+}
+.icon-shopping-cart {
+  background-position: -360px -120px;
+}
+.icon-folder-close {
+  background-position: -384px -120px;
+}
+.icon-folder-open {
+  background-position: -408px -120px;
+}
+.icon-resize-vertical {
+  background-position: -432px -119px;
+}
+.icon-resize-horizontal {
+  background-position: -456px -118px;
+}
+.dropdown {
+  position: relative;
+}
+.dropdown-toggle {
+  *margin-bottom: -3px;
+}
+.dropdown-toggle:active,
+.open .dropdown-toggle {
+  outline: 0;
+}
+.caret {
+  display: inline-block;
+  width: 0;
+  height: 0;
+  vertical-align: top;
+  border-left: 4px solid transparent;
+  border-right: 4px solid transparent;
+  border-top: 4px solid #000000;
+  opacity: 0.3;
+  filter: alpha(opacity=30);
+  content: "";
+}
+.dropdown .caret {
+  margin-top: 8px;
+  margin-left: 2px;
+}
+.dropdown:hover .caret,
+.open.dropdown .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.dropdown-menu {
+  position: absolute;
+  top: 100%;
+  left: 0;
+  z-index: 1000;
+  float: left;
+  display: none;
+  min-width: 160px;
+  padding: 4px 0;
+  margin: 0;
+  list-style: none;
+  background-color: #ffffff;
+  border-color: #ccc;
+  border-color: rgba(0, 0, 0, 0.2);
+  border-style: solid;
+  border-width: 1px;
+  -webkit-border-radius: 0 0 5px 5px;
+  -moz-border-radius: 0 0 5px 5px;
+  border-radius: 0 0 5px 5px;
+  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding;
+  background-clip: padding-box;
+  *border-right-width: 2px;
+  *border-bottom-width: 2px;
+}
+.dropdown-menu.pull-right {
+  right: 0;
+  left: auto;
+}
+.dropdown-menu .divider {
+  height: 1px;
+  margin: 8px 1px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+  *width: 100%;
+  *margin: -5px 0 5px;
+}
+.dropdown-menu a {
+  display: block;
+  padding: 3px 15px;
+  clear: both;
+  font-weight: normal;
+  line-height: 18px;
+  color: #333333;
+  white-space: nowrap;
+}
+.dropdown-menu li > a:hover,
+.dropdown-menu .active > a,
+.dropdown-menu .active > a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #0088cc;
+}
+.dropdown.open {
+  *z-index: 1000;
+}
+.dropdown.open .dropdown-toggle {
+  color: #ffffff;
+  background: #ccc;
+  background: rgba(0, 0, 0, 0.3);
+}
+.dropdown.open .dropdown-menu {
+  display: block;
+}
+.pull-right .dropdown-menu {
+  left: auto;
+  right: 0;
+}
+.dropup .caret,
+.navbar-fixed-bottom .dropdown .caret {
+  border-top: 0;
+  border-bottom: 4px solid #000000;
+  content: "\2191";
+}
+.dropup .dropdown-menu,
+.navbar-fixed-bottom .dropdown .dropdown-menu {
+  top: auto;
+  bottom: 100%;
+  margin-bottom: 1px;
+}
+.typeahead {
+  margin-top: 2px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.well {
+  min-height: 20px;
+  padding: 19px;
+  margin-bottom: 20px;
+  background-color: #f5f5f5;
+  border: 1px solid #eee;
+  border: 1px solid rgba(0, 0, 0, 0.05);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+.well blockquote {
+  border-color: #ddd;
+  border-color: rgba(0, 0, 0, 0.15);
+}
+.well-large {
+  padding: 24px;
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+}
+.well-small {
+  padding: 9px;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.fade {
+  -webkit-transition: opacity 0.15s linear;
+  -moz-transition: opacity 0.15s linear;
+  -ms-transition: opacity 0.15s linear;
+  -o-transition: opacity 0.15s linear;
+  transition: opacity 0.15s linear;
+  opacity: 0;
+}
+.fade.in {
+  opacity: 1;
+}
+.collapse {
+  -webkit-transition: height 0.35s ease;
+  -moz-transition: height 0.35s ease;
+  -ms-transition: height 0.35s ease;
+  -o-transition: height 0.35s ease;
+  transition: height 0.35s ease;
+  position: relative;
+  overflow: hidden;
+  height: 0;
+}
+.collapse.in {
+  height: auto;
+}
+.close {
+  float: right;
+  font-size: 20px;
+  font-weight: bold;
+  line-height: 18px;
+  color: #000000;
+  text-shadow: 0 1px 0 #ffffff;
+  opacity: 0.2;
+  filter: alpha(opacity=20);
+}
+.close:hover {
+  color: #000000;
+  text-decoration: none;
+  opacity: 0.4;
+  filter: alpha(opacity=40);
+  cursor: pointer;
+}
+.btn {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+  padding: 4px 10px 4px;
+  margin-bottom: 0;
+  font-size: 13px;
+  line-height: 18px;
+  color: #333333;
+  text-align: center;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  vertical-align: middle;
+  background-color: #f5f5f5;
+  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
+  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
+  background-image: linear-gradient(top, #ffffff, #e6e6e6);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
+  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+  border: 1px solid #cccccc;
+  border-bottom-color: #b3b3b3;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  cursor: pointer;
+  *margin-left: .3em;
+}
+.btn:hover,
+.btn:active,
+.btn.active,
+.btn.disabled,
+.btn[disabled] {
+  background-color: #e6e6e6;
+}
+.btn:active,
+.btn.active {
+  background-color: #cccccc \9;
+}
+.btn:first-child {
+  *margin-left: 0;
+}
+.btn:hover {
+  color: #333333;
+  text-decoration: none;
+  background-color: #e6e6e6;
+  background-position: 0 -15px;
+  -webkit-transition: background-position 0.1s linear;
+  -moz-transition: background-position 0.1s linear;
+  -ms-transition: background-position 0.1s linear;
+  -o-transition: background-position 0.1s linear;
+  transition: background-position 0.1s linear;
+}
+.btn:focus {
+  outline: thin dotted #333;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+.btn.active,
+.btn:active {
+  background-image: none;
+  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  background-color: #e6e6e6;
+  background-color: #d9d9d9 \9;
+  outline: 0;
+}
+.btn.disabled,
+.btn[disabled] {
+  cursor: default;
+  background-image: none;
+  background-color: #e6e6e6;
+  opacity: 0.65;
+  filter: alpha(opacity=65);
+  -webkit-box-shadow: none;
+  -moz-box-shadow: none;
+  box-shadow: none;
+}
+.btn-large {
+  padding: 9px 14px;
+  font-size: 15px;
+  line-height: normal;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+}
+.btn-large [class^="icon-"] {
+  margin-top: 1px;
+}
+.btn-small {
+  padding: 5px 9px;
+  font-size: 11px;
+  line-height: 16px;
+}
+.btn-small [class^="icon-"] {
+  margin-top: -1px;
+}
+.btn-mini {
+  padding: 2px 6px;
+  font-size: 11px;
+  line-height: 14px;
+}
+.btn-primary,
+.btn-primary:hover,
+.btn-warning,
+.btn-warning:hover,
+.btn-danger,
+.btn-danger:hover,
+.btn-success,
+.btn-success:hover,
+.btn-info,
+.btn-info:hover,
+.btn-inverse,
+.btn-inverse:hover {
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  color: #ffffff;
+}
+.btn-primary.active,
+.btn-warning.active,
+.btn-danger.active,
+.btn-success.active,
+.btn-info.active,
+.btn-inverse.active {
+  color: rgba(255, 255, 255, 0.75);
+}
+.btn-primary {
+  background-color: #0074cc;
+  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));
+  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);
+  background-image: -o-linear-gradient(top, #0088cc, #0055cc);
+  background-image: linear-gradient(top, #0088cc, #0055cc);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);
+  border-color: #0055cc #0055cc #003580;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-primary:hover,
+.btn-primary:active,
+.btn-primary.active,
+.btn-primary.disabled,
+.btn-primary[disabled] {
+  background-color: #0055cc;
+}
+.btn-primary:active,
+.btn-primary.active {
+  background-color: #004099 \9;
+}
+.btn-warning {
+  background-color: #faa732;
+  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+  background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+  background-image: -o-linear-gradient(top, #fbb450, #f89406);
+  background-image: linear-gradient(top, #fbb450, #f89406);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+  border-color: #f89406 #f89406 #ad6704;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-warning:hover,
+.btn-warning:active,
+.btn-warning.active,
+.btn-warning.disabled,
+.btn-warning[disabled] {
+  background-color: #f89406;
+}
+.btn-warning:active,
+.btn-warning.active {
+  background-color: #c67605 \9;
+}
+.btn-danger {
+  background-color: #da4f49;
+  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
+  background-image: linear-gradient(top, #ee5f5b, #bd362f);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);
+  border-color: #bd362f #bd362f #802420;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-danger:hover,
+.btn-danger:active,
+.btn-danger.active,
+.btn-danger.disabled,
+.btn-danger[disabled] {
+  background-color: #bd362f;
+}
+.btn-danger:active,
+.btn-danger.active {
+  background-color: #942a25 \9;
+}
+.btn-success {
+  background-color: #5bb75b;
+  background-image: -moz-linear-gradient(top, #62c462, #51a351);
+  background-image: -ms-linear-gradient(top, #62c462, #51a351);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
+  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
+  background-image: -o-linear-gradient(top, #62c462, #51a351);
+  background-image: linear-gradient(top, #62c462, #51a351);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
+  border-color: #51a351 #51a351 #387038;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-success:hover,
+.btn-success:active,
+.btn-success.active,
+.btn-success.disabled,
+.btn-success[disabled] {
+  background-color: #51a351;
+}
+.btn-success:active,
+.btn-success.active {
+  background-color: #408140 \9;
+}
+.btn-info {
+  background-color: #49afcd;
+  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
+  background-image: linear-gradient(top, #5bc0de, #2f96b4);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);
+  border-color: #2f96b4 #2f96b4 #1f6377;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-info:hover,
+.btn-info:active,
+.btn-info.active,
+.btn-info.disabled,
+.btn-info[disabled] {
+  background-color: #2f96b4;
+}
+.btn-info:active,
+.btn-info.active {
+  background-color: #24748c \9;
+}
+.btn-inverse {
+  background-color: #414141;
+  background-image: -moz-linear-gradient(top, #555555, #222222);
+  background-image: -ms-linear-gradient(top, #555555, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));
+  background-image: -webkit-linear-gradient(top, #555555, #222222);
+  background-image: -o-linear-gradient(top, #555555, #222222);
+  background-image: linear-gradient(top, #555555, #222222);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
+  border-color: #222222 #222222 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+}
+.btn-inverse:hover,
+.btn-inverse:active,
+.btn-inverse.active,
+.btn-inverse.disabled,
+.btn-inverse[disabled] {
+  background-color: #222222;
+}
+.btn-inverse:active,
+.btn-inverse.active {
+  background-color: #080808 \9;
+}
+button.btn,
+input[type="submit"].btn {
+  *padding-top: 2px;
+  *padding-bottom: 2px;
+}
+button.btn::-moz-focus-inner,
+input[type="submit"].btn::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+button.btn.btn-large,
+input[type="submit"].btn.btn-large {
+  *padding-top: 7px;
+  *padding-bottom: 7px;
+}
+button.btn.btn-small,
+input[type="submit"].btn.btn-small {
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
+button.btn.btn-mini,
+input[type="submit"].btn.btn-mini {
+  *padding-top: 1px;
+  *padding-bottom: 1px;
+}
+.btn-group {
+  position: relative;
+  *zoom: 1;
+  *margin-left: .3em;
+}
+.btn-group:before,
+.btn-group:after {
+  display: table;
+  content: "";
+}
+.btn-group:after {
+  clear: both;
+}
+.btn-group:first-child {
+  *margin-left: 0;
+}
+.btn-group + .btn-group {
+  margin-left: 5px;
+}
+.btn-toolbar {
+  margin-top: 9px;
+  margin-bottom: 9px;
+}
+.btn-toolbar .btn-group {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+}
+.btn-group .btn {
+  position: relative;
+  float: left;
+  margin-left: -1px;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.btn-group .btn:first-child {
+  margin-left: 0;
+  -webkit-border-top-left-radius: 4px;
+  -moz-border-radius-topleft: 4px;
+  border-top-left-radius: 4px;
+  -webkit-border-bottom-left-radius: 4px;
+  -moz-border-radius-bottomleft: 4px;
+  border-bottom-left-radius: 4px;
+}
+.btn-group .btn:last-child,
+.btn-group .dropdown-toggle {
+  -webkit-border-top-right-radius: 4px;
+  -moz-border-radius-topright: 4px;
+  border-top-right-radius: 4px;
+  -webkit-border-bottom-right-radius: 4px;
+  -moz-border-radius-bottomright: 4px;
+  border-bottom-right-radius: 4px;
+}
+.btn-group .btn.large:first-child {
+  margin-left: 0;
+  -webkit-border-top-left-radius: 6px;
+  -moz-border-radius-topleft: 6px;
+  border-top-left-radius: 6px;
+  -webkit-border-bottom-left-radius: 6px;
+  -moz-border-radius-bottomleft: 6px;
+  border-bottom-left-radius: 6px;
+}
+.btn-group .btn.large:last-child,
+.btn-group .large.dropdown-toggle {
+  -webkit-border-top-right-radius: 6px;
+  -moz-border-radius-topright: 6px;
+  border-top-right-radius: 6px;
+  -webkit-border-bottom-right-radius: 6px;
+  -moz-border-radius-bottomright: 6px;
+  border-bottom-right-radius: 6px;
+}
+.btn-group .btn:hover,
+.btn-group .btn:focus,
+.btn-group .btn:active,
+.btn-group .btn.active {
+  z-index: 2;
+}
+.btn-group .dropdown-toggle:active,
+.btn-group.open .dropdown-toggle {
+  outline: 0;
+}
+.btn-group .dropdown-toggle {
+  padding-left: 8px;
+  padding-right: 8px;
+  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
+  *padding-top: 3px;
+  *padding-bottom: 3px;
+}
+.btn-group .btn-mini.dropdown-toggle {
+  padding-left: 5px;
+  padding-right: 5px;
+  *padding-top: 1px;
+  *padding-bottom: 1px;
+}
+.btn-group .btn-small.dropdown-toggle {
+  *padding-top: 4px;
+  *padding-bottom: 4px;
+}
+.btn-group .btn-large.dropdown-toggle {
+  padding-left: 12px;
+  padding-right: 12px;
+}
+.btn-group.open {
+  *z-index: 1000;
+}
+.btn-group.open .dropdown-menu {
+  display: block;
+  margin-top: 1px;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+}
+.btn-group.open .dropdown-toggle {
+  background-image: none;
+  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.btn .caret {
+  margin-top: 7px;
+  margin-left: 0;
+}
+.btn:hover .caret,
+.open.btn-group .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.btn-mini .caret {
+  margin-top: 5px;
+}
+.btn-small .caret {
+  margin-top: 6px;
+}
+.btn-large .caret {
+  margin-top: 6px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
+}
+.btn-primary .caret,
+.btn-warning .caret,
+.btn-danger .caret,
+.btn-info .caret,
+.btn-success .caret,
+.btn-inverse .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+  opacity: 0.75;
+  filter: alpha(opacity=75);
+}
+.alert {
+  padding: 8px 35px 8px 14px;
+  margin-bottom: 18px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  background-color: #fcf8e3;
+  border: 1px solid #fbeed5;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  color: #c09853;
+}
+.alert-heading {
+  color: inherit;
+}
+.alert .close {
+  position: relative;
+  top: -2px;
+  right: -21px;
+  line-height: 18px;
+}
+.alert-success {
+  background-color: #dff0d8;
+  border-color: #d6e9c6;
+  color: #468847;
+}
+.alert-danger,
+.alert-error {
+  background-color: #f2dede;
+  border-color: #eed3d7;
+  color: #b94a48;
+}
+.alert-info {
+  background-color: #d9edf7;
+  border-color: #bce8f1;
+  color: #3a87ad;
+}
+.alert-block {
+  padding-top: 14px;
+  padding-bottom: 14px;
+}
+.alert-block > p,
+.alert-block > ul {
+  margin-bottom: 0;
+}
+.alert-block p + p {
+  margin-top: 5px;
+}
+.nav {
+  margin-left: 0;
+  margin-bottom: 18px;
+  list-style: none;
+}
+.nav > li > a {
+  display: block;
+}
+.nav > li > a:hover {
+  text-decoration: none;
+  background-color: #eeeeee;
+}
+.nav .nav-header {
+  display: block;
+  padding: 3px 15px;
+  font-size: 11px;
+  font-weight: bold;
+  line-height: 18px;
+  color: #999999;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+  text-transform: uppercase;
+}
+.nav li + .nav-header {
+  margin-top: 9px;
+}
+.nav-list {
+  padding-left: 15px;
+  padding-right: 15px;
+  margin-bottom: 0;
+}
+.nav-list > li > a,
+.nav-list .nav-header {
+  margin-left: -15px;
+  margin-right: -15px;
+  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
+}
+.nav-list > li > a {
+  padding: 3px 15px;
+}
+.nav-list > .active > a,
+.nav-list > .active > a:hover {
+  color: #ffffff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
+  background-color: #0088cc;
+}
+.nav-list [class^="icon-"] {
+  margin-right: 2px;
+}
+.nav-list .divider {
+  height: 1px;
+  margin: 8px 1px;
+  overflow: hidden;
+  background-color: #e5e5e5;
+  border-bottom: 1px solid #ffffff;
+  *width: 100%;
+  *margin: -5px 0 5px;
+}
+.nav-tabs,
+.nav-pills {
+  *zoom: 1;
+}
+.nav-tabs:before,
+.nav-pills:before,
+.nav-tabs:after,
+.nav-pills:after {
+  display: table;
+  content: "";
+}
+.nav-tabs:after,
+.nav-pills:after {
+  clear: both;
+}
+.nav-tabs > li,
+.nav-pills > li {
+  float: left;
+}
+.nav-tabs > li > a,
+.nav-pills > li > a {
+  padding-right: 12px;
+  padding-left: 12px;
+  margin-right: 2px;
+  line-height: 14px;
+}
+.nav-tabs {
+  border-bottom: 1px solid #ddd;
+}
+.nav-tabs > li {
+  margin-bottom: -1px;
+}
+.nav-tabs > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  line-height: 18px;
+  border: 1px solid transparent;
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.nav-tabs > li > a:hover {
+  border-color: #eeeeee #eeeeee #dddddd;
+}
+.nav-tabs > .active > a,
+.nav-tabs > .active > a:hover {
+  color: #555555;
+  background-color: #ffffff;
+  border: 1px solid #ddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
+.nav-pills > li > a {
+  padding-top: 8px;
+  padding-bottom: 8px;
+  margin-top: 2px;
+  margin-bottom: 2px;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+}
+.nav-pills > .active > a,
+.nav-pills > .active > a:hover {
+  color: #ffffff;
+  background-color: #0088cc;
+}
+.nav-stacked > li {
+  float: none;
+}
+.nav-stacked > li > a {
+  margin-right: 0;
+}
+.nav-tabs.nav-stacked {
+  border-bottom: 0;
+}
+.nav-tabs.nav-stacked > li > a {
+  border: 1px solid #ddd;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.nav-tabs.nav-stacked > li:first-child > a {
+  -webkit-border-radius: 4px 4px 0 0;
+  -moz-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.nav-tabs.nav-stacked > li:last-child > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
+}
+.nav-tabs.nav-stacked > li > a:hover {
+  border-color: #ddd;
+  z-index: 2;
+}
+.nav-pills.nav-stacked > li > a {
+  margin-bottom: 3px;
+}
+.nav-pills.nav-stacked > li:last-child > a {
+  margin-bottom: 1px;
+}
+.nav-tabs .dropdown-menu,
+.nav-pills .dropdown-menu {
+  margin-top: 1px;
+  border-width: 1px;
+}
+.nav-pills .dropdown-menu {
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.nav-tabs .dropdown-toggle .caret,
+.nav-pills .dropdown-toggle .caret {
+  border-top-color: #0088cc;
+  border-bottom-color: #0088cc;
+  margin-top: 6px;
+}
+.nav-tabs .dropdown-toggle:hover .caret,
+.nav-pills .dropdown-toggle:hover .caret {
+  border-top-color: #005580;
+  border-bottom-color: #005580;
+}
+.nav-tabs .active .dropdown-toggle .caret,
+.nav-pills .active .dropdown-toggle .caret {
+  border-top-color: #333333;
+  border-bottom-color: #333333;
+}
+.nav > .dropdown.active > a:hover {
+  color: #000000;
+  cursor: pointer;
+}
+.nav-tabs .open .dropdown-toggle,
+.nav-pills .open .dropdown-toggle,
+.nav > .open.active > a:hover {
+  color: #ffffff;
+  background-color: #999999;
+  border-color: #999999;
+}
+.nav .open .caret,
+.nav .open.active .caret,
+.nav .open a:hover .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.tabs-stacked .open > a:hover {
+  border-color: #999999;
+}
+.tabbable {
+  *zoom: 1;
+}
+.tabbable:before,
+.tabbable:after {
+  display: table;
+  content: "";
+}
+.tabbable:after {
+  clear: both;
+}
+.tab-content {
+  display: table;
+  width: 100%;
+}
+.tabs-below .nav-tabs,
+.tabs-right .nav-tabs,
+.tabs-left .nav-tabs {
+  border-bottom: 0;
+}
+.tab-content > .tab-pane,
+.pill-content > .pill-pane {
+  display: none;
+}
+.tab-content > .active,
+.pill-content > .active {
+  display: block;
+}
+.tabs-below .nav-tabs {
+  border-top: 1px solid #ddd;
+}
+.tabs-below .nav-tabs > li {
+  margin-top: -1px;
+  margin-bottom: 0;
+}
+.tabs-below .nav-tabs > li > a {
+  -webkit-border-radius: 0 0 4px 4px;
+  -moz-border-radius: 0 0 4px 4px;
+  border-radius: 0 0 4px 4px;
+}
+.tabs-below .nav-tabs > li > a:hover {
+  border-bottom-color: transparent;
+  border-top-color: #ddd;
+}
+.tabs-below .nav-tabs .active > a,
+.tabs-below .nav-tabs .active > a:hover {
+  border-color: transparent #ddd #ddd #ddd;
+}
+.tabs-left .nav-tabs > li,
+.tabs-right .nav-tabs > li {
+  float: none;
+}
+.tabs-left .nav-tabs > li > a,
+.tabs-right .nav-tabs > li > a {
+  min-width: 74px;
+  margin-right: 0;
+  margin-bottom: 3px;
+}
+.tabs-left .nav-tabs {
+  float: left;
+  margin-right: 19px;
+  border-right: 1px solid #ddd;
+}
+.tabs-left .nav-tabs > li > a {
+  margin-right: -1px;
+  -webkit-border-radius: 4px 0 0 4px;
+  -moz-border-radius: 4px 0 0 4px;
+  border-radius: 4px 0 0 4px;
+}
+.tabs-left .nav-tabs > li > a:hover {
+  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
+}
+.tabs-left .nav-tabs .active > a,
+.tabs-left .nav-tabs .active > a:hover {
+  border-color: #ddd transparent #ddd #ddd;
+  *border-right-color: #ffffff;
+}
+.tabs-right .nav-tabs {
+  float: right;
+  margin-left: 19px;
+  border-left: 1px solid #ddd;
+}
+.tabs-right .nav-tabs > li > a {
+  margin-left: -1px;
+  -webkit-border-radius: 0 4px 4px 0;
+  -moz-border-radius: 0 4px 4px 0;
+  border-radius: 0 4px 4px 0;
+}
+.tabs-right .nav-tabs > li > a:hover {
+  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
+}
+.tabs-right .nav-tabs .active > a,
+.tabs-right .nav-tabs .active > a:hover {
+  border-color: #ddd #ddd #ddd transparent;
+  *border-left-color: #ffffff;
+}
+.navbar {
+  *position: relative;
+  *z-index: 2;
+  overflow: visible;
+  margin-bottom: 18px;
+}
+.navbar-inner {
+  padding-left: 20px;
+  padding-right: 20px;
+  background-color: #2c2c2c;
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+  background-image: -webkit-linear-gradient(top, #333333, #222222);
+  background-image: -o-linear-gradient(top, #333333, #222222);
+  background-image: linear-gradient(top, #333333, #222222);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
+}
+.navbar .container {
+  width: auto;
+}
+.btn-navbar {
+  display: none;
+  float: right;
+  padding: 7px 10px;
+  margin-left: 5px;
+  margin-right: 5px;
+  background-color: #2c2c2c;
+  background-image: -moz-linear-gradient(top, #333333, #222222);
+  background-image: -ms-linear-gradient(top, #333333, #222222);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
+  background-image: -webkit-linear-gradient(top, #333333, #222222);
+  background-image: -o-linear-gradient(top, #333333, #222222);
+  background-image: linear-gradient(top, #333333, #222222);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
+  border-color: #222222 #222222 #000000;
+  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
+  filter: progid:dximagetransform.microsoft.gradient(enabled=false);
+  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
+}
+.btn-navbar:hover,
+.btn-navbar:active,
+.btn-navbar.active,
+.btn-navbar.disabled,
+.btn-navbar[disabled] {
+  background-color: #222222;
+}
+.btn-navbar:active,
+.btn-navbar.active {
+  background-color: #080808 \9;
+}
+.btn-navbar .icon-bar {
+  display: block;
+  width: 18px;
+  height: 2px;
+  background-color: #f5f5f5;
+  -webkit-border-radius: 1px;
+  -moz-border-radius: 1px;
+  border-radius: 1px;
+  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+.btn-navbar .icon-bar + .icon-bar {
+  margin-top: 3px;
+}
+.nav-collapse.collapse {
+  height: auto;
+}
+.navbar {
+  color: #999999;
+}
+.navbar .brand:hover {
+  text-decoration: none;
+}
+.navbar .brand {
+  float: left;
+  display: block;
+  padding: 8px 20px 12px;
+  margin-left: -20px;
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1;
+  color: #ffffff;
+}
+.navbar .navbar-text {
+  margin-bottom: 0;
+  line-height: 40px;
+}
+.navbar .btn,
+.navbar .btn-group {
+  margin-top: 5px;
+}
+.navbar .btn-group .btn {
+  margin-top: 0;
+}
+.navbar-form {
+  margin-bottom: 0;
+  *zoom: 1;
+}
+.navbar-form:before,
+.navbar-form:after {
+  display: table;
+  content: "";
+}
+.navbar-form:after {
+  clear: both;
+}
+.navbar-form input,
+.navbar-form select,
+.navbar-form .radio,
+.navbar-form .checkbox {
+  margin-top: 5px;
+}
+.navbar-form input,
+.navbar-form select {
+  display: inline-block;
+  margin-bottom: 0;
+}
+.navbar-form input[type="image"],
+.navbar-form input[type="checkbox"],
+.navbar-form input[type="radio"] {
+  margin-top: 3px;
+}
+.navbar-form .input-append,
+.navbar-form .input-prepend {
+  margin-top: 6px;
+  white-space: nowrap;
+}
+.navbar-form .input-append input,
+.navbar-form .input-prepend input {
+  margin-top: 0;
+}
+.navbar-search {
+  position: relative;
+  float: left;
+  margin-top: 6px;
+  margin-bottom: 0;
+}
+.navbar-search .search-query {
+  padding: 4px 9px;
+  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+  font-size: 13px;
+  font-weight: normal;
+  line-height: 1;
+  color: #ffffff;
+  background-color: #626262;
+  border: 1px solid #151515;
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);
+  -webkit-transition: none;
+  -moz-transition: none;
+  -ms-transition: none;
+  -o-transition: none;
+  transition: none;
+}
+.navbar-search .search-query:-moz-placeholder {
+  color: #cccccc;
+}
+.navbar-search .search-query::-webkit-input-placeholder {
+  color: #cccccc;
+}
+.navbar-search .search-query:focus,
+.navbar-search .search-query.focused {
+  padding: 5px 10px;
+  color: #333333;
+  text-shadow: 0 1px 0 #ffffff;
+  background-color: #ffffff;
+  border: 0;
+  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
+  outline: 0;
+}
+.navbar-fixed-top,
+.navbar-fixed-bottom {
+  position: fixed;
+  right: 0;
+  left: 0;
+  z-index: 1030;
+  margin-bottom: 0;
+}
+.navbar-fixed-top .navbar-inner,
+.navbar-fixed-bottom .navbar-inner {
+  padding-left: 0;
+  padding-right: 0;
+  -webkit-border-radius: 0;
+  -moz-border-radius: 0;
+  border-radius: 0;
+}
+.navbar-fixed-top .container,
+.navbar-fixed-bottom .container {
+  width: 940px;
+}
+.navbar-fixed-top {
+  top: 0;
+}
+.navbar-fixed-bottom {
+  bottom: 0;
+}
+.navbar .nav {
+  position: relative;
+  left: 0;
+  display: block;
+  float: left;
+  margin: 0 10px 0 0;
+}
+.navbar .nav.pull-right {
+  float: right;
+}
+.navbar .nav > li {
+  display: block;
+  float: left;
+}
+.navbar .nav > li > a {
+  float: none;
+  padding: 10px 10px 11px;
+  line-height: 19px;
+  color: #999999;
+  text-decoration: none;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.navbar .nav > li > a:hover {
+  background-color: transparent;
+  color: #ffffff;
+  text-decoration: none;
+}
+.navbar .nav .active > a,
+.navbar .nav .active > a:hover {
+  color: #ffffff;
+  text-decoration: none;
+  background-color: #222222;
+}
+.navbar .divider-vertical {
+  height: 40px;
+  width: 1px;
+  margin: 0 9px;
+  overflow: hidden;
+  background-color: #222222;
+  border-right: 1px solid #333333;
+}
+.navbar .nav.pull-right {
+  margin-left: 10px;
+  margin-right: 0;
+}
+.navbar .dropdown-menu {
+  margin-top: 1px;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.navbar .dropdown-menu:before {
+  content: '';
+  display: inline-block;
+  border-left: 7px solid transparent;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-bottom-color: rgba(0, 0, 0, 0.2);
+  position: absolute;
+  top: -7px;
+  left: 9px;
+}
+.navbar .dropdown-menu:after {
+  content: '';
+  display: inline-block;
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid #ffffff;
+  position: absolute;
+  top: -6px;
+  left: 10px;
+}
+.navbar-fixed-bottom .dropdown-menu:before {
+  border-top: 7px solid #ccc;
+  border-top-color: rgba(0, 0, 0, 0.2);
+  border-bottom: 0;
+  bottom: -7px;
+  top: auto;
+}
+.navbar-fixed-bottom .dropdown-menu:after {
+  border-top: 6px solid #ffffff;
+  border-bottom: 0;
+  bottom: -6px;
+  top: auto;
+}
+.navbar .nav .dropdown-toggle .caret,
+.navbar .nav .open.dropdown .caret {
+  border-top-color: #ffffff;
+  border-bottom-color: #ffffff;
+}
+.navbar .nav .active .caret {
+  opacity: 1;
+  filter: alpha(opacity=100);
+}
+.navbar .nav .open > .dropdown-toggle,
+.navbar .nav .active > .dropdown-toggle,
+.navbar .nav .open.active > .dropdown-toggle {
+  background-color: transparent;
+}
+.navbar .nav .active > .dropdown-toggle:hover {
+  color: #ffffff;
+}
+.navbar .nav.pull-right .dropdown-menu,
+.navbar .nav .dropdown-menu.pull-right {
+  left: auto;
+  right: 0;
+}
+.navbar .nav.pull-right .dropdown-menu:before,
+.navbar .nav .dropdown-menu.pull-right:before {
+  left: auto;
+  right: 12px;
+}
+.navbar .nav.pull-right .dropdown-menu:after,
+.navbar .nav .dropdown-menu.pull-right:after {
+  left: auto;
+  right: 13px;
+}
+.breadcrumb {
+  padding: 7px 14px;
+  margin: 0 0 18px;
+  list-style: none;
+  background-color: #fbfbfb;
+  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
+  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);
+  background-image: linear-gradient(top, #ffffff, #f5f5f5);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
+  border: 1px solid #ddd;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
+  box-shadow: inset 0 1px 0 #ffffff;
+}
+.breadcrumb li {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+  text-shadow: 0 1px 0 #ffffff;
+}
+.breadcrumb .divider {
+  padding: 0 5px;
+  color: #999999;
+}
+.breadcrumb .active a {
+  color: #333333;
+}
+.pagination {
+  height: 36px;
+  margin: 18px 0;
+}
+.pagination ul {
+  display: inline-block;
+  *display: inline;
+  /* IE7 inline-block hack */
+
+  *zoom: 1;
+  margin-left: 0;
+  margin-bottom: 0;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
+}
+.pagination li {
+  display: inline;
+}
+.pagination a {
+  float: left;
+  padding: 0 14px;
+  line-height: 34px;
+  text-decoration: none;
+  border: 1px solid #ddd;
+  border-left-width: 0;
+}
+.pagination a:hover,
+.pagination .active a {
+  background-color: #f5f5f5;
+}
+.pagination .active a {
+  color: #999999;
+  cursor: default;
+}
+.pagination .disabled span,
+.pagination .disabled a,
+.pagination .disabled a:hover {
+  color: #999999;
+  background-color: transparent;
+  cursor: default;
+}
+.pagination li:first-child a {
+  border-left-width: 1px;
+  -webkit-border-radius: 3px 0 0 3px;
+  -moz-border-radius: 3px 0 0 3px;
+  border-radius: 3px 0 0 3px;
+}
+.pagination li:last-child a {
+  -webkit-border-radius: 0 3px 3px 0;
+  -moz-border-radius: 0 3px 3px 0;
+  border-radius: 0 3px 3px 0;
+}
+.pagination-centered {
+  text-align: center;
+}
+.pagination-right {
+  text-align: right;
+}
+.pager {
+  margin-left: 0;
+  margin-bottom: 18px;
+  list-style: none;
+  text-align: center;
+  *zoom: 1;
+}
+.pager:before,
+.pager:after {
+  display: table;
+  content: "";
+}
+.pager:after {
+  clear: both;
+}
+.pager li {
+  display: inline;
+}
+.pager a {
+  display: inline-block;
+  padding: 5px 14px;
+  background-color: #fff;
+  border: 1px solid #ddd;
+  -webkit-border-radius: 15px;
+  -moz-border-radius: 15px;
+  border-radius: 15px;
+}
+.pager a:hover {
+  text-decoration: none;
+  background-color: #f5f5f5;
+}
+.pager .next a {
+  float: right;
+}
+.pager .previous a {
+  float: left;
+}
+.pager .disabled a,
+.pager .disabled a:hover {
+  color: #999999;
+  background-color: #fff;
+  cursor: default;
+}
+.modal-open .dropdown-menu {
+  z-index: 2050;
+}
+.modal-open .dropdown.open {
+  *z-index: 2050;
+}
+.modal-open .popover {
+  z-index: 2060;
+}
+.modal-open .tooltip {
+  z-index: 2070;
+}
+.modal-backdrop {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1040;
+  background-color: #000000;
+}
+.modal-backdrop.fade {
+  opacity: 0;
+}
+.modal-backdrop,
+.modal-backdrop.fade.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+.modal {
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  z-index: 1050;
+  overflow: auto;
+  width: 560px;
+  margin: -250px 0 0 -280px;
+  background-color: #ffffff;
+  border: 1px solid #999;
+  border: 1px solid rgba(0, 0, 0, 0.3);
+  *border: 1px solid #999;
+  /* IE6-7 */
+
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+}
+.modal.fade {
+  -webkit-transition: opacity .3s linear, top .3s ease-out;
+  -moz-transition: opacity .3s linear, top .3s ease-out;
+  -ms-transition: opacity .3s linear, top .3s ease-out;
+  -o-transition: opacity .3s linear, top .3s ease-out;
+  transition: opacity .3s linear, top .3s ease-out;
+  top: -25%;
+}
+.modal.fade.in {
+  top: 50%;
+}
+.modal-header {
+  padding: 9px 15px;
+  border-bottom: 1px solid #eee;
+}
+.modal-header .close {
+  margin-top: 2px;
+}
+.modal-body {
+  overflow-y: auto;
+  max-height: 400px;
+  padding: 15px;
+}
+.modal-form {
+  margin-bottom: 0;
+}
+.modal-footer {
+  padding: 14px 15px 15px;
+  margin-bottom: 0;
+  text-align: right;
+  background-color: #f5f5f5;
+  border-top: 1px solid #ddd;
+  -webkit-border-radius: 0 0 6px 6px;
+  -moz-border-radius: 0 0 6px 6px;
+  border-radius: 0 0 6px 6px;
+  -webkit-box-shadow: inset 0 1px 0 #ffffff;
+  -moz-box-shadow: inset 0 1px 0 #ffffff;
+  box-shadow: inset 0 1px 0 #ffffff;
+  *zoom: 1;
+}
+.modal-footer:before,
+.modal-footer:after {
+  display: table;
+  content: "";
+}
+.modal-footer:after {
+  clear: both;
+}
+.modal-footer .btn + .btn {
+  margin-left: 5px;
+  margin-bottom: 0;
+}
+.modal-footer .btn-group .btn + .btn {
+  margin-left: -1px;
+}
+.tooltip {
+  position: absolute;
+  z-index: 1020;
+  display: block;
+  visibility: visible;
+  padding: 5px;
+  font-size: 11px;
+  opacity: 0;
+  filter: alpha(opacity=0);
+}
+.tooltip.in {
+  opacity: 0.8;
+  filter: alpha(opacity=80);
+}
+.tooltip.top {
+  margin-top: -2px;
+}
+.tooltip.right {
+  margin-left: 2px;
+}
+.tooltip.bottom {
+  margin-top: 2px;
+}
+.tooltip.left {
+  margin-left: -2px;
+}
+.tooltip.top .tooltip-arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
+}
+.tooltip.left .tooltip-arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
+}
+.tooltip.bottom .tooltip-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid #000000;
+}
+.tooltip.right .tooltip-arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-right: 5px solid #000000;
+}
+.tooltip-inner {
+  max-width: 200px;
+  padding: 3px 8px;
+  color: #ffffff;
+  text-align: center;
+  text-decoration: none;
+  background-color: #000000;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.tooltip-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+}
+.popover {
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: 1010;
+  display: none;
+  padding: 5px;
+}
+.popover.top {
+  margin-top: -5px;
+}
+.popover.right {
+  margin-left: 5px;
+}
+.popover.bottom {
+  margin-top: 5px;
+}
+.popover.left {
+  margin-left: -5px;
+}
+.popover.top .arrow {
+  bottom: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid #000000;
+}
+.popover.right .arrow {
+  top: 50%;
+  left: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-right: 5px solid #000000;
+}
+.popover.bottom .arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -5px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid #000000;
+}
+.popover.left .arrow {
+  top: 50%;
+  right: 0;
+  margin-top: -5px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+  border-left: 5px solid #000000;
+}
+.popover .arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+}
+.popover-inner {
+  padding: 3px;
+  width: 280px;
+  overflow: hidden;
+  background: #000000;
+  background: rgba(0, 0, 0, 0.8);
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
+}
+.popover-title {
+  padding: 9px 15px;
+  line-height: 1;
+  background-color: #f5f5f5;
+  border-bottom: 1px solid #eee;
+  -webkit-border-radius: 3px 3px 0 0;
+  -moz-border-radius: 3px 3px 0 0;
+  border-radius: 3px 3px 0 0;
+}
+.popover-content {
+  padding: 14px;
+  background-color: #ffffff;
+  -webkit-border-radius: 0 0 3px 3px;
+  -moz-border-radius: 0 0 3px 3px;
+  border-radius: 0 0 3px 3px;
+  -webkit-background-clip: padding-box;
+  -moz-background-clip: padding-box;
+  background-clip: padding-box;
+}
+.popover-content p,
+.popover-content ul,
+.popover-content ol {
+  margin-bottom: 0;
+}
+.thumbnails {
+  margin-left: -20px;
+  list-style: none;
+  *zoom: 1;
+}
+.thumbnails:before,
+.thumbnails:after {
+  display: table;
+  content: "";
+}
+.thumbnails:after {
+  clear: both;
+}
+.thumbnails > li {
+  float: left;
+  margin: 0 0 18px 20px;
+}
+.thumbnail {
+  display: block;
+  padding: 4px;
+  line-height: 1;
+  border: 1px solid #ddd;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+a.thumbnail:hover {
+  border-color: #0088cc;
+  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
+}
+.thumbnail > img {
+  display: block;
+  max-width: 100%;
+  margin-left: auto;
+  margin-right: auto;
+}
+.thumbnail .caption {
+  padding: 9px;
+}
+.label {
+  padding: 1px 4px 2px;
+  font-size: 10.998px;
+  font-weight: bold;
+  line-height: 13px;
+  color: #ffffff;
+  vertical-align: middle;
+  white-space: nowrap;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #999999;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.label:hover {
+  color: #ffffff;
+  text-decoration: none;
+}
+.label-important {
+  background-color: #b94a48;
+}
+.label-important:hover {
+  background-color: #953b39;
+}
+.label-warning {
+  background-color: #f89406;
+}
+.label-warning:hover {
+  background-color: #c67605;
+}
+.label-success {
+  background-color: #468847;
+}
+.label-success:hover {
+  background-color: #356635;
+}
+.label-info {
+  background-color: #3a87ad;
+}
+.label-info:hover {
+  background-color: #2d6987;
+}
+.label-inverse {
+  background-color: #333333;
+}
+.label-inverse:hover {
+  background-color: #1a1a1a;
+}
+.badge {
+  padding: 1px 9px 2px;
+  font-size: 12.025px;
+  font-weight: bold;
+  white-space: nowrap;
+  color: #ffffff;
+  background-color: #999999;
+  -webkit-border-radius: 9px;
+  -moz-border-radius: 9px;
+  border-radius: 9px;
+}
+.badge:hover {
+  color: #ffffff;
+  text-decoration: none;
+  cursor: pointer;
+}
+.badge-error {
+  background-color: #b94a48;
+}
+.badge-error:hover {
+  background-color: #953b39;
+}
+.badge-warning {
+  background-color: #f89406;
+}
+.badge-warning:hover {
+  background-color: #c67605;
+}
+.badge-success {
+  background-color: #468847;
+}
+.badge-success:hover {
+  background-color: #356635;
+}
+.badge-info {
+  background-color: #3a87ad;
+}
+.badge-info:hover {
+  background-color: #2d6987;
+}
+.badge-inverse {
+  background-color: #333333;
+}
+.badge-inverse:hover {
+  background-color: #1a1a1a;
+}
+@-webkit-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@-moz-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@-ms-keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 0 0;
+  }
+  to {
+    background-position: 40px 0;
+  }
+}
+.progress {
+  overflow: hidden;
+  height: 18px;
+  margin-bottom: 18px;
+  background-color: #f7f7f7;
+  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
+  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
+  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.progress .bar {
+  width: 0%;
+  height: 18px;
+  color: #ffffff;
+  font-size: 12px;
+  text-align: center;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+  background-color: #0e90d2;
+  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
+  background-image: -ms-linear-gradient(top, #149bdf, #0480be);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
+  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
+  background-image: -o-linear-gradient(top, #149bdf, #0480be);
+  background-image: linear-gradient(top, #149bdf, #0480be);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);
+  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  -webkit-transition: width 0.6s ease;
+  -moz-transition: width 0.6s ease;
+  -ms-transition: width 0.6s ease;
+  -o-transition: width 0.6s ease;
+  transition: width 0.6s ease;
+}
+.progress-striped .bar {
+  background-color: #149bdf;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  -webkit-background-size: 40px 40px;
+  -moz-background-size: 40px 40px;
+  -o-background-size: 40px 40px;
+  background-size: 40px 40px;
+}
+.progress.active .bar {
+  -webkit-animation: progress-bar-stripes 2s linear infinite;
+  -moz-animation: progress-bar-stripes 2s linear infinite;
+  animation: progress-bar-stripes 2s linear infinite;
+}
+.progress-danger .bar {
+  background-color: #dd514c;
+  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
+  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
+  background-image: linear-gradient(top, #ee5f5b, #c43c35);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
+}
+.progress-danger.progress-striped .bar {
+  background-color: #ee5f5b;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-success .bar {
+  background-color: #5eb95e;
+  background-image: -moz-linear-gradient(top, #62c462, #57a957);
+  background-image: -ms-linear-gradient(top, #62c462, #57a957);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
+  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
+  background-image: -o-linear-gradient(top, #62c462, #57a957);
+  background-image: linear-gradient(top, #62c462, #57a957);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
+}
+.progress-success.progress-striped .bar {
+  background-color: #62c462;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-info .bar {
+  background-color: #4bb1cf;
+  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
+  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
+  background-image: linear-gradient(top, #5bc0de, #339bb9);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
+}
+.progress-info.progress-striped .bar {
+  background-color: #5bc0de;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.progress-warning .bar {
+  background-color: #faa732;
+  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
+  background-image: -ms-linear-gradient(top, #fbb450, #f89406);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
+  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
+  background-image: -o-linear-gradient(top, #fbb450, #f89406);
+  background-image: linear-gradient(top, #fbb450, #f89406);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
+}
+.progress-warning.progress-striped .bar {
+  background-color: #fbb450;
+  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+}
+.accordion {
+  margin-bottom: 18px;
+}
+.accordion-group {
+  margin-bottom: 2px;
+  border: 1px solid #e5e5e5;
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+}
+.accordion-heading {
+  border-bottom: 0;
+}
+.accordion-heading .accordion-toggle {
+  display: block;
+  padding: 8px 15px;
+}
+.accordion-inner {
+  padding: 9px 15px;
+  border-top: 1px solid #e5e5e5;
+}
+.carousel {
+  position: relative;
+  margin-bottom: 18px;
+  line-height: 1;
+}
+.carousel-inner {
+  overflow: hidden;
+  width: 100%;
+  position: relative;
+}
+.carousel .item {
+  display: none;
+  position: relative;
+  -webkit-transition: 0.6s ease-in-out left;
+  -moz-transition: 0.6s ease-in-out left;
+  -ms-transition: 0.6s ease-in-out left;
+  -o-transition: 0.6s ease-in-out left;
+  transition: 0.6s ease-in-out left;
+}
+.carousel .item > img {
+  display: block;
+  line-height: 1;
+}
+.carousel .active,
+.carousel .next,
+.carousel .prev {
+  display: block;
+}
+.carousel .active {
+  left: 0;
+}
+.carousel .next,
+.carousel .prev {
+  position: absolute;
+  top: 0;
+  width: 100%;
+}
+.carousel .next {
+  left: 100%;
+}
+.carousel .prev {
+  left: -100%;
+}
+.carousel .next.left,
+.carousel .prev.right {
+  left: 0;
+}
+.carousel .active.left {
+  left: -100%;
+}
+.carousel .active.right {
+  left: 100%;
+}
+.carousel-control {
+  position: absolute;
+  top: 40%;
+  left: 15px;
+  width: 40px;
+  height: 40px;
+  margin-top: -20px;
+  font-size: 60px;
+  font-weight: 100;
+  line-height: 30px;
+  color: #ffffff;
+  text-align: center;
+  background: #222222;
+  border: 3px solid #ffffff;
+  -webkit-border-radius: 23px;
+  -moz-border-radius: 23px;
+  border-radius: 23px;
+  opacity: 0.5;
+  filter: alpha(opacity=50);
+}
+.carousel-control.right {
+  left: auto;
+  right: 15px;
+}
+.carousel-control:hover {
+  color: #ffffff;
+  text-decoration: none;
+  opacity: 0.9;
+  filter: alpha(opacity=90);
+}
+.carousel-caption {
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10px 15px 5px;
+  background: #333333;
+  background: rgba(0, 0, 0, 0.75);
+}
+.carousel-caption h4,
+.carousel-caption p {
+  color: #ffffff;
+}
+.hero-unit {
+  padding: 60px;
+  margin-bottom: 30px;
+  background-color: #eeeeee;
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+}
+.hero-unit h1 {
+  margin-bottom: 0;
+  font-size: 60px;
+  line-height: 1;
+  color: inherit;
+  letter-spacing: -1px;
+}
+.hero-unit p {
+  font-size: 18px;
+  font-weight: 200;
+  line-height: 27px;
+  color: inherit;
+}
+.pull-right {
+  float: right;
+}
+.pull-left {
+  float: left;
+}
+.hide {
+  display: none;
+}
+.show {
+  display: block;
+}
+.invisible {
+  visibility: hidden;
+}
diff --git a/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings-white.png b/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings-white.png
new file mode 100644 (file)
index 0000000..a20760b
Binary files /dev/null and b/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings-white.png differ
diff --git a/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings.png b/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings.png
new file mode 100644 (file)
index 0000000..92d4445
Binary files /dev/null and b/addons/web/static/lib/jquery.bootstrap/img/glyphicons-halflings.png differ
diff --git a/addons/web/static/lib/jquery.bootstrap/js/bootstrap.js b/addons/web/static/lib/jquery.bootstrap/js/bootstrap.js
new file mode 100644 (file)
index 0000000..ca86867
--- /dev/null
@@ -0,0 +1,1726 @@
+/* ===================================================
+ * bootstrap-transition.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#transitions
+ * ===================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+  $(function () {
+
+    "use strict"
+
+    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
+     * ======================================================= */
+
+    $.support.transition = (function () {
+      var thisBody = document.body || document.documentElement
+        , thisStyle = thisBody.style
+        , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
+
+      return support && {
+        end: (function () {
+          var transitionEnd = "TransitionEnd"
+          if ( $.browser.webkit ) {
+               transitionEnd = "webkitTransitionEnd"
+          } else if ( $.browser.mozilla ) {
+               transitionEnd = "transitionend"
+          } else if ( $.browser.opera ) {
+               transitionEnd = "oTransitionEnd"
+          }
+          return transitionEnd
+        }())
+      }
+    })()
+
+  })
+
+}( window.jQuery );/* ==========================================================
+ * bootstrap-alert.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#alerts
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+  "use strict"
+
+ /* ALERT CLASS DEFINITION
+  * ====================== */
+
+  var dismiss = '[data-dismiss="alert"]'
+    , Alert = function ( el ) {
+        $(el).on('click', dismiss, this.close)
+      }
+
+  Alert.prototype = {
+
+    constructor: Alert
+
+  , close: function ( e ) {
+      var $this = $(this)
+        , selector = $this.attr('data-target')
+        , $parent
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      $parent = $(selector)
+      $parent.trigger('close')
+
+      e && e.preventDefault()
+
+      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
+
+      $parent
+        .trigger('close')
+        .removeClass('in')
+
+      function removeElement() {
+        $parent
+          .trigger('closed')
+          .remove()
+      }
+
+      $.support.transition && $parent.hasClass('fade') ?
+        $parent.on($.support.transition.end, removeElement) :
+        removeElement()
+    }
+
+  }
+
+
+ /* ALERT PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.alert = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('alert')
+      if (!data) $this.data('alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.alert.Constructor = Alert
+
+
+ /* ALERT DATA-API
+  * ============== */
+
+  $(function () {
+    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
+  })
+
+}( window.jQuery );/* ============================================================
+ * bootstrap-button.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#buttons
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+  "use strict"
+
+ /* BUTTON PUBLIC CLASS DEFINITION
+  * ============================== */
+
+  var Button = function ( element, options ) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.button.defaults, options)
+  }
+
+  Button.prototype = {
+
+      constructor: Button
+
+    , setState: function ( state ) {
+        var d = 'disabled'
+          , $el = this.$element
+          , data = $el.data()
+          , val = $el.is('input') ? 'val' : 'html'
+
+        state = state + 'Text'
+        data.resetText || $el.data('resetText', $el[val]())
+
+        $el[val](data[state] || this.options[state])
+
+        // push to event loop to allow forms to submit
+        setTimeout(function () {
+          state == 'loadingText' ?
+            $el.addClass(d).attr(d, d) :
+            $el.removeClass(d).removeAttr(d)
+        }, 0)
+      }
+
+    , toggle: function () {
+        var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
+
+        $parent && $parent
+          .find('.active')
+          .removeClass('active')
+
+        this.$element.toggleClass('active')
+      }
+
+  }
+
+
+ /* BUTTON PLUGIN DEFINITION
+  * ======================== */
+
+  $.fn.button = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('button')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('button', (data = new Button(this, options)))
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  $.fn.button.defaults = {
+    loadingText: 'loading...'
+  }
+
+  $.fn.button.Constructor = Button
+
+
+ /* BUTTON DATA-API
+  * =============== */
+
+  $(function () {
+    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      $btn.button('toggle')
+    })
+  })
+
+}( window.jQuery );/* ==========================================================
+ * bootstrap-carousel.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#carousel
+ * ==========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+
+!function( $ ){
+
+  "use strict"
+
+ /* CAROUSEL CLASS DEFINITION
+  * ========================= */
+
+  var Carousel = function (element, options) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.carousel.defaults, options)
+    this.options.slide && this.slide(this.options.slide)
+    this.options.pause == 'hover' && this.$element
+      .on('mouseenter', $.proxy(this.pause, this))
+      .on('mouseleave', $.proxy(this.cycle, this))
+  }
+
+  Carousel.prototype = {
+
+    cycle: function () {
+      this.interval = setInterval($.proxy(this.next, this), this.options.interval)
+      return this
+    }
+
+  , to: function (pos) {
+      var $active = this.$element.find('.active')
+        , children = $active.parent().children()
+        , activePos = children.index($active)
+        , that = this
+
+      if (pos > (children.length - 1) || pos < 0) return
+
+      if (this.sliding) {
+        return this.$element.one('slid', function () {
+          that.to(pos)
+        })
+      }
+
+      if (activePos == pos) {
+        return this.pause().cycle()
+      }
+
+      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
+    }
+
+  , pause: function () {
+      clearInterval(this.interval)
+      this.interval = null
+      return this
+    }
+
+  , next: function () {
+      if (this.sliding) return
+      return this.slide('next')
+    }
+
+  , prev: function () {
+      if (this.sliding) return
+      return this.slide('prev')
+    }
+
+  , slide: function (type, next) {
+      var $active = this.$element.find('.active')
+        , $next = next || $active[type]()
+        , isCycling = this.interval
+        , direction = type == 'next' ? 'left' : 'right'
+        , fallback  = type == 'next' ? 'first' : 'last'
+        , that = this
+
+      this.sliding = true
+
+      isCycling && this.pause()
+
+      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
+
+      if ($next.hasClass('active')) return
+
+      if (!$.support.transition && this.$element.hasClass('slide')) {
+        this.$element.trigger('slide')
+        $active.removeClass('active')
+        $next.addClass('active')
+        this.sliding = false
+        this.$element.trigger('slid')
+      } else {
+        $next.addClass(type)
+        $next[0].offsetWidth // force reflow
+        $active.addClass(direction)
+        $next.addClass(direction)
+        this.$element.trigger('slide')
+        this.$element.one($.support.transition.end, function () {
+          $next.removeClass([type, direction].join(' ')).addClass('active')
+          $active.removeClass(['active', direction].join(' '))
+          that.sliding = false
+          setTimeout(function () { that.$element.trigger('slid') }, 0)
+        })
+      }
+
+      isCycling && this.cycle()
+
+      return this
+    }
+
+  }
+
+
+ /* CAROUSEL PLUGIN DEFINITION
+  * ========================== */
+
+  $.fn.carousel = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('carousel')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (typeof option == 'string' || (option = options.slide)) data[option]()
+      else data.cycle()
+    })
+  }
+
+  $.fn.carousel.defaults = {
+    interval: 5000
+  , pause: 'hover'
+  }
+
+  $.fn.carousel.Constructor = Carousel
+
+
+ /* CAROUSEL DATA-API
+  * ================= */
+
+  $(function () {
+    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
+      $target.carousel(options)
+      e.preventDefault()
+    })
+  })
+
+}( window.jQuery );/* =============================================================
+ * bootstrap-collapse.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#collapse
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+  "use strict"
+
+  var Collapse = function ( element, options ) {
+       this.$element = $(element)
+    this.options = $.extend({}, $.fn.collapse.defaults, options)
+
+    if (this.options["parent"]) {
+      this.$parent = $(this.options["parent"])
+    }
+
+    this.options.toggle && this.toggle()
+  }
+
+  Collapse.prototype = {
+
+    constructor: Collapse
+
+  , dimension: function () {
+      var hasWidth = this.$element.hasClass('width')
+      return hasWidth ? 'width' : 'height'
+    }
+
+  , show: function () {
+      var dimension = this.dimension()
+        , scroll = $.camelCase(['scroll', dimension].join('-'))
+        , actives = this.$parent && this.$parent.find('.in')
+        , hasData
+
+      if (actives && actives.length) {
+        hasData = actives.data('collapse')
+        actives.collapse('hide')
+        hasData || actives.data('collapse', null)
+      }
+
+      this.$element[dimension](0)
+      this.transition('addClass', 'show', 'shown')
+      this.$element[dimension](this.$element[0][scroll])
+
+    }
+
+  , hide: function () {
+      var dimension = this.dimension()
+      this.reset(this.$element[dimension]())
+      this.transition('removeClass', 'hide', 'hidden')
+      this.$element[dimension](0)
+    }
+
+  , reset: function ( size ) {
+      var dimension = this.dimension()
+
+      this.$element
+        .removeClass('collapse')
+        [dimension](size || 'auto')
+        [0].offsetWidth
+
+      this.$element[size ? 'addClass' : 'removeClass']('collapse')
+
+      return this
+    }
+
+  , transition: function ( method, startEvent, completeEvent ) {
+      var that = this
+        , complete = function () {
+            if (startEvent == 'show') that.reset()
+            that.$element.trigger(completeEvent)
+          }
+
+      this.$element
+        .trigger(startEvent)
+        [method]('in')
+
+      $.support.transition && this.$element.hasClass('collapse') ?
+        this.$element.one($.support.transition.end, complete) :
+        complete()
+       }
+
+  , toggle: function () {
+      this[this.$element.hasClass('in') ? 'hide' : 'show']()
+       }
+
+  }
+
+  /* COLLAPSIBLE PLUGIN DEFINITION
+  * ============================== */
+
+  $.fn.collapse = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('collapse')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.collapse.defaults = {
+    toggle: true
+  }
+
+  $.fn.collapse.Constructor = Collapse
+
+
+ /* COLLAPSIBLE DATA-API
+  * ==================== */
+
+  $(function () {
+    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
+      var $this = $(this), href
+        , target = $this.attr('data-target')
+          || e.preventDefault()
+          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
+        , option = $(target).data('collapse') ? 'toggle' : $this.data()
+      $(target).collapse(option)
+    })
+  })
+
+}( window.jQuery );/* ============================================================
+ * bootstrap-dropdown.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#dropdowns
+ * ============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+
+!function( $ ){
+
+  "use strict"
+
+ /* DROPDOWN CLASS DEFINITION
+  * ========================= */
+
+  var toggle = '[data-toggle="dropdown"]'
+    , Dropdown = function ( element ) {
+        var $el = $(element).on('click.dropdown.data-api', this.toggle)
+        $('html').on('click.dropdown.data-api', function () {
+          $el.parent().removeClass('open')
+        })
+      }
+
+  Dropdown.prototype = {
+
+    constructor: Dropdown
+
+  , toggle: function ( e ) {
+      var $this = $(this)
+        , selector = $this.attr('data-target')
+        , $parent
+        , isActive
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      $parent = $(selector)
+      $parent.length || ($parent = $this.parent())
+
+      isActive = $parent.hasClass('open')
+
+      clearMenus()
+      !isActive && $parent.toggleClass('open')
+
+      return false
+    }
+
+  }
+
+  function clearMenus() {
+    $(toggle).parent().removeClass('open')
+  }
+
+
+  /* DROPDOWN PLUGIN DEFINITION
+   * ========================== */
+
+  $.fn.dropdown = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('dropdown')
+      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  $.fn.dropdown.Constructor = Dropdown
+
+
+  /* APPLY TO STANDARD DROPDOWN ELEMENTS
+   * =================================== */
+
+  $(function () {
+    $('html').on('click.dropdown.data-api', clearMenus)
+    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+  })
+
+}( window.jQuery );/* =========================================================
+ * bootstrap-modal.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#modals
+ * =========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================= */
+
+
+!function( $ ){
+
+  "use strict"
+
+ /* MODAL CLASS DEFINITION
+  * ====================== */
+
+  var Modal = function ( content, options ) {
+    this.options = options
+    this.$element = $(content)
+      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
+  }
+
+  Modal.prototype = {
+
+      constructor: Modal
+
+    , toggle: function () {
+        return this[!this.isShown ? 'show' : 'hide']()
+      }
+
+    , show: function () {
+        var that = this
+
+        if (this.isShown) return
+
+        $('body').addClass('modal-open')
+
+        this.isShown = true
+        this.$element.trigger('show')
+
+        escape.call(this)
+        backdrop.call(this, function () {
+          var transition = $.support.transition && that.$element.hasClass('fade')
+
+          !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
+
+          that.$element
+            .show()
+
+          if (transition) {
+            that.$element[0].offsetWidth // force reflow
+          }
+
+          that.$element.addClass('in')
+
+          transition ?
+            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
+            that.$element.trigger('shown')
+
+        })
+      }
+
+    , hide: function ( e ) {
+        e && e.preventDefault()
+
+        if (!this.isShown) return
+
+        var that = this
+        this.isShown = false
+
+        $('body').removeClass('modal-open')
+
+        escape.call(this)
+
+        this.$element
+          .trigger('hide')
+          .removeClass('in')
+
+        $.support.transition && this.$element.hasClass('fade') ?
+          hideWithTransition.call(this) :
+          hideModal.call(this)
+      }
+
+  }
+
+
+ /* MODAL PRIVATE METHODS
+  * ===================== */
+
+  function hideWithTransition() {
+    var that = this
+      , timeout = setTimeout(function () {
+          that.$element.off($.support.transition.end)
+          hideModal.call(that)
+        }, 500)
+
+    this.$element.one($.support.transition.end, function () {
+      clearTimeout(timeout)
+      hideModal.call(that)
+    })
+  }
+
+  function hideModal( that ) {
+    this.$element
+      .hide()
+      .trigger('hidden')
+
+    backdrop.call(this)
+  }
+
+  function backdrop( callback ) {
+    var that = this
+      , animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+    if (this.isShown && this.options.backdrop) {
+      var doAnimate = $.support.transition && animate
+
+      this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+        .appendTo(document.body)
+
+      if (this.options.backdrop != 'static') {
+        this.$backdrop.click($.proxy(this.hide, this))
+      }
+
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+      this.$backdrop.addClass('in')
+
+      doAnimate ?
+        this.$backdrop.one($.support.transition.end, callback) :
+        callback()
+
+    } else if (!this.isShown && this.$backdrop) {
+      this.$backdrop.removeClass('in')
+
+      $.support.transition && this.$element.hasClass('fade')?
+        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
+        removeBackdrop.call(this)
+
+    } else if (callback) {
+      callback()
+    }
+  }
+
+  function removeBackdrop() {
+    this.$backdrop.remove()
+    this.$backdrop = null
+  }
+
+  function escape() {
+    var that = this
+    if (this.isShown && this.options.keyboard) {
+      $(document).on('keyup.dismiss.modal', function ( e ) {
+        e.which == 27 && that.hide()
+      })
+    } else if (!this.isShown) {
+      $(document).off('keyup.dismiss.modal')
+    }
+  }
+
+
+ /* MODAL PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.modal = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('modal')
+        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
+      if (!data) $this.data('modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option]()
+      else if (options.show) data.show()
+    })
+  }
+
+  $.fn.modal.defaults = {
+      backdrop: true
+    , keyboard: true
+    , show: true
+  }
+
+  $.fn.modal.Constructor = Modal
+
+
+ /* MODAL DATA-API
+  * ============== */
+
+  $(function () {
+    $('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
+      var $this = $(this), href
+        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
+
+      e.preventDefault()
+      $target.modal(option)
+    })
+  })
+
+}( window.jQuery );/* ===========================================================
+ * bootstrap-tooltip.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#tooltips
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ========================================================== */
+
+!function( $ ) {
+
+  "use strict"
+
+ /* TOOLTIP PUBLIC CLASS DEFINITION
+  * =============================== */
+
+  var Tooltip = function ( element, options ) {
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.prototype = {
+
+    constructor: Tooltip
+
+  , init: function ( type, element, options ) {
+      var eventIn
+        , eventOut
+
+      this.type = type
+      this.$element = $(element)
+      this.options = this.getOptions(options)
+      this.enabled = true
+
+      if (this.options.trigger != 'manual') {
+        eventIn  = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
+        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
+        this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
+        this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
+      }
+
+      this.options.selector ?
+        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+        this.fixTitle()
+    }
+
+  , getOptions: function ( options ) {
+      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
+
+      if (options.delay && typeof options.delay == 'number') {
+        options.delay = {
+          show: options.delay
+        , hide: options.delay
+        }
+      }
+
+      return options
+    }
+
+  , enter: function ( e ) {
+      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+      if (!self.options.delay || !self.options.delay.show) {
+        self.show()
+      } else {
+        self.hoverState = 'in'
+        setTimeout(function() {
+          if (self.hoverState == 'in') {
+            self.show()
+          }
+        }, self.options.delay.show)
+      }
+    }
+
+  , leave: function ( e ) {
+      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
+
+      if (!self.options.delay || !self.options.delay.hide) {
+        self.hide()
+      } else {
+        self.hoverState = 'out'
+        setTimeout(function() {
+          if (self.hoverState == 'out') {
+            self.hide()
+          }
+        }, self.options.delay.hide)
+      }
+    }
+
+  , show: function () {
+      var $tip
+        , inside
+        , pos
+        , actualWidth
+        , actualHeight
+        , placement
+        , tp
+
+      if (this.hasContent() && this.enabled) {
+        $tip = this.tip()
+        this.setContent()
+
+        if (this.options.animation) {
+          $tip.addClass('fade')
+        }
+
+        placement = typeof this.options.placement == 'function' ?
+          this.options.placement.call(this, $tip[0], this.$element[0]) :
+          this.options.placement
+
+        inside = /in/.test(placement)
+
+        $tip
+          .remove()
+          .css({ top: 0, left: 0, display: 'block' })
+          .appendTo(inside ? this.$element : document.body)
+
+        pos = this.getPosition(inside)
+
+        actualWidth = $tip[0].offsetWidth
+        actualHeight = $tip[0].offsetHeight
+
+        switch (inside ? placement.split(' ')[1] : placement) {
+          case 'bottom':
+            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'top':
+            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
+            break
+          case 'left':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
+            break
+          case 'right':
+            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
+            break
+        }
+
+        $tip
+          .css(tp)
+          .addClass(placement)
+          .addClass('in')
+      }
+    }
+
+  , setContent: function () {
+      var $tip = this.tip()
+      $tip.find('.tooltip-inner').html(this.getTitle())
+      $tip.removeClass('fade in top bottom left right')
+    }
+
+  , hide: function () {
+      var that = this
+        , $tip = this.tip()
+
+      $tip.removeClass('in')
+
+      function removeWithAnimation() {
+        var timeout = setTimeout(function () {
+          $tip.off($.support.transition.end).remove()
+        }, 500)
+
+        $tip.one($.support.transition.end, function () {
+          clearTimeout(timeout)
+          $tip.remove()
+        })
+      }
+
+      $.support.transition && this.$tip.hasClass('fade') ?
+        removeWithAnimation() :
+        $tip.remove()
+    }
+
+  , fixTitle: function () {
+      var $e = this.$element
+      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
+        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
+      }
+    }
+
+  , hasContent: function () {
+      return this.getTitle()
+    }
+
+  , getPosition: function (inside) {
+      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
+        width: this.$element[0].offsetWidth
+      , height: this.$element[0].offsetHeight
+      })
+    }
+
+  , getTitle: function () {
+      var title
+        , $e = this.$element
+        , o = this.options
+
+      title = $e.attr('data-original-title')
+        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+      title = (title || '').toString().replace(/(^\s*|\s*$)/, "")
+
+      return title
+    }
+
+  , tip: function () {
+      return this.$tip = this.$tip || $(this.options.template)
+    }
+
+  , validate: function () {
+      if (!this.$element[0].parentNode) {
+        this.hide()
+        this.$element = null
+        this.options = null
+      }
+    }
+
+  , enable: function () {
+      this.enabled = true
+    }
+
+  , disable: function () {
+      this.enabled = false
+    }
+
+  , toggleEnabled: function () {
+      this.enabled = !this.enabled
+    }
+
+  , toggle: function () {
+      this[this.tip().hasClass('in') ? 'hide' : 'show']()
+    }
+
+  }
+
+
+ /* TOOLTIP PLUGIN DEFINITION
+  * ========================= */
+
+  $.fn.tooltip = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tooltip')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tooltip.Constructor = Tooltip
+
+  $.fn.tooltip.defaults = {
+    animation: true
+  , delay: 0
+  , selector: false
+  , placement: 'top'
+  , trigger: 'hover'
+  , title: ''
+  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
+  }
+
+}( window.jQuery );/* ===========================================================
+ * bootstrap-popover.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#popovers
+ * ===========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * =========================================================== */
+
+
+!function( $ ) {
+
+ "use strict"
+
+  var Popover = function ( element, options ) {
+    this.init('popover', element, options)
+  }
+
+  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
+     ========================================== */
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
+
+    constructor: Popover
+
+  , setContent: function () {
+      var $tip = this.tip()
+        , title = this.getTitle()
+        , content = this.getContent()
+
+      $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
+      $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
+
+      $tip.removeClass('fade top bottom left right in')
+    }
+
+  , hasContent: function () {
+      return this.getTitle() || this.getContent()
+    }
+
+  , getContent: function () {
+      var content
+        , $e = this.$element
+        , o = this.options
+
+      content = $e.attr('data-content')
+        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
+
+      content = content.toString().replace(/(^\s*|\s*$)/, "")
+
+      return content
+    }
+
+  , tip: function() {
+      if (!this.$tip) {
+        this.$tip = $(this.options.template)
+      }
+      return this.$tip
+    }
+
+  })
+
+
+ /* POPOVER PLUGIN DEFINITION
+  * ======================= */
+
+  $.fn.popover = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('popover')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.popover.Constructor = Popover
+
+  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
+    placement: 'right'
+  , content: ''
+  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
+  })
+
+}( window.jQuery );/* =============================================================
+ * bootstrap-scrollspy.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#scrollspy
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================== */
+
+!function ( $ ) {
+
+  "use strict"
+
+  /* SCROLLSPY CLASS DEFINITION
+   * ========================== */
+
+  function ScrollSpy( element, options) {
+    var process = $.proxy(this.process, this)
+      , $element = $(element).is('body') ? $(window) : $(element)
+      , href
+    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
+    this.$scrollElement = $element.on('scroll.scroll.data-api', process)
+    this.selector = (this.options.target
+      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
+      || '') + ' .nav li > a'
+    this.$body = $('body').on('click.scroll.data-api', this.selector, process)
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.prototype = {
+
+      constructor: ScrollSpy
+
+    , refresh: function () {
+        this.targets = this.$body
+          .find(this.selector)
+          .map(function () {
+            var href = $(this).attr('href')
+            return /^#\w/.test(href) && $(href).length ? href : null
+          })
+
+        this.offsets = $.map(this.targets, function (id) {
+          return $(id).position().top
+        })
+      }
+
+    , process: function () {
+        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+          , offsets = this.offsets
+          , targets = this.targets
+          , activeTarget = this.activeTarget
+          , i
+
+        for (i = offsets.length; i--;) {
+          activeTarget != targets[i]
+            && scrollTop >= offsets[i]
+            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+            && this.activate( targets[i] )
+        }
+      }
+
+    , activate: function (target) {
+        var active
+
+        this.activeTarget = target
+
+        this.$body
+          .find(this.selector).parent('.active')
+          .removeClass('active')
+
+        active = this.$body
+          .find(this.selector + '[href="' + target + '"]')
+          .parent('li')
+          .addClass('active')
+
+        if ( active.parent('.dropdown-menu') )  {
+          active.closest('li.dropdown').addClass('active')
+        }
+      }
+
+  }
+
+
+ /* SCROLLSPY PLUGIN DEFINITION
+  * =========================== */
+
+  $.fn.scrollspy = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('scrollspy')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+  $.fn.scrollspy.defaults = {
+    offset: 10
+  }
+
+
+ /* SCROLLSPY DATA-API
+  * ================== */
+
+  $(function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      $spy.scrollspy($spy.data())
+    })
+  })
+
+}( window.jQuery );/* ========================================================
+ * bootstrap-tab.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#tabs
+ * ========================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ======================================================== */
+
+
+!function( $ ){
+
+  "use strict"
+
+ /* TAB CLASS DEFINITION
+  * ==================== */
+
+  var Tab = function ( element ) {
+    this.element = $(element)
+  }
+
+  Tab.prototype = {
+
+    constructor: Tab
+
+  , show: function () {
+      var $this = this.element
+        , $ul = $this.closest('ul:not(.dropdown-menu)')
+        , selector = $this.attr('data-target')
+        , previous
+        , $target
+
+      if (!selector) {
+        selector = $this.attr('href')
+        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
+      }
+
+      if ( $this.parent('li').hasClass('active') ) return
+
+      previous = $ul.find('.active a').last()[0]
+
+      $this.trigger({
+        type: 'show'
+      , relatedTarget: previous
+      })
+
+      $target = $(selector)
+
+      this.activate($this.parent('li'), $ul)
+      this.activate($target, $target.parent(), function () {
+        $this.trigger({
+          type: 'shown'
+        , relatedTarget: previous
+        })
+      })
+    }
+
+  , activate: function ( element, container, callback) {
+      var $active = container.find('> .active')
+        , transition = callback
+            && $.support.transition
+            && $active.hasClass('fade')
+
+      function next() {
+        $active
+          .removeClass('active')
+          .find('> .dropdown-menu > .active')
+          .removeClass('active')
+
+        element.addClass('active')
+
+        if (transition) {
+          element[0].offsetWidth // reflow for transition
+          element.addClass('in')
+        } else {
+          element.removeClass('fade')
+        }
+
+        if ( element.parent('.dropdown-menu') ) {
+          element.closest('li.dropdown').addClass('active')
+        }
+
+        callback && callback()
+      }
+
+      transition ?
+        $active.one($.support.transition.end, next) :
+        next()
+
+      $active.removeClass('in')
+    }
+  }
+
+
+ /* TAB PLUGIN DEFINITION
+  * ===================== */
+
+  $.fn.tab = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('tab')
+      if (!data) $this.data('tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.tab.Constructor = Tab
+
+
+ /* TAB DATA-API
+  * ============ */
+
+  $(function () {
+    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
+      e.preventDefault()
+      $(this).tab('show')
+    })
+  })
+
+}( window.jQuery );/* =============================================================
+ * bootstrap-typeahead.js v2.0.2
+ * http://twitter.github.com/bootstrap/javascript.html#typeahead
+ * =============================================================
+ * Copyright 2012 Twitter, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============================================================ */
+
+!function( $ ){
+
+  "use strict"
+
+  var Typeahead = function ( element, options ) {
+    this.$element = $(element)
+    this.options = $.extend({}, $.fn.typeahead.defaults, options)
+    this.matcher = this.options.matcher || this.matcher
+    this.sorter = this.options.sorter || this.sorter
+    this.highlighter = this.options.highlighter || this.highlighter
+    this.$menu = $(this.options.menu).appendTo('body')
+    this.source = this.options.source
+    this.shown = false
+    this.listen()
+  }
+
+  Typeahead.prototype = {
+
+    constructor: Typeahead
+
+  , select: function () {
+      var val = this.$menu.find('.active').attr('data-value')
+      this.$element.val(val)
+      this.$element.change();
+      return this.hide()
+    }
+
+  , show: function () {
+      var pos = $.extend({}, this.$element.offset(), {
+        height: this.$element[0].offsetHeight
+      })
+
+      this.$menu.css({
+        top: pos.top + pos.height
+      , left: pos.left
+      })
+
+      this.$menu.show()
+      this.shown = true
+      return this
+    }
+
+  , hide: function () {
+      this.$menu.hide()
+      this.shown = false
+      return this
+    }
+
+  , lookup: function (event) {
+      var that = this
+        , items
+        , q
+
+      this.query = this.$element.val()
+
+      if (!this.query) {
+        return this.shown ? this.hide() : this
+      }
+
+      items = $.grep(this.source, function (item) {
+        if (that.matcher(item)) return item
+      })
+
+      items = this.sorter(items)
+
+      if (!items.length) {
+        return this.shown ? this.hide() : this
+      }
+
+      return this.render(items.slice(0, this.options.items)).show()
+    }
+
+  , matcher: function (item) {
+      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
+    }
+
+  , sorter: function (items) {
+      var beginswith = []
+        , caseSensitive = []
+        , caseInsensitive = []
+        , item
+
+      while (item = items.shift()) {
+        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
+        else if (~item.indexOf(this.query)) caseSensitive.push(item)
+        else caseInsensitive.push(item)
+      }
+
+      return beginswith.concat(caseSensitive, caseInsensitive)
+    }
+
+  , highlighter: function (item) {
+      return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
+        return '<strong>' + match + '</strong>'
+      })
+    }
+
+  , render: function (items) {
+      var that = this
+
+      items = $(items).map(function (i, item) {
+        i = $(that.options.item).attr('data-value', item)
+        i.find('a').html(that.highlighter(item))
+        return i[0]
+      })
+
+      items.first().addClass('active')
+      this.$menu.html(items)
+      return this
+    }
+
+  , next: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , next = active.next()
+
+      if (!next.length) {
+        next = $(this.$menu.find('li')[0])
+      }
+
+      next.addClass('active')
+    }
+
+  , prev: function (event) {
+      var active = this.$menu.find('.active').removeClass('active')
+        , prev = active.prev()
+
+      if (!prev.length) {
+        prev = this.$menu.find('li').last()
+      }
+
+      prev.addClass('active')
+    }
+
+  , listen: function () {
+      this.$element
+        .on('blur',     $.proxy(this.blur, this))
+        .on('keypress', $.proxy(this.keypress, this))
+        .on('keyup',    $.proxy(this.keyup, this))
+
+      if ($.browser.webkit || $.browser.msie) {
+        this.$element.on('keydown', $.proxy(this.keypress, this))
+      }
+
+      this.$menu
+        .on('click', $.proxy(this.click, this))
+        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
+    }
+
+  , keyup: function (e) {
+      switch(e.keyCode) {
+        case 40: // down arrow
+        case 38: // up arrow
+          break
+
+        case 9: // tab
+        case 13: // enter
+          if (!this.shown) return
+          this.select()
+          break
+
+        case 27: // escape
+          if (!this.shown) return
+          this.hide()
+          break
+
+        default:
+          this.lookup()
+      }
+
+      e.stopPropagation()
+      e.preventDefault()
+  }
+
+  , keypress: function (e) {
+      if (!this.shown) return
+
+      switch(e.keyCode) {
+        case 9: // tab
+        case 13: // enter
+        case 27: // escape
+          e.preventDefault()
+          break
+
+        case 38: // up arrow
+          e.preventDefault()
+          this.prev()
+          break
+
+        case 40: // down arrow
+          e.preventDefault()
+          this.next()
+          break
+      }
+
+      e.stopPropagation()
+    }
+
+  , blur: function (e) {
+      var that = this
+      setTimeout(function () { that.hide() }, 150)
+    }
+
+  , click: function (e) {
+      e.stopPropagation()
+      e.preventDefault()
+      this.select()
+    }
+
+  , mouseenter: function (e) {
+      this.$menu.find('.active').removeClass('active')
+      $(e.currentTarget).addClass('active')
+    }
+
+  }
+
+
+  /* TYPEAHEAD PLUGIN DEFINITION
+   * =========================== */
+
+  $.fn.typeahead = function ( option ) {
+    return this.each(function () {
+      var $this = $(this)
+        , data = $this.data('typeahead')
+        , options = typeof option == 'object' && option
+      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  $.fn.typeahead.defaults = {
+    source: []
+  , items: 8
+  , menu: '<ul class="typeahead dropdown-menu"></ul>'
+  , item: '<li><a href="#"></a></li>'
+  }
+
+  $.fn.typeahead.Constructor = Typeahead
+
+
+ /* TYPEAHEAD DATA-API
+  * ================== */
+
+  $(function () {
+    $('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
+      var $this = $(this)
+      if ($this.data('typeahead')) return
+      e.preventDefault()
+      $this.typeahead($this.data())
+    })
+  })
+
+}( window.jQuery );
\ No newline at end of file
index adaf568..5077db3 100644 (file)
 .openerp2 .oe_layout_debug_cell {
   display: none;
 }
+.openerp2 .oe_form_notebook {
+  margin: 8px 0;
+  padding: 0 8px;
+  list-style: none;
+  zoom: 1;
+}
+.openerp2 .oe_form_notebook:before, .openerp2 .oe_form_notebook:after {
+  display: table;
+  content: "";
+  zoom: 1;
+}
+.openerp2 .oe_form_notebook:after {
+  clear: both;
+}
+.openerp2 .oe_form_notebook > li {
+  float: left;
+}
+.openerp2 .oe_form_notebook > li > a {
+  display: block;
+  color: #4c4c4c;
+}
+.openerp2 .oe_form_notebook {
+  border-color: #dddddd;
+  border-style: solid;
+  border-width: 0 0 1px;
+}
+.openerp2 .oe_form_notebook > li {
+  position: relative;
+  margin-bottom: -1px;
+}
+.openerp2 .oe_form_notebook > li > a {
+  padding: 0 12px;
+  margin-right: 2px;
+  line-height: 30px;
+  border: 1px solid transparent;
+  -moz-border-radius: 4px 4px 0 0;
+  -webkit-border-radius: 4px 4px 0 0;
+  border-radius: 4px 4px 0 0;
+}
+.openerp2 .oe_form_notebook > li > a:hover {
+  text-decoration: none;
+  background-color: #eeeeee;
+  border-color: #eeeeee #eeeeee #dddddd;
+}
+.openerp2 .oe_form_notebook > li.ui-state-active > a, .openerp2 .oe_form_notebook > li.ui-state-active > a:hover {
+  background-color: white;
+  border: 1px solid #dddddd;
+  border-bottom-color: transparent;
+  cursor: default;
+}
 .openerp2 .oe_form_label_help[for], .openerp2 .oe_form_label[for] {
   white-space: nowrap;
 }
index 86b1442..2214394 100644 (file)
@@ -548,7 +548,44 @@ $colour4: #8a89ba
     .oe_layout_debug_cell
         display: none
 
-
+    .oe_form_notebook
+        margin: 8px 0
+        padding: 0 8px
+        list-style: none
+        zoom: 1
+    .oe_form_notebook:before, .oe_form_notebook:after
+        display: table
+        content: ""
+        zoom: 1
+    .oe_form_notebook:after
+        clear: both
+    .oe_form_notebook > li
+        float: left
+    .oe_form_notebook > li > a
+        display: block
+        color: #4c4c4c
+    .oe_form_notebook
+        border-color: #ddd
+        border-style: solid
+        border-width: 0 0 1px
+    .oe_form_notebook > li
+        position: relative
+        margin-bottom: -1px
+    .oe_form_notebook > li > a
+        padding: 0 12px
+        margin-right: 2px
+        line-height: 30px
+        border: 1px solid transparent
+        @include radius(4px 4px 0 0)
+    .oe_form_notebook > li > a:hover
+        text-decoration: none
+        background-color: #eee
+        border-color: #eee #eee #ddd
+    .oe_form_notebook > li.ui-state-active > a, .oe_form_notebook > li.ui-state-active > a:hover
+        background-color: #ffffff
+        border: 1px solid #ddd
+        border-bottom-color: transparent
+        cursor: default
 
     // }}}
     // Kanban view {{{
@@ -610,3 +647,4 @@ $colour4: #8a89ba
 
 // au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
 // vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
+
index a430714..04733e9 100644 (file)
@@ -807,39 +807,6 @@ label.error {
     border-bottom-right-radius: 4px;
 }
 
-/* Notebook */
-.openerp .oe_form_notebook {
-    padding: 0;
-    background: none;
-    border-width: 0;
-}
-.openerp .oe_form_notebook .ui-tabs-panel {
-    padding: 4px;
-    -moz-border-radius-topright: 4px;
-    -webkit-border-top-right-radius: 4px;
-    border-top-right-radius: 4px;
-}
-.openerp .oe_form_notebook ul.ui-tabs-nav {
-    padding-left: 0;
-    background: transparent;
-    border-width: 0;
-    border-radius: 0;
-    -moz-border-radius: 0;
-    -webkit-border-radius: 0;
-    line-height: 0.8em;
-    font-size: 95%;
-    color: #555;
-}
-.openerp .oe_form_notebook ul.ui-tabs-nav li {
-    font-weight: bold;
-}
-.openerp .oe_form_notebook .ui-tabs-panel {
-    background: #f9f9f9;
-    border-width: 1px;
-}
-.openerp .oe_form_notebook .ui-tabs-selected {
-    background: #f9f9f9;
-}
 /* Unedit Form */
 .openerp .oe_form_group_cell > .oe_form_field_many2one,
 .openerp .oe_form_group_cell > .oe_form_field_many2one input,
@@ -894,10 +861,6 @@ label.error {
 .openerp fieldset.oe_group_box legend {
     font-weight: bold;
 }
-.openerp td.oe_form_group_cell {
-    padding: 2px;
-    height: 25px;
-}
 .openerp .oe_form_field_translatable,
 .openerp .oe_form_field_many2one,
 .openerp .oe_form_field_date,
index a43b769..99fc3cf 100644 (file)
@@ -846,6 +846,8 @@ openerp.web.UserMenu =  openerp.web.Widget.extend(/** @lends openerp.web.UserMen
                 // TODO: Show company if multicompany is in use
                 var topbar_name = _.str.sprintf("%s (%s)", res.name, openerp.connection.db, res.company_id[1]);
                 self.$element.find('.oe_topbar_name').text(topbar_name);
+                var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=avatar&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
+                $avatar.attr('src', avatar_src);
                 return self.shortcut_load();
             });
         };
index 6e703ba..bc2bf95 100644 (file)
@@ -13,6 +13,7 @@ openerp.web.core = function(openerp) {
 
 // a function to override the "extend()" method of JR's inheritance, allowing
 // the usage of "include()"
+// al: Either move it into novajs or make sure we dont use include, i dont want 2 diff implementations of 'extend'
 oe_override_class = function(claz){
     var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ?
     /\b_super\b/ : /.*/;
@@ -93,6 +94,7 @@ oe_override_class = function(claz){
         return Class;
     };
 };
+
 oe_override_class(nova.Class);
 oe_override_class(nova.Widget);
 
@@ -1370,24 +1372,6 @@ openerp.web.TranslationDataBase = openerp.web.Class.extend(/** @lends openerp.we
     }
 });
 
-/** Configure blockui */
-if ($.blockUI) {
-    $.blockUI.defaults.baseZ = 1100;
-    $.blockUI.defaults.message = '<img src="/web/static/src/img/throbber2.gif">';
-}
-
-/** Custom jQuery plugins */
-$.fn.getAttributes = function() {
-    var o = {};
-    if (this.length) {
-        for (var attr, i = 0, attrs = this[0].attributes, l = attrs.length; i < l; i++) {
-            attr = attrs.item(i)
-            o[attr.nodeName] = attr.nodeValue;
-        }
-    }
-    return o;
-}
-
 /** Configure default qweb */
 openerp.web._t = new openerp.web.TranslationDataBase().build_translation_function();
 /**
@@ -1440,22 +1424,23 @@ openerp.web.qweb.preprocess_node = function() {
     }
 };
 
-/**
- * A small utility function to check if a class implements correctly an interface, assuming that
- * interface is simply specified using a dictionary containing methods and attributes with the
- * correct type. It only performs the check when in debug mode and the only effect of an invalid
- * check is messages in the console.
- */
-openerp.web.check_interface = function(_class, _interface) {
-    if (! openerp.web.check_interface.debug)
-        return;
-    for (var member in _interface) {
-        if ( (typeof _class.prototype[member] != typeof _interface[member]) ) {
-            console.error("class failed to implement interface member '" + member + "'");
+/** Configure blockui */
+if ($.blockUI) {
+    $.blockUI.defaults.baseZ = 1100;
+    $.blockUI.defaults.message = '<img src="/web/static/src/img/throbber2.gif">';
+}
+
+/** Custom jQuery plugins */
+$.fn.getAttributes = function() {
+    var o = {};
+    if (this.length) {
+        for (var attr, i = 0, attrs = this[0].attributes, l = attrs.length; i < l; i++) {
+            attr = attrs.item(i)
+            o[attr.nodeName] = attr.nodeValue;
         }
     }
+    return o;
 }
-openerp.web.check_interface.debug = ($.deparam($.param.querystring()).debug != undefined);
 
 /** Jquery extentions */
 $.Mutex = (function() {
@@ -1478,7 +1463,6 @@ $.Mutex = (function() {
 openerp.connection = new openerp.web.Connection();
 openerp.web.qweb.default_dict['__debug__'] = openerp.connection.debug;
 
-
 $.async_when = function() {
     var async = false;
     var def = $.Deferred();
index 39d375d..b28f2e9 100644 (file)
@@ -108,13 +108,11 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
         this.$form_header.find('button.oe_form_button_cancel').click(this.on_button_cancel);
 
         if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
-            this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
-            this.sidebar.start();
-            this.sidebar.do_unfold();
+            this.sidebar = new openerp.web.Sidebar(this);
+            this.sidebar.appendTo(this.$element.find(".oe_form_sidebar"));
             this.sidebar.attachments = new openerp.web.form.SidebarAttachments(this.sidebar, this);
             this.sidebar.add_toolbar(this.fields_view.toolbar);
             this.set_common_sidebar_sections(this.sidebar);
-
             this.sidebar.add_section(_t('Customize'), 'customize');
             this.sidebar.add_items('customize', [{
                 label: _t('Set Default'),
@@ -156,17 +154,11 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
             result.pipe(function() {
                 self.$element.css('visibility', 'visible');
             });
-            if (self.sidebar) {
-                self.sidebar.$element.show();
-            }
             return result;
         });
     },
     do_hide: function () {
         this._super();
-        if (this.sidebar) {
-            this.sidebar.$element.hide();
-        }
     },
     on_record_loaded: function(record) {
         var self = this, set_values = [];
@@ -983,12 +975,12 @@ openerp.web.FormRenderingEngine = nova.Class.extend({
         var self = this;
         var pages = [];
         $notebook.find('> page').each(function() {
-            var $page = $(this),
-                page_attrs = $page.getAttributes();
+            var $page = $(this);
+            var page_attrs = $page.getAttributes();
             page_attrs.id = _.uniqueId('notebook_page_');
             pages.push(page_attrs);
-            var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs),
-                $dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
+            var $new_page = self.render_element('FormRenderingNotebookPage', page_attrs);
+            var $dst = self.legacy_mode ? $new_page.find('group:first') : $new_page;
             $page.children().appendTo($dst);
             $page.before($new_page).remove();
             self.handle_common_properties($new_page, $page);
@@ -1243,8 +1235,7 @@ openerp.web.form.InvisibilityChanger = nova.Class.extend(_.extend({}, nova.Gette
     },
 }));
 
-openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.Widget# */
-                                                    _.extend({}, openerp.web.form.InvisibilityChangerMixin, {
+openerp.web.form.Widget = openerp.web.Widget.extend(_.extend({}, openerp.web.form.InvisibilityChangerMixin, {
     /**
      * @constructs openerp.web.form.Widget
      * @extends openerp.web.Widget
@@ -1455,7 +1446,6 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({
  *     - view_content_has_changed : when the values of the fields have changed. When
  *     this event is triggered all fields should reprocess their modifiers.
  */
-
 openerp.web.form.FieldManagerInterface = {
 
 };
index e8fff45..b93aeb7 100644 (file)
@@ -276,10 +276,10 @@ openerp.web.ListView = openerp.web.View.extend( /** @lends openerp.web.ListView#
                         .val(self._limit || 'NaN');
                 });
         if (!this.sidebar && this.options.sidebar && this.options.sidebar_id) {
-            this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
-            this.sidebar.start();
-            this.sidebar.add_toolbar(this.fields_view.toolbar);
-            this.set_common_sidebar_sections(this.sidebar);
+            //this.sidebar = new openerp.web.Sidebar(this, this.options.sidebar_id);
+            //this.sidebar.start();
+            //this.sidebar.add_toolbar(this.fields_view.toolbar);
+            //this.set_common_sidebar_sections(this.sidebar);
         }
     },
     /**
index 54d9b51..f710669 100644 (file)
@@ -786,25 +786,21 @@ session.web.ViewManagerAction = session.web.ViewManager.extend(/** @lends oepner
     }
 });
 
-session.web.Sidebar = session.web.OldWidget.extend({
-    init: function(parent, element_id) {
-        this._super(parent, element_id);
+session.web.Sidebar = session.web.Widget.extend({
+    template: 'Sidebar',
+    init: function(parent) {
+        this._super(parent);
         this.items = {};
         this.sections = {};
     },
     start: function() {
         this._super(this);
-        var self = this;
-        this.$element.html(session.web.qweb.render('Sidebar'));
-        this.$element.find(".toggle-sidebar").click(function(e) {
-            self.do_toggle();
-        });
     },
     add_default_sections: function() {
-        var self = this,
-            view = this.getParent(),
-            view_manager = view.getParent(),
-            action = view_manager.action;
+        var self = this;
+        var view = this.getParent();
+        var view_manager = view.getParent();
+        var action = view_manager.action;
         if (this.session.uid === 1) {
             this.add_section(_t('Customize'), 'customize');
             this.add_items('customize', [{
@@ -825,7 +821,6 @@ session.web.Sidebar = session.web.OldWidget.extend({
             }
         ]);
     },
-
     add_toolbar: function(toolbar) {
         var self = this;
         _.each([['print', _t("Reports")], ['action', _t("Actions")], ['relate', _t("Links")]], function(type) {
@@ -843,7 +838,6 @@ session.web.Sidebar = session.web.OldWidget.extend({
             }
         });
     },
-
     add_section: function(name, code) {
         if(!code) code = _.str.underscored(name);
         var $section = this.sections[code];
@@ -948,15 +942,6 @@ session.web.Sidebar = session.web.OldWidget.extend({
             });
         });
     },
-    do_fold: function() {
-        this.$element.addClass('closed-sidebar').removeClass('open-sidebar');
-    },
-    do_unfold: function() {
-        this.$element.addClass('open-sidebar').removeClass('closed-sidebar');
-    },
-    do_toggle: function() {
-        this.$element.toggleClass('open-sidebar closed-sidebar');
-    }
 });
 
 session.web.TranslateDialog = session.web.Dialog.extend({
index f8fafc3..40f8448 100644 (file)
 </t>
 
 <t t-name="Sidebar">
-    <a class="toggle-sidebar"></a>
     <div class="sidebar-content">
         <div class="sidebar-actions">
         </div>
                 <button type="button" class="oe_button oe_form_button_save">Save</button>
                 <button type="button" class="oe_button oe_form_button_cancel">Cancel</button>
             </div>
+            <div class="oe_form_sidebar">
+                Sidebar
+            </div>
             <div class="oe_form_pager" t-if="widget.options.pager !== false">
                 <t t-call="ViewPager">
                     <span class="oe_pager_index">0</span><span class="oe_pager_separator"> / </span><span class="oe_pager_count">0</span>
     </t>
 </t>
 <t t-name="FormRenderingNotebook">
-    <div class="oe_form_notebook">
-        <ul>
+    <div>
+        <ul class="oe_form_notebook">
             <li t-foreach="pages" t-as="page">
                 <a t-attf-href="##{page.id}">
                     <t t-esc="page.string"/>
diff --git a/addons/web_gantt/i18n/nb.po b/addons/web_gantt/i18n/nb.po
new file mode 100644 (file)
index 0000000..eeeb269
--- /dev/null
@@ -0,0 +1,28 @@
+# Norwegian Bokmal translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-06 17:33+0100\n"
+"PO-Revision-Date: 2012-03-29 11:41+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Norwegian Bokmal <nb@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
+
+#. openerp-web
+#: addons/web_gantt/static/src/js/gantt.js:11
+msgid "Gantt"
+msgstr "Gantt"
+
+#. openerp-web
+#: addons/web_gantt/static/src/xml/web_gantt.xml:10
+msgid "Create"
+msgstr "Opprett"
diff --git a/addons/web_mobile/i18n/ja.po b/addons/web_mobile/i18n/ja.po
new file mode 100644 (file)
index 0000000..59da8f8
--- /dev/null
@@ -0,0 +1,106 @@
+# Japanese translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-07 10:13+0100\n"
+"PO-Revision-Date: 2012-03-31 18:42+0000\n"
+"Last-Translator: Masaki Yamaya <Unknown>\n"
+"Language-Team: Japanese <ja@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-04-01 04:49+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:17
+msgid "OpenERP"
+msgstr "OpenERP"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:22
+msgid "Database:"
+msgstr "データベース:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:30
+msgid "Login:"
+msgstr "ログイン:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:32
+msgid "Password:"
+msgstr "パスワード:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:34
+msgid "Login"
+msgstr "ログイン"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:36
+msgid "Bad username or password"
+msgstr "ユーザ名あるいはパスワードが正しくありません"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:42
+msgid "Powered by openerp.com"
+msgstr "openerp.comによる"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:49
+msgid "Home"
+msgstr "ホーム"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:57
+msgid "Favourite"
+msgstr "お気に入り"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:58
+msgid "Preference"
+msgstr "優先"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:123
+msgid "Logout"
+msgstr "ログアウト"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:132
+msgid "There are no records to show."
+msgstr "表示するレコードはありません"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:183
+msgid "Open this resource"
+msgstr "このリソースを開く"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:223
+#: addons/web_mobile/static/src/xml/web_mobile.xml:226
+msgid "Percent of tasks closed according to total of tasks to do..."
+msgstr "実行する全てのタスクのうち,このパーセントを終了しました…"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:264
+#: addons/web_mobile/static/src/xml/web_mobile.xml:268
+msgid "On"
+msgstr "オン"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:265
+#: addons/web_mobile/static/src/xml/web_mobile.xml:269
+msgid "Off"
+msgstr "オフ"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:294
+msgid "Form View"
+msgstr "フォームビュー"
diff --git a/addons/web_mobile/i18n/nb.po b/addons/web_mobile/i18n/nb.po
new file mode 100644 (file)
index 0000000..3ca1748
--- /dev/null
@@ -0,0 +1,106 @@
+# Norwegian Bokmal translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-07 10:13+0100\n"
+"PO-Revision-Date: 2012-03-29 11:37+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Norwegian Bokmal <nb@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:17
+msgid "OpenERP"
+msgstr "OpenERP"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:22
+msgid "Database:"
+msgstr "Database:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:30
+msgid "Login:"
+msgstr "Login:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:32
+msgid "Password:"
+msgstr "Passord:"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:34
+msgid "Login"
+msgstr "Logg inn"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:36
+msgid "Bad username or password"
+msgstr "Feil brukernavn eller passord"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:42
+msgid "Powered by openerp.com"
+msgstr ""
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:49
+msgid "Home"
+msgstr "Hjem"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:57
+msgid "Favourite"
+msgstr ""
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:58
+msgid "Preference"
+msgstr ""
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:123
+msgid "Logout"
+msgstr "Logg ut"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:132
+msgid "There are no records to show."
+msgstr "Det er ingen poster å vise."
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:183
+msgid "Open this resource"
+msgstr "Åpne denne resurssen"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:223
+#: addons/web_mobile/static/src/xml/web_mobile.xml:226
+msgid "Percent of tasks closed according to total of tasks to do..."
+msgstr ""
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:264
+#: addons/web_mobile/static/src/xml/web_mobile.xml:268
+msgid "On"
+msgstr "På"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:265
+#: addons/web_mobile/static/src/xml/web_mobile.xml:269
+msgid "Off"
+msgstr "Av"
+
+#. openerp-web
+#: addons/web_mobile/static/src/xml/web_mobile.xml:294
+msgid "Form View"
+msgstr "Skjemavisning"
diff --git a/addons/web_process/i18n/nb.po b/addons/web_process/i18n/nb.po
new file mode 100644 (file)
index 0000000..c5dfbeb
--- /dev/null
@@ -0,0 +1,118 @@
+# Norwegian Bokmal translation for openerp-web
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openerp-web package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openerp-web\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-02-07 19:19+0100\n"
+"PO-Revision-Date: 2012-03-29 11:39+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Norwegian Bokmal <nb@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-03-30 04:48+0000\n"
+"X-Generator: Launchpad (build 15032)\n"
+
+#. openerp-web
+#: addons/web_process/static/src/js/process.js:261
+msgid "Cancel"
+msgstr "Avbryt"
+
+#. openerp-web
+#: addons/web_process/static/src/js/process.js:262
+msgid "Save"
+msgstr "Lagre"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:6
+msgid "Process View"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:19
+msgid "Documentation"
+msgstr "Dokumentasjon"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:19
+msgid "Read Documentation Online"
+msgstr "Les dokumentasjon online"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:25
+msgid "Forum"
+msgstr "Forum"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:25
+msgid "Community Discussion"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:31
+msgid "Books"
+msgstr "Bøker"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:31
+msgid "Get the books"
+msgstr "Få tak i bøkene"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:37
+msgid "OpenERP Enterprise"
+msgstr "OpenERP Enterprise"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:37
+msgid "Purchase OpenERP Enterprise"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:52
+msgid "Process"
+msgstr "Prosess"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:56
+msgid "Notes:"
+msgstr "Notater:"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:59
+msgid "Last modified by:"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:59
+msgid "N/A"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:62
+msgid "Subflows:"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:75
+msgid "Related:"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:88
+msgid "Select Process"
+msgstr ""
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:98
+msgid "Select"
+msgstr "Velg"
+
+#. openerp-web
+#: addons/web_process/static/src/xml/web_process.xml:109
+msgid "Edit Process"
+msgstr ""